Older blog entries for Nelson (starting at number 8)

Simply incredible... The Tour de France organizers have chosen not to invite Mario Cipollini's team this year, again, in favor of some lame second-tier French team. This is a man who is the reigning world champion, has won 42 stages, as of his victory today, at the Giro d'Italia (a record!), the Milano-San Remo classic, Gand Wevelgem (apologies for my spelling) and numerous other races. Two thumbs down for Jean Marie LeBlanc.

Another cycling fan! I'm also ouraged by this crime.


I'm not sure what to say. It's nasty, Iraq is proving many of the assertions about them to be true. They are grossly violation Geneva convention by placing bounties on the heads of their enemies and showing POWs on TV. They launched scud missles which are considered WMD and then the fake surrendering and other perfidy is disgusting. I hope it ends soon. I think there are lines that shouldn't be crossed, ever; I think it is imparitive that we never give in to terrorists or their tactics like this. I can't imagine how you possibly justify their actions. I pray for peace soon. No more from me on this.


I'm a big fan of a clean build. At IBM once I worked on a huge project that had a perl script that built the makefile and then ran make. It was insanely complex and some dirt bag coded himself some job security with it. Adding or removing files was impossible without this guys help, I added a single cpp file once and it was broke for 2 days, you simply couldn't add a file to the list of files to compile. Currently debugging the same problem I've debugged at every other job. Some jackass puts a "perl necklace" (pardon the sick humor, but it is the best description I've ever heard for a 1000+ line undocumented piece of mission critical perl) on the build and we make a few changes and the build stops working. NEVER DO THAT! EVER! I honestly haven't run into something you couldn't do with GNU make, it might take a little script but it's always possible. ant and a-a-p do some nice stuff for you too. Bottom line: don't make the build too complex, don't have too many system deps for it, and don't leave it undocumented... I think this might be my biggest pet peeve, I think you should be fired for doing stuff like that.

Open Source Sabotage

Then last night I debugged another, very interesting bug. It was an intentional one. An opensource project, that I won't name yet, intentionally pushed out sabotaged code. There website had a redirect, if you downloaded it from some computers you'd get the bad code, if you downloaded it from others you'd get clean code. I was shocked that someone would put the time and effort in to something like that. Upon closer inspection they had some embedded messages in the software that were hidden behind a simple XOR-esque encryption and made to look like data strings. When you run the software you get a little nastigram about how you've been black listed. Any comments on the best way to deal with this with in the community? I'm inclined to start a fork. Anyone know of other cases of this? They didn't drop our IPs, they didn't contact our ISP or admins about anything, they intentionally sabotaged the download.

Anyone playing with a-a-p much? I've been dorking around with it some and it's pretty sweet. I've got nothing against GNU make but I always end up writing shell scripts with in my makefile to do some things. I really like the ability to embed Python within my build script.

Pretty cool.

Hash: SHA1
I read the Pragmatic Programmer a couple years back,  nothing terribly
illuminating however it was enjoyable and I really liked the idea of
trying to contain so muhc of the good common sense wisdom about
programming/software engineering and trying to put it in to a tome for
beginners and such.  I like lists and such.   Anyone know of a
community effort to put together something like this?  What I'd like
is something like wiki that can suck the contents of it in to a book
type format.
Version: GnuPG v1.2.1 (GNU/Linux)

I got to thinking. This is sort of like my own blog.. Call me stupid but it only took like 2 years for me to realize that fact. I'll start putting stuff here more regularly. Pull my GPG/PGP keys from www.keyserver.net. I'm big on signing and encrypting all email anymore. Get enigmail with mozilla or evolution and start partying with email encryption. I even put my photo in my keys so you can see my mug shot if you start encrypting your email.

I've been preoccupied with this SCO business lately. I worked at IBM for 5 years. I simply cannot imagine that company stealing another company's work. Integrity has a premium placed on it within IBM. More importantly, SCO hasn't done anything that IBM didn't do 30 years earlier. It just doesn't make a lot of sense to me. I know they've had a speckled history, AIX for IA32 was really SCO, I always joke that they picked SCO because it has a name that is 3 letters long and that made the sed script to replace it with "IBM"that much easier. SCO has been slow to "get it" and I fear that becaose of that they feel that they have a decreasing number of chances left for them. IBM will slap them silly if they aren't careful.

29 Jan 2003 (updated 29 Jan 2003 at 05:32 UTC) »

Haven't entered anything in a while... I'm busy. Doing security software. Still alive and well. Still doing free software, still making a living at it.

Having fun. It's an interesting time for our movement and out industry. I'm optimistic.

more later. peace, love, God Bless,



Okay, I hope people read this. Send me a note at ian.nelson@echostar.com if you wish to discuss it.

Here is my question. What the hell good are SysV Queues? The Linux kernel limits them to 16. So you have a software resource that is limited to 16 instances. That just seems low. With such a small number of them they are a valuble resource, how do you decide who can and can't use them?

The logical next question is what the hell good is SysV IPC at all? Anyone? Anyone? If you want to really ponder this, what you need to do is architect a system, a complex one, and use SysV queues for IPC, only then will you have the true state of mind to enjoy this problem. Former Windows hacks think they are the logical choice for IPC. Fortunately you can bump a constant in the kernel and ramp the max up to 64 or something but that feels like a bandaid for a bullet wound.

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.5 and Gnu Privacy Guard <http://www.gnupg.org/>

iEYEAREGAAYFAjqlifEACgkQQy/763lDO1qWxACdG7JmzTebiK/74FBeorBN/sNT FmQAoMurwwVTlSh5/ow0h8wt8+aud0jViEYEAREGAAYFAjqlifEACgkQQy/763lD O1qWxACfcOnom4vZauyPMpZ+nqBX2aPz+CoAni/vusr7E21uWoK38tJE+MfTtBGJ =j5t4 -----END PGP SIGNATURE-----


I haven't put anything up in here in a while. So here is an update.

Christmas was great, saw a lot of old friends and had a wonderful time.

As for code.. I'm getting to be guruesque in the Linux boot process, I wrote a bootloader for the NatSemi Geode chipset and then hacked the kernel to load out of flash and load an initrd from flash. It's pretty cool, a pain to debug and code though.

I'm also hacking the reiserfs to have a holepunch() function in it so we can truncate the heads of files quickly. This is kind of a low priority at the time but I want to get it done.

I'm getting to be expert at Gtk+ and Gtk--, I'm quite fond of Gtk-- actually. I've been bounced around a lot at work, I do lowlevel stuff and then I get pitched in to high level app work because the bosses can't plan very well.

I've also built a full Linux distribution for Echostar called DISHLinux. Not a terribly challenging task, just time consuming. I've built a Makefile and a set of python scripts that will build it for you all in one shot.

I was doing a lot of stuff with Mozilla but we have decided to not persue it at this time. It's a shame, I think it's coming together.

All of that and then I'm getting in some hours on the bike and snowboarding.. So all in all life is pretty good.

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.5 and Gnu Privacy Guard <http://www.gnupg.org/>

iEYEAREGAAYFAjp4nS4ACgkQQy/763lDO1rBZwCeONVmTtoJwGPfgGLi21iTUvTR 51UAoLYMlzkB4bsDmhFJKGaoVq5sLRhgiEYEAREGAAYFAjp4nS4ACgkQQy/763lD O1rBZwCgvCuGI4AFaTT3SRHY9PWr1ANhfUUAn0whxjBN8bvfg8tWdtwTSqkBoTdC =kKL8 -----END PGP SIGNATURE-----


Wow. My first entry.

Basically, I'm a full time, paid opensource developer at the moment and I'm loving it. It's really funny how your job affects your whole life. I'm a much better person in numerous ways now that I'm passionate about my job. I feel as if I'm helping to change the world. If you do Linux and want a job in Colorado, drop me a line, we need more good people.

Hopefully in about 6 weeks we'll put up a page so that our opensourced stuff will be out for general consumption. We're doing embedded stuff with Linux and I think we got a few major pieces of code that can significantly lower the entry cost for others, I'm excited about that.

My old friend Greg certified me, I haven't seen him in ages. It looks like he has moved to California, I'll have to drop him a line and see how he's doing. The world is small.

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.2 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.5 and Gnu Privacy Guard <http://www.gnupg.org/>

iEYEAREDAAYFAjm49vEACgkQQy/763lDO1qu0QCeLgciURJ7uS9OSbDTrcWNO0dK XbQAoJatpmZT9o3wD9n7x/YGtF7fBPafiEYEAREDAAYFAjm49vEACgkQQy/763lD O1qu0QCgj8itIKB84z5r2Jy8r26wsvInlZEAn1E4EH8+bIRrvxbWAMD6+ncdm5mx =iK8z -----END PGP SIGNATURE-----

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!