My desktop gets more and more usable every day. In the past I reported a "bug" to the Azureus developers related to the system tray. Well there's indeed a system tray in GNOME too. You can add it to your panel by right clicking on it, choosing the "Add to Panel..." button and selecting the "Notification Area" item from the list. In the end it seems staightforward, but damn, why the hell this thing can't be named system tray?
It's really good stuff by the way. Makes my desktop less cluttered. Gaim uses it too.
I'm fascinated by LVM. I got to the point where I don't have to arrange my stuff between partitions all the time like a madman. I just use LVM and everything is fine. Maybe you should too. The obvious drawback of using several hard disks as one device kicks in when one of them dies. That's why in a situation like this it's a very good idea to archive often.
Some personal notes
It useful to do a "apt-get install less mc mozilla-firefox emacs21 gcc libc6-dev ncurses-dev g++ xlibs-dev" on a fresh Debian installation. Most software I need is packaged by Debian. Sometimes I have to use unstable packages. Other times I have no choice but to separately install them. The latter category is Azureus, Mplayer, the Nvidia video driver and the Linux kernel for example.
It's worth installing MS truetype fonts. X handles them for a long time. Looks really good.
I'm finally using Debian Testing. I installed it using the netinstall method. I'm almost using the most recent stuff. Wow!
I've tried Amarok too. It looks really slick. It's obviously a work in progress since it has terminated many times. I don't know whether it's more a gstreamer or an Amarok issue, but you shouldn't try this thing if you want to use a reliable audio player.
Another interesting thing about Amarok is that I saw SQL quieries in its debug output. Amarok doesn't use MySQL nor PostgreSQL so I can only think there is an SQL interpreter embedded into it. It's probably the best method acquring object metadata. Another observation is that pushing an object metadata system down into the architecture could really boost our applications. But that's nothing new.
Software configuration is a nightmare on the Debian and the Linux kernel front. I've spend many hours on that. If ESR's CML2 had been evangelized more the situation probably would have been much better. Mentionining Debian, it's not the most user friendly distribution in the universe. I love its package management by the way.
J. Scott Edwards OS geek has written a nice article on OSNews about his ideal operating system. A lot of his ideas feel familiar to me (except from the 3D UI which I think is totally braindead and useless).
When he talks about the global object store as I would call it, I can really feel his pain. Let's take a short break... it's object store because it's a layer above the filesystem (ideally without a file system, but because backward compatibility it makes sense today using the Unix VFS API) that lets one define and create his/her own objects and relate them together. And it's global, because it not only stores which is accessible but it also stores which is inaccessible (off the disk - archived to CDs, DVDs, ...). So it's a 2 in 1 solution. I've been very concerned with archivation and sturctural storage problems in the last few months (years?).
Storage promised to implement this long-awaited architectural piece, but seeing how it progresses I'm not sure it's ever gonna ready.
I think another extremely important trait of a future OS is strong interprocess communication and code reuse. Applications are rather monolithical because of the diverse APIs and languages. Maybe language oriented programming really has a place because laguages are long term while APIs are rather short term. Ideally an OS is a set of strongly interconnected state machines with no multiplied, only reused code.
I like the philosophy of the Unununium OS. On the main page you can see Hans Reiser's quote: "The utility of an operating system is more proportional to the number of connections possible between its components than it is to the number of those components." I cannot tell in words how much I feel this statement true.
This guy even started his own project implemting this stuff in Eiffel among other languages. It seems to me like yet another idealistic never-will-be-ready project. Good luck dude! Anyone knows Eiffel by the way?
I don't like C++. In my opinion it's a hack, an OOP layer above C. I'm not alone, of course. I've just written an application in it. It was a prerequisite for a job and I had no choice in language, that's why I've used it. The task of the application was to create image maps and the related (X)HTML document from image files contained in a set of directories. It's a CLI application. I've used gd which is a C library so the mixed C, C++ code is ugly like shit and I sucked a lot with some segfaults too as expected and stdstream bugs (less expected), but it works pretty well by this time. However several things left that I couldn't figure out completely. I wanna clean up the code and completely get it. Here's how it looks like:
Apart from the hack feeling of C++, the separate definition (.h) - implemetation (.cpp) layout makes me mad. It's so disturbing editing dozens of these stupid files separately.
Amarok doesn't seem to be yet another winamp clone. I like its unique features and design. Especially the song playing statistics, the CD cover preview, its fancy visualization and the advanced playlist. It's worth reading the OSNews interview with the Amarok developers. Gstreamer is probably very flexible also. If everything goes well, I'll test it within a short time.
I couldn't blog this week. This was because one of the sysadmins at the university computer science department blocked the server which hosts my home page. This server hosts thousands of other sites too which are full of warez and some students here regulary download all those shit which causes massive bandwidth consumption which costs a lot of money to the university. I came up with various alternative solutions:
1) Monitor user traffic. If the traffic exceeds a well-chosen limit per user, fall back to a lower bandwidth. The problem is that there are huge pages on the web with full of fancy shit. If someone surfs the web for some hours on these sites, (s)he can easily generate hundreds of megabytes of traffic. There are other downloading activities also which don't incorporate any warez. Moreover there are a bunch of technical difficulties implementing this idea. For example the LDAP server and the firewall don't communicate well with each other.
2) Scan FTP and HTTP URIs for multimedia file suffixes and track them per user. This would require a few dedicated hosts because of the 1 gigabit bandwidth. It's a pretty computationally and I/O intensive task. The other problem is that most warez is compressed in various different formats so the file suffix tells nothing about the content this way.
3) Kick the asses of all the warez folks. This would be the most easier and gratifying job to do. Unfortunately this option depends either on 2) or 3).
I don't know what to do in a situation like this, but this evil policy makes me mad. If nothing's gonna change I'll probably only blog on the weekends which is not that huge tragedy after all.
I happily see that the situation is getting better day by day in Hungary regarding internet access. Every provider has raised the bandwith of their customers. I've had 384 kbits/s, now I happily surfing on 512 kbit/s for no additional payment. Every customers' bandwith above 384 kbit/s has been doubled, so the others had even more luck than me. The undesirable side effect of the this change was some hours downtime at my ISP so I couldn't get online last night.
If everything is going well, we'll be given a new filesharing protocol. Exeem sounds like a beautiful idea. The lack of centralization and the possibility of unlimited growing sounds like the death of RIAA and all those bastards. I hope the suprnova guys will make something big happen. By the way slyck.com seems to be a good place on file sharing news.
Regarding High Level Computing mentions that computing today is a usability disaster. Users think high level while computers force everybody to think low level. Companies care with their own interests rather than serving their customers and really solving their problems. I can only agree.
Learning The Basics is yet another interesting article about how lazy we are. In my experience also most people don't or hardly want to learn any new things in their lifes if it's not necessary. This article also mentions that by adding policies that would make computers easier to use, we would loose the control of the finer grained mechanisms by these rigid policies. I was thinking about this subject for a while and I think by defining several layers of abstraction, a set of policy layers, we could make our computers adapt to us. I really think it's a possible thing to do.
Smart Package Manager sounds like a long-awaited really intelligent and general solution. My personal wish would be a package manager that could store multiple versions of the same package locally in a way that I could select the version I currently want to use and it would rearrange the relations in the filesystem and its registry in a correct way.
Sergey Dmitriev has written an article on language oriented programming. It is a fascinating idea to me. I got some questions answered by this article. I have been asking myself whether there is a better way to develop programs and was thinking about how could it be possible to preserve the sequence of the trasformations when developing programs instead of transforming our thoughts into the final code and finally unable or hardly explain how we got there despite of every comment in the souce. This paradigm can easily be the future, I think.
Sometimes I feel that I live in a strange kind of world. Today I had two such moments.
When I arrived to Szeged to the flat I ate some food and went down to the school. As I stepped out of the building I noticed our neighbour. She is a middle-aged woman. She seems quite sick to me because of her looks. Her voice also sounds pathetic and the way she breaths. It's maybe asthma, I'm not sure. In the moment she went out, she took a cigarette and began smoking. I noticed her red painted nails too. I was thinking about this scene for a while. She's sick, that's apparent to me, yet she doesn't care with her health, she damages herself with this toxin. She even has time to paint his fingers which doesn't make her look any nicer, maybe only in her reality. She can also think that this is the expectation of our culture. Hell knows.
The other time was when I was sitting in the English class an hour ago. There was this girl. She always makes me laugh with her very colorful, crazy clothes. It's hard to me to describe the way she looks but imagine a childish girl in all kinds of very vivid wearings. Orange, Green, Pink, whatever. I almost cracked up in smiling when I saw her star-shaped earrings. Their diameter could be around 5 centimeters and 1 cm thick. They were semi-trasparent. She could even built in them some kind of light source or some radioactive fluid which would make them even more funky.
WordPress almost made me mad this time also. I couldn't login because I didn't change that unmemorizable password that I've given during the registration process I suppose, so I almost reinstalled the whole thing. Fortunately I successfully found the cure for my problem just in time.
I couldn't blog in the past few weeks since the sysadmins of this public server were busy with architectural changes which resulted in URL semantic changes and other undesirable kind of changes as well. I couldn't login into WordPress anymore. I didn't investigate the reason behind it cause I hadn't that much time. I've just finished reinstalling and partly reconfiguring WordPress and importing all the blog entries I've made. It's not funny at all, believe me. Next time I'll probably kill them.
Interestingly one can still see the effect of the above mentioned URL changes. The blog URL is pretty messed up. The server replaced the ~laci part with %7Elaci. It's ugly like hell.
I've just visited Alex King's site because of this pretty, clean Simple Blue WordPress theme I'm currently using. This site is a very nice piece of work.
Fork benchmark is a primitive benchmark that provides a way to measure the time that is required to fork, exec and destroy x processes, where you can define x as the command line argument. I was wondering why init is so slow. Hint: It's not because forks slow, but but because init runs the services scripts sequantially, not in parallel. Fork benchmark is a C utility.
I've browsed through every interesting Stubleupongroups that exists which is a looong job. There are probably several hundreads of them. Yeah, I'm surely a maniac. So let's see the interesting stuff I found here:
I've done a Jung Typology Test which is a personality test. It basically puts you into one category out of sixteen. At first it sounds kinda lame like some horoscope stuff you may think. I turned out to be an INTJ which stands for Introverted iNtuitive Thinking Judging. More specifically by the test I am 22% introverted, 33% intuitive, 44% thinking and 33% judging. You can find the INTJ personality analysis writings here, here and here. It's so damn exciting because it's all me. These descriptions are so deep, insightful and true. This way I can understand myself better. Interesting stuff.
But it's already 04:16 and I should really get some sleep so good night everyone.
There are several types of people in the Free Software Community. One significiant type is the minimalistic geek. The minimalistic geek is... minimalistic. You can easily recoginize him. He lives in a strange kind of world. His universe complies to certain minor rules that he deems to important. Several examples:
"My home page needs to be written in a way that anyone could see it using lynx." Actually one can browse his homepage in lynx, but the HTML is so messed up that with IE, it is not browsable. He doesn't care. Everyone should use a non-IE browser. Well, I neither love MS or its products but 90% of the world still use it. And his homepage is exposed to them (it is not a technical site).
Or here is another one: "C# and Java is evil. I'd use C for everything. It's fast unlike those languages." I argued that C# is garbage collected and he can serialize an obect instantly without writing any code. I want to be more productive so I won't use such lower level tools. He told me that it's not such a big business writing some serialization code for every class, it really isn't. I asked him why should I waste my time writing any bits of code if it's not essentially required. But C# and Java are extremely slow and resource hungry he answered. Well, computers getting faster and VMs getting more optimized every day so why should I suffer using ancient tools? Maybe because my software should run on his Pentium 200.
Summarizing in a few words, these folks live in the past when computing resources were very scarce. They are intimitated by new tools/languages/whatever, especially if those are resource hungry. Most of these people will never make any big things happen because they are so attached to their limiting attitude.
Plone. This thing is *too* easy to use. Seriously, I installed it in some minutes and I haven't slept enough yesterday so it's hard to me to concentrate. I've already installed Zope some months ago, but that was pretty easy too. When it comes to archiving a Plone site, you can export your folder into a .zexp file and that's it. Damn, I almost couldn't believe how simple it is.
Eszter (my sister) and me were running to Szelid. To be honest we were walking most of the time, but who cares? We had a good time. By the way did you know that running decreases the probability of depression three times. I read that some time ago.