Posts Tagged ‘Inkscape’

My software stack revisited – (Multi)media and entertainment

Thursday, December 23rd, 2010

I am probably abusing the English language with this use of the word multimedia, but I just couldn’t find any better way of describing audio, video and images in a word… sorry :P

Video

For playback I mostly use mplayer, but for some reason or other, keep VLC around, although I can’t really explain why.

I’ve successfully used k9copy to make backups of my DVD-collection, works great :)

Audio

Ok, so you know I like living on the command line, right? So it won’t come as a surprise to you when I say that I used to use cplay? I still keep it around, it really is quite nifty, but the lack of an easy (and documented) way of interacting with it externally (say, through keyboard shortcuts) made me finally look elsewhere (having to jump to a tag in order to pause the music when the phone rings isn’t fun).

So when I discovered moc (Music On Console) I was pleased. I could script it to my heart’s delight. Even better: it doesn’t need its curses-based UI to function, so I only bring it up if I want to edit the playlist, hit q when I’m done, and kill the terminal, and the music keeps flowing.

And for converting videos or audio between formats (or extracting the audio from a video) ffmpeg is the tool to do the job.

For finer editing of audio files, I use Audacity.

Images

For image viewing, I use eog and geeqie, which does a good job of complementing each other.

And although not a regular activity of mine, for a small project I was doing in my spare time recently I got the chance to use both Gimp and Imagemagick.

I’ll see to it tonight that I’ve used Inkscape more than three times so that I can honestly put it on the list as well, it deserves to be there.

Entertainment

I find astronomy quite fascinating, and although that is on a very amateurish (to the point that I haven’t bought a telescope or anything yet) level, Stellarium is a superb software.

festival, a text-to-speech synthesiser, might not at first glance seem all that entertaining, but it can indeed be, not to mention I actually got use for the accompanying package text2wave when setting up notifications for my instant messenger (audible hints that specific people have come online).

No list outlining entertainment would be complete without a mention about games and since I do, from time to time, need to get my mind off things, games provide the perfect distraction.

The bsd-games package contains a couple of CLI apps, both semi-useful stuff, and some games. Wump is my favorite game from that package, mostly due to fond memories from ITU.

Games are otherwise still one of the big problems for GNU/Linux although indie-developers like the ones who come together in the Humble Indie Bundle, are making good progress in making gaming platform-independent.

Finally I find programming quite entertaining, but that will be the topic for the next post, so I’ll end things here.

:wq

My software stack

Friday, May 29th, 2009

A week or so ago I stumbled across this blog, which went almost instantly into my RSS feed, due not only to the name of a post which cracks me up (yes, I know my humor is off ;P) but also to the posts I found really interesting.

And then I came along this post which got me thinking about what software I ended up using towards the end of my bachelors. Or the software I have learned of since, but wish I’d known about earlier. I began to write a comment to her post, but realized that it would be too long, so I write here instead. All credit to Hazel though, since without her post I wouldn’t have been inspired to write this one.

My list, as compared to Hazels, will not be as well-rounded, it won’t necessarily fit every student the way her list do. Also, the software I list will only be guaranteed to work in GNU/Linux, as that is what I used in the final semesters, and have continued to use since.

First of all, a text editor. It doesn’t really matter which, just evaluate a bunch until you find one you feel comfortable with. Once you have found “the one” become intimate with it. Become a frakking Jedi-master at wielding it. I’m still a padawan-level user of Vim, but I’m getting there.

I say the same about web browsers, mail clients and instant messaging clients. Find a good one, learn as much as you can about it, and use it effectively. Firefox, Thunderbird and Pidgin are my preferred tools.

A bug-tracker, although often web based creating a need for a web server, can often provide more “good stuff” than just tracking bugs. Stuff like statistics, or, if you think outside the box you’d be able to track things other than bugs, which I guess it was issue-trackers does. Some of these also include a wiki-system, which makes establishing a project-specific knowledge-base kindof easy. In the one university project where we used such a system (and where I realized its potential) we used Trac.

A blogging-system with an RSS-feed capable of being filtered on tags or categories could be used to distribute status updates to other members of a group. That I’m using WordPress should be fairly obvious to all.

Use a version control system wherever and whenever possible. With the next two suggestions on the list, “wherever” will be a lot more commonplace than one might first believe, even for non-programmers. At the university we had access to SVN-servers, and also tried Mercurial, a distributed vcs. Mercurial stuck with me ever since.

From generic suggestions, let’s go specific.

I could encourage you to check out markup languages such as reStructuredText or Markdown, to find one which suits you best and to run with it. And since I’ve now written the terms you’d need to Google, you could do that, but I’ll simply recommend LaTeX. The reason for markup languages in general, and LaTeX specifically is that you can then store your information in one plaintext format (which makes it easy to manage in version control) and can then transform it to a slew of other formats as needed.

Most of the time we needed to hand in PDFs. LaTeX excels in that and manages all the typesetting stuff and (obvious) formatting. Which leaves you with more time to focus on the content. One could also either extend LaTeX with Beamer, to create presentations, or simply generate a PDF and run Impress!ve.

For diagrams, graphs and flowcharts or representations of state-machines, Graphviz would be my recommended way to go. Again using plaintext to control the content, again with the benefits of version control. Inkscape saves files in the SVG format (again, plaintext) which might be usable (especially since it can also save files as both PS and PDF)

If you need graphical representations of statistical data or other plots, matplotlib could be the way to go.

I personally don’t like managing things, or management-related stuff, but lately I have been haunted by the feeling that if I used management tools, even if I would only be managing myself and my pet projects, I could be more organized and efficient. So I have started looking at TaskJuggler. It is similar to Microsoft Project, with the largest difference being that… you guessed it, you code the project plan ;D. Plaintext yet again. And then you compile the plan and TaskJuggler attempts to verify that no resources have been double-booked.

Considering each piece in this list on their own, it might seem like a waste of time to exchange one software with another. I do find each of these softwares impressive in and on their own, but it is when they are put together, when all their strengths are combined, that you tend to get the most out of it.

The all plaintext approach I have tried, both in groupwork at the university, and later on my own, work rather well. That so many of the softwares on the list can be used to communicate and transfer information between parties is also intentional as without communication the chance of a successful project outcome diminish rapidly.

The last (bonus?) item on the list would be to recommend learning, at least superficially, a programming language which you could hack together small scripts with. Something which you could use to “glue” together the other parts. I adore Python, and many of the softwares listed above have python-bindings ready to use. Perl, Ruby and others, which elude me right now, would undoubtedly work equally well or better, but as with the text editor, pick a language you feel comfortable with, and rock on.

Thoughts? Questions?

Update: Fixed broken link