Ubuntu – small nuisances

It’s been more than a year since I switched to Ubuntu, and so far I’m happy. Apart from some small details, the experience has been very good.
I didn’t yet get a chance to use Openoffice. A few months ago I found myself needing to create a small table for some homework, and thought, hey, I could use Excel, Openoffice Spreadsheet. Well, that didn’t quite work out. At first I just wanted to write some simple equation so I clicked the fx button… but it crashed. A lot. Getting burned, I decided that I’ll try it again only after the next release.
The only big document I’ve written so far was with Kile and Latex, and I’ve been very pleased with the result.
Another thing: some games crash. I’m not talking about games with Wine, but your regular Linux games, like Nexuiz. I don’t mind the games crashing that much though, it happens rarely enough. What I do mind is that after crashing, X doesn’t restore the original resolution, and there is no ‘easy gui’ way to do so apart from ctrl-alt-backspace. However, this combination which restarts X, also kills my running applications, which isn’t very nice.
After some Googling I came up with the solution, the nice little command xrandr. Worked like a hack charm.

Another annoying bit is the clipboard. It works quite fine – I can copy from the Firefox address bar, and paste in gedit. However, after I close Firefox, the text copied is no longer available! Took me a couple of times to figure out what happened, and that it wasn’t just me ‘pressing the wrong keys’…

All in all, these aren’t that troublesome. As I said, I’m quite happy with Ubuntu, and I’m not going back to Windows any time soon.

Linux Programming Projects Python

Distorm3 progress and SVN

Finally, Distorm3 is progressing. With heaps of work done by Gil, and some more by me, the project will soon be on its feet. One thing that really gave us a feeling of progress, is setting up Subversion. We thought of setting our own, but finally decided on using Assembla, after a good friend recommended it. There are other options, but Assembla seems really good, although it does have its drawbacks. (Your code goes in clear-text for one).

When I was using windows I worked with TortoiseSVN, but now on my Ubuntu, I’m using RapidSVN, with meld as my diff tool. Although Rapid is cool, I liked Tortoise better. It was faster, much more intuitive, and I liked the commit window better. It gave me a choice on what to commit, and I could (from the commit window) run a diff on each file I changed, and using the diff write a short comment on my changes in the commit comment. While RapidSVN obviously also allows for commit comments, I have to do all the work beforehand. It’s a bit more cumbersome.

Another thing – I’m working on unit-testing using the excellent unittest module. Using along with the testing makes my code so much better, and me so much happier. Since we have a little bit of c-code generation, one of the (a little bit hackish) tests I wrote was running gcc on some sample output, and making sure there were no errors or warnings. Fun. One of my next todos is compiling a few small executables, and making sure that they run without errors, all from within the unit-testing of the code generation module.

All in all, it’s good to finally be working organized.

Linux Programming

A quick note on fonts and Ubuntu

It has been about half a year since I switched to Ubuntu as my main working environment (longer article on the subject is upcoming, sometime in the future). The hardest part for me was getting back to programming productivity. Strangely enough, I found out that the thing that was preventing me from working well, was the fonts. It didn’t take me long to discover that I prefer white background to black while programming. This is true just for programming, not for other activities – I can’t use a white background command prompt…

Back to fonts. I tried to adjust them, and it was really slow progress. I downloaded some programming fonts, and it still didn’t feel right. Also, when I enlarged the fonts, or made them smaller, they looked really bad. I didn’t remember this ever happening to me on Windows. After some more back-and-fourth, I discovered I just like the plain old Courier New, at size 10. Currently my programming environment (for Python) is Eric, and its pretty much OK. I feel more or less at home.

This made me think on how important are the little things in a desktop environment. Good design seems to be important for other things however, for example, see Measuring Font Legibility. Usually, when I find a piece of human engineering that is really solid, and well thought, I stop for a moment of appreciation. This might be a good lesson for any programmer, let alone one trying to compete with already successful software.