"That which is overdesigned, too highly specific, anticipates outcome; the anticipation of outcome guarantees, if not failure, the absence of grace."
-- William Gibson, All Tomorrow's Parties
May 1, 2004

I met up with the crew at Barnes and Noble the other day, and managed to find one whim buy as opposed to the half dozen I usually get.

(I'm pretty sure this book has been on my amazon.com wishlist for a while, though, so apparently it was less of a whim than I'd first thought.)

Within the first few pages of M. T. Anderson's feed, I was saying to myself "This guy had to have just gone to malls and listened to kids talk on cell phones. Flip to the author's note, and sure enough he had.

The book is written from the perspective of a teenager growing up in ultra-suburbia, in a world where any information is immediately accessable and Americans have completely given in to the wishes of their corporate masters.

Starting to sound like a cyberpunk book? It's really not. feed is written for kids 14 and up (though perhaps these days 14 year olds aren't kids anymore), and from what I've overheard of rage-inducing cellphone conversations on the train or on the street, Anderson hit the patois pretty well on the head. He's added his own little flourishes, to deal with the advent of a neural wetwire-enabled society, but mostly he just relies on present day moron-speak.

The feed in the book is your typical dictionary and personal assistant plugged directly into the users brain. Everyone in the story, except the requisite beautiful chick who was home-schooled as opposed to being raised in the corporate school system, has had feeds since they were babies. It's second natuer to them to think at each other, and to be inundated with advertisements from not only stores they happen to be passing, but from whatever profile their corporate "sponsor" has built for them over the course of their lives.

The ideas in feed are hardly new if you've been following science-fiction for the past, oh, fifty years, but they're presented in a way that will hopefully make them clear to kids.

In one of the opening scenes, the narrator catches his first look of the required beautiful, smart, broken girl and can't think of the words to describe why he finds her beautiful. He has to rely on the feeds dictionary functionality to supply him with the word supple.

Everyone in the book is afflicted with undefined lesions, which they immediately start accessorizing and using as fashion statements. Just as there's no real explanation of what the feed is, from the technical level, there isn't much expanation for the lesions. This follows through with how Anderson is presenting the book, however: You only get to see what the narrator and his friends find important or interesting, which is goddamned little.

The plot is how Anderson chooses to drive his ideas, which is fine, though there are a number of times I'd wish he'd have chosen to use some other vessel than the narrator. The kid annoyed the living piss out of me (certainly the point). It isn't until the last few pages, when we've hit the tragedy part of our story, that he finally starts opening his eyes to some version of the truth. This is one of my own failings: I hate stupid characters. Seeing as how the author went out and observed current suburbanite teenage behavior, however, I suppose I can't fault his conclusions.

Anderson's hand is pretty heavy throughout the book, especially with regards to just how incredibly stupid and lazy America has become. I again can't argue with the path we're on, and where it's headed, but some of the examples are just... asinine. Satire does that, though, so.

The rest of the world appears to not have gone down the same shitter as the U.S., as the "Global Allicance" is throughout the book threatening sanctions and finally war.

There are a few points where Anderson hit bang on, though:Pieces of the U.S. President's speeches scattered through the book and I'll be damned if the guy doesn't talk just like our current President. Well, we always knew Dubya was, like a, like, a futurianist.

Keeping in mind that while this book is targeted at young teenagers, there's quite a bit of swearing and minor sexual situations. Nothing they won't see on television (which may be the point, I suspect). There's also a few short questions at the end of the book, which also suggests to me that the book is meant for schools. How he's going to get it through the language filters, I don't know.

Overall, I'd say it was worth reading, and probably worth getting for your own young teenager or nephew or niece or whatever.

Anything that might get the little bastards to start using actual words in something that resembles, distantly, a sentence. Anything that will get them to not simply accept the world as it is, where everyone is just a phone call or IM away, and where being marketed to constantly by a corporation is par for the course.

feed is obviously a direct attempt at getting kids to realize these things, and I certainly won't be to argue with any of the points. I had them all myself, when I was growing up.

May 6, 2004

The New York Times, ever the hip rag, today published an article on I.R.C.

One 'elite' level I.R.C. user was seen to say:

<Danelope> EXPOS-EH?

Another commented:

<kitten> OMG FUK U DUDE I'LL HACK U IF U DONT UNBAN ME

This is probably the funniest and most clueless thing I've seen published by a major news organization in a while.

I mean, except for the Iraqi News Minister or Fox News "reporting" on the Iraq War.

<kitten> We're elite-level pirates, yo.
<bda> Yar!
<kitten> Avast!
<bda> #booty be just off the port side, yar!
<kitten> We'll go to yon university and plunder the pipe!
<kitten> Batten down the ports, arr there be spyware abound.

12:59 AM | Interworldwebbernet | Comments (1)
May 10, 2004

Spent the weekend in Bethlehem hanging out with Ricardo and Gloria. As always, had an excellent time with much good food. G made muffalettas, which is Cajun for BIG SAMMICH. It was very rockstar.

Also got to try Barbara the Ice Cream Lady's latest concoction: Peanut Butter Doom. It was most peanut buttery and definitely full of tasty doom.

Rik and I played quite a bit of co-op Halo, which was made watching Red vs. Blue all the more amusing, I think. I also dumped about 15G worth of anime on him, so he should have stuff to watch at work for a while. ;-)

We stopped by a comic shop and picked up some stuff. I got issues three and four of Transmetropolitan, which solios has been bugging me to read since I've known him, and Rik got some Superman trade. I also read the four existing trades of Astro City, which Gloria and Rik both highly recommended. And they're definitely great comics. If you're interested in the form at all, I have to pass along their suggestion. It's definitely worth reading. My favorite plotline, I think, is Steeljacks, as it seemed the most developed. The one where the family has just moved to Astro City is also good. And of course, the Confessor arc is pretty bad ass.

I also recommend Transmetropolitan. It rails against post-modernism, media-tion, and the horrors of the monoculture. And Spider Jerusalem spouting things such as: "Tell me why I should give two tugs of a dead dog's dick" will make sure that you have interesting things to say during departmental meetings.

The trip home was much quicker than it usually seems, I think. We went to dinner at A&W/KFC, then they dropped me off at the bus terminal. There was a bus sitting there (a 1815), and I managed to jump on that just as the guy was closing the door and prepping to leave. It was a pretty full ride, and I forgot to charge my iPod after the trip up, so I had to listen to everyone's cell phone conversations.

Got home, showered, called my mom and grandmother to wish them happy Mother's Days, then read Transmet before falling over.

Have I complained recently about only being able to sleep for four hours at a time? Because I can't seem to sleep any longer than that.

It's driving me insane.

However, to end on a happy note: This weekend's ~con was as enjoyable as they've all been so far. jcap needs to start coming again. :)

4:14 AM | Life

For the past several weeks I've been working as an admin for the metawire.org project, a free shell/hosting service. It's been an interesting experience so far.

I saw the undeadly.org story and signed up. zerash remembered TDYC! and the happybox, which I mentioned in my signup application, and we got to talking. I wrote a couple quick specs for a planned upgrade, and have been helping out with administration tasks since.

It's something of a challenge. The machine is running OpenBSD (3.5, as zee upgraded it over the weekend), and overall is set up okay. They're running custom user admin utilities, which we're slowly working on re-writing to be more abstract and portable (which reminds me, I need to get working on Unix::Admin this week, it's still very larval). I wrote a "hardening" script for OpenBSD, and we ran that on the box, locking file perms down pretty tightly.

metawire has a couple dozen domains attached to it, so users have a pretty good choice of "where" they want their stuff served from. We aren't doing actual virtual domains for mail yet, but that'll come along in a few weeks. There are some issues with CGI and PHP (namely, it's not running as CGI), but those will also be fixed as we have more time to work on the machine. It's already very popular (I'd guess ~100 applications a day), and now it's just a matter of defining where the issues lie and repairing them.

The challenge for me really comes in once you take the users into account. About 80% of the kids are using the machine to good purpose, but the rest are punks from various countries around the world. The majority of them are just script kiddies, but there have been one or two with some amount of skill. Finding the smart ones has proven to be a bit of a luck thing, which bothers me. The kiddies are simple to find. They all use the same stupid tricks, and seem to go from not having a clue how to use a shell to downloading exploits and running them (after some work) against remote hosts.

There've been a few problems with mailbombing as well, which annoys the crap out of me. Luckily Postfix is love, so it throttles and just keeps on trucking no matter what you throw at it.

I think zee, blister, mjc (someone also new to the project I suggested be added as an admin) and I will eventually start working on a known-sploit finder. mjc had the idea of doing binary checks for shellcode, which is a good idea, but might be sort of slow considering the number of files we're going to have to be checking (~2500 users on the box, perhaps a tenth who actually use it on a regular basis; that's still a lot of users). My idea was to just maintain an archive of MD5 sums of found exploit code and binaries. There's a lot of problems with this method, unfortunately. I can't think of anything better without figuring out how to do fuzzy matching, and I'm pretty damn sure I'm not smart enough for that. O'Donnell will have some good suggestions, I'm sure.

Anyway, I've been meaning to write about this for a while, but hadn't been able to find the time. If you're interested in shell communities at all, check out #metawire on irc.metawire.org, and sign up for an account.

Try to make sure that your signup application reason doesn't involve running BNC or "learning Linux", and you should be okay. ;-)

The planned upgrade is going to take some donations, which we seem to be doing okay on. If after a few weeks you find the service useful, try to drop us a few bucks to make it better. Jordan also had the idea of throwing a logo contest and start selling metawire.org wares, which is a pretty good idea. That's on-going. I haven't seen any of the submissions yet, but hopefully someone will hook us up with something good.

I'm enjoying working on metawire; it's going to get me to actually write useful software, I think, and it's a big boon to my actually learning stuff I haven't had a lot of access to in the past for whatever reason.

Anyway, check it out.

4:46 AM | Systems Administration
May 14, 2004

So you go to the coffee shop with your brand new PowerBook. This gets you teh looks as it is, because it's a sexy machine. And the girls, they like the sexy machines.

Then you bust it open, with the true transparent terminals running BackLight and MatrixGL and all of a sudden you gotta beat 'em off with barrels of monkeys.

Or anyway, that's what's should happen. In any sane world.

10:02 PM | Linkwhore | Comments (4)
May 18, 2004

So it's been a while since I've tried Nagios out. A few years, actually, since I've installed it on anything.

Decided to do so this morning, and spent the next hour or two configuring it. It isn't even that configuring Nagios is non-trivial. It's actually really pretty easy. It's just that it's a giant pain in the ass.

2:11 PM | Software | Comments (1)
May 20, 2004

Decent episode, definitely not something I'd have wanted to see the series end on. This season has been sort of wacky anyway, but it was obvious that Joss had something in mind for next season.

Pity we won't get that far.

What the hell is with television networks killing off the only shows I want to watch?

First Space: Above and Beyond, then Farscape, then Firefly. Buffy at least had closure. I think most fans will agree that it ended the way we really wanted it to. I mean, the Scoobies closed the Hellmouth. That pretty much wrapped up the Sunnydale chapter of the story.

Angel was a different sort of story, of course, more about redemption than duty. This finale was a good episode, but not a good ending to the story. Admittedly this was sort of the point, and considering the amount of time the show's crew had to pull it together, I guess I'm pretty happy with it. But still...

At least there was a dragon.

All that's left now is The Shield. and to a lesser degree, Smallville.

2:36 AM | Television

Spent three hours this afternoon trying to install OpenBSD on an Ultra10. There's a known issue where the damn things don't like booting floppies. So I grab the OpenBSD boot CD, and try to boot it. It refuses. So instead of trying the obvious (as Harry eventually did with one of his own U10s) and swapping the CD-ROMs out -- the first thing I would have done on x86 -- I screw around with it for hours. If nothing else, at least I got openboot flashed and all up to date and happy. This machine is actually pretty nice. 450Mhz, gig of RAM, two 20GB drives (though one of those will be pulled, as it's unneeded here).

Yeah, anyway. Grabbing the install sets now. I sure feel pretty stupid.

This is really my first time working on a Sun workstation form factor, and it sort of weirded me out that I had to turn the box upside down to pull the case off. Odd.

4:55 PM | Systems Administration

Started writing my Nagios config generation scripts this morning. Got about halfway done with them, as I first decided the most sane way to do it was to sweep the network with nmap (dumping to XML) and use that for a base.

Nmap::Parser is pretty decent stuff, though I did feel there was weirdness between using get_host_list() and get_host_objects(), but overall I'm pretty happy with it. Having to grab expat manually was sort of annoying, but what are you gonna do? :-)

Anyway, I did notice some scary stuff on our network. I thought I had completed my host-based firewall project several months ago, but apparently some of the workstations decided to make a liar out of me.

Next project, after this is done: Network integrity checker, like what AIDE or Tripwire do for filesystems, only for service changes. Should be pretty trivial to implement.

Then it's back to Archivist.

5:01 PM | Programming
May 21, 2004

I am exhausted, fully, and in more ways than one. Most of it may be attributed to the flu ravaging its way through my body, battling it out with my immune system, cellular mano a mano. Also there are my sleeping patterns, which as of late have become like the broken signal wave of some ill-tuned oscillator scope. Finally, I have just closed the last page on Neal Stephenson's latest foray into fiction, the second book of The Baroque Cycle, The Confusion.

5:16 AM | Books
May 23, 2004

I wrote a little script to generate a postfix-style virtual table file (as opposed to the Sendmail-style/alias I had been using) yesterday (and had a couple problems with hash assignments... note that list and hash context? Yeah. Important!) and I assume his interest piqued Eric installed Postfix and a random front-end he found to play around with Postfix.

Three (going on four) years ago I wrote this horrible front-end for administering Postfix, Apache and FrontPage (on Apache! guh!) in PHP, feeding into a MySQL backend, with a scary, scary (my first big) Perl script to generate the flatfiles. It's pretty horrible. The high5 postfixadmin app blows it out of the water (considering the simplicity there, that should describe how scary my app is).

(I tried several times to re-write the scary "web panel" app, in PHP, but it never went anywhere because -- in my opinion -- writing big applications in PHP is just too annoying. Writing it in Perl with CGI::Application, Class::DBI and the Template Toolkit would be almost trivial, though.)

That front-end also comes with a HOW-TO, which details installing Postfix+MySQL+IMAP. Decent howto, it looks like. Postfix+IMAP is sort of old hand to me now, though I still view the whole thing as being slightly magickal, though that's entirely due to the eight thousand ways to do auth for the POP/IMAP daemon. Not deep voodoo, just kind of obnoxious, I think.

(The whole high5.net project seems to be pretty cool, in fact.)

Not sure how I feel about throwing my virtual tables into a relational database. The lookups overhead would, I think, tax the machine unduly (though I sort of suspect that Postfix is smart enough to do caching -- I haven't really looked into it, but Postfix hasn't even done anything that made me think it was in any way stupid). The current mailserver at work gets hit enough (what with the spam processing) to skew the clock without ntpd running (this didn't use to happen when the machine was a webserver).

The reason I installed OpenBSD on that Sparc, in fact, was to be a backup mailserver while I reinstalled our current mailserver at work, which is a three-year-old mess. It's sort of amazing the things you can learn about processes, automation, programming, and systems in three years.

The most important thing I've learned, though, is how much there is still to learn...

3:09 AM | Systems Administration

Indeed.

(Unfortunately that isn't really a permalink, the article's title is "With Trembling Fingers".)

11:31 PM | Linkwhore
May 25, 2004

The majority of my mailservers to date have run Debian and Postfix, and most of the machines running local MTAs have dnscache bound to the loopback. So earlier tonight I noticed an OpenBSD machine I had installed last week hadn't been sending me logcheck reports after I had moved it from the internal network (where I do installs) to the DMZ.

I go check, and it appears that's it's unable to do DNS lookups to get MX records. After a few minutes of screwing around, I notice this error:

May 25 05:22:14 clortho postfix/postfix-script: warning: /var/spool/postfix/etc/resolv.conf and /etc/resolv.conf differ

Easily fixed, and then I go look at Debian's Postfix init script:

FILES="etc/localtime etc/services etc/resolv.conf etc/hosts \
etc/nsswitch.conf"
for file in $FILES; do
[ -d ${file%/*} ] || mkdir -p ${file%/*}
if [ -f /${file} ]; then rm -f ${file} && cp /${file} ${file}; fi
if [ -f ${file} ]; then chmod a+rX ${file}; fi
done

...yup. Debian is awesome, because it does so much for you. And Debian is bad, because it can make your brain lazy, leaving you to wonder why something you haven't had any issues with previously us suddenly acting weird.

This is why I'm really starting to like OpenBSD, I think. No coddling without being obnoxious.

5:28 AM | Systems Administration | Comments (5)

Harry brought a mailserver down to Factory last night, and we spent two hours getting it installed. The problem is something to do with the ISP we get our connection from... there is some incredible weirdness going on.

The layout is like this: We have an uplink from the ISP plugged into our external switch (who has recently been acting up --- some ports have been dying on any packets larger than 206 bytes; kudos to Eric on figuring that one out last week), a firewall with three NICs: WAN, LAN, DMZ.

The ISP has kindly given us a number of IPs... the problem is if you start swapping machines and addresses, whatever upstream hub/switch/router from our switch seems to not refresh its ARP cache. Ever. So when Harry brought his mailserver down, we found that none of our remaining IPs would route past our switch.

Andrew and I spent several hours the other night trying to figure this one out, and somehow managed to get it to work, when we installed the new firewall (OpenBSD 3.5 box). It could have just been coincidence, I really don't know. You can sit there watching arp traffic and you'll see the router ask "Who has $x?" and the host respond "Me!", and then the router proceeds to ask again. The host in question can sit there and see some traffic from the network downstairs (upstream), like netbios, other arp traffic... but not all. I suspect that's because there's some device segmenting the network, and the router and other core stuff is on one side of that, and random other stuff (like workstations and printservers) is on our side.

It's the weirdest thing and we don't have access to the ISP's equipment (obviously) to fix it.

So last night Harry and I ran into this problem, and eventually I just gave up on trying to force a refresh on the router, or whatever the hell is upstream of us (I wish I were cool enough to figure out timing to accurately map a network of transparent devices...), and just plugged his mailserver into the (so far unused, though this will change once we figure out the arp thing) DMZ port of the firewall, and just port forwarded for it. So ghetto, but it worked fine, and I would have felt worse if he had had to take his machine home.

The only hitch was me forgetting the following rule while hacking out the new pf rules:

pass in log on $wan_if inet proto tcp from any to 10.1.1.2/32 port $smtp_services keep state

Because I'd forgotten how pf translated IPs, or more specifically, when.

And then Harry ran into one or two problems getting the ldap server on the machine up... back he quickly fixed that.

It was pretty nice debugging with Harry, actually. He knows stuff, and we swapped position at my laptop to work on the various problems without any issues. Sort of like eXtreme systems administration or something. :)

5:42 AM | Systems Administration

Longhorn? What Longhorn

"Each and every one of the products we build isn't just an application; it's also an extensible piece of software," Ballmer said. "The cheapest piece of code is one I don't have to write myself but one I already have and can reuse and repurpose."

That sounds really very familiar...

7:13 AM | Linkwhore | Comments (2)

Justice Must Be Seen To Be Done.

If you haven't book-marked The Agonist I highly recommend it.

7:32 AM | Linkwhore

Scholars plan to espouse merits of 'Buffy the Vampire Slayer'

It's well-known I'm a big Buffy fan, but these sort of things are kind of silly. That college course for Matrix for instance.

How meta can you get?

On the other hand, anything that gets Joss Whedon more attention is fine with me. Maybe someone who won't cancel his shows will pick him up.

10:37 PM | Linkwhore
May 26, 2004

Just wrote a very bare-bones HOWTO (if you can even call it that) for installing Snort on OpenBSD 3.5.

Harry brought up the uid issue (my useradd statement will just add _snort as a user, and not within the daemon uid range, typically the 500s), so I checked out Postfix's pkg INSTALL script:

useradd \
-g =uid \
-c "Postfix Daemon" \
-d /nonexistent \
-s /sbin/nologin \
-u 507 _postfix

The fact that it's hard-coded suggests to me that there's a daemon to uid map for OpenBSD somewhere, but I'll be damned if I know how to find it.

I'll ask mjc (a fellow metawire.org admin and OpenBSD monkey).

10:55 AM | Systems Administration | Comments (1)

So we've heard this horrible song on the radio about half a dozen times in the last few weeks while going to lunch, and finally we got around to looking up the lyrics.

I really don't know what to say.

So incredibly weird.

2:06 PM | Music
May 27, 2004

Perl6 Operator Periodic Table. Pretty awesome. I'll have to see if I can't get one of the pre-press guys to print me out a copy.

8:23 AM | Linkwhore

CVL: Concurrent Versions Librarian.

Looks relatively nifty.

After I get lever (Factory dev box) back up, I'll have to play with it some.

11:13 PM | Linkwhore | Comments (1)
May 28, 2004

Non-Vulnerability Security Information for woody

Spammed on deb-sec, and as someone mentioned there: The link for that is unfortunately hidden down at the bottom of the security page, which is why I mention it. Many humans whinging on about "OMG ITS INSCUER!"

(Of course, for those of us using non-Debian packages, that's uh, true.)

5:45 AM | Linkwhore
May 30, 2004

Here's an excerpt of the new book.

A few images from it as well, via Lilja's Library.

Found off the Dark Tower orkut community: Song of Susannah review.

Assuages some of the fears I was having about King writing himself into the story, and reminds me I need to add June 8th to iCal. :)

Also, Amazon's "Best Value"?


Buy Song of Susannah (The Dark Tower, Book 6) and get The Sex Lives of Cannibals : Adrift in the Equator... at an additional 5% off Amazon.com's everyday low price.

Bloody odd, that.

I suppose I'd be remiss if I didn't link to the official Dark Tower site. :)

9:36 AM | Linkwhore

melo discovers TorgoX-candy.

Oddly, I've never seen TorgoX talk about that in #perl, and he's there almost every day.

[link via coraline, who DID talk about it in #perl]

7:54 PM | Linkwhore
May 31, 2004


<kitten> Do you have anything to do with this?
<kitten> I think you do.

9:54 PM | Linkwhore