Older blog entries for dhd (starting at number 54)

7 Sep 2000 (updated 13 Sep 2000 at 18:28 UTC) »

lilo: It's mostly personal crap and this is not the place for it, a point which I've been trying to make clear to myself with varying degrees of success.

Okay well, there are some things I've been thinking about that might be relevant. On the other hand this might just be me ranting. Feel free to tune out at any point.

First of all:

I used to be fairly heavily involved in underground music, specifically the hardcore punk rock scene. I played in a couple of bands, one of which (WARFARE STATE) managed to release an EP on our bassist's independent label. I did a fanzine ("Fetch the Pliers!", after the INFEST song of course) for several years. I helped organize and did sound for all-ages shows at a local non-profit club. I did a radio show and volunteered at one of the local community radio stations ("Shouting to be Heard" on CHUO 89.1). I housed and fed touring bands, distributed records, fanzines, and anarchist books and pamphlets, etc, etc.

Consciously or not I threw all this away to go hacking. Through the last couple years of university and afterwards I found I spent less and less time on music and my friends from that scene, and more and more time at home tinkering with my GNU/Linux machine or (shudder) at users group meetings or on IRC or whatever. What's worse, now that I have a job at a free software company, I spend almost all of my time at work or with people from work.

It's not like I outgrew it, because I still love the music, and I still have a good time on the rare occasions I make it to gigs. Likewise, my politics have not changed substantially. What happened really was that I transferred all my energy from the punk scene to the "free software scene" (no offence, mbp, but that term makes me cringe somewhat), and from one creative outlet (music, writing) to another (hacking). Then this hobby became a job, and there was nothing else left.

This was a mistake. I miss my old friends. I want my life back.


To put it coarsely, I am fucking fed up with corporate bullshit. It's not as hard to deal with when it's just your job, which is why I've been trying to enforce a greater separation between work and life, but it's hard, because I had expected more from the free software community and, perhaps naïvely, also from free software business.

I'm also a bit disillusioned with the lifestyle I've ended up in. When I was in university I hoped that I'd be able to use my skills to work reasonable hours doing something meaningful, live a modest lifestyle, and have enough extra time and money to do things like, oh, say, write free software and put out punk rock records. Instead I ended up massively in debt, working long hours, stressed to hell, basically running the ratrace I swore to avoid.

I should have seen it coming. But somewhere along the line I lost sight of what it was I really wanted, seduced by the excitement surrounding the big "Open Source" hype and the fact that I could see that I actually had skills that were in demand for the first time in my life, as well as the ability to improve them and get paid at the same time.

There's no real escape from this, I realize. At least, not until I get myself out of debt and have some time to think about what it is I really want. I worry about whether I will still remember this when that day finally comes.


I worry about the future. I share your fascination with technology and your talent for technology. I don't share your faith in it. What good is free software if it's, to put it bluntly, fucking useless, like so much of it is? What good is a global Internet if all it does is alienate people from each other, from their communities, from their means of survival and support? I guess it's a cliché to say that, but I mean it, really. I have seen it first hand.

Silicon Valley has destroyed my faith. The computing industry has turned it from a land of fruit orchards and wetlands to an overpriced, overcrowded, overpolluted, freeway-choked and automobile-infested suburban wasteland from hell. It may lack the iconic black smokestacks and crowded tenements of the last episode of human progress, but it's just as soulless and self-destructive. If this is where the future is being made, I want no part of that future, GPL or no GPL.

At YAPC 19100 there was a great talk about "Perl and Open Source as Appropriate Technology for Global Education". I've heard and said a lot about appropriate technology over the years, and one of the reasons I was so enthusiastic about free software is that I saw it as being inherently "appropriate".

Boy, did I ever get it wrong. Free software is just like any other software, only stripped of some of the elements that make proprietary technologies explicitly evil and inappropriate. Like any other tool, it's the person wielding it that makes the choice.

I very much want to be able to make that choice.

The only thing that is unbearable is that nothing is unbearable. Will you ever dare to risk all this nothing for anything?

Okay, well I was planning to write an "extremely damaging" (or maybe that should be "damaged") diary entry but then I thought of the awesome power of the Internet and became very afraid. So you will not hear why I am depressed and why my life sucks and why I want to turn back the last few years and what I plan to do about it.

Contrary to usual practice, I will inform the web after the fact.

3 Sep 2000 (updated 13 Sep 2000 at 18:25 UTC) »

Testing that theory ... yup, 100 kilometres is doable. It's a nice afternoon ride if you go south of the city (as opposed to the leg-breaking hills north of the city), so long as you remember to eat something somewhere before the 92 kilometre mark.

Today I rode my bike 75 kilometres and found real ale along the way. I seem to be getting back in shape quickly enough, as I could easily have done 100. I think I'll go one river further west to Pakenham or Almonte or somewhere next week.

Of course being in shape doesn't seem to correlate with reduction in belly size. Woe is me.

The PA-RISC kernel no longer crashes (as much), and I'm able to build fun things like ncurses natively now (though C++ doesn't work right). I think signals are still a wee bit broken though - restarting syscalls seems to work fine, it's just interrupting them that doesn't produce the expected results, at least, if I'm to believe the log messages sysvinit is spewing.

I built dpkg, sysvinit, and a bunch of other good stuff. Floating point is vaguely broken, partly in GCC, partly in glibc, and partly in the kernel, so perl and mawk aren't there yet. Perl will be an interesting test of the dynamic loading support.

Wow. Very insightful, Rob.

I must say that, although I am not the junior technical employee mentioned there, Linuxcare does continue to help improve me technically. That, and any alternatives that have presented themselves so far invariably involve moving to the Land of Suck, which I am becoming more and more convinced that I do not want to do (dual US/Canadian citizenship notwithstanding).

Yesterday was fun, I rode 62 kilometres, baked pizza, cooked some "leftovers" for this week, and then went to the pub and dancing until 3AM or so. I should mention that I can't dance, and thus made a fool out of myself, but that was kind of the point.

PA-RISC porting continues. I'm mostly serving as a test monkey for binutils since Alan Modra is doing all the hard work, but doesn't actually have any PA hardware. If the stupid kernel can stay up long enough to compile GCC then maybe things will become more interesting.

Fear. Loathing. Incompatibility of PIC and non-PIC code. Symbols forced local by versioning. Dynamic relocations in .text. Fear. Loathing. Millicode return pointer. Branch external and link to gr31. Space registers. Fear. Loathing. Stub sections. Copy relocations. Delay slots. Compound instructions. Fear. Loathing. low_sign_extend(). assemble_17(). $$dyncall. $$dyncall. $$dyncall. procedure labels. linkage table register. DT_PLTGOT. fear. loathing.

Hack hack hack.

I would do well to take Ryan's advice I think. It is probably a crime against (something) to be sitting in the offices hacking glibc instead of doing something outside. Well, at least the offices are spacious and full of natural light (which is something I missed at the San Francisco office, which is in a basement).

Oh god our ELF32 ABI is bogus. Of course this is primarily because it reuses so much code in GCC and binutils from the SOM stuff, which is more bogus by far. Our goal was originally to follow the ELF64 conventions used by HP/UX 11, which sounds like a nice idea, except that there is very little useful documentation on them. Also of course, there is no non-PIC code model in PA ELF64, although I'm not sure that we get any benefit from having PIC code on ELF32 because the code generation is so bad and the conventions for common things like indirect function calls and long branches are so broken and slow.

On the bright side, not only do signals work now (for certain restricted values of "work"), but ld.so does run itself and manage to load and run simple programs (which then segfault in _dl_fini).

I guess in 1985, a segmented user space still seemed like a good idea, and the thought that the extra circuitry used to implement segmentation could have been more profitably used to implement things like, say, an indirect branch-and-link instruction, or a PC-relative branch range longer than 256k, never occured to HP's architects. We've taken to calling it PA-CISC.

That said, the 64-bit PA-RISC architecture (PA2.0w) is a lot more sane. Too bad the good bits are only available when running in 64-bit mode...

Went to California again. I meant to get back Thursday but ended up staying until Sunday. Thanks to uzi and yosh for letting me sleep on the "guest bed".

Saw a Nautilus demo at SVLUG. I now realize why I don't go to LUG meetings anymore. As at OCLUG, there were lots of people interrupting the speakers and each other and asking dumb questions.

Ran into people from Ottawa (well, Sudbury via Ottawa) on the Caltrain. A whole car full of them, in fact.

Went to Krispy Kreme donuts in Union City (long way to go for a donut) and stared at the amazing automated donut factory for a while.

Started porting ltrace to Alpha while at the San Francisco office, and realized that, while ltrace source is very nicely laid out, it appears that it doesn't really work on architectures where the PLT is writable, self-modifying code.

In doing so I realized that my tolerance for vi as an editor for writing code is nearly zero. The non-standard undo behaviour in vim doesn't help either (nvi forever!). I've got an Alpha that runs Emacs here so I should be able to finish the port soon.

If I'm lucky, ld.so may run itself tomorrow. Either that or signal handlers will return to somewhere other than deep space. Either way it will surely be exciting.

blah blah blah blah blah blah blah blah blah blah blah blah blah.

Spent the last few weeks:

  • Killing brain cells, gaining fat cells, and embarassing myself in front of various important people at OLS.
  • Brewing beer, drinking beer, brewing more beer, etc.
  • Watching my plants grow. (One of the sunflowers is taller than Jes now)
  • Reading the GCC manual.
  • Acquainting myself with the perverse details of PA-RISC instruction formats.
  • Trying to grasp the concept of delayed branching.
  • Trying to grasp the concept of segmentation.
  • Writing non-functional assembly code.
  • Pressing TOC.
  • Learning how signals really work in Linux (so that's why the stack is executable...)
  • Not reading Advogato (scared off by the Salon article)

See you in another week or two.

Friday evening, and I am alone in the office again, but this time life does not suck, because I am doing fun and challenging things for PA-RISC Linux. At the moment this means getting intimately acquainted with GCC, and trying to make sense of our somewhat mangled toolchain, in preparation for getting the 64-bit kernel going as well as implementing dynamic linker support.

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