new AP

I installed a new WRT54GL in my server closet today (easier than running a wire to it). My LAN now has a total of 4 access points on it. I remember not that long ago when conferences used to have less than 4 access points for the whole conference..

While setting this up, I learned that OpenWRT's client mode is to be avoided. It can result in DUP packets sometimes (I think it's because the client mode AP actually acts as a repeater, so if both APs see a packet, it'll get duplicated), and it seems that IPV6 doesn't work at all over it. Instead I have the 4 APs configured as two separate wireless networks consisting of two APs each, connected with WDS. This works well.

Hurrah for microwave radiation..

Posted
boxes.png
Posted
boxes

boxes.png

Why they don't let me implement font renderers.

(svg source)

Posted
unpacking boxes

A few people have asked what I meant in my "boxes" comic. Other just look at me strangely. Some hackers have enjoyed the comic, so I thought I'd try to unpack the meaning of it a bit for the layperson. Of course this will spoil the joke, but what the hey.

A hacker who looks at the comic probably thinks about things like recursion, fractals, unicode, fonts, and bugs.

fonts

A font is how the computer knows how to draw the letters on its screen. Before computers, a font was a bunch of metal bits that could be arranged and fed into a printing press. As with most things involving drawing on a screen, font technology is much more complicated these days than you'd ever imagine. Fonts and the programs that draw them (font engines) are something of a mystery even to most hackers.

unicode

Unicode is an absurdly complicated version of the alphabet. Or rather, of every alphabet and similar thing used by anyone on earth or in Star Trek. It's not a font, it's a way for the computer to store text internally, by basically assigning a unique number to each letter.

Since most hackers grew up in a world without unicode, and suffered through the (still continuing) transition to it, they're familiar with lots of quirks and weird and broken behaviors you get from it.

One of these quicks is what to do when the computer wants to display a particular letter from unicode, but that letter is not available in the font. Since unicode contains effectively an infinite number of symbols, and each symbol in a font is carefully crafted by hand, this occurs pretty often.

Handling of this situation varies, but often the computer will just display a little empty square box for the letter that it doesn't know how to draw. Some font engines go a step further and write the number of the unicode character in little tiny numbers inside the box. Presumably so that a hacker can look at it and tell what character is missing. The numbers are typically written one in each corner of the box, and you'd have to squint to see them.

fractals

A fractal is a special kind of picture, where parts of the picture repeat over and over at different scales. You've probably seen pictures of the most famous fractal, the Maldebrot set. That one is generated by a kind of formula, but there are much simpler ones, like the Koch snowflake.

Hackers love fractals, because they're pretty, and complex, while based on very simple math.

recursion

"Recursion: See recursion."

Ha! That's the best hacker joke ever, a true classic. Recursion is when the computer sees an instruction like that and mindlessly repeats it over and over. This actually turns out to be useful, and hackers see a kind of beauty in it.

bugs

Bugs are what happens when a computer program, which is supposed to be internally clear and simple, and have well-defined behavior, instead turns out to exhibit unintentional complexity. Kinda like a fractal. This begs the question of whether hackers like bugs, or not. Most of them spend most of their time creating more, so you be the judge.

The bug I'm alluding to in the comic is this: What if the computer, when drawing some word, stumbled over a unicode character that was not in the font. And then say it went to draw the little box instead, and fill in the numbers to indicate what character it was. Except it turned out that its font didn't tell it how to draw the numbers either. And thanks to a really unlikely bug, it then proceeded to recurse, drawing smaller and smaller boxes for these characters that it didn't know how to draw. Until it drew a fractal instead.

See: It's just hilarous once I've explained it.

(And that explanation of the word "cat", by the way, is why I don't try to write most of the technical posts in my blog in a form that a layman could understand.)

Posted
re: debootstrap

Steve wrote about reconciling debootstrap changes between Debian and Ubuntu, noted that there's a general problem that Sarge's debootstrap cannot install Etch, etc, and pondered splitting the package and uploading the Ubuntu version to Debian.

Actually, if you look at the etch, lenny, and sid scripts, you'll find that they're all the same (symlinked). Barring something unexpected, I don't expect this will change, since debbootstrap now needs to encode little distro-specific info in the Debian scripts. So it should be possible to ship a debootstrap in lenny that will install lenny+1 (and lenny+2 if we have the name decided).

Or perhaps even generalise it so that debootstrap can be asked "please try to install the Debian codename called "foo" even if you don't have explicit support for it".

This is not true of Ubuntu because they have not switched to a priority-based package selection like Debian has. Debootstrap has to be manually changed to change the lists of packages to install for each new version of Ubuntu. This is a great example of the kind of change that I keep ranting about where pulling patches back and forth just isn't good enough. Though running in the opposite direction from the usual for me. They have all our debootstrap patches, and that wasn't good enough; someone needs to tell them about the benefits of priority-based package selection.

[ Update: Colin Watson wrote in to point out that most of what I say above about Ubuntu's debootstrap is wrong. I must really suck at reading patches.. ]

If you look in /usr/lib/debootstrap/scripts/, you'll also see that debootstrap already includes scripts for old versions of Ubuntu. Adding additional scripts is trivial (although you should take care not to bloat the udeb with them). Uploading Ubuntu's package to Debian after the minimal review Steve suggested gives me the shivers (especially after reading the diff), but then I'm one of the lucky ones who gets to deal with the fallout very time debootstrap breaks.

discussion

Posted
ATM0DTforums.foobar.net

Why do otherwise clused technical people set up web forums and not provide any way to read new posts to them except for loading up the forum in a web browser and using their clumsy interface? The most common forum software, phpbb, does have a RSS feed plugin or two, but I've never seen a forum that used them.

I asked jvw a while ago if he could set that up on at least forums.debian.net, which is really annoying to try to help people on with its current clumsy interface, but he said it was a PITA to install it, apparently it involved going in and editing it into the phpbb code. Bleh. Argh. Feh.

Right now, web forums are where BBSes were around 1985. Except with animated user-icons, and no ANSI. Perhaps the current crop of young forum users will finally grow up and someone will write the equivilant of QWK packets for them? Or perhaps I'm missing something, and the whole point of most forums is to wall themselves off from the larger 'net.

discussion

Posted
arrived in EDI

Flight didn't totally suck thanks to absurd quantities of travel gear (neck pillow, eye mask, pillz, etc). Newark is the worst run airport I've ever passed through.

I seem to have brought the good waether with me, the city is gorgeous.

Posted
night venue/ept

Hmm, it's funny to be asked to blog about something. By mupltiple people. I could talk about an old church filled with a 100+ geeks, an organ played by Keith Packard, wine and cheese from all over the world, etc, but ok, I'll bite:

Now that I got it working, Enrico's ept-cache is pretty neat. It found a lot of odd cruft on my laptop, along with some packages you probably don't know about that I'd be happy to chat about.

termnet - Simple Telnet replacement for termnetd
grunt - Secure remote execution via UUCP or e-mail using GPG
longrun - Transmeta Crusoe LongRun control utility
iconc - Compiler for Icon, a high-level programming language
dbacl - digramic Bayesian text classifier
icont - Interpreter for Icon, a high-level programming language
bogl-bterm - Ben's Own Graphics Library - graphical terminal
intercal - an INTERCAL de-obfuscator
geotoad - geocaching query tool
libnet-openid-consumer-perl - library for consumers of OpenID identities
libapm-dev - Library for interacting with APM driver in kernel
libtextwrap-dev - text-wrapping library with i18n - development files
libklibc-dev - kernel headers used during the build of klibc
fuzz - stress-test programs by giving them random input
libdebconfclient0-dev - Development files for cdebconf
libslang2-pic - The S-Lang programming library, shared library subset kit
libnewt-pic - Not Erik's Windowing Toolkit, shared library subset kit
gnats-user - The GNU problem report management system (client tools)
libdebian-installer4-dev - Library of common debian-installer functions
mailfilter - A program that filters your incoming e-mail to help remove spam
buici-clock - attractive desktop clock)
atari800 - Atari emulator for X/curses/SDL
hercules - System/370, ESA/390 and z/Architecture Emulator

This does make for fun conversations..

Posted
debconf day 2

Did some work on d-i stuff, went to Yuri's mind-blowing Gentoo/Debian mashup talk. Very proud that "squeezed joeyh brains" went into that. Lots of other tech stuff, too much to blog about.

But I spent a couple hours this afternoon on tourist stuff. Went up to Edinburgh Castle. Here's the view for the people at home:

(Some more pics from there are in Maykel Moya's gallery

Tomorrow: Geeks On A Train
(150 of them. In the Scottish countryside.)

Posted
daytrip pics

I've selected some pics from Sesse of the day trip to Bute island yesterday for those following this from home. Including my first ever gratutously tourist-like pose-against-the-background picture in a foreign country.

Now on with DebConf!

Posted
british power

My laptop's power supply just died, and I'm running on borrowed time/power. Gonna suck until I get my replacement. :-(

I have a sneaking suspicion this might be due to British power, though of course the power supply is rated to work over here.

(Update: If anyone here has a spare 16v / 3.75 amp supply that I can cut the cord off of and canabalise, that would be appreciated..)

Posted
back

Well, that was a great DebConf. I've skipped over a whole lot, but now I'm nearly back home, and already feel at home, being in Charlotte. The nice airport with rocking chairs, power, free wifi and great views of the the planes makes for a good couple of hours waiting for the last flight.

Posted
ditto Keith

Like everyone else with an Intel graphics chipset and some X bug at DebConf, I was happy to have Keith there to debug it. But I'd go one step futher, and recommend anyone who doesn't have an Intel graphics chipset and some X bug, to go find one of each (and Keith). It's worth the price of admission just to experience his debugging process.

If your experience is anything like mine, you'll have a lot of fun. You'll learn about some graphics-related thing, such as PCI configuration space and the LCD brightness register. And you might learn some new things about debugging. How twenty years of experience do come in handy at diagnosing what kind of crash happened, at a glance. That it's possible to still have fun working on something after those twenty years of experience. How to keep the bug submitter involved by letting them follow your thoughts as the problem is debugged, and letting them handle some of the skut-work. How to teach them what they need to do to handle the skut-work, without talking down, or wasting any time. How important it can be to have things like good hardware documentation. And probably lots more that I missed.

Posted
heat

Imagine that you went somewhere cool in the middle of the summer and screwed up your body's ability to cope with heat. And then had to come home and suffer. I thought this had happened to me, and was pondering putting in air conditioning (and dreading next week's trip to the beach). It was frightning. But it turns out that I just had a fever.

Posted
google notebook

There's a photo of me going around the interwebs with a strange caption that misses what was going on. The real story is, after my notebook's power supply died, I tried out this other weird notebook that Google had obtained, apparently from some alternate universe, and was giving away at the conference.

It was very nice and small, and had impressive touch-screen data-entry technology (though I kept losing the stylus), and amazing battery power. Seems the data I put it in might stick around for a good hundred years, without any recharging. I was happy to not have to hook a clunky British power adapter up to it. It was also impressively easy to enter arbitrary unicode character such as BOPOMOFO LETTER EH, RUNIC TVIMADUR SYMBOL, and THING I SCRIBBLED DURING BORING PRESENTATION WITH CEDILLA BELOW.

Downsides: No wifi or other network (didn't check GSM), very limited storage space (only a few dozen Kibobytes I think), an atrocious text editor that made moving text around way too hard, and had a really bad font, difficulty deleting things (the obvious way to delete something often accidentially removed nearby files as well -- and didn't actually regain any storage space), and very limited encryption (best I could get out it was rot-13). On the network front, there is apparently some "Postal Mail" app that can be used to send mail, but it can take like, weeks, and charges per message. And yeah, no solitare at all, though there was this hangman app.

All in all, I was happy to get my Fujitsu back, though I might hold onto this Google notebook thing for emergencies. Won't be porting d-i to it anytime soon though.

Posted