28 March 2009, 4:45 UTCLittle Red Riding Hood as if from Rainbows End
Last night, I randomly came across this reinterpretation of the Little Red Riding Hood (YouTube, 3 minutes).
This may be a good illustration for Vernor Vinge's Rainbows End; the kind of school project that the protagonist would disdain as all flash (so to speak) and no poetry.
25 March 2009, 7:17 UTCTines at the end of A Fire Upon the Deep
In Vernor Vinge's A Fire Upon the Deep … (hidden behind a cut, since I discuss the ending of the book)
6 March 2009, 4:43 UTCIdea: to-do schedulers and GPS navigators
To-do schedulers, especially mobile ones, should integrate with GPS turn-by-turn navigation (or at least Google Maps) and take travel time into account when popping up reminders.
[permalink] ‣ 1 comment ‣ keyword: idea
4 March 2009, 14:45 UTC"Programmer-Archeologist"
The term "Programmer-Archeologist" is from Vernor Vinge[1]. He describes how, thousands of years hence, pretty much everything that can be programmed already has been, so the bulk of the skill of a programmer is in knowing where to find it and how to make it work, rather than programming per se.
Even today, that's a good lesson to learn. We aren't there yet — his kind of "Mature Programming Environment" is still being built.
Already today, though, a lot of the skill of a programmer lies in knowing the libraries and frameworks available, the idioms and patterns commonly used. The programming environment is still maturing, but already it's deep enough for this to be a very important aspect, to already constitute a fair chunk of the skill of a programmer.
We teach a bunch of sorting algorithms in first year Comp Sci; what gets lost, perhaps, sometimes, is that these are almost purely teaching examples. Sorting is a good example problem — it's simple enough to describe in one sentence, yet interesting enough to show some real issues in coding and algorithm design. The practical application is essentially zero: to sort data, call the library function. If you have too much data for the library function to cope, put it in a database. Writing a sorting function is a specialist skill, rarely invoked.
Perhaps the programmer-archeologist aspect should be stressed more; though like all "familiarity with the field" aspects, it's a difficult one to teach and even harder to test on exams.
[1] A Deepness in the Sky, chapter 17; pp.223-227 in my copy.
19 February 2009, 15:44 UTCDoing Facebook from scratch
If I want to make a clone of Facebook, what should I do differently? What should I do better, and what should I make sure to keep?
Also, what should I call it?
[permalink] ‣ 3 comments ‣ keywords: tubes, me
18 February 2009, 14:10 UTCTelepathy Tubes howto
Telepathy Tubes allow other programs to work with your IM client. Today, you can chat and send files over IM. With Tubes, other programs can extend this — the simple example would a chess program that'll let you play against your IM buddies; the serious examples are things like shared wordprocessors or discussion whiteboards. The really important examples, of course, will be the ones we can't even imagine yet...
Over the last week or two, I've put together the beginnings of a howto with an example. It's intended for developers who wish to use Telepathy Tubes as a black-box library, and gives (I hope) everything needed to make a one-to-one D-Tube from a python program.
Link: How to use tubes
[permalink] ‣ keywords: tubes, howto
17 February 2009, 12:42 UTCOn interruptions
We all know that knowledge workers work best by getting into "flow", also known as being "in the zone", where they are fully concentrated on their work and fully tuned out of their environment. … Writers, programmers, scientists, and even basketball players will tell you about being in the zone.
The trouble is, getting into "the zone" is not easy. When you try to measure it, it looks like it takes an average of 15 minutes to start working at maximum productivity. Sometimes, if you're tired or have already done a lot of creative work that day, you just can't get into the zone …
The other trouble is that it's so easy to get knocked out of the zone. … If you take a 1 minute interruption by a coworker asking you a question, and this knocks out your concentration enough that it takes you half an hour to get productive again, your overall productivity is in serious trouble.
―Joel on Software
Where do These People Get Their (Unoriginal) Ideas? (via Getting Real: Alone Time)
[permalink] ‣ keyword: link
8 February 2009, 6:40 UTCLUV Beginner's Workshops
LUV is starting a series of monthly Beginner's Workshops, usually on the third Saturday of the month. The first one is a fortnight from now, on the 21st of February 2009 at 12 noon in The Hub @ Docklands.
See more details on the LUV website or the Facebook event.
From the announcement:
We've had some new faces at meetings lately, which is fantastic. However, some of our new members have let us know that some of the talks go over their heads and would rather like a chance to get help with specific issues they've encountered with their linux systems. Therefore we've decided to start monthly LUV beginner workshops.
We intend to cover things like:
... but if you want help with a different pplication or problem, come along and let us know. This is the first time we hold this event, so it will become what you make of it.
[permalink] ‣ 1 comment ‣ keywords: luv, link
2 February 2009, 11:44 UTCLink: Work on Stuff that Matters
Tim O'Reilly: Work on Stuff that Matters: First Principles
1. Work on something that matters to you more than money. Money is like gas in the car -- you need to pay attention or you'll end up on the side of the road -- but a well-lived life is not a tour of gas stations!
2. Create more value than you capture. … it's pretty clear that most businesses do in fact create value for their community and their customers as well as themselves, and that the most successful businesses do so in part by creating a self-reinforcing value loop with their customers.
3. Take the long view. It's very easy to make local optimizations, but they eventually catch up with you.
[permalink] ‣ keyword: link
29 November 2008, 9:25 UTCVersion control
Code doesn't exist unless it's checked into a version control system. ―One piece of advice via Developing Programmers
[permalink] ‣ 3 comments ‣ keyword: link
17 November 2008, 16:54 UTCExponentiating zero in numpy
1 November 2008, 6:56 UTCCargo cults of the Singularity
30 October 2008, 15:46 UTCNiva on ebay
19 September 2008, 14:42 UTCRecording culture
16 September 2008, 16:00 UTCNon-overlapping ID counters
11 September 2008, 15:29 UTCThe stultolarity
1 September 2008, 15:56 UTCFree music, movies, microcode
27 August 2008, 6:30 UTCNiva for sale
24 August 2008, 5:05 UTCA temporary compromise?
8 August 2008, 8:50 UTCA free software advocate is …
3 August 2008, 9:58 UTCBBC News: It's not the Gates, it's the bars
20 July 2008, 6:16 UTCLink: Charlie's Diary: Magical thinking
18 July 2008, 12:52 UTCThe id of the Net
27 May 2008, 15:35 UTCDeath Freedom Day
17 May 2008, 15:50 UTCFrozen Evolution, now in English
11 May 2008, 15:11 UTCIn defence of "off the scale"
11 May 2008, 3:41 UTCSelling the invisible
6 May 2008, 3:34 UTClolinstructions
15 April 2008, 14:34 UTCLimits of invention
31 March 2008, 15:38 UTCOf vampires and men



