Older blog entries for Zaitcev (starting at number 131)

OLS: wireless

Wireless during OLS was nothing short of fabulous. The only problem I saw or heard about was pump(1) dying on laptops of some participants, and thus failing to renew leases. Once the IP is reassigned to someone else, it conflicts. Happened to me once; of course I have no idea who caused it. Everything else worked flawlessly, including migration between rooms and floors (which typically caused dropoffs last year). Rooms were packed even more than this time around, so I am surprised at the better infrastructure quality.

I saw dyork writing how good is 801.11 at Mac. Perhaps it is, but I can top his story. He did "two simple downloads", I did none. I took an obsolete 486/75 laptop, installed Red Hat 7.2, and asked Arjan to lend me a card (which he bought apparently before boarding the plane in England). Everything else worked automagically. So, I think MacOS and OSX enthusiasts need to find some other topic for bragging. Fonts, perhaps?

I am in a hacking frenzy, so no OLS updates. Also, hardlinked trees rule. I just realized that "cp -al" creates perfectly good hardlinked trees without any mucking with find(1) and ln(1). RTFM.

2 Jul 2002 (updated 2 Jul 2002 at 15:27 UTC) »

This year OLS had so much personal content that I am going to write it down in small installments.

OLS: bk

Recently I observed that many kernel hackers switched to bk and seem to be genuinely satisfied with it. So [sic], I decided to use it too, and was frustrated. The whole expirience was an unending pain (even though I was good with Teamware during my Sun tenure). I really could not understand what was going on. Why it's ok with everyone except me? Was I really that dumb? Then I had an extremely enlightening conversation with Val Henson and it clicked.

We started off with considering workflows ('I do this *scribble* then copy the tree like this '*scribble*' 'This is what I did too'), then went on to advantages of bk, which I promptly dismissed ('Sure, mergetool is brilliant, but I never get big rejects'). Eventually Val got tired of me and asked: 'If your tar/diff/patch workflow works so well for you, what area are you trying to improve, exactly?'

Yeah, what, exactly? I started to think about it and realized that I totally fell victim to the "instinct of the herd", because I was psychologically insecure. To say "gregkh and jgarzik use foo, therefore foo must be good for me" was bogus. I made no analyzis and grabbed a fad instead.

I wrote a couple of diaries ago that a kernel hacker can live off FTP releases quite decently. In view of that and of what was said above, I am dropping my attempts to use the bk for now. Of course, once I hit dreaded merging difficulties, I'll be over the fence in a jiffy.

BTW, I am much happier now when I do not have this bk inferiority complex anymore. Which can only be a good thing.

mbp: Re: exceptions. How do you handle this:
int foo() {
    if ((x = bar()) == NULL) goto error_bar;
    if ((y = baz()) == NULL) goto error_baz;

    // undo_baz();
    return -1;
An awful lot of code relies on falling through labels. With exceptions you have to re-raise it again and again. And IMHO, "finally" is a dangerous concept, in fact many Java oldtimers suggest that almost every instance of it is a bug.

OLS: I am digesting my OLS expirience and will post as appropriate.

28 Jun 2002 (updated 28 Jun 2002 at 13:26 UTC) »

At OLS and busy - diary later.

Re: pphaneuf and bcrl's aio, very briefly.

I suspect that we will hear from the pro-callback party yet at times. I may be mistaken, but it seems than many of those people honestly fail to account for two things: a protection boundary crossing and an existence of contexts in UNIX, and also the performance. This is very fundamental and explains why bcrl chose the non-callback interface (as opposed to Windows APC, as I was told). I did the same for Toy Infiniband Stack and had all these discussions at length with the leading Intel architect Ashok Raj.

Suppose for a moment that you try to implement the callback. You absolutely have to take over a process for it to run. You can not take over a random process due to protection differences (not to mention address space overlap, etc.). If the process you want to hijack runs wild in userspace, it must be pre-empted. No matter how you slice it, it is costly and hurts performance, and pulls the rag from under the process (e.g. pre-empting malloc and doing malloc from the callback). If a process deliberately sleeps in kernel, it is only a simple and fast wakeup. In a way, callback emthusiasts may consider forked waiters as a pool of anonymous contexts, it that helps them to feel comfortable.

I hope that it makes some sense. Later. We may yet have a hallway BOF during the last day.

I am wondering what genius came up with the idea to make the OLS a follow on for the Kernel Summit. First, it allows some first rate hackers to demonstrate exactly how low they value the OLS by attending the summit and leaving the town when OLS opens. Second, those who remain will be tired. Even though OLS is mostly about drinking, they will. Or more so.

In a way Tytso sends some very negative vibes with the KS for little benefit.

I say negative, because KS invitations are open for corruption. A good friend of mine and a port maintainer offered me once over a dinner to ask Tytso for an invitation. He obviously had good intentions and valued my kernel contribution too high, but still. I think KS erodes the meritocracy underpinnings of the kernel hackerdom.

As for the purported benefit, last KS pretended to discuss and approve some things, which obviously were doomed, were empty promises, and so on (e.g. Andre's IDE, ESR's CML2, Keith's kbuild). I cannot recall a single thing bandied around on the KS that came out good. Well, we can hope for the tight 2.6 schedule still, but that's about all, and has a very slim chance.

Having read what I wrote, I am sure someone will accuse me of having sore grapes over not being invited. I am not saying yeah or nay, but what if I would. It would only add a weight to the argument that KS creates an easy channel for destructive negativity, just like Dimwit rating on Advogato. If people used Dimwit right, it would work great. But of course they never did.

Another scary specter that KS recalls in my mind is a BSD core group. It was said that BSD splits when someone gets thrown out from the core group. Do we really want all that govermentalist shit? Personally, I was very happy with merry anarchy and a pinhead God.

All in all I was not going attend OLS this year, but when Bob Woodruff set up the Infiniband BOF I really had to. At least Red Hat promises to cover expenses this year.

17 Jun 2002 (updated 17 Jun 2002 at 06:41 UTC) »

Today I decommisioned the last sparc in the house. I still can cross-compile Sparclinux kernels, and I keep old userland in case JavaStation needs an urgent attention, but I cannot build PROLL myself anymore. The 32 bit sparc was a toy for BSD people for a while. They are good at using obsolete computers, so let them bother, while Linux people move on to the best and latest hardware (such as Infiniband, wink wink wink :).

[Update: A terrible thought just occured to me. Since the Classic is not in production use anymore, I can use it for experiments. The temptation!]

The Sun eclipse was cool.

8 Jun 2002 (updated 8 Jun 2002 at 04:11 UTC) »

I received my JNCA-5 chart from Sporty's and already extracted some benefit from it. A year ago, paxing on Air Canada on a return leg from OLS, I saw an airport with crossing runways. A scan of Airnav turned out nothing. A goverment conspiracy or Airnav problem? The chart has it, under the name "Crow Landing".

[update: I just talked to acme and he dropped cert for Anarchy]


I am in agony. I just finished a milestone: my Micro Subnet Manager assigns LIDs, so I turned my attention to multicast and, thus, to Subnet Administration.

The amount of crap in this part of the spec is staggering. Worse, the structure of the problem seems to require an enormous daemon, which keeps the operational status of the subnet. DHCP daemon, move over. Hell, this thing may rival BIND. Of course, there is nothing in this job to cause an agony in someone forged in the furnace of Fibre Channel. But I agonize over a simple choice: what language to use?

The Micro SM was written in C, because I had visions of better compartmentalization and UNIX style components. But perhaps the beast daemon calls for Python. But I do not know Python. But the best way to learn a language is to program a big project in it. But Python may turn off contributors. Heck, I better go play Pikmins...

122 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!