Mimsy Were the Borogoves

Hacks: Articles about programming in Python, Perl, Swift, BASIC, and whatever else I happen to feel like hacking at.

42 Astoundingly Useful Scripts and Automations for the Macintosh

Work faster and more reliably. Add actions to the services menu and the menu bar, create drag-and-drop apps to make your Macintosh play music, roll dice, and talk. Create ASCII art from photos. There’s a script for that in 42 Astounding Scripts for the Macintosh.

No second chances at ETech 2007

Jerry Stratton, March 29, 2007

Open it Own it

A good goal for ETech as well as Make.

On Tuesday morning after discovering Snakelets, I wrote a quick-and-dirty blog tool just to test the concepts of a Monday tutorial. I’ll have more about that later, but I kept it running throughout the conference and entered quick notes. The blog itself was designed not to have any editing capability. It is now Thursday evening and I have no desire to do any editing here either, so this is a brain dump from brain to laptop to blog.

Some of it probably won’t make any sense without the context it was written in. But that is not my problem.

The postings start early Tuesday evening and go through the end, but they are in reverse chronological order.

No Second Chances

Welcome to the blog of the escalator.

Persistent technology

March 29, 2007 04:20:00 PM

The conference is now over; we're all in the foyer eating three different kinds of popcorn and caramel apples (both an emergent technology that keeps on giving long after you've finished with it). When I'm done making the rounds I'll head to Record City and see if they have any new vinyl in.

Some technology is also persistent, staying alive long after you would have expected it to (and some would wish it to) disappear. Technology can make emotional connections while providing functional advancement.

Some technologies endure long after official support disappears. And despite what technology providers sometimes seem to think, durability is functional. Technology doesn't really work unless it also works next year.

Art of illusion

March 29, 2007 03:50:38 PM

3D modeller, renderer, and raytracer.

Fused deposition modeling

March 29, 2007 03:32:06 PM

The network is down right now so I can't double-check, but the name to look for is Professor Adrian Bowyer.

Open-sourced 3D printer instructions on previous post, currently runs about $400 for the printer and 30 cents per cubic inch or less for the plastic. Also, look at Darwin.

What happens to the supply chain when many things can be "printed" when they're needed?

Replicating rapid prototyper

March 29, 2007 03:15:21 PM

"RepRap will make plastic, ceramic, or metal parts, and is itself made from plastic parts, so it will be able to make copies of itself. It is a three-axis robot that moves several material extruders. These extruders produce fine filaments of their working material with a paste-like consistency. If RepRap were making a plastic cone, it would use its plastic extruder to lay down a quickly-hardening 0.5mm filament of molten plastic, drawing a filled-in disc. It would then raise the plastic extrusion head and draw the next layer (a smaller filled disc) on top of the first, repeating the process until it completed the cone. To make an inverted cone it would also lay down a support material under the overhanging parts. The support would be removed when the cone was complete. Conductors can be intermixed with the plastic to form electronic circuits - in 3D even!"

A dystopian mess

March 29, 2007 03:04:01 PM

Because there are no social guidelines for body hacking, this is a big mess. The only social guidelines are firewalls; we have no way of dealing with things once they get through the firewall.

People want advantages. "We either create a non-medical market for human alteration, or back room enhancements for the poor, and travel for the rich."

And what about professional coercion? You have to have this or you can't do your job as well as the person who does have it.

"As it gets better, it gets more dystopian. What would you transgress for?"

Melotan, also home surgery

March 29, 2007 02:56:28 PM

That last one was "melotan".

To make this post useful, here is the elective home surgery FAQ.


March 29, 2007 02:52:42 PM

Military study: gave Provigil to soldiers every eight hours for 72 hours; at the end their reactions and perceptions were better than at the beginning.

Whatever diseases it is "on shelf" for, people are beginning to get more of.

Another drug: tans, reduces weight, and increases libido. "The company is desperately looking for a disease it treats. We have no structure in our society for people who want to play with these drugs."

Lasik and steroids

March 29, 2007 02:48:14 PM

Athletes are getting Lasik to increase their vision to better than normal.

Pathologizing normality

March 29, 2007 02:45:34 PM

When we create medical procedures to improve things, we feel a need to pathologize the current, and relatively normal, thing we're changing: stomachs, wrinkles, breasts.

"Anti-depressants required pathologizing grief. Stomach staples required pathologizing obesity."

Once we pathologize it, we're allowed to remedy it.

Electrical sixth sense

March 29, 2007 02:30:58 PM

Implanting rare earth magnet in finger tip. Sort of vibrates when in electrical fields.

Also, picking up small pieces of metal is a good party trick.

Could sense live wires from non-live wires. Sense swap just before computer slow-downs.

Still a sheathing problem: if the sheath is breached, it will infect. Can't get MRIs. "The quick way of getting this out of my body is to walk near an MRI."

Even if it is removed, she might not be able to, because when it unsheathed, it also broke apart.

What is body hacking?

March 29, 2007 02:23:52 PM

"Acting on yourself, with or without assistance, to enhance the function of your body or your perceptions."

Not to treat, but to enhance.

Doesn't include street drugs. "Street drugs have been done to death."

"If you can't open it, you don't own it."

(Quinn Norton)

More about E4X

March 29, 2007 02:07:12 PM


March 29, 2007 12:02:40 PM

Javascript can handle XML as if it were a variable?

var person=<person><name>Jerry</name></person>

Too many people, too little time

March 29, 2007 11:42:28 AM

That feature was too slow, so we had to take it down. We've found a way to make it ten times faster, but now we have a hundred times as many users.

Truck chaser

The computer threw virtual paint bombs at a real remote-control truck toy. It was better at hitting the truck while it was moving then while it was stationary.

RSS brings back users

March 29, 2007 11:10:51 AM

Anything that changes is a candidate for an RSS feed. It reminds users to come back by showing them that there is new stuff there, extremely important for social services that need a critical mass of users.

no marketing but the product itself

March 29, 2007 11:08:04 AM

For social services, the product itself is likely to be their first introduction. "Build something both useful and functional and appears to be the thing that they are looking for."

Show, rather than tell.

In the gallery

March 29, 2007 11:02:38 AM

Most of the sessions are held right in front in the foyer; I've avoided the gallery because it's off in the middle of nowhere and doesn't leave time to get to other sessions afterwards.

I've been assuming they know this and put only the unpopular sessions in the gallery—it's a small space. But this period the best session is clearly in the gallery; "Lessons Learned in Scaling and Building Social Systems" is standing-room only, though it'd be spread out and empty in any of the other rooms.

Seven year itch

March 29, 2007 10:26:59 AM

Google expects their solar panel install to pay for itself in 7 and a half years.

Google ready for the end of the world

March 29, 2007 10:15:59 AM

If a Stephen King-like future ever happens, Google is ready. Not only have they already been buying local products (food, etc) but they have covered all available roof space with solar panels, including building extra carports just so they'd have room for more solar panels. This gives them 1.6 Megawatts, enough for 30% of their peak power.

I'll bet they have a shooting range too. If they ever get nuclear capability they'll be their own nation.

Adobe's gamers

March 29, 2007 09:56:18 AM

"This is going to be a complete hack-mastery of the UI."

Companies still hate the web

March 29, 2007 09:38:34 AM

Every year some major company tries to convince us not to use web browsers and stateless interactions. This year, it's Adobe with Apollo. Instead of having a browser that connects to lots of sites, it appears to be a vision of lots of applications each tied to a specific site.

Gen C products

March 29, 2007 09:29:38 AM

We want remote control teddy bears.

Lost luggage

March 29, 2007 09:19:31 AM

What happens to lost luggage? It gets auctioned off.

The Autonomous Lamp

March 29, 2007 09:16:13 AM

What if our adjustable lamp were crossed with a cat?

Home for retired robots

March 29, 2007 09:15:10 AM

They buy decommissioned industrial robots, and reprogram them.

When is a joke funny?

March 29, 2007 09:13:53 AM

When a presenter puts up a list of points, where the last one is a joke, when do you laugh? Immediately, when you read that point? Or when the presenter finally gets to it?

It seems to me that there is always a small embarrassed laugh at first, and then when the presenter gets to it everyone else laughs. Slow readers or something's only funny if we have feedback that other people also think it's funny.

Generation C

March 29, 2007 08:59:57 AM

Defined by their community. I.e., The Internet is a word processor for your social life. We expect to be able to edit our communities.

Meat in any shape you want

March 29, 2007 08:58:33 AM

If you can grow meat in a test tube in any shape you want, what does that mean? (Matt Webb)

Something new under the sun?

March 29, 2007 08:09:55 AM

"Every SIN is unique."

Between a hard drive and a RAM place

March 28, 2007 06:01:30 PM

Companies looking for "in-between" memory that is faster than hard drives, but less expensive than RAM. Spintronics from IBM, for example.

Sloppy programming

March 28, 2007 05:38:34 PM

IBM’s Koala scripting “language” pushes “programming by demonstration” and “sloppy programming”, that is “users create scripts by demonstrating what they should do”, and “script representation is both human and machine understandable”.

It’s a lot like the original design considerations for AppleScript; it will be interesting to see if they can add good scripting functionality that is still human readable.

assume successful attacks

March 28, 2007 03:55:26 PM

Security is at least two steps: stopping attacks from being successful, and minimizing the harm if an attack is successful.

It is critical that you assume that you will be successfully attacked, and use techniques to minimize the harm when you are attacked: hashing passwords, hashing data based on the password, walling unrelated data off from each other, scrub logs, etc.

hash your passwords

March 28, 2007 03:50:01 PM

"A pet peeve of mine is when I sign up for a site" and they can then send it to me if I forget it. They can't do that unless they've saved the password in plaintext. Never do that!

"This is both security and privacy."

a different kind of attacker

March 28, 2007 03:38:58 PM

"Protects against attackers and law enforcement (another kind of attacker)."

data retention and warrants

March 28, 2007 03:36:03 PM

Wesabe appears to want to safeguard our data partially because it's a pain to have to collect the data on a warrant. If they don't store the data, they don't have to spend time and resources handing it over. So they scrub any identifying data that they don't specifically need.

RFID security choices

March 28, 2007 03:04:48 PM

We can't be required to make security and privacy choices for each RFID device. There will be tens, hundreds, and eventually thousands of RFID chips in our possession. We have to have a way of controlling access in a single choice.

Sounds like a job for a general-purpose computer.

EFF Pasta Chef

The pasta chef at the Electronic Frontier Foundation event, set up like a Greek oracle in an ancient grove.

Turk and Deep Blue

March 28, 2007 02:42:33 PM

Magic is more believable then technology. The mechanical turk was too small to hold a human, so it must be real. And Deep Blue is big enough to hold several chessmasters.

Magicians know that they have to be believable to be believable. Engineers don't always recognize this.

Magic vs. Technology

March 28, 2007 02:31:54 PM

We've gone from Magic IS technology (magic is what we do to make things happen, using recipes and scripts), through magic AGAINST technology (where technology and magic is at odds), to technology is magic (where technology, as far as most people are concerned, is magic and has no reality).

Sufficiently advanced magic

March 28, 2007 02:25:02 PM

We have a tendency to think that any magic which is difficult to understand must have a technological method.

Python not feeling lucky

March 28, 2007 02:07:30 PM

Why does the python documentation site rank so poorly in Google searches? I can never get the doc page for a python method or function when I google it.

For example, "python hasattr" brings up lots of people talking about it, and why it ought to have been handled differently, but not the actual documentation for that function.

I see: it does show up on the front page, but with a generic title. Each function is listed in a single page. This contrasts with, say, a search for "php file_exists" where each function gets its own page and ends up being very highly ranked (the first item in the list in this case).

Mountains of Madness

March 28, 2007 01:19:26 PM

So that was the bottom of page 67, not 71. Since I'm about to start reading again, here it is:

"These vertebrates, as well as an infinity of other life forms—animal and vegetable, marine, terrestrial, and aërial—were the products of unguided evolution acting on life cells made by the Old Ones, but escaping beyond their radius of attention. They had been suffered to develop unchecked because they had not come in conflict with the dominant beings. Bothersome forms, of course, were mechanically exterminated."

The Most Toys

March 28, 2007 12:55:28 PM

He who dies with the most toys is a geek? "I know I'm still okay as long as my mom has more sewing machines than I have computers."

Just ask Chris Rock

March 28, 2007 11:59:47 AM

Yahoo: It's good to be a hacker. It's bad to be a cracker.

Magic Ingredients of games

March 28, 2007 11:36:20 AM

Where you are should matter. Different places should result in different scenarios. Topology should affect the outcome.

When you came there should matter. What you did before should matter. Never start an interaction without context. Preparation matters.

How you make the choice should matter and be repeatable. Skill should matter. But there must also be variation in results.

What: There should be a range of choices and the choice should matter. Things people do should apply to multiple challenges. A "verb" is a hammer. Players need lots of kinds of nails.

With: The tools you use should matter. There are lots of kinds of hammers. Multiple tools should work, and they should work in different ways.

For: You need feedback. How well you did should matter. A game that has only one outcome is boring. Variable feedback keeps things lively. There should be more than one outcome even to success. Sometimes success is to be presented with a greater challenge. Other times, a pleasant surprise. When this happens, it should be highly visible--to everyone!

Few: Drive users to challenges at the edge of their ability. Bottomfeeding (low risk activity for high reward) is bad for fun (killing thousands of ants).

Failure: It is important for games to tell you that you failed. Which must also have consequences.

The core of games is competition. As soon as you give people a ladder to climb, they will climb it.

Alarm clock shooter

If it had sound effects, this would be the perfect alarm clock.

Games are choices

March 28, 2007 11:20:12 AM

Games are about making choices through some sort of interface.

Games are made of games

March 28, 2007 11:17:32 AM

Games are made out of games. You have the big game and then lots of big games you play inside of it. (Raph Koster)

Frogger: crossing the road, hopping on logs, etc.

It's games all the way down: until you reach the interface. Hopefully you can't fail at that. This is very important. If the interface is a game, then it isn't the interface. If you can't press the button, that's not fun, it's frustrating.

No Sense of Place

March 28, 2007 10:58:54 AM

One of the conflicts between generations and in the minds of younger generations is the lack of a sense of place, or at least the lack of one that their parents understand.

This comes courtesy of combining Danah Boyd’s hetero-normative anti-corporate shareholder-unaware world, combined with Joshua Meyrowitz.

IT professionals as wizard advisors

March 28, 2007 09:52:25 AM

People go to technology to get things done. She's taking a whole bunch of time talking about a hetero-normal society just to say that people use technology not for technology's sake, but to meet other goals.

People want friends, sex, money, leisure, family, etc.

Magic around muggles

March 28, 2007 09:38:44 AM

The magic around muggles is ubiquitous; they don't see it. Wizards are trying to save (or destroy) the world.

Magic is already the metaphor

March 28, 2007 09:24:19 AM

The problem with magic as a metaphor is that people already use it. Many people see copy and paste as magic, and the person who knows how to use it as a magician.


March 28, 2007 09:04:07 AM

People know that (software, smart object) aren't an animal, but they treat them that way.

However, animism is an effect, not a design guideline.

Ubiquitous Computing

March 28, 2007 09:00:47 AM

UC is today where the web was in 1992? (Mike Kuniavsky)

Purposeful Paralysis

March 28, 2007 08:23:59 AM

If you look far enough into the future, you can always find an excuse for not doing the right thing.

Downloads of Madness

March 27, 2007 10:18:40 PM

For cute Internet/digital restrictions parallel, see Mountains of Madness, bottom of page 71.

Cory Doctorow, Superhero

It’s amazing what people will do to receive an award from the EFF.

Weeping Cory

March 27, 2007 09:37:32 PM

"I come from a family of weepy European Jews."—Cory Doctorow

Business of false scarcity

March 27, 2007 09:28:47 PM

Cory Doctorow: A business based on a false scarcity will necessarily fail today.

The Wealth of Networks

March 27, 2007 09:21:35 PM

Look up this book. Like Rise of the Trading State or Wealth of Cities?

Professor Benkler

Data as pollution

March 27, 2007 09:17:01 PM

Bruce Schneier: data is the pollution of the information age; bad data is canonical, as you know if you've been blocked getting on a plane.

Testing haml

March 27, 2007 05:50:34 PM

Most people don't give it a try

March 27, 2007 05:46:49 PM

So, he hasn't heard of anyone who doesn't like it... most people don't try it.

Just added a link

March 27, 2007 05:43:58 PM

So this turns out to be pretty easy to modify live.

Python-like HTML

Because HTML is still too easy to code by hand.

Turning HTML into Python

March 27, 2007 05:34:24 PM

The Haml template language takes readable HTML and turns it into a Python-like, indentation-required language that combines the worst features of Python with the worst features of HTML.

Maybe it will be more readable when he's finished it.

Gonzo Blogging

March 27, 2007 05:26:23 PM

This is true Gonzo blogging: once a post is in the system, it doesn't come out, and it doesn't get changed.

Whether that frees or paralyzes remains to be seen.

Throw Me a Coke

March 27, 2007 05:15:25 PM

No coke this year. We do have Microsoft and Adobe, and some guy charged with defending consumer rights who sounded more like Marc Antony praising Caesar’s death.

  1. <- Ancient Windows?
  2. Play Backwards ->