The Amazing Morse Code Keyboard

Morse Code Keyboard Illustration

The Morse Code Keyboard, my thesis project, and the object of my attention for the past six months is finally complete. This device uses a touch-based slider interface to communicate with a computer as a standard USB keyboard. It works like a regular keyboard, except instead of typing letters you make gestures that get decoded as morse code.

The project involved the design of a custom printed circuit board for handling USB and touch sensor operation. The two-part case was cast in urethane resin from a silicone mold of a CNC milled wax model. In the coming weeks I will be releasing the PCB files, stereolithography and AutoCAD files for the case, source code for the firmware, and instructions on how to make your very own morse code keyboard.

If you’re asking yourself, “What use is a morse code keyboard?”, I’ll tell you.  You can use it with one hand. You can use it without looking at it. Moreover, it uses a coding scheme that is over a century old and still being used by amateur radio operators. Now think forward to when a slider interface of this kind is available on your mobile phone. Morse code might be a very useful way of entering text where other methods fail.

For more details, refer to this informative (yet delightfully short) movie clip documenting the project.

Umweltforshöw

Umweltforshöw
Umweltforshöw: The 2006 ACE Graduation Show

The ACE second year graduating class (which includes me) is putting on its thesis show next week. If you will be in Southern California next week (or even if you won’t) and enjoy new media art, you should come and see what two years of blood, sweat, and tears can make.

Excerpted from the press release:

Umweltforshöw: the 2006 graduate thesis exhibition of the Arts, Computation and Engineering (ACE) graduate program at UCI. Umweltforshöw celebrates the spirit of Jakob von Uexküll’s concept of the umwelt, his (1934) term for an organism’s subjective lived environment. Digital technologies increasingly shape and alter our umwelt. This selection of work reflects upon the opportunities and issues which arise as we shape that umwelt, and it shapes us. This is the second annual graduation exhibition of the ACE program, an interdisciplinary graduate program in digital cultural practices.

This exhibition features interactive artworks and technologies created by Delvin Hanson, Cina Hazegh, Eric Kabisch and Kevin Ponto.

May 18-27, 2006
Opening reception: Thursday May 18, 6-9 pm
Beall Center for Arts and Technology, UC Irvine
Directions and hours:
http://beallcenter.uci.edu/contact/directions.php

Opencircuits.com

Open Circuits

What started out as a diffuse idea, got announced to a room of several hundred people before it was little more than that later that day, and fully implemented that night, has become an interesting resource for those interested in getting their hands dirty with electronics. Opencircuits.com is project that I started with the help of Nathan Seidle of Sparkfun.com, to collect all the little bits of insignificant knowledge that together make up the world of electronics. We hope to collect everything from information on interesting components, techniques, project descriptions and the images, schematics, part footprints, and so forth to go along with them. It also runs on MediaWiki, so anyone can help to make it better.

Flash Mobs on “On the Media”

Bill Wasik at MOB #2 June 17, 2003
Bill Wasik at MOB #2 (June 17, 2003), courtesy satanslaundromat.com

This week’s edition of the excellent NPR program, On the Media, features an interview with the original creator of the Mob Project. The enigmatic creator of the flash mob phenomenon and Harper’s senior editor, Bill “Bill” Wasik, gives a good overview of the flash mob phenomenon and his unique view on it. What’s particularly interesting are his declarations that flash mobs are finished and uncool now. Its also useful to note that Mr. Wasik never intended for the flash mob phenomenon to be anything more than an inside joke/social experiment. As someone who was interested in this form of cultural exchange before the phenomenon became “cool” and even when it was discarded as a fad, I beg to differ. He also refers to his article in this month’s issue of Harper’s.

Link [MP3]

Demand Compliance from the Cisco VPN Client using Applescript and Quicksilver on Mac OS X

I have an Airport Express that I use, aside from basic network connectivity, for streaming music and printing with my Powerbook. Several months ago I started noticing that all of these things would periodically stop working. The first time it happened I thought the Airport Express had just glitched and needed to be reset. For some reason, this reset normally fixed my problem. But there was that rare occassion when no amount of hardware resets and network voodoo fixed the problem. After a while I realized that it might be a problem with my VPN client. From time to time I need to use a Cisco VPN client to connect to resources made available by my university or my program. After some poking around I found the daemon, killed it, and restored sanity to my network setup.

Cisco VPN Client

It turns out that even though the Cisco VPN client requires you to load a horribly designed GUI application while you are connected to the network, it also loads a daemon on startup. (I assume this is for some basic firewall functionality, but I don’t know for sure.) There is also no user interface provided by the client GUI to start or stop this daemon. Which is problamatic, because sometimes the client itself complains that the daemon hasn’t been loaded. Of course, it also doesn’t tell you that definitively. It just complains about “error fffffffffffffch”.

Cisco VPN Client Error Screen

You can manually stop, start, and restart this daemon using a relatively well-behaved unix application.
To start:
sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN start
To stop:
sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN stop
To restart:
sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart

For a while this is how I controlled the daemon from misbehaving. I soon got tired of that nonsense and decided to automate the process using a bit of Applescript inspired by Scott Russell’s script and make it accessible from Quicksilver.

Here are the scripts:

Start CiscoVPN:
do shell script "sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart" with administrator privileges
if result does not contain "loaded successfully" then
if result does not contain "already loaded" then
display alert "There was an error starting the Cisco VPN service. '" & result & "'" as warning giving up after 10
end if
end if
do shell script "sudo -k"

Stop CiscoVPN:
do shell script "sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN stop" with administrator privileges
if result does not contain "succeeded" then
display alert "There was an error stopping the Cisco VPN service. The Cisco VPN may already be stopped.'" & result & "'" as warning giving up after 10
end if
do shell script "sudo -k"

Restart CiscoVPN:
do shell script "sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart" with administrator privileges
if result does not contain "loaded successfully" then
display alert "There was an error restarting the Cisco VPN service." as warning buttons {"OK"} default button "OK" giving up after 10
end if
do shell script "sudo -k"

At this point, if you’re a super Unix hacker you should be asking yourself, “why don’t I just make a shell script and throw it somewhere in my path?” The answer to this is pure aesthetics. With this Applescript you can invoke it with Quicksilver and have it ask you for your password using a dialog box that should be familiar to anyone that has ever tried making any system changes. Then if, for some reason, the script errors out, the error is presented in a familiar dialog box. You can probably do the same thing with pyObjC or something else, but Applescript does the job here.

Now that you’re convinced Applescript is the one and only solution, throw these into descriptively named files such as “Restart CiscoVPN.scpt” and copy them into your script folder. This “Scripts” folder can be found in the “Library” folder, which itself if found in your home directory. Now all you need to do is tell Quicksilver to look for scripts in this folder. Now all thats left is to make sure Quicksilver is cataloguing that directory. (Here’s a quick tutorial on Quicksilver in case you don’t have it installed yet.)

What we need to do to check this is to verify the catalogue settings in the Quicksilver preferences. You can do this several different ways, the easiest probably by clicking the Quicksilver menubar item (that may or may not be active on your system) and clicking on “Preferences …”. Click on the “Catalog” item in the left pane. Make sure Modules > Scripts > Scripts (User) is checked (assuming that you put your scripts into “~/Library/Scripts”. Refer to the image if this isn’t clear.

Quicksilver Preferences

That’s it. Let me know if this doesn’t work for you. Chances are that if you aren’t using the same version of Mac OS X (10.4), Quicksilver (B36), or Cisco VPN Client (4.6.03) this will not work flawlessly.

CiscoVPN Daemon Vanquisher (4.45 KB)

Congo Banana Day

I’d like to emphasize one of the recent entries at flashmob.com because it is so pregnant with meaning and happens to echo some of my own frustrations with the state of electronic culture.

As some of you may know, flash mobs are for bourgeois people from MIT only. We want to change this and organize a flash mob in the Democratic Republic of Congo.

On Saturday 26th of May 2006, make sure you arrive at Ndjili Airport in Kinshasa, run to Ituri Province, and plant one banana tree.
Then go back to what you were doing before, that is, organizing flash mobs or creating guerilla wifi spots for your iPod.

The interesting thing about this post, and most other posts to the site, is that they will probably never result in a flash mob, and many of the submitters know this. They exist as the crystallization of some collection of frustrations attempting to be actualized through the notion of physical action, expressed in short poetic calls to action.

In this case its a reference to the feeling that flash mobs are a luxury of developed nations, where a group of people collected in some ludicrous activity isn’t a threat to the state. This is true. But where I would disagree is in the association of flash mobs with the techno fetishism of the iPod, since flash mobs are primarily organized by email (hardly a bourgeois technology). Nevertheless, I often feel that geeks in developed countries need to reevaluate how they see the developing world. I’ll scream if I see another wacky proposal for water purification or the other 10 or so percieved problems that plague the developing world (and this almost always means Africa).

flashmob.com

Those people reading this website that know me, know that I am responsible for flashmob.com. For far too long I let it sit as a hull of a website without serving as anything useful to anyone but spammers (who made good use of the unmoderated forum page).

flashmob.com logo

The problem was not so much that I was lazy, but that I couldn’t think of doing anything that might help someone out that was either trying to join or start a flash mob. Kevin Hawkins had tried providing people with an easy SMS interface and message scheduling but it seemed like either people weren’t interested or didn’t understand the interface.

Almost from the very beginning I thought it might be nice to just let people post their information with very little editorial oversight or moderation, but I quickly turned that idea down because I thought it would get hijacked immediately by spammers.

Years have passed since those initial ideas and recently I realized that incoming messages could be filtered using the spam filter that does such a great of sorting my email. So I quickly hacked together an implementation of what I call a mob-blog, not to be confused with a moblog (a.k.a. mobile weblog). The results are live now.

flashmob.com

Nanotube Sheets Made Using Post-it Notes

I’ve been following nanotechnology for a long time and for as long as I can remember, nanotubes have been held as the first great delivery on nanotech’s big promises. But I’ve never been particularly impressed, because everytime I hear about nanotubes I have to remind myself that it will be years before I’ll get to see the stuff.

Nano tube sheet glowing under high voltage

An article on Nature brings news of a new method scientists at the University of Texas at Dallas have devised for producing nanotube sheets. It apparently involves dragging a Post-it note across a bed of nanotubes sticking to an “iron-based platform”.

The reason you should be excited is that nanotube sheets conduct electricity, have amazing physical strong, and weigh next to nothing. Still not excited? This means flexible televisions and flying cars are just years away. That is, if they can commercialize it.

Nanotube sheets come of age [via Metafilter]

Ghetto Inductive Charged Wireless Mouse

So I went on a web search recently to see if there were any websites from hobbyists that had figured out a simple way of implementing an inductive charging system (like the kind you find on electric toothbrushes).

I hoped to find a fastidious account of some lonely guy on a quest to make a portable rechargeable reading lamp or something. Instead I found this. Oh, and not to mention this.

Ghetto Mousepad

If the mix of mental retardation and masterful electronics knowledge is just shtick, then this guy is a genius. The rest of the site is a bit more, shall we say, thoughtful, but this one page is pure gold. Anyway, its a pretty impressive hack if it works and the Arnold Schwarzenegger references are nothing but refreshing.

Ghetto Inductive Charged Wireless Mouse (that didnt friggin work.)

Pixel Factory

So it took me a while to figure out what the Pixel Factory, designed by Kenichi Okada, actually did. Something about the documentation told me that it had to be an amazing idea, and it is.

Pixel Factory

It’s basically a 7×7 pixel, completely mechanical, moving image player. It seems to be made out of cardboard, plexi, and fiber optics, and that’s it. No electronics or even a light source it seems. The “movies” are played by moving sheets of light patterns printed on transparent film across a linear array of 49 fiber optic leads. This linear array is then routed to a square grid on the side of the box, converting from one dimension to two dimensions.

The movie conversions seem to be made using a Max/MSP patch (the choice of discerning new media artists everywhere) and printed. Very creative.

Pixel Factory [via we-make-money-not-art]