Tuesday, October 30, 2007

Phil Greenspun's suggestions for philianthropy

If you've got a bit of money and want to put some of it to good use, Philip Greenspun has some suggestions. He explains the benefit each suggestion could bring, how it could be done, and it's approximate cost.

  • Donate money to Wikipedia
  • Internet Content Prizes - for content such as novels, poems, plays, non-fiction books, textbooks that is published on-line. At present, serious awards for such content is -- by and large -- only when they're published on traditional media.
  • Internet Classical Music Free Library
  • English-language School in Peru's Urubamba Valley
  • Computer Science University in Africa

Sunday, October 28, 2007

Richard Brunstrom on drug policy:

As the Belfast Telegraph reports

"If policy on drugs is in future to be pragmatic not moralistic, driven by ethics not dogma, then the current prohibitionist stance will have to be swept away as both unworkable and immoral, to be replaced with an evidence-based unified system (specifically including tobacco and alcohol) aimed at minimisation of harms to society"
Richard Brunstrom, Chief Constable of North Wales

Bruce Schneier: humans not evolved for IT security (short news piece)

itnews.com.au reports

Human beings aren't evolved for security in the modern world, and particularly the IT security world, according to security guru Bruce Schneier.

Olle Lundberg’s wood-cabin escape (pics)

Pictures of Olle Lundberg’s wood-cabin escape. “woody, simple, airy and largely reused environment he's created for relaxing when not working”. (normally, he lives in a ferry boat in San Francisco harbor).

Thursday, October 25, 2007

Richard Hamming's advice on doing research - "You and Your Research"

In "You and Your Research", Richard Hamming gives his advice on -- not surprisingly -- doing research. For some reason most research advice seems to be pretty elementary with what they say being fairly obvious, but his advice is actually quite good.

If you're wondering who Richard Hamming is, he worked on the Manhattan project, was a founder and president of the Association for Computing Machinery, and was a recipient of the Turing Award (which is like the Nobel prize for computing).

Incorporating inefficiencies/constraints into your conceptualisation of systems

Companies and governments are examples of systems that have kinds of goals or purposes. I think that when we try thinking about such systems, we find it very difficult to factor in the real-world inefficiencies/constraints that apply to/within them.

We tend to conceptualise and reason about those systems as if the agents within them had full/perfect information and had a clear path to work towards those "goals". (I don't think most of us realise we do this, though we can learn to realise that we do it).

But there are all sorts of constraints there - people have limited information, and not all of the information that would enable them to carry out their job properly, and not everyone has incentives that are aligned with the system's overall "goals".

Let's consider an example. If you didn't know better, you might think that, of all software, enterprise software would be the best. Unlike music playing programs or computer games, this is serious business, and companies are paying lots of money for them. And these are companies in highly-competitive environments, and since the software is crucial to their operations, they'd need it to be good.

But enterprise software is -- I'm told -- generally not that good.

In an idealised system, the software would be designed to meet the user's needs. But there are several practicalities in the actual systems that cause inefficiencies, skewing the system away from the idealisation.

Signals vs. Noise say that enterprise software sucks because it's not really designed for the end-users, but to meet the buying critiera of the software purchasers within large companies, who are not themselves end-users of the software.

The buyers don't have as keen a sense of what the software is required to do, and how well it does it, so their evaluation of the software is skewed towards "the feature list, future promises, and buzz words".

Paul Graham mentions another evaluation criteria used by software buyers: making a choice that appears "safe" or prudent:

There used to be a saying in the corporate world: "No one ever got fired for buying IBM." You no longer hear this about IBM specifically, but the idea is very much alive; there is a whole category of "enterprise" software companies that exist to take advantage of it. People buying technology for large organizations don't care if they pay a fortune for mediocre software. It's not their money. They just want to buy from a supplier who seems safe—a company with an established name, confident salesmen, impressive offices, and software that conforms to all the current fashions. Not necessarily a company that will deliver so much as one that, if they do let you down, will still seem to have been a prudent choice. So companies have evolved to fill that niche.

Leaving this example now, I think one of the reasons it's important to understand topics like economics or evolutionary biology (and probably the law -- especially its hisorical development) it to gain a better appreciation for, and awareness of, the effect of constraints upon systems.

Wednesday, October 24, 2007

Lone houses in stunning landscapes (pics)

Photos of lone houses in stunning landscapes.

Monday, October 22, 2007

Missing the thickets for the forest

Focus too much on the trees and you can miss the forest. But focus too much on the forest and you can miss the thickets.

If the trees are individual parts or details and the forest is the whole, then thickets are intermediate structures. They are patterns or structures within the whole.

Entities such as car engines, ant hills, brains, languages, ecosystems and economies can not be understood simply by understanding each of their parts in stand-alone terms.

There is a natural tendancy to think that if an entity isn't X, then it must be the opposite of X. If the entities aren't the parts, they must be the wholes. We can end up seeing them as unalloyed, indivisible wholes. Some people practically relish their 'essential wholeness'.

But I think this goes too far. All of those entities have substructures and patterns within the whole, and we understand how they work and their nature by understanding these substructures and patterns, or thickets.

Sunday, October 21, 2007

Visual input control

Webcams are more ubiquitous these days. Many newer laptops have integrated webcams in the top of their screens. You could employ all those webcams not just for taking pictures or video-based chatting, but also as another input device for controlling the computer.

The user could provide visual gestures. E.g. they could point at a window to switch to it.

Such visual input might be best combined with voice control. E.g. pointing to a window and saying ‘close it’.

You could analyse the video input in more sophisticated ways. For example, to determine where on the screen the user was looking. So instead of pointing at a window and asying “close it”. The user could just look at it and say “close it” (or something like that). Or they could look at a place in a document and say “move cursor there”.

(I have no idea whether it’s feasable to accurately determine where the user is looking. It mightn’t be possible. For instance, there’s a lot of processing that constructs what you see from what your eyes receive, and the specific thing you're fixating on may not be exactly in line with where your eyes are pointed towards).

Here are a few things in this vein:

EyeTwig 'headmouse' "when you move your head left and right, up and down, the Windows cursor, typically controlled by your mouse, moves about the screen".

Camera Mouse "track head or other body movements and to convert those movements into cursor movements on a computer screen."

Some variations on the theme of getting a camera to pick up on a laser pointer shone on the wall, in order to control things like your music player: here and

Video of using headtracking for some control in a FPS game.

Friday, October 19, 2007

One a day

You know that card game called Freecell that comes with Windows? I play that a hell of a lot while I'm doing PhD writing (though I can't now that my new computer doesn't have it. Probably a good thing).

Whenever you win a game, it displays an image of the King from the deck of cards. I though it’d be a nice little touch if, instead just having that one ‘winning image’, it has a different one for each day of the year. So there’s a specific image for 19 October, and you only get to see it if you win on that day. That might add a little extra incentive to play it.

You could apply the same idea to pretty much any webpage or program where people are likely to read/use it over and over. For example: the user brings up the form, and on it they see a nice photo for this day. Clearly, nothing earth shattering, but might be nice little touch.

Funny Wondermark comic on lack of perspective

Funny Wondermark comic on lack of perspective – “Everyone who’s smarter than me is a nerd! Everyone dumber’n me is an idiot...”.

Tuesday, October 16, 2007

Favourite Recipes: Grilled Chicken Tacos Alambres

Grilled Chicken Tacos Alambres

(updated 16/10/07: fixed a few typos, and now you can mouse-over ingredients in the cooking instructions to see the quantities, which is useful if you're reading the recipe off the screen while you're cooking.)

Yields 12 to 16 tacos; serves four to six.

This recipe is from an edition of Fine Cooking magazine (I'm not sure whether you can get Fine Cooking at the newsagents here -- I don't recall seeing it -- but you can get them, as I did, from the Brisbane City Council libraries). Tastes really good.

Note that this is for the small, about 12 cm diameter, soft tortillas. Not the big ones, or the hard taco shells.

I haven't been able to find poblano chillis here, but the jalapeno / capsicum substitute works well, and you can get jalapenos at some supermarkets.

  • For the marinated chicken
    • lime juice, ½ cup (from about 2 limes)
    • ancho chilli powder, 1 tbsp (it'll still be fine with other sorts of chilli powder)
    • garlic, 2 cloves (about 2 tsp) minced
    • salt, 1 ½ tsp
    • dried oregano, 1 tsp
    • black pepper, 1 tsp
    • veg oil, 1 cup
    • boneless, skinless chicken breasts, about 600g (1 1/4 pounds)
  • For rest of the filling
    • veg oil, 1 tsp; more if sauteing the chicken
    • bacon, 3 slices, finely chopped
    • fresh poblano chiles, 1 cup, cored, seeded, and finely chopped (about 2 poblanos)
      jalapenos, 2 fresh, and green capsicum, ½, cored, seeded, and finely chopped
    • yellow or white onion, finely chopped, 1 cup
    • fresh corriander, chopped, 1/4 cup
    • juice of 1 lime
    • salt
    • oaxaca cheese OR freshly grated mozzarella, ½ cup (optional)
  • For serving
Note that none of these last three items -- guacamole, pico de gallo, tomatillo salsa -- are essential. And if you can't get tomatillos (so far, I haven't found anywhere that sells them), you could just use a tomato salsa)
  • Marinate the chicken
    • In a medium bowl, mix the lime juice, chilli powder, garlic, salt, oregano, and pepper; whisk in the oil.
    • Add the chicken, cover and, and marinate in the fridge for 1 hr but no longer than 1 ½ hrs.
  • Make the fillings
    • Prepare a medium-hot fire on a gas or charcoal grill or set a large, heavy skillet over medium-high heat for 1 ½ minutes.
    • Remove the chicken from the marinade, shaking off any excess.
    • Grill the chicken (or sear it in the skillet with 1 tbsp oil), flipping after 4 mins, until it’s just firm to the touch and cooked through, about 9 mins.
    • Let the chicken cool and then chop it into very small pieces.
    • Heat a skillet over medium heat, add 1 tbsp oil and the bacon, and cook, stirring frequently, until the bacon just begins to brown, about 6 mins.
    • Turn the heat to medium high, add the chillis and onion, and cook, stirring frequently, until they begin to soften, about 4 mins.
    • Add the chopped chicken, corriander, and lime juice and stir constantly until the chicken is hot.
    • Season with salt to taste.
    • Sprinkle the cheese (if using) over the top, take the pan off the heat, and let the cheese melt.
  • To serve
    • Set the skillet with the filling on a trivet on the table next to the hot tortillas, guacamole, pico de gallo, and tomatillo salsa so each person can assemble his or her own tacos.

Saturday, October 06, 2007

Worlds largest swimming pool (1 km long)

A swimming pool (includes pics), 1km long, eight hectares in size and transparent to a depth of 35 metres, in the South American resort of San Alfonso del Mar in Chile.