Forgot your password?
typodupeerror
Books

Journal: Finished Reading: Eat More Dirt, by Ellen Sandbeck

Journal by lyle_hanson
Subtitled Diverting and Instructive Tips for Growing and Tending an Organic Garden.

This book was cool. A fast 179 pages, only took me two or three days. Topics cover soil, tools, layout, excercise, pests, and many more in a humorous, anectotal way that imparts a ton of knowledge and tips without being presented in a dry reference format. Lots of useful information about specific things you can do to not only garden effectively, but have fun doing so. Much of the author's point is that if it isn't fun, and you don't love what you're doing, then why would you do it? She sheds a lot of light on the idea of gardening as a zen-like, therapeutic activity that often is hard work, but that's part of the benefit.

I particularly liked the organic approach to gardening, in terms of not only avoiding synthetic fertilizer and pesticides, but thinking of a garden as an ecosystem and considering how your actions affect your local garden ecosystem as well as how they reflect on our global ecosystem.

Good book.

Books

Journal: Just Read: The Legacy Of Luna, by Julia Butterfly Hill

Journal by lyle_hanson
This was a good, fast read. Finished it the day after I started. It's about this woman who grew up the daughter of a traveling preacher who, after a car accident and insurance settlement, decided she needs to see the world. She gets as far as northern California and falls in love with the redwood forests there.

At that time (late 1990s), logging clearcuts had been destroying sensitive hillsides and causing mudslides which left many people without homes. Julia gets involved in the movement to save the redwoods, and eventually ends up participating in some tree-sits. Basically she hooks up with a bunch of Earth First!ers, and without even knowing what Earth First! is, she ends up living in a tree. The local activists were somewhat disorganized and it was never quite clear who was available to do tree-sits, so Julia takes the initiative to do a long-term sit. The logistics of living in a tree are quite interesting, and it was exciting to read about the obstacles she overcame.

Long story short, she lives in a tree for two years while talking to the media and trying to get Pacific Lumber to change their destructive, greedy, and unsustainable forestry practices. A big turn-off for me is that she likes to talk about "Creation" (capital-C) and "the Universal Spirit", and is a big believer in the power of prayer. She also bothered me when, at one point, the Earth First! people met to discuss what to do about her (she didn't want to come down, and they hadn't ever had a tree-sit through winter before, as well as the fact that they were financing her supplies) and she got indignant and mentioned something about "always being a rebel and not caving into authority" or something like that. It's Earth First! If she knew the first thing about them before she planted herself in their direct action campaign, I don't think she'd be acting like they're authoritarian or something!

All in all a good read, got me excited about direct action again and I did learn a bit about the sustainable forestry movement.

Books

Journal: Just Read: The Monkey Wrench Gang, by Edward Abbey

Journal by lyle_hanson
I'm going to try to start making some comments on books I read, to help me remember them (heh) and perhaps spark some discussion. So here goes:

Wow, this was a fun read. Especially of interest to those into eco-defence and direct action. I thought it was especially good because of the contradictions the characters displayed when it comes to issues of ethics and effectiveness. A certain amount of contradiction comes with the territory, and can drive you mad trying to resolve them; you just have to do what you can.

Anyway, I'm in a bit of a rush so I'll leave it at that. I'd say this is one of those "required reading" type of books that I finally got a chance to read. I'd definately recommend it.

Hardware

Journal: I Love What Other People Throw Away!!

Journal by lyle_hanson

This is great! I got a used-but-functional 17" IBM G40 monitor, free except for the calories I burned carrying it from the curb up to my third floor apartment.

It's been a great month for trashpicking. Classes are over for most students and it seems like lots of people are moving. And moving means throwing perfectly good stuff away simply because somebody doesn't want to take it with.

A month ago it was two barebones boxes left at the curb. Both with CPUs, mobos, NICs, etc. Just need some memory and they seem to boot fine. Wonder what project I'll use those for.

Now I found a monitor by the curb the other day. Same house I got those other boxes from, I think. Initial testing shows brightness is a bit off, and some slightly visible shadowing, but that might be the result of not-quite-compatible X settings. Even if the picture isn't perfect, I've been needing another monitor to use on a couple of other boxes that are headless most of the time anyway, and this monitor works fine in for console-only setups.

I also found a different pile of junk at the curb maybe a half mile from my place. I saw an old 486 or 586 and a couple keyboards in a box. I had my small messenger bag with me (I was on my bike) so I made a mental note to come back later, for the keyboards anyway. I've accumulated enough 'puter stuff so that lugging a 486 box that far may not be worth my effort. So I show up there that night and find a guy in a truck loading stuff up! I wait my turn and show up to find an empty DSL modem box, a power cable, and an old PS2 2-button mouse. I grab the mouse and the cable (which I could use since I have an abundance of boxen without power cables!). I didn't get the score I expected, but still gained some useful items.

Can't wait 'till garbage day!

Programming

Journal: Programming Languages as they relate to my Ranting

Journal by lyle_hanson
First off, today sort of rules. It's sunny, relatively warm (wet as opposed to icy) and there's that nasty smell in the air that tells you it's warm enough for 4 months of accumulated shit to finally thaw out and decay. I love it. I should be out on a bike. Maybe later. Must code.

I spent several hours last night debugging a pretty nasty and hard to find problem in a program (for somebody on rentacoder) I've already been paid for (FINALLY!) but, in the quest for completeness/perfection/closure, I have to finish those last few features. Well, as I find happens pretty often when coding a non-trivial C program, the same few errors will always crop up and make you insane for days on end. Almost always one-liners, too. This time I was seeing some corrupted data but not always an outright segfault. And since it's a multithreaded program that just clouds my thinking further. Turns out I was free()'ing some data prematurely, and then using it later. Fuck. Still some other things to work out, but that was the killer.

I'm learning perl at the moment, and I think I'm about to make a leap in my opinion of programming languages. Anyway, up until recently I was infatuated with the low level, close-to-the-metal control that C gives me. Java's cool, C++ is cool, but it seems that I've been using C almost exclusively for projects lately. And as I start writing some perl I slap my head at the realization that this neat thing I just did in ONE LINE would have taken me 20 minutes and 60 lines in C. It doesn't help that my C style is a bit on the verbose side. Now don't get me wrong, I would have derived quite a bit of sick pleasure from getting down and dirty and building a neat C solution, but it's beginning to occur to me that getting something completed and working might be better than going for glory and having something that's always "almost done...". Not to say C doesn't have it's place, nor that I'm giving it up for other, higher level languages, but all that talk about "get it working first, optimize and make it faster when you're done", and "the last 20% always takes 80% of the time" is really starting to sink in.

So I guess it's time for another period of expanding my coding horizons. Hell, maybe I'll learn VB. Well, maybe I won't go that far.

Linux

Journal: Hacker Pride

Journal by lyle_hanson
I can only speak for myself, but I think I represent a sizeable chunk of the open source developer community when I say that part of the attraction of having your code flapping in the wind for all to see is that you often get credit for a job well done. Often nobody notices or cares, and you can always end up making yourself look silly, but part of the motivation for me is the community acceptance and encouragement. That said, a story:

I have an old 486 that I'm using for a cool project. It's going to be a web-based mp3 jukebox for my apartment. My two roommates and I all have our mp3s on our individual computers, and I thought it would be neat for us to collaborate our tunes while hanging out or partying in the living room. So I took this old 486 and took out the hard drives (they're LOUD, and too small for my purposes anyway). I figure I can throw together a linux system on a floppy disk and boot that sucker up with enough tools to mount our mp3 directories over the network, and then grab a jukebox package from sourceforge (tough to find one that doesn't rely on Perl, MySQL, or PHP). Totally doable, I'm thinking.

Well, my story is about a kernel bug and not so much about my ongoing struggle with getting uClibc, busybox, udhcp, nfs, boa, and musicqueue to run (let alone cooperate) on a diskless 486 with not much RAM. I've had to custom hack just about every piece of software going into this thing. We take it for granted that everyone will link our code against the same C libraries that we developed it with...

So anyway, this project is cool. But it so happens that even getting a bootable linux kernel was a pain. If I recall, the 2.4 series would mysteriously not be able to find init (didn't play well with busybox, I guess?). The 2.5 series would panic at some point during the boot process. I couldn't even compile earlier kernels on my main machine as it's set up. Fuck it, I thought, I'm gonna do this and nothing can stop me. So I crack open the kernel source and start debugging. A shitload of prink()'s, several traversals of the source tree, and about a billion reboots later, I had simply commented out the offending line (arch/i386/kernel/cpu/common.c, "this_cpu->c_init(c)") and was booting happily. From what I could figure it was some kind of bug initializing some x86 CPU junk. I was in over my head a bit and was in no position to fix it, per se, but it occurred to me that maybe I should submit a bug report to the mailing list. But I couldn't find any reference to the problem anywhere already, and I thought that a problem like "2.5.x won't boot on a 486" would have been a well publicized (and already fixed) issue. Anyway, I was more concerned about getting my jukebox running, so I put it off for the time being. Worry about kernel stuff later.

So anyway, today I read a post from Linus giving the details on the latest 2.5.x release, and showering praise upon those who reported the problem:

And special mention for Brian Gerst, who figured out and fixed a x86 page table initialization fix that would leave old machines unable to boot 2.5.x. That might explain a number of the "I can't run 2.5.x" that weren't seen by developers (most developers tend to have hardware studly enough that they'd never see the problem). Actually, I should also mention Mikael Pettersson, who actually debugged and chased the problem down to the initialization. Sometimes finding where the problem happens is harder than fixing it once found.

So kudos to those guys, nice work. I admit I sat for a moment imagining how great it would be to be the recipient of such congratulations - if only I had just sent out that email! - but hey, I'm no egomaniac. The bug was fixed, we all benefit.

I don't need somebody's approval to feel like a valuable, contributing member of the open source community, but sometimes a pat on the back lets you know you're appreciated. Next bug is mine...

How much net work could a network work, if a network could net work?

Working...