Older blog entries for dsifry (starting at number 10)

It has been a long time since I posted a diary. So much has been going on around here, I'm not sure where to begin. First off, I thought slashdot was the national enquirer of the internet, but I've been proven wrong.

I wish the best for lilo, and elise and others caught up in recent goings-on at the job. I see your diary entries and I'm glad that things are working out well for you all.

Tonight I picked up an IBM 600X - Duncan and Rasmus were fighting over it, so they decided that the only way they would both be happy was to give it to me. Now, that's the kind of decision-making process I like to see! :-)

So, I've been copying over all my files and tuning the configuration of the 600X. What a bitch - just as soon as I get Sound support on the 600E working, I switch over to the newer box. Hey, don't get me wrong, I'm not complaining.

Ryan, you are truly a madman. I take off my hat to you, sir.

Looking forward to BALUG on the 16th - Andrea Archangeli is coming to talk, should be a lot of fun.

Ah, another beautiful Sunday night. Here I am again, sitting outside while the dog does her business. I must say that there is something really gratifying about wireless computing. I've got FreeS/WAN 1.3 up and running on my internal wireless LAN now; it feels more secure, even though I really haven't gone through all of the packet dumping checks to make sure that everything works the way it should yet. Perhaps I'm just being paranoid - the cards are spread spectrum, and I use an obscure ID as the essid. Add to that the fact that I'm using ssh to get between boxen where I do important work, and I probably don't need to encrypt all of the triffic over the wireless link, but I'm doing it more for principle I guess, not to mention that it's fun...

I must send in some bug reports to the FreeS/WAN team however, because installation does not work as advertisied when you are trying to compile the code on a fast box and then install it on a bunch of low-end Linux routers... Things like /dev/ipsec don't get created properly.

I saw a moderately interesting article in LinuxToday called Open Source: Ready For Prime Time? but what really struck me were the stereotypical memes floating around about members of the open source community. I sent around an email to the folks at the office but I thought it would be of interest to folks on Advogato too. Here's some of the things that are in the article that are either direct quotes from people or are comments by the author on the open source community:

"The attitude a lot of these people have is, 'Give me a good Perl interpreter and I'll write you a distributed application.' I think that's a little shortsighted."

"Linux tends to attract those who can program and administer a server much more efficiently from the command line than by navigating through a series of graphical screens."

"And many Linux fans are more likely to duct-tape a Web site together with Perl, improvising as they go, rather than architecting around some grandiose object model."

"... But open source advocates think it's okay to have many different ways of solving the same problem."

I think what is happening here is that the author (and perhaps other people) is getting confused between the evolutionary/darwinian model (or process although I hate that frigging word) of open source software development and the individual good/poor planning of individual developers and projects.

I wonder how many people would accuse Miguel and crew of "duct-taping" rather than "architecting" around an object model?

Or am I totally off base?

Ah, the weekend is almost over. I'm up late because the bay is being fussy. I had to put her in the swing in order to get her to fall asleep, and the swing is in the living room, which is also where my desk and computer are, so, here I am.

I'm really enjoying "Open Source Development with CVS" - good book, it's given me a bunch of tips on the advanced use of CVS. I feel a lot more comfortable using tags now, for example. I also set up an anonymous repository, but after talking about it with tridge, he convinced me to use a chrooted jail for anonymous pserver access. He's written some code to create the jail and get everything to work - they use it for samba.org. Unfortunately, it took me a good day and a half to get everything to work, mostly because I didn't know about strace -f inetd. In order to help other mere mortals in the future, I wrote up all the info for others to use. You can get the code by pointing your cvs client at :pserver:cvs@samba.org:/cvs and checking out the pserver code. IOW, do this:

$ bash
$ export CVSROOT=:pserver:cvs@samba.org:/cvs
$ cvs login
(use cvs as the password)
$ cvs co pserver

Hopefully it is useful to someone! If nothing else, I sure found it good for my soul. It took my mind off of other things.

Openflock is languishing a bit - I really need some closed door, uninterupted time to make some headway on the client, do some documentation on the protool, and then release the darned thing to the world. I think somebody out there must need an open source group calendaring solution...

Well, back to work, let the baby sleep...

Today was a very good day. The reason why I'm up writing about it at 1:30AM is because the baby wouldn't fall asleep on her own - I had to put her in the swing, and finally she's fallen asleep.

Finally got my car fixed - on 2/1 someone rear-ended me and it has taken this long to finally get the repairs done. At least the other guy's liabilit insurance is accepting all responsibility. I'll believe it when I see the check for the rent-a-car I've been driving for the past few months, though...

I set up a mail->news gateway on one of the boxes at work - we really need an institutional memory and a place where people can go to look at what's going on in all the mailing listsof the company. I want to make sure that we're fostering collaboration and good communication. We also need it so that new people can come up to speed quickly. Anyway, this seemed like a good technological solution to a social problem. I've also been working on a short document that gives an introduction to the open source community for clueless managers. :-) I've come up with some rules so far:

1. You are part of the Community
2. RTFM
3. Be Brief!
4. Communicate early and often
5. Don't be afraid to experiment

Perhaps as I elaborate further I'll turn this into an article for Advogato...

Ah, anyway, I'm looking forward to a good weekend, and a relaxing break. I have a feeling that next week will be a VERY GOOD week.

Slow day today, mostly took care of errands and the baby took up the rest of the day. I wrote some thank-you cards, got a haircut and got passport pictures taken. At least I took Open Source Development with CVS with me to the barber shop and read a chapter or two. Not a bad book, and it's getting me through the intricacies of using the advanced features of CVS. I haven't gotten as far as I'd like with the original OpenFlock client, but things have been kind of busy around the office for the last few days I'm hoping to have some more time soon.

Ah, I feel like a hundred dollars today. It's a great day! Woke up early, had a bagel and a cup of coffee, and now I'm getting some more hacking done on OpenFlock and on the Aviator wireless LAN drivers (turns out that my earlier hacked ray_cs drivers work great upon insertion, but they oops the kernel when you suspend or remove them. Doh! Makes shutting down the laptop a difficult proposition. :-)

Back to work...

I love wireless networking. Right now I'm outside the house, chilling out (literally! It's HOT in SF today) with the dog. Recently, I got 2 Lucent 11Mbps WaveLAN cards (thanks Manish and Josh for getting them for me) and I've been playing with them and their drivers and they work really well. One of the things I liked the best was the fact that the card called itself wvlan0, which made setup really easy upon insertion and ejection. I have some older Aviator cards which use ray_cs as their driver, and I always hated that the cards registered themselves as eth? which made it difficult to have a wireless and wired connection sometimes, and a wireless-only connection sometimes. So, I hacked together a fix for the ray_cs driver, and it appears to work and is stable. Now the interface comes up as raycs0 instead of eth0 or eth1. So, I'm out here in my backyard hacking. My reward. I'm sure the dog is happy, too. :-)

Ah, another Friday. Glad that the week is over. It was another very long week. At least Melody (my daughter) is getting into more of a schedule, and she's also much more responsive to the world around her.

I bought a IEEE 1394 (FireWire) PC Card today at Frys so that I could transfer a bunch of digital video I took of her onto the computer. Unfortunately, there are no Linux drivers, AFAIK. Heck, it froze my wife's copy of Windows 98J (well, not like that's hard to do...)

I have been getting used to this new IBM 600E that I got - it's got its own wierd tweaks (like hibernation mode) but damned if IBM doesn't still make the best keyboards in the business. And I have to say that I just love the touchpoint/nipple/whateveryouwanttocallit. Always have. I just hate touchpads.

I spent all day down in the south bay today meeting with clients, that's always fun. Sensing the traffic would be killer on the way back because of the opening night Giants game tonight, I drove up to Palo Alto and went to Stacey's and Borders and loaded up on a bunch of books - Got the O'Reilly Perl/DBI book (just to brush up on advanced topics), Open Source Development with CVS (I liked the GPL'd chapters so I decided to support the author), The Book of IRC (totally silly, but what the hell), a MySQL book, the GNU Emacs pocket reference (just to keep an eye on the changes since I really hacked on emacs, v18) and the Linux Core Kernel Commentary (looks very interesting). I wonder when I'll get any time to actually READ the books, but what the hell, we can dream, can't we? And I think sleep is highly overrated.

OpenFlock is really coming along, I think the initial server is pretty much ready, time to start coding the sample client. I was trying to figure out an easy client that would show off the power of the protocol, make a good example client, and actually WORK, and then it hit me - cal! So I'm going to rewrite cal to include groupware scheduling. It's so moronic it's funny, and what the hell, somebody just might find it useful!

So tomorrow I begin hacking together cal on steroids. I feel like I'm welding an armored gunship on top of a mattel toy car. Hee, I like that.

Had a great lunch with Jeremy today, thanks for lunch, big guy! Got some good feedback on my authentication scheme, too. I'm going to look into sasl as an authentication solution. I'd never heard of it, but Jeremy recommended it, so I'm sure its of some use...

Let's see if I can make this in before april fools begins...

Well, I guess not, so April Fools!

Whew! It's amazing how many little tweaks and errors, not to mention productivity increases you can find and make to a protocol when you stop designing it in theory and start coding it. I made a number of changes, mostly new functionality, to the OpenFlock protocol to enable faster and more efficient batch operation, as well as fixing the notification system (the system that notifies you when someone else has scheduled you into an appointment)

What's really cool is that as you add new tricks to your toolbox, like increased batchmode processing (ask me for a list of events instead of an event one at a time) in order to increase speed (one database call instead of n, one socket read and write instead of n) you can deploy them in many places - hence the new code I wrote up to get your notifications is being reused to allow you to batch up multiple people's schedules as well as batching up multiple appointment queries.

I'm still unready to release OpenFlock to the world - it's not even at 0.1 yet. I will do it after I get 80% of the server commands done (I'm not going to include reminder lists in this release, for example) and after I get a simple client and some more documentation done. CVS/any revision control system is cool because if you use it diligently, your documentation gets much easier because you're commenting your code well.

Beautiful day in SF today, with a wonderful sunset. Did some shopping (groceries) and had my cousins over for dinner (chinese, yum!) so they played with the baby... Ah well, off to bed.

Ah another day another dollar. Actually, today was better than yesterday. Although the baby was cranky most of the day, I did get a chance to do some serious hacking early in the morning (6AM-10AM!) and this evening. Who would have thought I'd be hacking early in the morning? Well, that's one of those things that babies do to you - completely screw up your sleep schedule! :-)

OpenFlock is coming along well - I've got the protocol pretty stable now, only adding a minor function today (BASE64MODE as a toggle for TEXTMODE). I really cranked on the server, and it's almost there. NEWAPPT was fun to code, although it forced me to deal with the fact that I had thrown away user authentication (until the next release, right...) So, I coded in some simple user authentication, and added in a pluggable inerface for authentication. This thing's going to be pretty neat. I did decide to leave LDAP-based authentication to the next release, though. :-) The only functions that are really necessary and are still missing are the notification functions, i.e. when someone requests an appointment with you, it gets placed as a pending appointment until you check your notifications and confirm or deny the appointment.

There's a lot of work to be done on the client end, too. But I figure, if I can get a good server and protocol going, then the client will go pretty quickly, or I can get some help from friends (maybe Rasmus?) to put together at least a web-based client or a simple text-based client.

I'll tell you, it feels really good to code again. I've been spending way too much time doing other things...

1 older entry...

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!