Older blog entries for Zaitcev (starting at number 137)

30 Aug 2002 (updated 30 Aug 2002 at 01:51 UTC) »
goingware is experienced, so I assume he understands what he is doing. In contrast, I consciously decided to stay away from the embedded programming, unless economic hardships make me.

From a free software actor point of view, embedded programming is a very alien, hostile world.

First, it integrates with hardware much more than our big computer programming does. In hardware, patents reign supreme, and the whole old school of closed source engineering is thriving. This spills over to the embedded programming. The air in embedded companies is stiff.

Second, embedded projects are as diverse as their platforms. This places high barriers in the way of code reuse, at least as far as community bulding is concerned. Embedded programmers spend their lives working on code which is never reviewed by anyone and 95% of it is discarded before it reaches a product.

And third, embedded programming is populated by dorks, historically. Most of those people do not know how to quote an e-mail, and they do not care to learn, just to bring one example.

Actually, it is much worse than I am making it sound, but you have be in it to feel the oppression.

I am sure that Advogaters will point out exceptions, and in fact I saw one myself, in pre-RedHat Cignus. Count yourself fortunate if you end in a company like that, but do not bet on it.

I wish Linus got off his ass and released 2.5.32.

In personal news today, AP (through Reuters) carried a report about a possible end of the road for another pseudo-scientist.

    ATLANTA (AP) - An Emory University professor and author of a disputed, prize-winning book about guns in America was placed on paid leave for the fall semester amid an investigation into possible academic fraud.

    Michael Bellesiles' "Arming America: The Origins of a National Gun Culture," received national attention for its contention that early Americans did not own or use firearms in great numbers.

    The book sparked fierce criticism from gun-rights advocates, and scholars suggested that Bellesiles made serious errors, prompting Emory to begin a probe in February.

    [....]

Now if all libraries stamped the book with big red "Warning: 100% lies" label, we might be on to something here. But I am not holding my breath. And besides, if American youth cannot distinguish bullshit from research, it deserves to be corrupted anyway. Should not have slept though those critical thinking classes.

The sparc in 2.5.30 boots now to the point where init enters level 3, and promptly runs out of so-called "nocache memory". This is a significant achievement in my book.

KT noticed last week that sparc was marked unmaintained. Actually I asked Rusty and DaveM about this, but we decided to stick with de-facto maintainership for now. This way I always can fall off without warning. Also it's interesting to experiment how soon people wise up to the fact that Linus bk tree can be compiled and runs (somewhat :). uzi already figured it out, but I asked him not to spoil the joke for the moment.

Seagull hackery, yes!

I see more and more people who describe their struggle with booting from a software mirror, one of them even found his way to Advogato. I struggled with them during my Sun tenure for years, and now they are catching with me again. When will they learn that it is a very bad idea?

For intelligent Advogato readers, I would like to point out that booting from a software RAID presents a chicken and egg problem fundamentally. To read a boot image you need the RAID software, and to load RAID software you need a working OS. This is the main problem.

It is possible to break the loop, but the result is invariably fragile. It any little piece of the puzzle falls out of its place, the whole scheme crumbles. The most dangerous thing about it is that very often you get to discover how it breaks when it is time test your mirror in a degraded mode. If may be way too late to reconsider at that time.

If you really want to have your root filesystem on a software RAID, boot from some other place, then remount or pivot your root.

I am digging into the Anton's inheritance that I've got. Some parts of it are pretty witty...

/* This makes sense. Honest it does - Anton */
#define __nocache_pa(VADDR) (((unsigned long)VADDR) - SRMMU_NOCACHE_VADDR + __pa((unsigned long)srmmu_nocache_pool))
#define __nocache_va(PADDR) (__va((unsigned long)PADDR) - (unsigned long)srmmu_nocache_pool + SRMMU_NOCACHE_VADDR)
#define __nocache_fix(VADDR) __va(__nocache_pa(VADDR))
OLS: unintended consequences

At the conference, I bumped into Quintela and he said: "Oh by the way, I still have two JavaStation Krups, they run [something very ancient]". Later we had a sparc(32) mini-BOF with Rusty, WLI, Uzi and Anton (as a guest of honor :). Rusty delivered a short, but energetic speach, in which he threatened to throw the port out of the kernel tree if it does not get updated (I advocated such action at one time myself).

Of course, I am not afraid of Rusty, or not sufficiently afraid, anyhow. OTOH, to win the dubious honours of the only architecture requiring syscalls for futexes... and coding special traps for them... hmmm... I do not understand how it happened, but I fixed up 2.5.24 to compile on sparc and DaveM was going to take the patch into the vger tree.

This is all fine and dandy, but we still do not have anyone to take over the DaveM's mantle. WLI has some serious Linux work at IBM, and so does Anton. At best they can perform so called "seagull maintainership" (I stole this term from Willy). Uzi may do it, but something interfered when he tried. Elsewhere we have Tom Sczerpe (sp?), and Spot. I am not exactly sure about them. Spot definitely has an access to a sparc64, and it may be too much of a siren call. Oh well... I'll just keep a tree alive in case anyone decides to take over.

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() {
    do_something();
    if ((x = bar()) == NULL) goto error_bar;
    if ((y = baz()) == NULL) goto error_baz;
   .......

    // undo_baz();
error_baz:
    undo_bar();
error_bar:
    undo_something();
    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.

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