Lars Wirzenius: July, 2003


Saturday, July 26, 2003

Lodju: Simple web gallery export

I made a simple web gallery export for Lodju today. It makes a really ugly gallery, but it is good enough for now and lets me concentrate on the architecture of the thing rather than getting the web design nice.

I should make it easy to add new styles of galleries, and other types of exports. One of these days.

I think that Lodju is now more or less feature complete enough that I can start showing it to other people. This is rather satisfying. On the other hand, it means I will have to start fixing bugs that irritate other people. I know the workarounds, but that's obviously not good enough for real use. Small things like having to check with top whether gallery creation has finished.

The rest of today has been sunk into figuring out a way to rotate a GdkPixbuf an arbitrary amount. Gtk+ does not have a standard routine for this. Lodju therefore uses a Python subroutine for this, and it is awfully slow. Really, massively slow. Unusably slow, in fact.

I first tried to find a way write a C extension to Python that would manipulate a GdkPixbuf directly and rotate it. This failed, because I did not find a way to access the actual Gtk+ object from C, only the wrapper PyGTK creates.

Therefore, my old plan stands: I will write a generic pixmap rotation function for Gtk+ and send it as a patch to the developers, and hopefully one day this will be accessible from PyGTK. It will probably take a year or two, and in the meanwhile I will have to do something ugly and evil to make Lodju be acceptably fast. Ugh.

Lodju: Progress and screenshot

I seem now to have progressed far enough that I can do simple organizing with it, save stuff to disk, quit, restart, and continue from where I left off. That is, except for a zillion bugs, Lodju should have enough features now to make it possible to use it as a photo organizer. The user interface has a large number of rough edges that will have to be ironed out, but those tend to be fairly small things that don't affect the architecture of the program.

Lodju screenshot.

This is what Lodju looks like now.

The next step is to make a gallery export. After that I can start using Lodju for real, maybe to make a gallery of the few pictures I took at Debcamp and Debconf3.

Friday, July 25, 2003

Personal life: On neophilia

At the beginnig of June, I noticed I'm a neophobe. I've since tried to actively try out new things, such as foods. Pretty much everything has been a pleasant surprise, so I suspect I'll continue this. Deep down, I know it is wrong to try new things, and evil to like them, but hey, I'm perverse.

Thursday, July 24, 2003

Lodju: On-disk data structures

I've been hacking on Lodju this week. Not very efficiently: my brain seems to be in a vacation mode, which is good and proper, since I am on vacation. I've been working on issues related to storing data on disk. My decision to use a directory to represent a Lodju "document", rather than a plain file, is hopefully better for the user, but leads to some complications at the implementation stage. On the other hand, if I had opted for the plain file, it wouldn't have contained the photos directly, but rather only pointers to them, and then operations such as copying a Lodju archive with all photos to another computer would have been complicated. With my chosen approach, I need to do some extra work now, but then things should be simpler later on, both for me and for users.

Wednesday, July 23, 2003

Photography: Digital versus film

For some reason, this summer I've stumbled on an increasing number of online discussions over whether digital or film photography is 'better'. These were quite common two years ago, when I began this hobby. Since then, they've seemed to become rarer, but perhaps I've just been lucky enough to avoid them. Or perhaps the trend has now changed.

I don't actually care whether other people use film or digital. I do wish, however, that people wouldn't be so fanatical about it. Of course, it would also be nice if they would not make stupid and incorrect claims, such as that you need tens of megapixels to compete technically with 35 mm film, or that digital will make film go away completely in a few years. While I'm wishing, how about eternal peace on Earth and prosperity for all?

Rant: Free software parasites

Free software (or open source, if you prefer) has become pretty popular and commonplace in the past few years. We seem to have gotten past the phase, where it was somehow exceptional to use free software, even if we aren't the default option yet, except in some application areas.

With the growing popularity, the number of articles and speeches full of fear, uncertainty, and doubt, or FUD, have also become less. This is quite nice. On the whole, I think that the free software crowd has dealt with FUD in the right way: most public responses have been reasonable and calm, and actual problems with the software have been fixed. We're far from perfect, but we're pretty good.

Most people who use software, as opposed to those who try to sell it, or write about it, seem to accept free software on its own grounds. If it works for them, they're happy to use it, and if it doesn't, they use something else, without making a big fuss about it. Unfortunately, there seems to be growing a new class of free software users: the parasites. Parasites will use free software, but do their utmost to never give anything back to the community that produced it.

The parasite will happily use free software, but when talking about it, will mention only its shortcomings, never any of the good stuff. Every bug results in repeated whines, sometimes on several forums. The parasite will not report a bug, however. Not ever. When asked about it, the parasite will give all sorts of stupid reasons: "it's too difficult" (it would have to send an e-mail), "they aren't interested" (after being told by a developer that they are), "it wouldn't help anyway" (well, duh).

FUD and over-generalizations make the parasite happy. If it isn't happy with the user interface of one free program, it will claim that the free software movement won't ever produce a really user friendly desktop environment. It might back this up by claiming that free widget sets are a decade behind the commercial ones (naturally without ever having actually written code with the free ones).

The parasite may have to grudgingly admit that free software is good enough for, say, web servers and other server applications, but will always add that for real applications, commercial software is needed. "MySQL is OK for toy applications, but for real use Oracle is needed!"

I'm not sure how to deal with parasites. They greatly annoy me, but I suspect ignoring them is the best option, rather than bringing out military grade LART equipment and flaming them, or even patiently explaining things to them.

Tuesday, July 22, 2003

Review: ATK-sanakirja

I stubmled onto an online version of ATK-sanakirja. It is the most well known computer related dictionary for the Finnish language. Unfortunately, it also has a reputation of being a bad joke. Earlier, say about a decade ago, they tended to invent new Finnish words for which they didn't know of an established one. Few, if any, of these were ever used for real. They did not mark such inventions in any way, which meant that those using the dictionary didn't know if they were making a fool of themselves or not. Not good.

They have since improved, and the online version seems to not be a complete joke anymore. It is, however, still very spotty in its coverage. It lacks words that are in real use, and has words that would seem to belong to a general English-Finnish dictionary, rather than a computer specific one. Some definitions seems lacking. For example, they include the word "acceptance" and translate it as "vastaanotto" (the act of receiving), and do not mention anything about approving of what you receive, which is an important part of the meaning of the English word. Rather than adding a half-assed definition for it, they should have left it for a general dictionary.

I only browsed through the words beginning with A, but found several things I objected to. This indicates to me that the dictionary is still useless. If one were to use it, one would still have to double check everything.

When I commented on this on IRC, jaakob suggested that the Computer Science department of the University of Helsinki could start a wiki for doing a completely new computer dictionary for Finnish. I think this is a good idea. Trying to improve the mess that ATK-sanakirja is, is depressing work, and this is almost certainly a case where it pays to start from scratch.

Debian: New maintainer process

The Debian process for accepting new maintainers is, once again, under fire. As far as I understand the process, it is a basically healthy one, but has two problem areas.

First, there's too few people processing applicants. There's enough of them that it isn't a catastrophe, but it adds unnecessary waiting to the process, when applicants have to wait for their Application Manager.

Secondly, and more importantly, the final step is extremely slow and non-transparent. The Debian Account Manager, or DAM, has the final say on whether an application for Debian membership is accepted or rejected, and, if accepted, for actually creating the account. At the moment, there is only one person doing the job: James Troup. He does a lot of other things for Debian as well, and this probably is part of the reason he is so slow. The slowness is bad, but his habit of not telling what he is doing and why is worse. People who have passed the Application Manager checks are now left waiting, sometimes for months, for the DAM to do something, and get no feedback at all why they are kept waiting. Also, the queue is not processed FIFO, which makes things worse, when some people get through the queue in days.

The DAM queue now has some applicants that have been waiting for several years. Rumor has it that they are effectively rejected, but due to a desire to avoid a flame war over them, they are not formally rejected. This is also bad, and needs to be handled.

In a moment of insanity, I've decided to see if I can become an additional DAM. I met James Troup, the current DAM, at DebConf3, and he proposed that I first become an AM to be familiar with the process. I'm doing that, now. Let's see what happens.

Monday, July 21, 2003

Personal life: Tired

Well, a few days of not updating the log again. Too much activity and tiredness at DebConf3 in Oslo, Norway. I'm back home again.

Debian: Debcamp/DebConf3 is over

Debcamp/DebConf3 is over. It was quite fun, and inspiring, but not very productive for me. Other people were more productive, though. I suspect I'm just not made for hacking in a large room with twenty other people: I get distracted by the noise, if nothing else. The biggest benefit for me was to meet people in person; this tends to change my perception of them. They aren't a random e-mail address anymore, they are a person.

Group picture of DebConf3.

I took a group picture of DebConf3.

On several evenings, I was conned to walking extreme stretches. Well, extreme for me, anyway, especially given that both my pairs of sandals proved to be incompatible with walking long distances (I have the blisters to prove it). On one night, it was a hunt for sushi (the kitchen had closed; after trying three or four additional restaurants -- closed, age limits too high, wouldn't accept credit cards -- we ended up at a hot dog kiosk).

Another night, we went to the Vigeland park, with nice if a bit weird statues, and a very nice park. Two new blisters, but a nice experience otherwise.

I didn't get to see more of Oslo's tourist attractions. Oslo wasn't the reason I went there, but Debian, so I'm not complaining.

Wednesday, July 16, 2003

Debian: Keyring analysis, EoC for Debian, portraits

I'm finishing this stage of the development of my keyring analysis tool. It's still pretty slow, at about 30 minutes for the full keyring, and could probably be sped up a lot by rewriting it in C, but I'm too lazy. I've been unable to find a better algorithm for finding the shortest path from each key to every other key than iterating Dijkstra's algorithm for each key. Algorithmic improvements don't look too good, either, therefore. But at least it seems to work. I'm doing the final run now, will put up the report probably tomorrow.

I've been talking to liiwi and other Debian listmasters about switching from the Smartlist mailing list manager to something better on Naturally, I'm proposing my own software, Enemies of Carlotta, but I'd even be happy with Mailman. I've offered to make any necessary changes to EoC they may require, but if they want a web management interface, it'll probably be better to choose Mailman.

I've also shot portraits of a couple of people. They'll go up in a permanent gallery once I've hacked on Lodju a bit, but for now they are in a temporary location. (Update: I removed the temporary one due to disk space concerns.)

Tuesday, July 15, 2003

Debian: Debcamp, day 2

My second day at Debcamp. I thought I had slept well and long, but still during the day I felt sleepy. The mattress is really hard, even if softer than the floor, and perhaps that mattered.

I spent most of today on my scripts for computing the strongly connected sets within the Debian keyring. Talked to Peter Palfrader (weasel) about it and he encouraged me. I seem to be unable to concentrate properly and it's taken me all day to get anywhere. Perhaps it is not such a good idea to hack in a room with twenty other hackers after all. Or possibly I'm just stupid.

The script is really, really slow, and takes an hour to run with the full Debian keyrings. I started writing a version that uses Dijkstra's algorithm for computing the paths, but didn't quite finish it today. Something to do tomorrow.

Juggling at DebConf3.

People relaxing during the evening.


I've seen these in several toilets in Oslo.

Monday, July 14, 2003

Debian: Debcamp

Have arrived at Debcamp, after sleeping an hour at home and about an hour on the plane. Feeling absurd and confused. Need mattress.

Conflicting signs at Debconf3.

I may not be the only one who is absurd.

Managed to fix a couple of bugs in my packages, after weeks or months of delay. Tomorrow, I will hopefully get something done for real.

Sunday, July 13, 2003

Rant: Stupid spammers

A company using the address sent an advertisment about custom-designed Linux shoes. They start their mail with an explanation why this is not spam:

Sending "Spam" to Linux-users.

How dumb can these guys be you must be thinking? This is like teaching Bill Gates the word "open source" or like having sex with Mrs. Tyson. So, before you bomb the hell out of us or instantly block all of our IP addresses, please do listen up. We're not as stupid as you might think. We, like you, are proud Linuxers ourselves, so how could we be? We got your address searching on linux sites and we promise we will only use it once. What do you say? Deal?

Having to explain why your mail is not spam is a pretty good explanation why it is. Claiming that they will only use my address once is a common claim among spammers. (Irrelevant, even if true, anyway.)

As far as I care, these people are spammers, and the fact that they use Linux is not an excuse so send me advertisments even once. My bogofilter now knows about them, hopefully any further crap from them will be filtered away.

Photography: Sword maiden photo shoot

Went to Suomenlinna today and took some photographs of my friend Spider, dressed as a sword maiden after battle. My ability to focus correctly seems to be lacking, but a couple of the pictures might be good enough anyway. Anyway, we had fun, and a number of tourists and other on-lookers were bewildered and amused.

The pictures aren't on the web yet, until I both have time to edit them properly, and get Spider's permission to publish them. These things won't happen until I return from Debconf3, i.e., for a couple of weeks from now.

Saturday, July 12, 2003

Personal life: Diskurssi

A group of us meets bi-monthly to listen to a presentation on some topic and eat well. The topics vary wildly, from training dogs to the history computers; basically, anything that one of us knows well, and since we're fairly varied in our interests, there are plenty of topics. After yesterday's miserable work day (see below), it was extremely pleasant to be with friends. I feel much happier now.

Oliotalo: Going on vacation is not smooth

Yesterday was the last day of work before my two weeks' summer vacation. Everything did not go smoothly. We had a deadline yesterday and didn't quite meet it. In addition to the usual schedule slippages, we had trouble with the GPRS network. Either the operator was fucked up, the GPRS modem was fucked up, or there is a very mysterious software bug. Unfortunately, Oliotalo's part of the software is very simple, and I couldn't find any fault in it. Something to look forward to after the vacation.

If there's something to be learned from yesterday's experience, it is that trying to develop software for a vehicle remotely is unnecessarily difficult. I was sitting at the office, and writing code, and my colleague was in Järvenpää, at the client's factory, trying it out and seeing what was happening. He did not have a laptop with him (Oliotalo doesn't have any, yet), and that's why we did it this way. Not very comfortable, and quite annoying. We'll have to fix this procedure.

Debian: Preparing for Debcamp/Debconf3

Preparations for the trip to Debcamp and Debconf3 progress, as they should, since I'm leaving in less than 48 hours. I have my suitcase back, I have upped my insurance limit to cover my laptops and camera, and I even bought a tin of meat balls so that I have some food when I come back home late at night.

Review: King Kong

Saw the 1933 version of King Kong from DVD. It proves that action films with a simple plot, paper thin characters, and an over-reliance on special effects are not a new phenomenon in Hollywood. On the contrary, apart from the movie being black and white, and the special effects being somewhat less convincing than modern ones, the movie does not significantly differ from what might be produced 70 years later. A 2003 version of King Kong would sport faster action, saturated colors, hours of computer generated material, and would be hard to tell visually apart from reality. It would not, however, really be more convincing, or feel more real, than the 1933 version.

Still, like its modern descendants, this 1933 film is entertaining, and the fact that it looks 70 years old gives it a certain charm. A very good buy at five euros, I'd say.

Thursday, July 10, 2003

Random thought: Vacation stress

Going on vacation is quite stressful. There are about a million zillion loose ends you need to deal with before you can go and this seems to lead to 13+ hour working days. If did this every year, the stress would kill me.

Wednesday, July 9, 2003

Personal life: Overflowing bookshelf

My bookshelf is full. In fact, it is overflowing. I have more books than I have shelf space, and I have little room for more shelves. This could become a major catastrophe. I need to either get completely new bookshelves that are higher than my current ones or a bigger apartment, and neither option is affordable. I could stop buying books, but that would be ridiculous. I guess I'll have to move my bed to the balcony and start stacking books on the bedroom floor.

Review: Charlie's Angels: Full throttle

Watched Charlie's Angels: Full throttle (i.e., the sequel) today in a movie theater today with a friend. There were three significant things. First, I visited a movie theater, which has become pretty rare since I bought a DVD player three years ago. Second, I was not alone, which has been pretty rare for the past six to nine months or so, for no good reason at all. And thirdly, the movie was nice, too.

I don't think this movie was as good as the first one, though. It was too fast, to begin with, with too many things crammed into it. It was a bit too fantastic. The scene (included in the trailer, so not a spoiler) where one of the angels starts a helicopter in the air and two others fall and climb into it while the rotors start moving was somewhat too incredible. Don't get me wrong: I didn't expect a realistic film. I expected incredible and unbelievable action scenes. There is, however, a fine line between an incredibility that is great fun and one that is too much and becomes boring, and this movie crossed that line a couple of times. Not enough to destroy the movie, but enough to be disturbing.

A further disturbing thing was the sloppy way side characters were handled. There were several that were quite pointless: either they should have been removed or they should have been given a reason of existing. Either way would have improved the film.

On the other hand, the three angels were as beautiful and charming as before, and the costumes, and silly escapades were everything I expected after having seen the first movie.

Tuesday, July 8, 2003

Hedgehog Lisp: Getting GPRS to work is difficult if the network crashes

Spent today combining the three different versions of the code we have for setting up a GPRS link and TCP connection. They were all broken in some way. During the afternoon, Telia's GPRS network seemed to go down or something else mysterious happened: while I was running a test run, the code stopped working without my changing anything. Four or five hours later, it still wasn't working and it wasn't until then that I tested a SIM card from another operator. That one worked immediately. Half a day of wasted debugging effort; I hate it when that happens.

Debian: Debcamp: mattress situation

I had a brilliant idea today about sleeping arrangements for Debcamp: I'll buy a cheap foam mattress in Oslo. This will not very expensive (about 40 euros) and will be massively more comfortable than anything I can bring with me from Finland. Also, much better than an inflatasble one, I'm pretty sure.

Debcamp and Debconf are getting nearer, and I'm slowly becoming more excited about it. Also about my other week of vacation that will immediately follow. I have a feeling that I'm leaving work stuff horribly unfinished, but that would probably happen regardless of what state they were in, unless I really didn't have anything to do at work. Whee.

Personal life: Setting up an ISP

I have tentatively decided to set up a small Internet service provider with a couple of friends. Nothing fancy. It seems that a number of friends and acquintances would be interested in paying a small amount of money per month to have a reliable place to read mail and have web pages. Schools and employers are not always nice enough: they have restrictions on personal use, and possibly very small quotas. Thus, since we happen to have the equipment and bandwidth available anyway, we thought a miniature business venture would be in order. Like I said, nothing fancy, and almost certainly not particularly profitable, but it could help offset the costs of having a nice ADSL connection.

Of course, it might happen that we learn that it will be too much tedious effort to run such a thing. Since we won't be investing any real money in this, we'll be able to back off if we find that it isn't worth our while to do it. But it'll be interesting to try, at least.

Monday, July 7, 2003

Personal life: Hectic at work

A long time has passed since my previous update. Things have been a bit more hectic than usual, in part due to a work trip to the Netherlands.

Oliotalo: Visiting the Netherlands

A potential client paid for my trip so that I could visit them in the Netherlands and test whether our system (hardware and software) would work with their vehicle. I flew there on Monday evening last week, and came back on Wednesday evening. We had two full work days for our tests and they went quite well: we did the critical primary target in about two hours. Both the hardware and the software were compatible and our biggest problem was that we did not know whether a two byte value was most or least significant byte first. My first guess was wrong so that my software measured the speed of the vehicle to be about 3500 kilometers per hour. This was a source of some amusement.

The second biggest problem was an external consultant that the IT department had forced on us. He seemed a bit clueless, asking questions such as "What is the difference between analog and digital signals". It seemed, actually, that the IT department and the rest of the people at our potential client were in a state of minor warfare. There was mentioning of people having to crack into their Windows machines in order to be able to install software essential for their jobs, since the IT department would refuse to do it. Not particularly professional, in my opinon.

The rest of the time we looked at other models of vehicles and experimented with ways to read information from them. The first one has a nice CAN bus, from which almost all information is available. The others may need analog and digital sensors. Ah well, it's just a small matter of programming, anyway.

Rant: IT support attitude problem

It seems to me that IT support people, or system administrators, or whatever they're called this week, in many places have a bit of an attitude problem. I did, too, to some degree, when I first worked as a system administrator (at the HiBase project), but I think I have gotten over it.

The attitude problem I'm referring to is the delusion that the IT department's needs and desires override those of the users when in reality it is the other way around. The IT department is there to support the users, to make sure the users can concentrate on their real jobs, instead of having to deal with the ugly things to get computers working.

This does not mean that anything the users request must be implemented immediately. There is a conflict between what the users actually need, what they think they need, and what can be implemented in terms of resources or security. This conflict occurs pretty much anywhere. In recent years, security has become the easiest way to override users' requests and I fear it is being used without enough justification. This is wrong.

The users must get their work done. It is not the job of the IT department to dictate which tools are to be used. If the users request something that the IT department does not have the resources to provide, there are two steps that need to be taken: the actual need of the users are to be determined and a budget level decision of whether it the need important enough to warrant increasing the budget. These steps require discussion and thought, not power games.

From what I hear and see, power games are what actually happen in many places. The IT personnel will deny any request by reflex, without giving it any thought. At one place, a user needed a five meter long network cable, and the IT support person claimed they did not have such, even though he was holding a seven meter long cable in his hands.

The Bastard operator from hell stories are fun, but they should not provide role models.

Review: Harry Potter and the Order fo the Phoenix

I have last night finished reading Harry Potter and the Order of the Phoenix, the fifth novel in the series. It is large, about 800 pages, but an amazingly easy read, perhaps because it is aimed at young readers. On the other hand, I felt that it was less aimed at young readers than the earlier parts of the series. On the third hand, part of the fascination of the Potter series for me is that it is meant for children and yet enjoyable by adults.

Oh, yes, I did enjoy it. Maybe I should watch the movies as well.