More iceberg news, with an update from the horse’s mouth.
On Tuesday, Fudge will have been with us for three weeks. She seems to have spent most of the intervening time trying to stop people using their laptops, killing dangerous pieces of string, having her head scratched, pretending she wants to go outside, not going outside, coughing up the occasional hairball, ignoring the water in her bowl, drinking water from taps, chirruping, meeping, and even, when absolutely necessary, miaowing.
Very occasionally she freaks out completely on catnip and bombs around the place at 90mph, growling like the little girl in The Exorcist. This is particularly impressive given her gammy back leg. To think that for a while we weren’t sure if she was even capable of jumping up onto the sofa…
Anyway, here are some photos, just for Simon. Favourites below.
What is this Linux thing? – TR sorts the odds from the ends. One for me to print for my Operating Systems class, I reckon, assuming I can persuade the person who owns the copyright. Oh, wait.
I’ve just delivered the first lecture in this year’s CS-228 Operating Systems module, which makes today my kinda second anniversary as a lecturer.
Today was definitely smoother than that first time and was also (I hope) better than last year, too (though I had other things on my mind then, to be fair…). It was certainly more fun and relaxed, which always helps.
I am celebrating by drinking coffee and feeling knackered, probably because yesterday I worked from 06:30 to 12:30 and was then kept awake by overloud purring.
Q: How many Bush Administration officials does it take to screw in a light bulb?
A: None. There is nothing wrong with the light bulb; its conditions are improving every day. Any reports of its lack of incandescence are a delusional spin from the liberal media. That light bulb has served honorably, and anything you say undermines the lighting effect. Why do you hate freedom?
A snapshot of what’s it like interviewing for a technical lead position at Google [smallcool]. Scary.
Developers have much to learn from Hackers & Painters, a review of Paul Graham‘s book “Hackers and Painters”. Sounds like there’s lots of functional programming evangelism going on here, and it’s interesting to read that Graham asserts:
The programmers you’ll be able to hire to work on a Java project wont be as smart as the ones you could get to work on a project written in Python.
… particularly because I’ve heard that quote before, but it was Haskell that was being bigged up, not Python. All the same, it’s nice to have my status as a cognoscenti reaffirmed in public. ;-)
Lisp in Web-based Applications sees Graham expanding on what makes Lisp great, if you don’t want to buy the book just yet… There’s a particularly interesting bit about using closures to elegantly solve the problem of HTTP’s statelessness. Quote: “by using closures, we could make it look to the user, and to ourselves, as if we were just doing a subroutine call.” I’ve bolded the important bit: all web apps these days make it look to the user like you’re just doing a subroutine call, but to make it look like that to the developer is much more impressive. Sure, there are mechanisms in Java or whatever, but I love this idea of using closures: so much simpler and more elegant. (Here’s a nice explanation of closures, for the unsure.)
Finally, I disagree that “its hard to find successful adults now who don’t claim to have been nerds in high school”. For my whole life the world has seemed to be full of successful ignorant bullies and deceivers, and I don’t really see any signs of that changing. It’s a nice dream for a geek to have, I guess, and I can see how rising to the top during the dotcom bubble would surround you by enough successful nerds that you might think it was even true.
But who cares about the iniquities of the world when we’ve got shiny shinies like Haskell and Python to play with, eh? :-)
(Smug power users may need to reactivate animated gifs in their browsers for full Hof impact.)
In particular, we have The 10 Most Persistent Bugs (with “The macintosh dock”, listed as “confusing a demo with a product – more here) and the pandemic bugs (including, for example, “Double clicking”, “Non-resizable text boxes”, and “‘Please wait’ messages”, which comes under the principle “Thou shalt not bore the user”).
Fom the same RISKS post, we also have the following:
I’ve been watching security people for years as they’ve slowly increased the security of everything they can get their hands on until any idiot can wander in.
This must be borne in mind if they ever let me loose on teaching a security module:
The goal of security is not to build a system that is theoretically securable, but to actually make it secure! The universities, at least as evidenced by their graduates, are only interested in theory. That needs to change, and change now.
Also, The Airport Experience, written in October 2001 on the confusion of “inconvenience” with “security”.
I particularly liked:
A steel door with a kill zone behind it will stop this latest escalation in its tracks. Even the occasion crazy who manages to sneak aboard a knife is going to be in real trouble. The pilot, from the safety of the cockpit, will simply ask everyone to put on their seatbelt. Then the pilot will do a little flying like back when he or she was in the Navy. A few barrel rolls and the crazy will be on the ceiling, begging for the handcuffs.
Finally, I should perhaps mention that TR, whose opinion I respect, thinks this guy is an idiot. :-)
Just so I can throw away the bit of paper with their address on it, which has been hanging around since we saw their stall in Rosebank flea market on our honeymoon… Fancy Feet – South African beaded foot adornments.
About to publish your next super-marvy kick-ass utility written, of course, in python? Can’t think of a good name for the project? Then you need pyname – a list (three lists, in fact) of English words containing “py”.
“What’s on my USB?” – super nifty Windows apps you can’t live without, unless you’re a smug French-coffee-drinking Mac User, of course, in which case maybe Bash can tell you what’s cool some time [gamma].
As of 2pm today, we are sharing our house with a Small Furry Person. She seems very calm about the whole thing, travelled well in the car, has had her first meal, and has designated “under the bed” as her safe spot, perhaps predictably. No vomit so far. She really likes having her head scratched, and seems to purr and chirrup more than miaow.
More on that story later. In the mean time, Simon need not fear, however, for the camera’s battery packed in just in time, and there are no more photos. Yet…
Andy’s neato app of the day is Unison, for bidirectional cross-platform directory synchronisation. I’ve always used rsync until now, but that’s a big pain if you want to be able to modify both versions of the data. So this is nice.
Oh wow… It’s written in Ocaml! w00t!
Paranoia in Python. No, not the irrational feeling that just because python is dynamically typed it is to be feared – in fact, it’s a port from C of a text adventure game based on the beloved RPG of the same name. Remember, The Computer is your friend.
That a book company thinks so little of the primacy of freedom of expression is alarming. I pointed out that Waterstone.s has stated publicly several times in the past that as a bookseller they believe in the freedom of expression and not in censorship. In fact a campaign was mounted a few years back which had banners along the lines of “what did Hitler, Stalin and Pol Pot have in common? They feared the power of the written word. Celebrate Freedom of expression with us.” Some folks may recall it. I asked if this was actually meant or was it simply cynical marketing? I was not answered.
A couple of things I had bookmarked elsewhere but wish to bring over here (so I can delete the elsewhere): Spiral Synthesis, Evolution UC-16 knob box, notes on using USB memory devices with Linux, er, that’s it.
Looks like quite interesting stuff, with some nice imagery – kids saluting the flag of course, and a 1925 KKK rally in Washington with 400,000 in attendance. But what particularly made me want to link through was the appearance on this Ku Klux Klan poster of that favourite lie of authoritarians everywhere that “No law abiding citizen need fear…”.
Green Eggs and Hamlet, featuring “SamIamlet”.
The lost quarto of Hamlet. My scheme blinded them all, as if by fog; But for these medd’ling kids and this their dog.
All via Ed Friedlander’s “Enjoying Hamlet” page, which also tells us that an anagram of “To be or not to be: that is the question; Whether ’tis nobler in the mind to suffer The slings and arrows of outrageous fortune…” is “In one of the Bard’s best-thought-of tragedies, our insistent hero, Hamlet, queries on two fronts about how life turns rotten.”
Why the sudden interest in Hamlet, I hear you ask? Well, I just borrowed Rosencrantz & Guildenstern Are Dead from Will and thought I’d like to find out about the background since (tragically) I somehow reached 30 years of age without ever seeing, reading, studying, or having any familiarity at all with it. Now that is moderately fixed, but only moderately.
I’ve been putting off doing this until we were sure we were getting her, but we finally got the letter from the landlords and it looks fairly certain we’ll be bringing Fudge home later this week. Thus, pictures – all at the RSPCA shelter so far, of course.
Andy’s amusing statement of the day (though “Cover me in chocolate and throw me to the lesbians” comes a close second) is “Love burns like laser death rays. Of love.” I seem to have difficulty saying it out loud, however. The pic’s quite nice, too.
Any of my students considering a career in the games programming industry should read this to get an idea of what we mean when we say to them that “it’s very competetive” [null]. Admittedly this account refers to just one company, but there’s a reason why this company operates in this manner. :-)
The Implementation of Functional Programming Languages by Simon Peyton Jones is now available for download, about a month after I spent a good half a day photocopying Markus’ copy (mainly for chapter 5). :-) Great book, with the sweetest introduction to the lambda calculus I’ve yet come across in for the bargain. [lambda]
Swansea University gets “the most powerful computer in UK”. At least, that’s what the Vice Chancellor called it in his email to all staff yesterday. If that’s really true then it boggles my mind that the University’s own announcement is only three paragraphs long, and finishes with “For further information on the launch, click on the banner on the homepage” with no indication as to which banner, or indeed homepage, is being talked about.
Update: the Clinical School’s announcement has much more detail.
Even if this article happens to not be on the money (only time will tell, and figure 1 looks dodgy if you ask me), it’s got lots of interesting things to say about hardware. The “space is speed” anecdote about the compiler is particularly cool and bears waffling about in a lecture some time.
We desperately need a higher-level programming model for concurrency than languages offer today.
Over the last year or so I’ve had a growing feeling that this might be the case. Not because of hardware, but because of my teaching and research experiences. On one hand I’ve been teaching Java, and realised that while multi-thread programming is easier than ever in mainstream languages (basically thanks to Java and C#’s built-in support for monitors), it’s still pretty clunky, and harder than is truly useful, because ultimately these languages still come from the sequential world. On the other hand, I’ve seen that plenty of people in the CS community have put a lot of thought into concurrency over the last 30 years, and it’s a field which isn’t running out of problems to be solved/ideas to be had. On the contrary, it seems we’re only now starting to get to grips with it. I’m not talking about our understanding of mechanisms such as threads, semaphores, and the aforementioned monitors, but rather the nuttier mathematical details of “what happens if…”, when multiple processes communicate. For example and in particular, process algebra… Now, this is a world I wasn’t aware of before I returned to academia, but it seems it’s starting to permeate into “the real world” – see the article above.
And then, mainly through reading lambda, I’ve learnt of the existence of languages (e.g. Erlang, Oz) where it’s is a (the) central concept. Admittedly, these languages look rather strange to my imperative eyes, but maybe this is the kind of thing we’ll be teaching in the years to come, which should add another interesting dimension to the perennial “discussions” on which language to teach first. Can’t wait. :-)
I’m sitting here watching Napoleon Dynamite. It rules. See it. Geektastic and cheesilicious.
A little later… Oh, wow. Don’t miss the bit after the credits. Wow. (And apparently, it cost half of what the rest of the film cost to make…)
TR just put some shelves up in his room. I asked him how they were. His reply:
[18:05] [TR] They still exist, and they still don't have very much on them.
[18:05] [TR] It's like having loads of RAM, but with shelves instead of RAM.
Here’s an article with lots of interesting things to say about data communication, system testing, and the way modern space exploration works. I may recommend it during CS-244 Data Communication & Computer Networks… Titan Calling – how a Swedish engineer saved a once-in-a-lifetime mission to Saturn’s mysterious moon [risks].
In short: Cassini is at Saturn, and about to launch the Huygens probe into Titan’s atmosphere (splashdown 14th January 2005). The communication link between Huygens and Cassini was not thoroughly tested before launch. Some thoughtful engineer realised this might be a problem, and after some pushing against resistance, managed to test Cassini’s response to how they expect the signal from Huygens to look. Surprise suprise, Houston we have a problem. Turns out, the original engineers took account of doppler shift in the carrier wave, but not in the encoded data. D’oh! Problem is encoded in firmware, can’t be fixed after launch. Double d’oh! So instead, they’ve altered Cassini’s trajectory to eliminate the doppler shift. Hurrah for Boris Smeds!
The Six Apart Guide to Comment Spam, from the good folks who brought you (and more importantly, me) Movable Type.
Given my limited knowledge of the subject, this seems to be a fairly thoughtful and useful survey, and following its advice I’ve installed a number of anti-spam measures on Gimboland. I won’t go into details, but the upshot is that my loyal readership should now be able to comment freely once again, without having to leap through the Hoop of Moderation or to walk the Hot Coals of Registration. All hail.
Yo. It is 2005. Welcome. I trust that you all had a suitably adequate, if not positively acceptable, Christmas break. Ours was excellent – relaxed and peaceful, and the vegetarianism was not an issue, although Mum’s classic meat & potato patties were sorely tempting. In the end I decided, in the spirit of my esteemed friend and teacher Markus, to make a Christmas Eve exception for this one traditional treat.
We returned to Swansea in time for New Year’s Eve, which I usually find singularly disappointing. Lots of build-up and expectation of a good time but in the end, I’ve tended to find myself feeling flat, let down with the whole thing and melancholy at what was missed in the previous year. However, my life has changed a lot of late, and 2004 was, quite frankly, my best year yet. I got married, had a fantastic 30th birthday, found a wonderful yoga teacher, and many other great things happened too, some of which were so long anticipated that it’s fair to say I feel different: reborn. So melancholy was not an issue, and in the end we had a really good night by just chilling out and “being fabulous” with friends. A little make up may have helped too. Photos are here (taken with my shiny new hand-me-down digital camera), with selected highlights below. Since I haven’t sorted out a better gallery system yet, if anyone wants to comment on any of these photos, do so here, I’d say. Ta.
So there we have it. Back to work tomorrow – I still have a shedload of marking to catch up on before the year’s fun begins, but I think I’m recharged and ready. Resolutions: get that MPhil in the bag, keep up the yoga and start doing it at home from time to time, and spend more quality time in the kitchen. In other words, I’m looking for a year of continued growth. What a hippy.
Beyond that, let’s get on with it. As Simon said, and the Maya before him, may your shoes be forever full of maize.
According to this comp.lang.py thread, Structure and Interpretation of Computer Programs is a jolly good read, the spiritual predecessor of Concepts Techniques And Models Of Computer Programming. The advantage of SICP over CTAMCP is that whilst the latter is on my Amazon wishlist, the former is freeeeeeeeeeeee!
Also, Python is now available on Nokia S60 phones. And so it begins.
By the way, Gimboland got hit by comment spammers yesterday – I noticed about 20 minutes before going out for the evening. D’oh. Anyway, was a cool night but I haven’t fixed fings yet, so comments, like risoles, is orf.
And a little later… Right, comments are back on, but I have to approve them – what a drag. Had to upgrade to the latest MT to make this worthwhile but hey ho, hopefully that’s it for the spammers.