Lacker Style

Monday, June 30, 2008

Fafblog returns!

One of the funniest blogs on the internet is back.

(As opposed to all those other blogs that are funnier, but not on the internet.)

Saturday, June 28, 2008

Become a Better Guesser

The Economist reports on a better way to guess anything - just force yourself to make two guesses, and then average the two.


The two researchers asked 428 people eight questions drawn from the “CIA World Factbook”: for example, “What percentage of the world’s airports are in the USA?” Half the participants were unexpectedly asked to make a second, different guess immediately after they completed the initial questionnaire. The other half were asked to make a second guess three weeks later.

Dr Vul and Dr Pashler found that in both circumstances the average of the two guesses was better than either guess on its own. They also noticed that the interval between the first and second guesses determined how accurate that average was. Second guesses made immediately improved accuracy by an average of 6.5%; those made after three weeks improved the accuracy by 16%.

Even after three weeks, the result is still only one-third as good as the wisdom of several different people. But that this happens at all raises questions about “individuality” within an individual. If guesses can shift almost at random, where are they coming from?


Yet another strike against the utilitarian view of the world. People aren't optimizing utility functions inside their head, probably because optimizing functions is hard. Perhaps it is more like a slew of different guessing mechanisms and they pick between them heuristically. I can imagine that would be much easier to program. No calculus required.

Wednesday, June 18, 2008

Freedom and Justice

From an Argentinean military dictator:


We believe we are already within a democratic system. Some factors are still missing, like the expression of the people's will.


He says (specifically) that the freedom and justice in his country make up for it. I was entertained especially since I traditionally name my computers either "freedom" or "justice".

Did you know computer nerds like to name their computers? There are different schools of thought. One is that you should use hard-to-distinguish names to demonstrate your skills at remembering arbitrary text sequences. Like calling your computers "nerdcave" and "nerdcave-2". Another is that you should use your native language for unspellable names like "chanakya" to spite your monolingual coworkers. Another is that you should prove your nerd-in-group-ness with names that have double meanings that are only apparent to hard core techies, like "swap". And yet another strategy is to use your own username so that you are spared the difficulty of remembering yet another arbitrary word.

And of course the "freedom" strategy, in which I pretend I am a hippie by emotionally bonding with computer hardware.

A Video Of A Guy Doing Nothing



Really only most of this video is the speaker just sitting there meditating. Some great comments -


"When I'm meditating I have trouble thinking of anything except how great it is that I'm meditating."


Happens to me too.

If you feel like meditating then this guy does a good job of getting you really into it. Just watch and play along. Skip the first 15 minutes if you are bored but that's a bit ironic.

Monday, June 9, 2008

Thought Distributed Into Your Environment

Nietzsche had a different style of writing when he was using a typewriter.


Under the sway of the machine, writes the German media scholar Friedrich A. Kittler, Nietzsche’s prose “changed from arguments to aphorisms, from thoughts to puns, from rhetoric to telegram style.”


I often feel that typing in emacs for brainstorming makes me have a different sort of thought than writing on paper. It's faster for text, but it's harder to doodle, and the differences trickle through.

Similarly, I can't distinguish my house keys on sight, but I keep the one I need first next to the car keys on my key chain. When my car's in the shop I have a harder time getting into my apartment.

Sunday, June 8, 2008

I Stand Guilty As Charged

Anti-ice-cream-cone sentiment from Bush's advisor on bioethics:


Worst of all from this point of view are those more uncivilized forms of eating, like licking an ice cream cone--a catlike activity that has been made acceptable in informal America but that still offends those who know eating in public is offensive. ... Eating on the street--even when undertaken, say, because one is between appointments and has no other time to eat--displays [a] lack of self-control: It beckons enslavement to the belly. ... Lacking utensils for cutting and lifting to mouth, he will often be seen using his teeth for tearing off chewable portions, just like any animal. ... This doglike feeding, if one must engage in it, ought to be kept from public view, where, even if we feel no shame, others are compelled to witness our shameful behavior.


Reminds me of the Seinfeld episode where George eats a Snickers with knife and fork. I'm afraid for my safety if this guy ever sees me eating a burrito.

Organization Systems

Written about an ancient Chinese encyclopedia entitled Celestial Emporium of Benevolent Knowledge:


On those remote pages it is written that animals are divided into


  • (a) those that belong to the Emperor,
  • (b) embalmed ones,
  • (c) those that are trained,
  • (d) suckling pigs,
  • (e) mermaids,
  • (f) fabulous ones,
  • (g) stray dogs,
  • (h) those that are included in this classification,
  • (i) those that tremble as if they were mad,
  • (j) innumerable ones,
  • (k) those drawn with a very fine camel's hair brush,
  • (l) others,
  • (m) those that have just broken a flower vase,
  • (n) those that resemble flies from a distance.



Hat tip to Kevin Kelly. The original fictional encyclopedia is from Borges.

Friday, June 6, 2008

Hello Eli Bazelon

Welcome to the internet, where random people can read your mom's concerns about random people reading your mom's concerns about random... etc.

I wouldn't worry about it too much if I were you. What would be cool is if you had your own blog and wrote about things your parents did that were funny. Then your mom could see the whole experience from the other side. ;-)

I would read it!

Sunday, June 1, 2008

Bot Pride

I am excited when things get emergent enough that I don't get why they work any more.

Try to imagine this is me chatting with a two-year-old.


me: what is one plus one

reggie: is one plus one

me: :-(

reggie: one

me: one plus one is two

reggie: two

me: :-)

reggie: :-)

me: what is one plus one

reggie: one

me: :-(

reggie: :-)

me: what is one plus one

reggie: two

me: :-)

reggie: :-)


Yeah, yeah, this is inextensible. There is no intermediate memory between how-to-respond-to-the-immediately-previous-statement and learning-a-permanent-pattern. So you can't have "conversation".

Specifically, how would I go about teaching reggie to count? What would that mean in this participants-alternate-sentences format? Any ideas?

Adventures in Bots

I'm iterating on my chatbots. My current favorite is called "reggie" because he just learns regular expressions. (Not sure when to use 'he' vs 'it' - when I'm talking about chatting 'he' seems natural, but when I'm talking about algorithm 'it' seems best.) Like

my name is (.) -> hi \1

is the regular expression that will respond "hi bob" if you say "my name is bob".

For positive and negative feedback I'm using emoticons. A smiley face means "that was good" (+1), a negative face means "that was bad" (-1). Also there is a built in desire to mimic; anything the human does gets a +1. Technically I'm using beta distributions not +1/-1 but it works out mostly the same.

So far I don't have any bias towards simpler rules, so there's a lot of ties. And if there's an uninstantiated group in the optimal rule, reggie just says "blah". I figured I could train him not to say blah, which I can, but reggie can't generalize to realize "saying blah is always bad". Basically, it's picking the best regular expression that applies to the user statement. Instead it could look at all of them and combine with some Bayes-ish method. Then you could have negative rules like "don't say x".

Anyway it is still very charming. Here is a session from the start - if you think about it, you can figure out how everything happened, i.e. the regex rules that applied for each reggie statement. I am trying to explain that one should not say "blah" in polite company.


reggie: ...

me: hi

reggie: hi

me: do you like math

reggie: blah

me: :-(

reggie: blah

me: :-(

reggie: :-(


And reggie finally learns just to frown when I frown instead of "blah"ing back to me.

;-)

I have gotten a couple requests to expose these chat bots to the public. I want to! - I just need to figure out how to serialize them to the database and do some low-level web-app gluing. Probably just store a pickled blob, upgrade path be damned.

One exciting thing during development - at some point I wrote about 200 lines of regular expression parsing code, got tired and set it aside, came back the next evening to write some unit tests, and... it all just worked. I was fired up.