Older blog entries for claudio (starting at number 76)

23 Sep 2000 (updated 23 Sep 2000 at 00:37 UTC) »

Discussed some interesting ideas about dockapps with Mr. Zaphod Beeblebroccoli (a.k.a. mrbrocoli). Like the fantabulous dockable terminal. The dockable mail reader. And the dockable X server. Wow. Also, RPM support for APT is coming out nicely.

I've been thinking about stopping and restarting services on upgrade, and I'm not sure if it should be done with RPM as it is. Let's see why:

  1. RPM was designed to run unattended, and a configuration file will be either kept in place or updated with a new version.
  2. If the stock config file was not changed, it can be replaced by the new stock config file.
  3. If someone changed it, you can't replace it for the new stock version because you would exclude any customizations and eventually break the system or compromise security.
  4. Also you can't keep the old version, because the file format may have changed and it can break the service.

From (3) and (4), it seems logical that in case of configuration file changes, the service can't be restarted until someone checks what happened. Locally, because this service can be, for instance, sshd. But if some services are restarted, we'll fall in a non-deterministic situation: you'd never know what services stopped and what services have been restarted -- it's better to not restarting them at all!

So, it will always require human attention, which conflicts with (1). It doesn't work.

Even if you install a bunch of RPM packages by hand (i.e. not using apt), you'll need to dig up .rpmsave and .rpmnew files in the filesystem, change them and restart services. It can't run unattended :\ The only difference to what Debian does is that this last configuration update process can be quickly and safely addressed in Debian using debconf. With the extra bonus that you can set it to run non-interactively and it will send an email telling what has been broken in the non-interactive update.

Conclusion: just starting stopping services doesn't work. The unattended installation paradigm doesn't work, except if you keep it "unattended" only during the download and installation rounds (note that in Debian apt downloads all packages, then install the packages stopping services if necessary and in the last round it configures the packages restarting them when everything is ok). But in this case, we can add deferred configuration capabilities to RPM without breaking any paradigm, and the "philosophical argument" for not changing it is automatically declared bogus. Otherwise, RPM breaks its own paradigm by requiring human attention after installation, so adding deferred configuration wouldn't break anything.

I may be wrong, of course (If someone knows where, please enlighten me). I wonder how Mandrake's urpmi addresses this problem :\

The apt + rpm article surely produced a lot of noise, and some interesting ideas were presented in the follow-ups. Now it's up to the buildmasters, packaging tool maintainers and packaging people to discuss what can be done in the technical lists.

The local power company did it again, this time trashing my /home filesystem. Now that the tragedy already happened I'm ordering an UPS (but isn't it what usually happens anyway?). The LVs, however, emerged intact. Oh well. There was so much junk there, I think I was needing a clean-up anyway ;(

Bought a Zip 250 IDE, ten disks and two 10/100 network cards for US$100. Now I'll be able to backup my data.

Talked about UDMA support modularization in the Linux kernel with marcelo, but apparently Andre Hedrick doesn't like the idea. He argues that modularising the UDMA drivers by chipset could encourage OEMs not to go open source -- and we did see this happening before :\

Fixed some very, very stupid bugs in the new xmp prototype. Now protracker mods should play a bit better. Also fixed the pattern loop code after checking the original Protracker 2.1 replayer code.

Got an editorial published in freshmeat. It has been published quite fast, I thought it would take a few weeks and some review rounds before the release. The topic is provocative and I expect to get a fair amount of flames. I chose freshmeat instead of discussing it directly in an RPM or APT forum to gather feedback from end-users -- also not the audience I would get posting an article in advogato (but it would be interesting to have some feedback from developers as well). The main point is the upgrade of RPM packages with Debian's apt-get tool. Many issues are quite subtle and non-Debian people will probably not catch all the implications of simply unpacking the new RPM. The following example show how it should happen:

Preparing to replace mysql-server 3.23.23-2 (using .../mysql-server_3.23.24-1_i386.deb) ...
Stopping MySQL database server: mysqld.
Unpacking replacement mysql-server ...
Setting up mysql-server (3.23.24-1) ...
Starting MySQL database server: mysqld.

Configuration can be interactive (in several levels), but debconf allows it to be non-interactive -- so RPMs would keep the ability to be installed unattended. And packages can be configured after the instalation, either by hand or running dpkg-reconfigure.

I just don't like the idea of unpacking new versions while the old version is running, installing new (potentially misconfigured) or keeping the old (potentially incompatible, or missing some new feature that fixes security problems) configuration files, forgetting to restart the service and sending some SIGHUPs to load bad configuration files afterwards.

Or perhaps I'm just getting too lazy, since Linux is supposed to be hard to use, hard to configure and hard to upgrade, and Debian's well-designed upgrade system is for weenies.

Now I understand why there's a "you have message" announcement when I pick up the phone instead of a standard dial tone. "Message" must be to "mess" what "lossage" is to "loss" :\

So it seems that DHL finally delivered chaos' 3Com DSL modem. Now I want mine!

Wrote an editorial for freshmeat about some issues on kojima's apt-get + RPM (and I'll tell you, most problems I've been having are due to bad packaging habits, not APT or RPM themselves). I'll wrap it in asbestos before sending it to Jeff.

Ooow, RTL8139 cards are crap. Real, real crap. I didn't know how crappy they are before watching Aris' tests with these crappy cards.

Still preparing the new server in school, now with XFree 4 and a lot of space for LVM. Ouch, our link is terrible in weekdays. Perhaps we should order a DSL line there :)

I want a swiss army knife. And a lava lamp!

And a DSL modem! Please!

Tonight I'll reinstall my box at Hell Labs. I was supposed to do it last weekend, but well, I didn't, because I'm so lame.

Roxen is nice. Creating a thumbnailed photo gallery with fancy captions et al is quite simple:

<define tag="thumb">
        <a href="&_.img;_t.jpg">
        <gtext bevel="4" nfont="violation" scale="0.8"
        &nbsp; &nbsp;

<thumb img="blah" title="Blargh"/> <thumb img="bleh" title="Irght"/>

crudman: regarding the GL problem, I'll investigate -- I'll have access to the TNT2 box again this afternoon. This may be a hint: Gimp produces black screenshots of GL windows, and xv takes screenshots correctly.

The morons at the local power company are fscking incompetents who should have their heads torn off and their children buried alive in an ant hill!

Shopping list:

  • Big UPS.
  • Backup unit.
  • Flashlight.
  • Candles and matches.
  • Swiss Army knife.
8 Sep 2000 (updated 8 Sep 2000 at 14:45 UTC) »
cpw: The big advantage I see with focus-follows-mouse is the ability to work on a window that's not in the top of the stack. This is especially good for debugging, or to do small maintenance tasks in a terminal while using another application that requires a large window. But I strongly dislike the auto-raise feature, it's annoying. I also like to switch desktops moving the mouse over the screen edge, with no resistance. Most people seem to hate it.

crudman: Any idea on how to make glReadPixels to work using an NVIDIA card? I can only get black pixels when I try to build an mpeg movie with my robot simulation frames.

mettw: I strongly agree. Also I've been noticing the increasing number of supporters (and it seems to be happening quickier among Raymondists, even among people that are supposed to have good education) of the notion that anything that requires learning is useless and anything that is slightly complicated is not well designed and should be scraped. Perl is the work of devil. Linear Algebra should be scraped. Calculus is badly designed. Rigid Body Mechanics is complicated, and should not be used. Bloat is acceptable, non-scientific behaviour is encouraged.

avi: the new player is now playing a lot better. Travolta's mods are still not very good, mostly because CIA timing is implemented at mixer level and Hipolito is working on it (I'm using a quick hack to produce sound while the real mixer isn't merged). But indeed it's a very cool tune! I wish I could watch State of Art and 9Fingers in a real Amiga :( The last time I played with a real Amiga was in a meeting many years ago, when we kicked Mad Elks' Technological Death and then chomakeyed it with Koyaanisqatsi scenes. Wow, the result was great.

bruder: hey! I thought the apt-get thing was a rumour!

7 Sep 2000 (updated 7 Sep 2000 at 14:00 UTC) »

Oh. The new xmp plays "Condom Corruption" from Spaceballs' State of Art demo like a crazy-sounding crippled bossa. I guess something is still wrong :\

The stock fvwm2 configuration file is awfully ugly. Debian's default is much nicer. Conectiva should adopt it! BTW, the main package list in woody is getting too large. I don't want to download a megabyte-sized Blob O'Wonders each time I want to upgrade! (yeah, still no DSL!)

From Eric's sermon (Cartman, not Raymond):

Today -- I received a phone call from beyond the grave-a! And it described what hell looks like! In hell-a -- the smell is awful. In hell-a -- everyone speaks Spanish! In hell-a -- there's water, but if you drink it, you'll be bleeding out of your ass for several hours! And the worst part of all: In hell you'll find dozens and dozens of little trinket stores! But all of them have the same trinkets inside-a!
Or something like that.

Software I like:

  • nvi
  • pdksh
  • perl (pike is nice too!)
  • gkrellm
  • fvwm
  • roxen httpd
  • cdtool
  • cfs
  • exim
  • debian MBR
  • xdm3d_xpm, or the standard xdm in XFree 4
  • tleds
  • x48
  • xjewel
5 Sep 2000 (updated 5 Sep 2000 at 15:30 UTC) »

My bank is stupid.

They send you a new card, but it is blocked so bad guys won't be able to use them. Clever. To unblock it, you go to an ATM and enter your password, presto!, card is unblocked. Now think again. You're a bad guy and you steal my card that's delivered completely unblocked. What would you do with it? How could you use it? You'd probably go to an ATM, type the password and you get all my money! Conclusion: blocking the card is completely useless.

They send you the card, and if you don't unblock within a few days, they start to hurry you to unblock it. Where do you unblock it? In the ATM. Where do you actually use it? In the ATM! So you can simply unblock it the first time you use it! Conclusion: bugging the client to unblock the card in completely useless!

My telco is very very stupid. Now 3Com is getting a bit less stupid and is allowing me to buy an external DSL modem for US$380. Still expensive, but better than no modem at all.

Update: I've been told that baretta was "soldering out his soul", whatever that means.

67 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!