I was clearing out a box in the office, and a strip of passport-sized photos fell out, with one missing. Here is one of the remaining shots from this strip.
Apparently this is what I looked like, fifteen-plus years ago. I had no idea booth-photos were so indestructable. I think it's because the booth was pre-digital. I subsequently found a few other strips, in the same box which were taken a handful of years later, in a booth that used a digital process; they've blurred, bled, and run quite noticeably
jwz hands-on user support : Another one gone. I'm only just starting to realise that all this time, I've been blessed to live in the time of the giants.
Mr. David Hepworth , of the lovely Word Magazine (I subscribe !), a usually reliable, and always interesting cultural commentator just blogged a piece about the reactions to the untimely passing of ex-Apple CEO Steve Jobs . I think his assessment of Mr Jobs' cultural impact is wrong. I was going to present my reaction in place on his blog, although it did seem to grow a little too long for the commentary section, and I subsequently found out that his blogger site seems to be set up disallow comments from people who aren't logged in to a Google account, which I object to, somewhat dogmatically. So I decided to post my piece here, and link back to his , which is more in keeping with my own views about how the Web ought to run.
I don't disagree fundamentally with the tone of the piece. I do share his unease over the now seemingly mandatory broadcast grief marathons that accompany any death in the public eye, and I find an unpleasant hint of infantile narcissim in the fetish relationship between the user and product celebrated with the mass parades of public Apple evangelists and their iDevices, which might be a cousin to the sentiments he expresses about toys and proportional responses.
This attempt to sum up Mr. Jobs as a super-skilled marketer I think underestimates the scale, and perhaps also the nature of Mr. Jobs' contributions, some of which are subtle, many of which may look obvious, but usually only by hindsight. Even if his role was solely as a provoker, and curator of works; and I doubt it was, the truth is rarely that neat - he seems to have his fingerprints near the genesis of a string of transformational products, which do seem to fulfill the cliche of yes, changing the world.
Start at the beginning: His role in realising the portable microcomputer as a packaged appliance, something like a food processor, that people could be taught to directly integrate into their homes and offices. The Apple II barnstormed this market. I am not so sure as most other commentators that this idea was an obvious, archetypal product simply waiting to happen. Putting computers in your house, I think, is a fundamentally odd idea, albeit one that we have now fully naturalised. In 1976 it must have been almost schizophrenic.
Refining this idea into the Macintosh and Lisa, a specifically pioneering further insight was that a then unusual square pixel bitmapped display would better lend itself to curve plotting. This gave us the WYSIWYG relationship between the graphical computer and the laser printer , computer typography and thereby re-shaped the primary means of production for print and graphics.
The post-Apple "wilderness years" are particularly interesting. At NeXT they pioneered software controlled automated computer assembly and production, I've heard it said maybe a decade ahead of everyone else. I think they made a lot of mistakes, but I also think these lessons learned were invaluable later on. More significantly, the NeXT system software placed an elegant emphasis on "object-oriented programming", carefully enveloping the tedious nuts and bolts of interfacing with electrical computer hardware with well chosen software 'components'; tidy abstractions that lead to a system that was significantly easier to port to new hardware configurations, and simultaneously could be more-easily programmed at a higher level, without resorting to so much specialist understanding of specific hardware.
The significance of the work at NeXT will not be fully realised until later in his career, but as an intriguing footnote, it is on a NeXT workstation that a British scientist called Tim Berners-Lee develops some applications and protocols he calls the "World Wide Web". Mr Berners-Lee is on the record noting that the unique NeXT development tools allowed him to easily connect abstract layers to form useful application prototypes in the space of a couple of months.
Steve's other business during those years was Pixar . You don't have to study the history of cinema over the last two decades too hard to detect just how fundamentally Pixar shaped mainstream family movie making.
Then he returns to Apple and begins that now over-documented turnaround from prodigal son and failing company, to pin-up CEO and spectacular media and financial success. It's worth pointing out that the portablility of the NeXT system software allows them to insinuate it into Macintosh entirely. Next the iPod, and then we get iTunes, and the 'iTunes Store'. And then the same elegant software evolves to pocket phones, where the relative ease of programming buoys up the freshly invented 'App market'. And a finely edged production control builds an on-demand production, supply and retail operation that is the envy of the rest of the industry.
I'm not a professional writer as Mr. Hepworth is. I hope I don't read like I'm elegising him mawkishly like some Princess Di or Jade Goody for the "Facebook generation", or lionising him in super-human terms as though he's some over-egged digital Da Vinci, or Newton. I never met him. I'm not laying flowers anywhere. I'm sure that a huge part of his success was through fortunate timing, and developing good taste and keeping good company, but this is surely true of many whom history accounts amongst the Great, perhaps even of most. What a C.V. though!
These things are not a competition you can score, and yet I don't think most Word Magazine readers would rush to disagree with the suggestion that Steve's musical idols like Dylan or the Beatles "changed the world". I'm comfortable suggesting that to a subsequent generation, with it's own new media of choice, Steven P. Jobs influenced and changed the world to an arguably similar degree.
Since moving to Rochester a couple of weeks ago, I'm enjoying the commute into the city on the high speed train . Every morning we wait a minute or two at the perplexingly named Stratford International for a Eurostar to overtake us. Stratford is a weird conglomeration of pylons and glass astride a raw concrete gash. I like the way it looks.
Surprisingly Sensible : Obviously, there's a book to flog, and he's making an attempt at a Jamie , but I found plenty to nod at in this Guardian piece.
I've been having persistent niggles with my home router / 802.11x base station / DSL modem. It's a D-Link DSL-2740B , itself bought as a replacement for my ISP-provided machine, an O2 wireless III (a re-badged Thomson SpeedTouch) which proved itself a low performer at both wireless and routing, and particularly dismal at doing both simultaneously.
I picked up the D-link cheaply, in a clearance bin in John Lewis. In most respects it has been a splendid replacement for the O2. WiFi is fast, routing is consistent, ADSL sync is better. However, it does have one stupid bug. It can't do DHCP reliably. After a certain period, it starts sending out broken leases to clients; either issuing them with IP addresses that are already in use, or more commonly issuing a working address, but nullifying the nameserver settings. A reboot will restore sanity, but involves an irksome couple of minutes of network outage. Afterwards it is only a matter of time before the problem re-emerges, noticeably quicker if there's an increased rate of new leases issued, such as a group of visitors armed with smartphones popping in.
I'm consistently amazed at how flawed home router appliances are. How anyone 'normal' is supposed to cope with these things, I have no idea. I've updated the firmware to the last available revision, fiddled with the limited options in the admin interface, to little avail. Web searches turn up a few people commenting on the same problem, but no solutions offered. This leaves me with three straightforward, yet unappealing options.
Buy another router. Either another toy one, which seems likely to smuggle in some fresh nugget of buried failure, or buy something more professional, and hence eye-wateringly expensive
Set up static configuration for every client. Seems a stupid solution in 2010 for a primarily wireless network
Disable DHCP on the router, and add another, more reliable DHCP server to the network
Option 3 initially seems least aggravating. In the past, my strategy for service infrastructure has always been using home servers, with some form of UNIX. These days though, I'm trying to minimise the number of computer-type devices I have to keep running 24/7. I no longer find any joy in being a home UNIX administrator, and it's nice to correspondingly reduce power consumption, fan noise, and cabling. So the idea of setting up a computer just to act as a DHCP controller is slightly repellant.
The only machine tethered to the network is a modest, first-generation, G4 mac mini . It's chief use in the past was as a basic freeview PVR, using Elgato eyeTV , but the London flat's TV reception is too poor for this, so it mostly acts as an AFP -capable network interface to my firewire Drobo . It's a very old, low power machine, but would certainly be capable of acting as a DHCP server.
It wasn't immediately obvious how best to do this. Obviously I could install any of the common free UNIX DHCP software, using MacPorts , or homebrew , or fink , or even just hand rolling something from tarballs, but all of these come with overheads, adding dependencies, requiring build tools, and subsequent package management, and all the little bits of service glue needed to make it run neatly as a daemon. Experience has shown me that integrating third-party UNIX services into a vanilla Macintosh can get fiddly, fast.
There's no obvious DHCP server component on desktop OS X, but there's a latent capacity somewhere, demonstrated by 'Internet sharing', which lets you easily set up a Macintosh with a network connection as a basic router. After a little bit of poking around with this, and some internet searching, I discovered that this facility is part of the bootpd service. It's documented, and after a little trial-and-error, I figured out a way to run a DHCP server facility only, using just the built-in Apple utilities.
Here's an overview of my network configuration
The D-link router provides NAT routed internet via O2 ( actually Be ) ADSL 2+ with a static IP.
The private subnet is 192.168.1.0/24
The router's internal address is set as 192.168.1.1
The mac mini is connected to the router via wired ethernet with an address of 192.168.1.4, and runs headlessly.
Everything else connects to the D-Link router wirelessly, using a mix of 802.11n and 802.11g
Here's how to set up bootpd to act as a DHCP server for this network.
First, configure the mac mini to have a static IP. Using screen-sharing from another Mac ( Cmd-K, vnc://192.168.1.4 ) to configure the network interface in system preferences.
Next, configure your computer to also have a static address on the same subnet. If you get something wrong, and need to troubleshoot settings, you'll still need to be able to connect between the router, the mini and your workstation. I picked 192.168.1.111, as being well outside the range of anything I'd expect to be routinely allocated.
Now you need to produce your bootpd config file ( /etc/bootpd.plist ). Unfortunately this means an XML property list. Every time I feel smug about how the Macintosh is re-invigorating UNIX with the old, crufty bad bits removed, I ought to remind myself about the maniacally stupid idea that is XML plists. Instead I thank my stars that I have a capable text editor. It's not that fearsome a property set, and is well explained in the man page , so you could build one by hand. An alternative approach, the one I used, would be to set up internet sharing temporarily on the mini for an interface you're not using; I chose firewire. Take a copy of the /etc/bootpd.plist file this will create, e.g. / etc/bootpd.plist.template , and then disable internet sharing again, which will remove the /etc/bootpd.plist file if it still exists. Now rename your template back to /etc/bootpd.plist and edit it.
The options are all well documented, and it turns out that you need hardly any of them to get up and running.
The key options are
dhcp_enabled: an array of network interface device names to answer dhcp requests on - I just have en0, which is the built-in ethernet
Subnets: an array of property dictionaries, that represent networks we're interested in serving. We only want a single dictionary for 192.168.1.0/24.
net_address: , is the network address - 192.168.1.0,
net_mask: the netmask for our subnet range - '255.255.255.0',
Next, create two empty files that bootpd expects to use. ' /etc/bootptab ', for any static address maps, and /var/db/dhcpd_leases , which will be a persistent database for issued leases. Now connect to the router, and disable it's DHCP server.
The bootpd binary lives at /usr/libexec/bootpd . If you run it from a terminal with a -d flag, it will stay in the foreground and emit debugging info to stdout. You'll need root privileges for it to run, I just used sudo /usr/libexec/bootpd . Now request a dhcp address from a different network client. I used an iPad. It's a good idea to make a note of the network MAC address. If everything is working, you should see some output acknowledging the request, and then some more as a lease is issued. The client should then configure it's network interface with all the settings from your Subnet definition above. If it doesn't, and the output isn't helpful enough, there's also a further -v switch for more verbose logging.
Initially I had trouble getting any leases issued although all requests were logged fine. It turned out I'd misconfigured the netmask when I set up the static address for the mini. If the network details don't match the defined subnet exactly, then bootpd will just fall back to default behaviour for the subnet, which is to just observe. Once I fixed that, things started working as they should. By default, a line is written to logs in /var/system.log for every request recieved, and one for every lease issued.
The remaining task is to configure the service to run as a daemon from launchd. Luckily, there is a launchd profile for bootpd present, /System/Library/LaunchDaemons/bootps.plist . You can install this persistently into launchd like so
Running sudo launchctl list should then show a com.apple.bootpd service enabled. If for some reason you need to disable it once again, you can uninstall the service using
How about some photos of squid flying through the air? I've heard anecdotal reports of this sort of thing happening, which on the face of it sound reasonable, if not a little far fetched. They do possess all the right sort of equipment, and controlled jet propulsion through the air isn't really that far from their usual method of locomotion at speed, which is controlled jet propulsion under the water, after all.
The full writeup in the parent post contains plenty of detail about a recent observation of groups of squid exhibiting fairly controlled, short flight. Not only does the article contain lots of interesting links to scientific write-ups of arial squid observation , but it also contains several high-resolution photo images of the buggers captured in the act.
It would make a lot of sense for them to use as an evasive action. Squid can manage impressive accelerations in their submarine environment, but through the air, they would perform even more rapidly, over short distances. "Short" is of course, relative. One of the write-ups based on observations estimates 20cm squid reaching 10m in a controlled flight. They seem to form their bodies into lifting, braking and stabilising shapes as they go. Squid are ace.
I'm amused that on porting his blog to wordpress jwz has seemingly reached the same level of disgruntlement with wordpress in about a day that it's taken me twelve months or so to reach.
Don't get me wrong, wordpress certainly gives you all sorts of awesome features OOTB, but at a certain cost of complexity, which makes things tricky to customise. Themes are hard to tweak, and the cost of entry to plugin-writing is large enough to put-off simple customisation in favour of out-sourcing to the lazyweb directory of plugins, which correspondingly increases the complexity of your install.
Most pertinently, there's the security record, a cynic might suggest it's a lack of security record. I'm gradually coming around to the line of thought that the frequency of updates actively contributes to the problem. The continual treadmill of manually updating drives people to investigate the auto-upgrade procedures, which are all built around interfaces that sound to me like designed-in exploit vectors, like having all the .php files in the software tree writeable by the httpd user, or running an FTPd service on the webhost that can chdir to the http script directories. Furthermore, the autoupgrade process is prone to terrifyingly unfriendly fail-states .
I'm not sure if there are any significantly appealing alternatives out there. I think there's probably a circular life cycle to the blog software used by any mildly technical person , that moves serially from 'simplest possible lazyweb solution', through 'this simple thing has been customised past the point of sanity, I'll write my own' all the way through to 'writing blogging software is hard, I'll just use wordpress' and subsequently right back to square one.
The elephant in the room is the simplest option. Just host your data in an fully managed service like wordpress.com , or tumblr or posterous . Or if you really don't care about handing every last bit of data you can generate about yourself into the possibly malevolent skynet-cum-panopticon Google-monster, you could get all oldskool with blogger As ever, I just can't get with the idea of giving all my content to an at-best disinterested third party. After all, that's where jwz started out , and look where that's got him. Manually migrating to wordpress, and grumbling.
Some time in 1997 I decided to get a modem for my home computer and try and get back on the internet. I hadn't really been online for a couple of years by this point. I'd spent a good 60% of the time I was supposed to be at university exploring the net, at approximately the same time the world-wide-web was being invented. Subsequently, a few of the offices I'd done contract work in were high-tech enough to have an internet pipe, but the majority were not, and by 1997 I was a year or two into the embryonic stages of what I then imagined to be a high-flying enterprise IT career. There were are few dial-up terminals in the office, but they were proper walled-garden , pretend the web isn't happening, CompuServe accounts, and I mostly ignored them.
By the time 1997 came around, the internet was seriously encroaching upon the real world. URLs on product billboards, mainstream magazine articles, entirely dedicated consumer magazines, even. Java hype was everywhere in the trade media, and was getting a further boost up from the growing sense of discomfort about the disproportionate amount of influence Microsoft now wielded over the PC industry. I was pretty grumpy about Windows by this point. I'd cheerfully embraced it's third generation, as a standard way to build what were for the time fairly advanced interfaces for DOS, with a built-in graphical toolkit, and I was making my living building client/server applications for businesses, using a 4GL called ' Gupta SQLWindows ', and a smattering of C and Visual Basic. The IDEs and the Win16 API were probably rudimentary, but I didn't know much better, and it was the closest thing to NEXTSTEP I'd found in a professional context. Then came Windows95, which promoted itself from a graphical shell for DOS, to a full-blown OS, which I found tremendously exciting until I'd worked with it for six months. All my tools and APIs were now yesterday's thing, and this new shiny Windows came with ridiculously inflated hardware requirements, and was frustratingly unstable. The joke term " Blue Screen Of Death " started to grate with familiarity. I grew insufferably contemptuous of Microsoft and everything it stood for.
At home I'd been running a linux system for a year or two. Linux had grown up fast since I'd first encountered it as a barely installable joke UNIX passed around the office one day on a handful of floppies. I'd spent a day installing it on a COMPAQ laptop then, and quickly judged it to be no competition for SCO . It improved and spread rapidly, and within a couple of years I was sufficiently inspired by reports to acquire a cheap PC clone and install, break, reinstall a succession of linux distributions, starting initially with a Slackware 2.something from a magazine coverdisc ( Computer Shopper , I suspect). Now I had a religion; I'd periodically switch distributions, usually from a CD/Book bundle in the bargain bucket of the local waterstones, sometimes from a CD set ordered by mail. No net connection at home at all. Well, hardly anyone did, and there weren't yet any flat-rate or free dial-up systems.
By 1997 though, I felt I was ready. I bought a discounted 33.6 external modem, subscribed to an ISP that sounded platform neutral, and didn't rely on bundling DOS or Windows software dialers (Direct Connection, as was), and spent a surprisingly effortless afternoon figuring out how to connect my little linux system to the internet. This seems like it ought to have been a frustrating process, given that this was RedHat 2.x or whatever I was running by this point, and I had no internet to search for help, and no local experts to ask, but I seem to remember it being fairly trivial to set up and script a PPP connection. I think the first thing I downloaded was Netscape Navigator. Or maybe Doom. I remember setting up an offline USENET server, and then feeling my way around the web, hungry for more linux information. I would download any interesting software source code bundle I could find, and try and build it. I periodically toasted my linux box this way, inexpertly installing new homebuilt versions of libc or XFree86 with little attention to package management or change control, and not much more appreciation for the software build process. Outside of USENET the linux web community seemed disjointed. Little islands of conflicting information, often hanging off university home pages.
One day I found this amazing sort of crowd maintained combination of a news feed and a bulletin board, already populated with a peer group almost custom-fit for me. I think I can remember how I found it. I was using a little desk applet for the Afterstep window manager called asmodem that let me toggle my modem. I was very big on customising my desktop then. I looked up the author's home page , to see if there were any good links to other AS wharf applets. One of the links to there was to this other place. I remember I spent a couple of hours there, browsing around what passed for the archives. It wasn't just linux and X, there were other nerd-friendly topics. I don't remember much about the content. I remember being engrossed, and following stories and commentary back and forth, drinking in content. Unluckily I didn't make a bookmark, and a couple of days later I realised I couldn't remember what the site was called.
I think it took me as much as a couple of weeks to find it again. It had a stupidly hard to remember URL. http://slashdot.org/ . I re-visited it frequently. It had a clever page construction, where the updates floated to the top, like a reverse INBOX. It aggregated interesting content, seemingly focused around linux, and GNU and other cool Free software like this new nuclear-mega-awk scripting language called Perl , and other nerdly content about movies, and sci-fi, and super-computers, and spaceships and BeOS . Stories were posted, usually based around a couple of links with commentary, and the users could add their own discussion in a threaded hierarchy, unmoderated, uncensored and even fully anonymously. I quickly became a compulsive visitor. Soon it was the first site I'd load after dialling up to the net.
The anarchic commenting community sort of worked. You'd recognise the same usernames in discussions. Actually, I'd recognise sigs before names. Most of the discussion was lucid and informative. I'd usually get as much from links in the comments as I would from the submission or editorial. Even the trolls seemed funny and community-minded. It had a sense of culture, of community. First Post! Duplicate submissions on the front page, Hot grits down your pants, The naked and petrified guy, Mae Ling Mak , Natalie Portman, the caveman user I'm struggling to recall the name of (urk?), In Soviet Russia, a Beowulf cluster, and all the rest. Memes, I suppose, but we didn't really call them that much then. The 'slashdot effect'. I remember every time there was a stable linux kernel point release, which was pretty frequently, they'd post a story about it, and I'd dutifully download the source, spend a couple of hours compiling it, and then install it, ruining my precious uptime in the process. JonKatz and his floundering attempts to become one of the gang.
I remember frequent stories about all these futuristic new desktop interfaces that were in the pipeline. GNUstep was well on the way to bringing my idolised NEXTSTEP frameworks into my home, cost-free. Futuristic new graphics display technologies ( Berlin, Fresco ). The amazing (and almost functional) eye-candy of the Enlightenment WM with it's realtime miniwindow pagers and overlayed virtual desktops. Some new initiative called GNOME which was going to bring a CORBA-based networked component GUI desktop framework to run on top of traditional UNIX some day. Funny submissions, hoax submissions. Disappointingly frequent pseudo-science stories about perpetual motion machines and cold fusion, and the like. Crack dot Com were writing their new game "Golgotha" that would blend the large scale RTS wargame with the cutting edge first-person mouselooked shooting genre, and they were targeting linux as a first class platform at launch. It was all intoxicating stuff, and I spent hours immersed in it, genuinely feeling some part of a community.
I was never a frequent poster. Initially I lurked, and dabbled with anonymity. I was very cautious about revealing too much of my personal information online in those days. I remember feeling really regretful for ages that I'd held off registering once I realised that people were competing over low UIDs. Still, here I am - user 24640 - 5 digits, not too bad. "scrutty" was the character I used to use on Perilous Realms MUD in my polytechnic days. I can't see any easy way to find my earliest comment by this account, and I can't remember what it was. Probably something embarrassing.
I remained pretty obsessed with the site for years. My friend Tim was reminiscing on Twitter yesterday about my introducing him to it. I can remember coming home from holiday abroad, internet-free of course, and deliberately reading the previous seven days submissions to make sure I hadn't missed anything. I quit my boring career and got a job at a cool dot com startup , just as things were bubbling up. Everyone there seemed to read slashdot reloading dozens of times a day. Important technology stories broke there hours before the mainstream news sites got hold of any of it, we were always days ahead of the 'suits' with these information nuggets. Famous people had accounts and posted amongst us (John Carmack! ESR! Bruce Perens! Neil Stephenson! Wil Wheaton!) which seemed really bizarre in those days long before twitter or official facebook accounts. Comment moderation arrived, and I remember submitting comments and then reloading frequently to check my karma score, which used to be visible numerically. Karma whoring inevitably arrived, and brought meta-moderation along with it. I was the first in our office to be selected as a meta-mod, and I remember feeling proud or cool or a massive nerd, or some composite emotion made of all three. I loved that the site was billed as news for nerds , a term I felt far more comfortable with than the more US-specific 'geek', which still grates on my ears a little.
I remember their IPO conducted in some kind of interestingly nerdy dutch auction system. I remember watching the stories of subsequent corporate ownership and acquisition and nervously watching the site for signs of imported cultural spoilage. I remember the Slashdot PT Cruiser . Slashdot was just a daily part of life, reflexively checked and rechecked. I submitted a handful of stories, but I don't remember ever getting one accepted. I remember Jim chuckling one day across the desk from me, because whilst running HEAD requests against slashdot.org to test a proxy server or something, he spotted that slashdot was inserting Futurama quotes into it's HTTP responses, as X-Fry or X-Bender headers. I remember feeling I was drifiting a little out of touch with the herd when they posted their famous iPod launch story .
I particularly remember that infamous afternoon in September, TeeJay looking over his screen at me and saying something about the Net being broken, and the World Trade Centre. All the news sites were down, but Slashdot just about stayed up enough for me to read about what was happening in New York city, and dash to the office kitchen to remain clamped, open-mouthed to the BBC news feed.
When I was formulating the boards at IMDb, slashdot was a gigantic influence on my design. Most obviously in the nested table thread structure, and the view options, but in some other subtler ways, that lead me to eschew the fiddly point scoring and filtering, and implement constant post expiry to try and prevent the conversation ossifying around the earliest, most repeated subset of views. We inadvertently spawned the GNAA, who went back to slashdot, forming a particularly weird and unpleasant slashdot troll subculture. The first time I watched as IMDb was in a slashdot home page story (probably LotR or a Star Wars prequel) I remember my disappointment at the somewhat smaller than I'd imagined size of the slashdot effect, I don't think they even made it into our top 100 referrers report. I was already visiting the site less often, I had my own enormous forum to worry about, and I'd switched back to using a Mac (which had become consumed by the latest iteration of my beloved OPENSTEP). I was still probably reading it most days a week, but posting far less.
I never quit completely. These days I'm probably down to a couple of visits a month, perhaps less than that. It still feels like an important part of my life, and I think it also represents an under-appreciated contribution to internet culture. It was the first blog-formatted site I recall ever seeing, although nobody called it that for years. It was the first successful news aggregation site to find a mainstream audience, and it unquestionably forged the the user-sourced content and discussion model template used by subsequent sites like Digg, Reddit and HN. I think it was a peer group for a huge number of people much like myself, and an important bridging stage for internet community culture in between USENET and the all-encompassing web. It was "Web 2.0" and "Social" years before they arrived. It really promoted a sense of belonging. I have never met Rob Malda, but I remember feeling elated all day, when he used slashdot to successfully propose marriage to his girlfriend , and yesterday when the surprising news broke about his resignation from the job he invented at the site he founded, it gave me far more pause than the more famous, wealthier man who grabbed all the headlines by resigning the same day.
Slashdot will endure, and I expect I will still visit it, sporadically. I'm not going to pretend it's as important to me today as it was even five years ago. I only just realised yesterday, that Rob Malda is one of my heroes, and I never even said "Thank You". Well, I have done now.
The other day at work , prompted by a shoutbox conversation with one of our users , I did a little bit of exploring some of the artist catalogue data. The idea was to find band names that were repeating words, such as ' Talk Talk ' and ' The The '. Coincidentally, I had a freshly installed database server with just this sort of information on it, and needed a good excuse to stress test it a little. PostgreSQL's regular expression support is brilliant , and it was a very trivial exercise to quickly knock up a query that returned promising data. In the process of refining it, I got a chance to play around with the Hadoop cluster. I wrote the whole thing up over on the company blog, if you'd like further details. Fame fame fatal fame, it can play hideous tricks on the brain, as the song goes .
Over at Eddie Campbell's blog, there's a run of posts springing from the idea of the extended comic-book page spread, that particularly caught my eye. I always enjoy Eddie's writing, whether in it's justly celebrated comic strip form, or in his wry, thoughtful articles critiquing the medium. This series of articles seems to be loosely orbiting Dave Sim, which is what has provoked me into comment.
One of these days, I always tell myself, I'll write a piece about the peculiar thing that is Cerebus , and how it plumbs in to my life. Or if I wait long enough, perhaps Andrew Rilstone will do a better job of it. Until that day though, finding sensible Cerebus coverage is a rare enough thing, and it's nice to read some well-formed opinions by Mr. Campbell.
Yesterday at work , I had to clean after up a particularly freaky Slony-I replication fault. I still haven't managed to understand quite what went wrong there. So this morning, I arrived at work in full diagnostic mode, jokingly grumbling about 'howfuckedismydatabase.com'. Laurie was particulary amused by this curmudgeonly joke, and we bantered about it. I pitched a few ideas about how such a joke site might operate, and we left it there and moved on.
Except Laurie didn't. Despite my attempts to dissuade him, he registered the domain, and started knocking together some pages based on the earlier jokes. I chipped in a couple more suggestions, and suggested some error messages, and within twenty minutes or so he had an operational site . Then we shared it with a couple of like-minded people, and left it be. A few of the other people at work passed it around, and a couple of people submitted it to reddit.
Within an hour or so things had started to really snowball. One of the reddit submissions gathered hundreds of upvotes, and for a period of time we were the number one story on hacker news . Laurie added a twitter button and a comment form to the site, and retweets and emails started accumulating fast. By mid-afternoon the site was approaching 200 hits a second, which it handled with aplomb, because he had coded it efficiently, and configured the server sensibly.
It felt great to watch so many people comment positively about some of my dumb jokes, pretty much in real time. It gave me a really direct experience of something I'd always innately understood about the internet, but had not yet witnessed close to home; the ability to quickly reach an appropriate audience for almost any content, regardless of how specialised. Our little shared joke quickly reached out to thousands of people, who found something within it they also related to. This really amazes me.
It also showed me something about my own character. While I was perfectly happy to joke about the idea, it needed somebody like Laurie, with the skill and enthusiasm to pick up on it and make it into something tangible and exciting. I'd instinctively shied away from broadcasting it further than my desk, and my initial reaction was that developing it any further would be a waste of time and money. I was very wrong about that, it turned out to be an interesting experience, and enormous fun. I think this means I should endeavour to be a little less cynical.
I ran into some problems while I was trying to install python bindings for the Growl notification framework on my MacBook Pro. My Mac is running the current release of Snow Leopard ( 10.6.4 ) and I'm using a python.org installed binary package of python, under /usr/local/python. Building using distutils and the supplied setup.py failed, seemingly because the compiler was unable to find quite routine include files, such as stdarg.h and float.h .
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory
This error message both confused and perturbed me, because stdarg is a fairly fundamental component of a working C library, and I am pretty certain that my compiler isn't that fundamentally broken.
Picking apart the build output from the generated Makefile, I see that it is setting the -isysroot gcc flag, to /Developer/SDKs/MacOSX10.4u.sdk/ . I presume this is because the python installation is built to use the OS X 10.4 compatability SDK. This is why it's pulling in /Developer/SDKs/MacOSX10.4u.sdk/usr/include/stdarg.h . That header is a stub, and included the following stanza
/* GCC uses its own copy of this header */ #if defined(GNUC) #include_next
#include_next is a gcc extension to cpp, and instructs the preprocessor to start searching for the include file again starting with the next directory on the include path after this one. Standard libraries like stdarg and float can be quite compiler specific, and as the comment indicates, GCC is expected to have it's own copy of this header file, which would be put away somewhere under /usr/lib/gcc .
At this point, a nagging memory of building cocoa apps with XCode resurfaced, suggesting that the 10.4 SDK isn't compatible with gcc-4.2 ( the system default gcc under snow leopard ). GCC 4.0 is supplied though, for use with building against legacy SDKs. On this whim, I tried exporting CC=/usr/bin/gcc-4.0 and rebuilding, and everything worked as it should.
From inspection, it seems like the snow supplied leopard python is built to use 10.6 SDKs and gcc-4.2 and may well be a more sensible python to use. Further googling ducking , turned up this bug report .
Male fish in Mexico sports sexy 'moustache' : Scientists have measured the way female Mexican mollies (Poecilia sphenops) respond to males with varying top lip furniture, and discovered a clear preference for a moustache.
It's been a good long while since I've been able to blog anything of substance. Some of that is down to lack of time, I've been frantically busy the last few months, much as you'd expect. There also were some dull technological barriers that were making it awkward to update and maintain this site. <br><br> I've moved the hosting to a new location, it's currently residing on a xen virtual server instance provided by <a href="http://linode.com">linode</a>. While I was migrating things around, I've tried to package it up a little more portably, and in future I ought to be able to move it easily to anywhere I can run a linux host. I also took the opportunity to tidy up the page templates, and cobble together a new theme. I'm still poking that around a little bit, let me know if you find any rough edges.<br><br> <h4>New job!</h4><br><br> Aside from adjusting myself to my <a href="http://beatworm.co.uk/blog/ada/im-a-rapper-with-a-baby/">wonderful new daughter</a>, I've gone and got myself a new job. I wasn't really aware that I was looking for one, but life can surprise you like that sometimes. I'm now working as a Database Architect at <a href="http://last.fm/user/colins/">Last.fm</a> and I couldn't be happier about that. Not only is last.fm an awesome site, which has long been one of my favourite things on the web, but the intersection between high volume web services, big databases, and music nerdery is very definitely my kind of niche.<br><br><br><br> <h4>Move to London</h4><br><br> One small drawback with this full-time role was that it was based in London. We did weigh up the various commuting options, but after some deliberation, decided to take the plunge, and relocate, at least temporarily to London.<br><br> This meant finding somewhere to rent. Somewhere to rent that would take a baby and a dog. A location in the city with suitable dog exercise routes close at hand. Ideally a place from which I could daily commute to <a href="http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=last.fm&sll=53.800651,-4.064941&sspn=16.450021,44.428711&ie=UTF8&hq=last.fm&hnear=&ll=51.528457,-0.086882&spn=0.004052,0.010847&z=17&iwloc=A">Shoreditch</a> without too much trouble. Obviously we'd have to be able to afford it on one salary, whilst still maintaining a mortgage on the house in Bristol in the interim. Rather a tall order.<br><br> After balancing up the variables we settled on the Balham/Clapham area. After a few complicated expeditions up to view properties with little success, we managed to secure something with only days to spare, just down the road in Tooting Bec. A rather roomy <a href="http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=Elmbourne+Road,+Wandsworth&sll=51.434735,-0.150461&sspn=0.008628,0.015535&ie=UTF8&hq=&hnear=Elmbourne+Rd,+Wandsworth,+Greater+London,+United+Kingdom&ll=51.434655,-0.150611&spn=0.008575,0.015535&z=16&layer=c&cbll=51.434733,-0.15047&panoid=hH03gMlSJRXaMcWDe_cQ_w&cbp=12,273.93,,0,6.37">ground floor flat facing right onto Tooting Bec common</a>. It's just a short walk to the Northern line, which leaves me with a manageable half-hour or so trip to work, door to door.<br><br> So the last few months have seen quite a furious pace of changes. Mostly I've been finding it all invigorating, and exciting, rather than incapacitating, but things can seem to be wooshing by, and there <em>definitely</em> aren't as many hours in the day as there used to be. Five years ago I'd have been amazed at what the me of 2010 would be getting up to. Interesting times.