Tuesday, February 23, 2010

Vote for me in Masters of Song Fu!

I'm in a songwriting competition called Masters of Song Fu. The challenge for round 2 was "write a song that doesn't rhyme." There were 20 contestants; you can see all the takes on a "song that doesn't rhyme" here:

Masters of Song Fu Round 2.

I'm entered as just "Glen Raphael" (one of these days I need to come up with a stage name...) and my entry is 4th from the bottom of the list of 20 competitors. Check it out, have a listen to my song "Song That Doesn't Rhyme", and vote!

Wednesday, January 20, 2010

There's a Weapon in My Pants!

This rather silly song is dedicated to the Underwear Bomber. Mister Fruit of the Boom. Victoria's Secret Weapon.

Monday, January 11, 2010

Army of Robots (evil laugh song)

The diabolical laugh is intended as an audience participation feature/gimmick. Some songs have a chorus that, say, "resolves to the dominant chord"; this song instead "resolves to an evil laugh".

Mike noticed my facial hair is looking particularly scruffy in this video; I've gotten rid of most of it since.

Sunday, December 27, 2009

In the Na'vi - Avatar parody trailer

Avatar is a very pretty, very silly movie which inspired me to do my first-ever trailer remix. Unlike Weird Al, I didn't try to make my song sound exactly like the original - at least not yet. Just close enough to get the gist across:

Tuesday, December 15, 2009

Global Heartwarming

I have a new theory related to the cause of global warming which I describe in this video:

As you can see if you click through to YouTube and click the "more info" link, I have made my raw data (chords and lyrics) publically available so it is possible for others to reproduce my results.

Monday, December 07, 2009

Complete List of Things Caused by Global Warming, and a modest proposal

The Complete List is here. Funny stuff!

Looking at that list, it seems to me could save a lot of ink and time if somebody were to invent some small glyph, icon, or short acronym that meant the same thing as raising the pitch of one's voice to say excitedly "and with global warming, this problem could get even worse!" Perhaps a melting ice cube icon? Whatever we decide on, once the new glyph gets established we could then do away with that ritual incantation, the sentence or two that needs to get tacked on to every news article and every scientific paper abstract that mentions any kind of problem or threat, no matter how remote the connection might be, to signify group affiliation with the Worriers. Instead we could just stamp the story with that icon. Or use it instead of a period to end a story. Think how much quicker that would be! Then the author wouldn't even have to actually invent a ridiculous tie-in that somehow connects their story to the problem of AGW, we could all just take it as read that a sufficiently clever writer could come up with such and acknowledge that he or she would like us to consider it done in this case.

We probably do need an acronym for text-only articles such as reddit comments. I suggest AWGW, meaning "And With Global Warming...". The rest of the phrase is implied, since nobody ever says "and with global warming...this problem might lessen!" or "...this problem might stay just the same!" So whenever you see an article that mentions any bad thing but inexplicably forgets to include an AGW tie-in, you could just comment "AWGW!" to make sure everybody knows the connection is there.

Sunday, November 22, 2009

Whose mail was in the CRU FOIA leak?

I've been browsing the leaked CRU email archive and it seemed like it might be useful to try to categorize who the players are - can't tell the players without a scorecard! - So I wrote a ruby script to parse for "From:" lines and account for who sent how many messages.

Rough summary:
The 1073 ".txt" files contain 1557 "From:" lines with 331 unique senders (names after a "From:") , about 1/3rd of which were only in messages quoted within other messages. In a few cases the same name had multiple forms which I binned together - I did this for jones, mann, briffa, and mcintyre. My code is available on request, no FOAI required. :-)

Here are the 331 unique senders along with how many messages each sent:

214 from: p.jones
171 from: michael e. mann
144 from: k. briffa
103 from: jto
80 from: t.osborn
60 from: santer1
45 from: wigley
31 from: m.hulme
21 from: eystein.jansen
19 from: trenbert
18 from: steve mcintyre
16 from: wahl, eugene r
14 from: drdendro
11 from: rahmstorf
10 from: narasimha d. rao; rashit
9 from: thomas.c.peterson; tim osborn
8 from: d.j. keenan; drind; naki; peiser, benny; tcrowley
7 from: gschmidt; mhughes; raymond s. bradley; stepan g. shiyatov;
tatiana m. dedkova
6 from: c.goodess; ipcc-wg1; kevin trenberth; mmaccrac;
peter.thorne; valerie.masson
5 from: john.christy; jonathan overpeck; joos; mick kelly;
susan.solomon; t.d.davies
4 from:
darrell.kaufman; egu2009; esper; j.salinger; j.thorpe;
jean.jouzel; jgr-atmospheres; m.n.juckes; rainer.zahn; rob
wilson; shs; sonja.b-c; wolfgang.cramer
3 from:
anrevk; bard; eduardo.zorita; evag; humphrey, kathryn; itrdb
dendrochronology forum; john p. holdren; johnson; l.b.
klyashtorin; leopold.haimberger; martin.welp; mitchell, john
fb; r k pachauri; ricardo villalba; simon.tett; srutherford;
ssolomon; tamino_9; thomas.r.karl; thompson.4; wang
2 from:
alex haxeltine; anders.moberg; arcticinfo; burgess jacquelin
prof; cawley gavin dr; ccsptemptrendauthors.ncdc; cooke,
barry; crgn143; curt covey; daly; darch, geoff j; davet;
david m. lawrence; david.parker; dian.seidel; eystein
jansen; f034; folland, chris; francis.zwiers; gabi.hegerl;
giorgi; gjjenkins; gruebler; hegerl; hpollack; j.darch; jan
esper; janice darch; john_holdren; jonathan t. overpeck;
keiller, donald; malcolm hughes; mnoguer; olgasolomina;
ottobli; peterwthorne; pielke; ralley; rob.swart;
roger.street; s. fred singer; s.raper; shukla; sp; steig;
stephan singer; sujata gupta; timo.hameranta; tom
1 from:
100713.1311; 101322.3724; a.chappell; a.stephens;
adam.markham; adwhite99; alan; alan.tuck; alcamo; allen;
andras vag; andrea.bleyer; andrew comrie; andrew kerr, wwf
climate change campaign; andrew watson; andy mcleod;
angela.liberatore; armes marcus mr; b.j.peiser; ben
matthews; ben santer; bert.metz; bill.hare; bob.ryan;
bob_keeland; bryson; bsanter; c.g.kilsby; cai; cearsr; choux
mathieu; chris de freitas; christopher.d.miller; christy;
ckeller; clare goodess; claudia.tebaldi; climate; connie
woodhouse; covey1; cramer; curtis covey; d.holland;
d.mccarroll; d.viner; darobin; dave.schimel; david holland;
david willans; david.etheridge; david.helms; david.sexton;
davies trevor prof; denis-didier.rousseau; dlroberts; dndr;
doug.keenan; druid; dschneid; earthgov; edwardcook;
eric.steig; esteig; eugene.r.wahl; f028; f14; farrar, steve;
felzer; fidelgr; franci; fritz.schweingruber; g.mcgregor;
gary; ged.r.davis; geoengineering; georg.kaser; gerner;
gmiller; graham f haughton; griggs, dave; h.self;
hans.von.storch; heinz wanner; herve.letreut; hilst;
hourcade; hvonstorch; i.harris; iain.brown; ian harris;
ifor; info; ipcc wgi tsu; ipccwg2; isaak m. khalatnikov; j.
oerlemans; j.g.shepherd; j.ogden; jain; james hansen;
jansen; jason smerdon; jenkins, geoff; jerry meehl; jesse
smith; jgr-oceans; jhansen; jlean; jmd4; john l. daly;
john.g.shepherd; john.lanzante; jparks; jprospero; juerg
luterbacher; julia uppenbrink; kaiserdp; karl e.taylor;
kathryn.humphrey; keith.alverson; khughen;
killballyowen2003; km_king; kraucunas, ian; kuylenstierna,
j.c.; ljohnson; lkpocd; lucia; luckman; lyndsey.middleton;
m.baillie; m.salmon; mackwell, stephen; mailer-daemon;
martin juckes; martinlutyens; mccarroll d.; mdiepenbroek;
mears; meehl; mick.tiempo; mike hulme; mmunro; mprather;
msalzer; n.bindoff; nick pepin; noaa news releases; nogler;
oescomm; ogden annie ms; olga solomina; oyvind.paasche;
parryml; pedersen; pfrancus; philip.brohan; pitcher, hugh m;
pj valdes, geographical sciences; plattner; polyak.1;
polychronis tzedakis; ppn; prof. dr. lennart bengtsson;
r.baker; rashit hantemirov; rasmus benestad; regalado,
antonio; regentage; richard.tol; richardscourtney;
richardson, catherine; rob.allan; ronald m. lanner; rtp1;
saffron o'neill; schimel; sdecotii; section; sfbtett; simon
j shackley; smith, fiona; smith, g.; smithg; smithg49; ssi
mailbox; stepan; stephen juggins; tara.greaves; tas van
ommen; tas.van.ommen; taylor13; tcjohns; thomas c peterson;
thomas l. delworth; thorne, peter; tignor; tim.carter;
tim.johns; tom wigley; turneychris; ukro.ukro; viva.banzon;
wallace, helen; whetton, peter; wmc; zwiers,francis

Saturday, September 19, 2009

In Defense of PocketMail

Cracked.com has a feature article called The 5 Most Ridiculously Awful Computers Ever Made. PocketMail comes in at #2 with this picture:

I think I'm offended.

PocketMail was an odd little product that filled an odd little niche and yet is something I am inordinately proud of. I almost wish I still used it, so I could pull it out and show the world the icons I designed and the features I added or specified and insisted upon.

I remember watching the first 20 prototype units come off the assembly line at the GSL factory in southern China. Good grief, they were awful! All the tiny things that can go wrong - cracks in the plastic, keyboards that are too squishy and slant to one side, hinges with too much slop...worst of all, the acoustic coupler arm that didn't quite work in its first implementation.

But we got a few devices that worked well enough to tweak and test and put better software on. Through repeated visits to China, many redesign cycles and software iterations, it finally got good enough to release, to show at conventions, to sell. And now it's a product out in the world meeting the real needs of real people. Something you could hold in your hand and say "I made this!" It was never particularly flashy. It was "trailing edge technology". But it worked!

Here's what the Cracked writers missed.

Yes, PocketMail lets you send and receive email anywhere in the world that has telephones. You can compose messages and read received messages offline while in transit, then update your messages during a 30-second phone call. If PocketMail works for you in the US, it'll work exactly that well in Hong Kong, in Tokyo, in England, and even in stranger places where you're not so likely to find Internet Cafes. If there are telephones, you can use pocketmail. Even when - as is often the case - the local phone network is too noisy to support a modem connection.

But wait! How much does this cost? In the US, it's a toll-free 800 number. It's toll-free in many other parts of the world too. So rather than paying ludicrous per-packet "roaming" data charges as you would with a cellphone and rather than having to set up an "international plan" to reduce those charges from obscene to merely somewhat overpriced, it Just Works. If you're someplace where they don't have toll-free access, at least the call will be short; a lot shorter than a voice call.

The PocketMail pitch was: unlimited email on the go, anywhere in the world, originally for $9.95/month but later bumped to $15/month. No extra data charges. Using a device whose battery life was measured in weeks instead of hours. In a compact "clamshell" format with a better keyboard than a blackberry and a nice wide LCD screen.

If you can afford the monthly charges for an iPhone, PocketMail probably isn't for you. But there are a lot of RVers and pilots and truckers who found it just the right thing to meet their needs.

PocketMail was a great little device for its time.

Tuesday, August 25, 2009

The Paranoid Style in American Politics

The paranoid spokesman sees the fate of conspiracy in apocalyptic terms - he traffics in the birth and death of whole worlds, whole political orders, whole systems of human values. He is always manning the barricades of civilization. He constantly lives at a turning point. Like religious millenialists he expresses the anxiety of those who are living through the last days and he is sometimes disposed to set a date fort the apocalypse.

As a member of the avant-garde who is capable of perceiving the conspiracy before it is fully obvious to an as yet unaroused public, the paranoid is a militant leader. He does not see social conflict as something to be mediated and compromised, in the manner of the working politician. Since what is at stake is always a conflict between absolute good and absolute evil, what is necessary is not compromise but the will to fight things out to a finish. Since the enemy is thought of as being totally evil and totally unappeasable, he must be totally eliminated - if not from the world, at least from the theatre of operations to which the paranoid directs his attention.

Perhaps the central situation conducive to the diffusion of the paranoid tendency is a confrontation of opposed interests which are (or are felt to be) totally irreconcilable, and thus by nature not susceptible to the normal political processes of bargain and compromise.
-- Richard Hofstadter, from a strangely relevant 1964 Harpers Magazine article .

Found here.

Monday, August 17, 2009

Why Environmentalists Can't Convince Skeptics

Consider a mother talking to her kid about risk.

Whether the topic is crossing the street, talking to strangers, using the stove, driving a car, setting off fireworks, or balancing near a cliff, mom is likely to overstate the risks at least a little bit. "Ask a mom and you get a worst-case scenario." Mom is attuned to the downside; she knows what the worst possibility is and over-weights its likelihood. If you cross the street alone, she knows you'll get hit by a car. If you talk to a stranger you'll get kidnapped. And she doesn't just overweight the risks; she also under-weights the benefits - how much fun you are likely to have doing the forbidden thing, whatever it might be. And she doesn't trust her kid to judge the risks for himself.

So mom exaggerates. But the kid *knows* that mom is a worrywart, so the kid automatically discounts everything mom says. If mom says something is risky there's probably *some* risk there, but it's sensible to figure it's being overestimated by at least an order of magnitude. So you can pay a little attention to mom's worries, but not too much - you don't want to take her too seriously. And mom *knows* the kid is discounting what she says and not paying close attention, which gives mom *even more* incentive to exaggerate, which gives the kid *even more* incentive to discount.

This is a stable equilibrium. Once started, the dynamic is nearly impossible to break because it would require both parties to change at the same time.

Conversations between environmentalists and enviroskeptics have that exact dynamic. Environmentalists are "mom". They "have to offer up scary scenarios, make simplified, dramatic statements, and make little mention of any doubts", to quote Stephen Schneider. They do this partly because that's what gets publicity and funding, but they also do it because if they accurately portrayed their certainty level it would give "the other side" a reason to ignore them. So they exaggerate a bit. They also tilt the playing field in various ways. They avoid public debates, they share data and methods only with fellow travelers to the extent they can get away with this, they try to avoid even mentioning anybody on "the other side".

The skeptics know this is happening, so they discount the claims they hear made by environmentalists. The environmentalists know their claims are being discounted, so they find every excuse to build them up even more.

A stable equilibrium.

Friday, June 26, 2009

A modest proposal on Iran

"First, do no harm." Before we start in with the strafing runs, I have a suggestion:

The US should offer citizenship to everyone in Iran. Allow anyone who wants to escape from the mess over there to come here and start a new life.

Had we done this with the Jews during WWII it would have saved a lot of lives. This policy is guaranteed to save lives and reduce human suffering and - unlike warfare - it does so without much risk of causing more suffering and loss of life. It also would constitute a huge PR win - every dissident who moves here demonstrates a lack of confidence in the existing regime.

People are suffering and we should something about that. We could give those people the right of exit. If we're going to do anything at all, summon the political will to do that first. It's cheap, it's moral, and it doesn't put any soldiers or civilians from either side in harm's way.

Monday, June 08, 2009

Why do iPhone Development Tools Suck?

So I'm finally getting started with iPhone Development and I just have one question: Is there some reason the integration between Interface Builder and XCode is so crappy? When I browse the various iPhone tutorials it seems like 90% of the coding they have to demonstrate is stuff the tools ought to automatically do for you. And did, way back in the days of the Newton Toolkit. Does Apple not use its own tools? Are the various dev teams not on speaking terms? Or does somebody at Apple just hate developers? :-)

I'm beginning to wonder if I shouldn't bother with iPhone apps but should instead write a decent Interface Builder. Something where, when I drag a button into a view, inspect the button, give it a name, notice that it has some sort of on-click event associated with it, I can double-click on the name of that event to immediately edit the code that will get called when that event happens. Without having to declare that method or name it - the stub gets created for me in an appropriate location. I'd just write the stuff that goes *inside* the stub function, thereby eliminating multiple opportunities to type something wrong or leave something off and screw it up. Also eliminating multiple context switches back and forth between IB and XC. A good tool should fade into the background; this does the opposite. I still could move the function elsewhere or call it in a different way if I wanted to, but I wouldn't have to; the base case would just work.

UPDATE: It looks like I need to check out accessorizor. It doesn't fix the problems with Interface Builder integration but it can automate away a lot of tedious and error-prone Objective C structure.

Monday, April 20, 2009

Why Torture Works in 24

I've been thinking about why the case for torture seems so compelling in 24 despite the fact that it's counterproductive in real life. At first I thought the key difference between 24 and real life was that Jack Bauer is infallible - whenever he thinks somebody knows something important, he's right - but that's only part of it. The bigger problem with 24 is a literary convention: we only get to see one investigatory thread at a time.

In real life there would be at any given time hundreds of agents following thousands of potential leads. So if any particular lead doesn't pan out, there's somewhere else the story could go. But 24 plots are carefully constructed in such a way that there's only one good lead at any given time and no other leads worth pursuing. When you only have one suspect you can question, a policy of torture seems plausible - you might get a new lead to follow faster than without it. Whereas if you have ten thousand suspects - many of whom are undoubtedly innocent or sympathetic to your cause -a policy of torture is insane. It is likely to generate false leads that consume valuable resources and to discourage the cooperation you need to find valid solutions in a timely fashion.

In real life, once you have questioned someone in a civil manner you usually have the time and ability to come back later and ask them more questions. In 24-land, as soon as somebody has given up to Jack their single and true puzzle piece, that person dies or disappears. (Sometimes he commits suicide; more often he is killed as a result of ultra-competent bad guys foiling ultra-incompetent good guys who fail to protect the witness.) So leads don't accumulate and keeping sources on your side for the future (when more evidence turns up that you might ask them about) has no value. Also, the system is so corrupt-by-design that Jack can't safely delegate in order to explore multiple leads in parallel; he can only follow his one best lead at any time.

In short, the reason torture works in 24 is that 24 is fiction.

Sunday, January 11, 2009


I recently came across this short film from 2006. Turn off your inner cynic and watch it now; you'll be glad you did.

Sunday, August 03, 2008

Netflix mixups are fun!

"The Prisoner" is the title of a Jackie Chan movie that was released in the US in 1990.

"The Prisoner" is also the title of a 1955 movie about the inquisition of a Hungarian cardinal played by Alec Guinness.

If you put the Jackie Chan movie on your Netflix queue, what arrives in the mail is the Alec Guinness movie enclosed in a sleeve that describes the Jackie Chan movie. If you mark this as "mislabeled, please send again", they will send you another copy of the Alec Guinness movie in a sleeve describing the Jackie Chan movie. Repeat as many times as you like; I gave up after three.

The real question is: what happens if I instead put the Alec Guinness movie on my queue? Do I get Jackie Chan?

Saturday, July 26, 2008

iPhone 2.0 development woes

I really like being able to download native applications to the iPhone. Native apps are usable on the subway while web apps are not. Native apps can use all the capabilities of the device and use the full screen real estate and define their own controls and are faster to load and so on. Some of the first batch have bugs and the phone is a little more prone to crash than before, but that's to be expected and it's really easy to update them as bugs get found and fixed.

My chief complaint at the moment is that I can't get my apps on the iPhone. Even after waiting over three months for apple to approve my application to be a developer, paying Apple $100, giving Apple lots of information about myself and spending many many hours working on the problem, I can't even get a "hello world" to install. I can install to the simulator, but not to my own phone. The process one allegedly uses to accomplish installing your own code on your own phone is ridiculously convoluted, the error messages are useless, and I am stymied.

To get an app to install on the phone, one needs to generate a certificate request, use that to request a certificate, install that certificate and another one in my Keychain, use the new certificates and information about my phone to generate a "provisioning profile" (specified with an obscure and inconsistently-defined naming convention) - for "deployment" (and another one for "distribution" if I later want to send the app to Apple), install those certificates where Xcode can find them, and specify using an obscure panel within Xcode which certificate should be used when signing the application. Then just "Build and Go".

The result of this process is invariably the following bit of loveliness:
"Your mobile device has encountered an unexpected error (0xE8000001) during the install phase: Verifying application

Try disconnecting and powering off the device; then power the device on and reconnect it."


I miss the Newton.

UPDATE: Just to be clear on this: I really don't mind that Apple has locked down the device with DRM restrictions. What I mind is that they've done it so badly. The DRM on iTunes is practically invisible most of the time. One of my favorite design rules is "Get the base case right." For an iPhone developer, the base case - the first thing anyone is going to want to try - is to just compile something simple and see it on a phone. And the process for doing that is broken.

I don't care how carefully you think you've documented the 25-step process to start using your program, the problem is that it's a 25-step process. Stop polishing the web instructions to walk people through it and instead invest more effort on simplifying it. I'd be happy to download and run a software wizard. I'd also be happy to pay more for the dev kit - a lot more - if doing so would improve my own user experience and head off some of the frustrations.

And no, it's not just me who is finding this confusing. See here and here and here and here and probably here, though I don't really read japanese...

Come to think of it, iTunes music is an excellent model. iTunes locks my music so I can only use it on certain machines yet somehow it never requires the user to look up a serial number or copy certificate requests around or even explicitly use the Keychain Access utility. It all Just Works. That's supposed to be the Apple experience.

Thursday, May 01, 2008

In case of emergency, read fafblog

I'm so glad fafblog is back. It's the perfect blend of goofy surrealism to liven up an otherwise mundane morning. Like an emergency action flowchart:

Step 1: Is there an emergency?
a. Yes!
- Quick! Break glass in case of emergency.
-- Oh no, now I'm all cut and bleeding on this broken glass!
--- Sounds like an emergency! Quick, break more glass.
- Okay, I broke the glass! Now what?
-- Oh no, what'd you do that for! You needed that glass for the emergency!
--- Oh, what do I do now!
---- Quick, glue your glass back together while there's still time! Then break it. Hurry, it's an emergency!

Remember: Appeasing the bees will only embolden future bees...

Friday, March 07, 2008

Joe Weizenbaum, R.I.P.

Joe Weizenbaum, the creator of ELIZA, died on March 3rd at the age of 85. Naturally, someone had to go interview the grieving AI program to get her thoughts on the matter.

Saturday, February 23, 2008

sci-fi character quiz

Here's my result:

Which Fantasy/SciFi Character Are You?

Monday, January 28, 2008

Juggling Update

3-ball: passing to another person is getting pretty reliable - I can pass every third, every other, or every one. Realized my Mills' Mess isn't quite symmetric, but damned if I can figure out how to fix it...I can now "claw" about 5 catches in a row and switch between that and a standard catch. Can juggle off the wall, off the floor, transition between those and normal throws. When catching on the neck, I can drop the ball behind the back.

Still working on: toss to an over-the-shoulder position, some weird V-finger small-movement stuff, and the still-impossible high-toss-with-spin-around. There are two issues: my high tosses aren't consistent and my spins aren't fast or consistent. If I could make my high tosses more consistent, it would help a lot with the 4- and 5-ball juggling effort too.

American-style clubs: I can now do around 100 throws without a drop. Starting to work on basic tricks such as under-the-leg, chin drop, and double spins.

What was new and different this time around: rope tricks. Specifically, I learned a half-dozen knot throws, which are really fun and very weird.