I feel compelled to weigh in on the college thing like everyone else. I should have taken a year or two off before entering college. In fact, I thought about it earlier, but when college time rolled around, it seemed just easier to go with the flow, and go to college then. Wrong!
I went to college for a year and a half. I will probably return to college within 10 years, but I will be going into it with a completly different set of goals and expectations. I know I can make a reasonable living in the real world as-is, so the only reason to return to college is when I decide I need to get formal learning and/or broaden out into other fields besides pure computer science.
I can't say for certian that taking a year off from education would have saved me from dropping out of college, but it probably would have led me to think things through better, and be more forceful in getting what I wanted to out of college. (On the other hand, I may well have missed being exposed to the net and linux for another year, which would have been a shame; I'm glad I was there for the tail-end of the early years of linux.)
Oh yeah. I just realized I have a really bad habit that's built up over many years of only skimming websites. Reading advogato in a non-graphical viewer seems to fix that. But I miss the colors...
Yesterday in the middle of apartement hunting, I finally figured out where the rather well-hidden Steven's Creek trail is, and so I've been off biking for most of the past 2 days. Very nice to get out and get some exercise and fresh air for a change! (and I plan to keep it up too..)
Very little coding has happened in the past 3 days (or the past 5, given that the 2 before that were spent in documentation mode). I couldn't get anywhere on friday, hopefully a weekend away has cleared my head.
Jim Dennis is probably right on about social dynamics and ratings. I overwelmingly certify most people I certify as journeyers, because that just seems safest. Also, if I know them well enough for their name to have stuck in my mind, they can't just be apprentices or observers, right? :-) And I hestite to certify people as master. So I think journeyer is getting perhaps a bit diluted.
Allowing people to list themselves as participating in projects helps counteract Jim's last concern. You don't have to grep for their name, you know what projects they claim to work on and if you're familiar with one of the projects, it's easy to verify the claim. (No need to worry about name collisions either.) I do wonder if it would make sense to allow even observers to list themselves as being a Helper or somehow affiliated with a project.
Hm. I seem to have entirely missed the switch to (from? whatever) daylight savings time. I have 1 clock that's not self-correcting, and I just noticed it's wrong.
I spent today doing bugfixes and trying to get caught up on email. Nothing interesting to report.
Tausq -- I care because I've known you for er, 6 years (?). :-) Sorry to hear about the Carpal Tunnel, I had a bad scare recently myself but it has not reoccurred. I'm still running xwrits as a preventive measure.
The Debian Invasion (TM) is well under way, I see.
I spent most of today reading 1700 messages. I don't think I have enough material to publish DWN this week though.
Meta
I thought about posting an article to gather meta discussion in, but I couldn't write a suitable one and I'm lazy.
I've very confused/concerned about where Dimwit is supposed to fit in the certification scheme. If all it leads to is threads like this one and bad feelings, why bother? It's so very negative compared to the other ratings too. I'm also confused why someone like Elliot Lee should pop up, self-certify as a Dimwit (I assume in jest), and collect 20+ certifications as such by people who must not realize that Elliot is a long-time red hat guy who has contributed to projects like rpm. Either I'm missing the joke, or this doesn't seem healthy.
My most wished-for feature would be for Advogato to keep track of which diaries you've seen, and only list new ones on the front page. We're already cookied, so that seems doable.
Today was just one of those days where I never quite wake up. I ended up spending several hours working on my bug list because I didn't feel like doing anything that required interal motivation or design thought, and mindlessly squashing bugs seemed doable.
Looking at that buglist, I really need to grab a week soon and do some work on debhelper, particularly rewriting dh_installmanpages so it has a more intelligent (or rather, less intelligent) design. And implementing the rest of the debhelper v2 stuff I specced out a full year ago and haven't done yet.
I spent a bit of time hacking on Term::Stool, but I still haven't decided how I want pull-down menu lists to work. The cleanest design would be entirely too slow for belive, due to the overhead of perl's object method calls. I'm left chosing between several less attaractive but more optimization-ameanable designs. Bleh.
Went to SVLUG. The talk was more interesting than I'd expected (thought I kept having flashbacks to Graydon's xml article), but why is SVLUG the only place on earth where, each month, I am exposed to some computer running windows? The irony...
Hm, late-night Light Rail passengers are an interesting crowd.
I got almost no sleep last night -- insomnia again. I still got up at 10 for a meeting. I belive I spent 3 hours today trying to figure out why my code to change the origin in slang only affected 1 axis. Then I finally wised up, generated a minimal test case, and sent the bug off to JED to get fixed. I'm not normally quite that slow to realize it's not a bug in my code, but I haven't exactly been thinking clearly on 2 hours sleep, and the major architectural changes I was in the middle of managed to hide the real bug pretty well.
I've kept on hacking slang and Term::Slang today, and I can almost get it to do what I want. The annoying thing is that all I want is a rectangle onscreen that bounds the region screen draw operations can act on -- something that is a part of curses from the get-go.
Why was I using slang again? Sigh.. Oh well, if it comes down to it, I can convert over to curses in about a day.
Another rather blah day like wednesday. Even adding a wacky new frontend to debconf (configure your debian system by editing config files, what a concept!) wasn't enough to get me out of this funk
I spent today as I do most Mondays: catching up on email and trying to get a Debian Weekly news together. Not a lot of general interest has happened in Debian in the past week though (or I'm getting a bit burnt out on DWN).
Big personal news which I probably can't mention due to NDA.
Happy birthday to me.
I re-read Cryptomonicon the other day. It's not really as good the second time. I wonder if Neil read JWZ's wisdom teeth page and used is as a base for part of the book -- I can never read either account without worrying about my own wisdom teeth, which continue to grow in.
I have now spent 2 years without buying any computer hardware whatsoever. What a frightning milestone for a geek.
Debian
I finally got ahold of some potato cd's and worked out all the issues with apt-setup and cd scanning.
DWN is published, but short.
Sometime in the middle of the night
I look up and it's 2 am. Whee! Haven't done this in a while. I'm redesgining my entire mail system, including changing my MTA and list software. No more qmail is the goal. I have a detailed transition plan now. And now I also remember why I don't want to be a real sysadmin: this is a lot of work!
Thanks everyone for the birthday wishes.
pjones should take a look at how dpkg handles conffile replacements. It really works rather well. Diffing is an option, though it doesn't auto-patch (yet). However, this basic idea (prompting with a well-thought out default) just doesn't work very well in the rpm world, where package installs are something you do fully noninteractively.
It looks like my mail conversion is a success. Postfix is impressive.
Today I finally tracked down and squashed the "undefined value" bug in debconf. Rather a non-bug, but I've shut it up now.
I'll be in Santa Cruz all weekend relaxing. Extended family is a wonderful thing.
I start every week off frantically trying to get caught up on my email, and this Monday was no exception. I just had more to read since I was gone all weekend. Bah.
I spent the rest of my time at the computer working on packaging some stuff.
I'm now in a book club. I get hardbound SF classics delivered to my door monthly. This is a little scary, since I've never trusted book clubs in any form, especially ones that have advertisements featuring prices in pennys. TANSTAAFL. On the other hand, this book club's prices are decidedly higher, and the results seem to be good so far -- objects that make one realize that a book is a very mature technology for information retreival, and that point out just how shoddy an implementation a cheap paperback can be.
It's interesting to watch Advogato continue to pick up mindshare in the the community. I was at BALUG tonight, and Bruce's presentation breifly turned to Advogato (and yes, BrucePerens is really Bruce), and not everyone but a sizable lot of the audience knew about advogato. In the smaller group I was hanging out with, nearly everyone did, and most had diary entries. There's an interesting dynamic in hanging out with people whose diary entries you've read on Advogato earlier in the afternoon.
Debian's new maintainer process is working again. I'm happy bod was the first person through.
Also, a tip of the hat to Nick for creating a system where wall is a socially accepted and common form of communication.
A busy day. I got DWN out, and did a lot of bug-fixing. I also found a gtk-perl tutorial, which is the first documentation I've ever found for gtk-perl. Now that I have some docs, I'm eager to go write a good debconf gtk UI, but I feel a bit bad that I haven't entirely finished the slang UI yet.
I also still don't know if it's possible to suspend the gtk event loop, go do something which includes modifying the gtk widgets, and resume it. Doing so is rather essential to debconf's design, and the old gtk frontend had random crash bugs that I think were associated with trying to do that.
Maybe I should use Qt instead. :-)
zw: all that stuff in netscape can be turned off. See the "View" menu for half of it, and just do a google search for "netscape kiosk" for the rest.
Alien 5.99 is released. A full rewrite done in just 30 hours, not too bad. I hate MakeMaker. If it were just a little bit less arcane, that would be 24 hours..
Alien needs lots of testing. I really wish I had a proper regession test suite for it. Unfortunatly, writing regression tests for something that produces large binary files that do not have deterministic contents (some bits are time-linked, some are build-system linked) seems hard to do. I will have to keep relying on my testers.
Kelly: Ah, muds -- of course! Why didn't I think of that. I'm actually very pleased I've found one of the "special limited situations" where reblessing objects is very useful indeed.
I've identified myself as a lead developer on debian. If this annoys people, I'll get rid if it, but culus said to. :-)
Today my ISP lost all routing for 10 hours. How charming. While I was disconnected from the net and had nothing better to do, I sat down and did a long-delayed rewrite of alien. This is alien's 4th rewrite, as it has progressed from shell script, to crummy perl code, to perl code that at least used strict and modules properly, and now to fully object oriented perl code. At least alien has managed to get better with each rewrite, and this time is going to be no exception.
Anyway, I'm very pleased with how it works now. A simplistic alien can be written in a single long line of perl, like this:
perl -MAlien::Package::Deb -MAlien::Package::Rpm -e ' $p=Alien::Package::Rpm->new(filename => shift); $p->unpack; bless($p, "Alien::Package::Deb"); $p->prep; $p->build'
The really neat bit is that alien is now just a bunch of objects that represent packages of a given format, and are capable of rebuilding those packages. If an object is blessed into another format, it retains all the metadata from the original package, but becomes able to write it out in the new format. All the (very) messy conversion happens behind the scenes.
I'm not sure what to call this object oriented technique. Does anyone know of a fancy name for the techinque of dynamically changing an object's type? Is this even possible in languages other than perl?
I went up to The City today and went notebook shopping. Ran into Seth and Nick on MUNI. Most stores were closed, but I got to see and fondle a PictureBook. Nice machine, although the keyboard will take a little getting used to. Now to arrange with my bank to let me buy one via card.
After getting back home, I spent a good hour raving insanely as I tried to make MakeMaker work. Don't do it, it's not worth your sanity. In my work as a Debian developer, I have had experience with how approximatly 200 software packages handle "make install". MakeMaker's method is, without a doubt, the absolute most convoluted, arcane, and inflexible of any of them. For a simple task like "install into foo/tmp, keeping the same directory tree as if you were installing into a normal system tree in there, and install into usr/, not usr/local", I have to write a make command line that has 6 lines of variable settings. Contrast to a more typical "./configure --prefix=/usr ;make install DESTDIR=foo/tmp". Am I missing something? I sincerely hope so.
Now I want to reread "True Names". It's been at least 5 years. I had no clue Vinge was involved in the FSF!
I spent today cursing at MakeMaker and shopping around for a new laptop in the < 3.5 lbs range. The Toshiba Portege 3440CT is very attractive, but almost too attractive -- it's beefier than my home desktop machine.
So I'm also looking into the sony picturebook which is closer to the really tiny size I'm looking for. I've come to realize I won't use a laptop more than once a week unless I can throw it in a bag and forget I'm carrying it (and thus end up having it in the bag when I need something to do on the train enroute to work). The picturebook is the same laptop Linus was carrying around last summer, so it seems safe to asume linux works on it (and other people also report it does). I don't know if the camera will work, but on the other hand, I don't particularly care. And it's a vaio without the nasty touchpad; it has a 3 button pointing stick.
The only things keeping me from rushing out and buying it right away are worries about hardware quality and heat dissipation -- I've read one report that the little sucker can get hot and I've heard several negative reports about vaio hardware.
Well I got the PictureBook. It's really too long a story to explain here, but I ended up wandering around San Fransisco toting a big Microsoft shopping bag. Don't ask.
I already have linux installed, which is a relief, I thought it might be a hard install since my only install media were the network and a USB floppy drive. It's going to take some getting used to a computer that can sit on my mouse pad (where it is now, as it compiles a new kernel).
I also deleted all my email today. Whoops! If you've sent me mail recently, a resend is in order..
I've spent the past several days playing with the laptop. Unfortunatly yesterday when I fipsed the original dos parition, the hibernation mode stopped working. Bummer -- I'll probably have to reinstall to get it back.
I came accross a program named mobile-update, which replaces update, and only flushes dirty buffers when the disk is already being accessed. I like the idea but not the implementation (which won't work on 2.2 kernels with kflushd anyway), so I wrote my own. It can detect if a laptop disk is spun down, and if so, it defers dirty buffer flushes until it spins up. Combined with noatime and turning off vim's habit of fsyncing all the time, the daemon can let the disk stay spun down most of the time (so long as you're using just a few programs and files which are already cached), which improves my battery life by up to 7%.
I guess I'll release the new mobile-update tomorrow. It's been nice to spend some time writing C code and reading the (poorly documented, sigh) kernel source. I've been too perl-centric the past few months.
Saturday
I was in bed until 5pm, just reading and dozing and petting one of the cats. Not sick, I just didn't feel like getting up. I'm often quite bad at getting up, but 5pm is ridiculous.
Today
I went out biking for most of the day and found several more nice spots out by the bay.
I'm looking forward to seeing Shaleh, who will finally be back at work tomorrow.