Algernon for Squeak

This semester in Ralph Johnson's Object Oriented Programming class, CS598rej, Erik and I wrote a cool program for Squeak called Algernon.

Algernon is a keyboard-based launcher that provides lightning quick access to categories, classes, morphs, and global variables in your image. It's inspired by similar tools like Quicksilver and LaunchBar for Mac OS X. We're really proud of it, as it seems to really increase productivity. If you're a Squeak user, I encourage you to check it out.

Class Project Page
Development Home
SqueakMap Page

AVI '08

I'm headed to Advanced Visual Interfaces '08 this summer in Naples, Italy to present the work Josh and I did on VCode + VData regarding video coding tools. I'm really proud, as it's my first first-author!

You can download VCode and get more info about it on the Social website.


VCode Main Window

Blu-Ray Laser Pointer

I was sitting in the basement of the Siebel Center one day when Matt Sparks mentioned the Blu-Ray Laser Phaser project, made possible by the Sony Blu-Ray replacement drive assembly for the PS3. I impulsively purchased one such module on eBay and set out to build the best possible Blu-Ray Laser Pointer.

Home-built Blu-Ray Laser Pointer

I focused on building a high quality device. I am really happy with the size and quality of the case, and current-limited power supply, as opposed to the simple resistor based design some other designs suggest. I also opted for rechargeable Li-Ion batteries for great performance and size. This necessitated the installation of a charging jack on the back of the pointer as well.


  • Sony KES-400a replacement Blu-Ray drive module for PlayStation 3
  • Pomona Electronics Size "B" Die Cast Aluminum Box with Cover, Baked Blue Enamel finish, Model# 2417
    as seen on page 53 of their catalog. All of their other products are great too. Highly Recommended.
  • 650nm 5mw 12X30mm laser module from Aixiz. This company, on the other hand, is as sketchy as you get, but I've always had great services, so, if you need cheap lasers, it works.
  • (2) AAA Li-Ion cells with solder tabs.
  • Protection Circuit Module for Li-Ion cells.

You'll need some other items as well, such as a jack for charging the device, wires, a breadboard PCB, and various components for the power supply. You can pick those out from the schematic below though.

There's lots of great info regarding the Blu-Ray diode on a page at Sam's Laser FAQ. This was the source of the power supply circuit, and information about the amount of current that could be run through the diode. Unfortunately, the construction quality of the power supply isn't the greatest, and I find the case design for the pointer at the bottom rather wasteful. The circuit is, however, of sound design.

(Schematic Credit: Sam's Laser FAQ)

It is only somewhat difficult to fit the power supply on to a suitably small breadboard to fit in the case. I think a smaller package version of the LM317 would be better suited than the TO-220 packaged one I chose.

All parts ready for assembly
Power Supply

More pictures in the

The experience using the Blu-Ray laser pointer is rather interesting. It is clearly extremely bright, and for this reason I must underscore the importance of being extremely careful to avoid eye exposure. However bright it is, sometimes it appears quite dim because the color is very near UV and normally much more deep violet than it appears in the photo above. On paper and bleached targets it does appear very blue, or even white on orange fluorescent surfaces. Occasionally there is even some eye-strain associated with looking at the beam incident on a light colored surface.

In a completely dark room it is even possible to see the beam in air, which is rather interesting, because the dot appears less bright than a cheap 5mw red laser pointer might in a well-lit room. I don't have the appropriate equipment to properly measure light output, but I have chosen not to run it at maximum current in order to prolong diode life. It is plenty bright at it's current level of ~30-40ma.

Soon I hope to label the box with appropriate warnings and specifications for the charging port on the back, but I need to prepare appropriate stencils for painting first. I think it is built such that I can expect many years of service before needing to service it.

I'd love to hear if you're building one or have any questions about mine.

PS3 Blu-Ray Laser Diode

As if I didn't already have enough going on this week, I just did this:

Parts were approximately $60, using the PS3 replacement drive assembly and other recommended items from various how-tos on the Internet. Essentially, the diode is removed from the disc assembly, installed in an old 5mw red laser housing, and connected to a brand new LM317 based power supply. I am well on my way to building an adorable little blue laser pointer for far under $100. It is really more purple than blue, but it looks pretty cool. Right now I'm still too afraid to crank up the juice to see how bright it can get.

According to some random forum post:

lasing threshold: 27-28ma
working current/voltage: 4.4v @ 30-40ma
30mA 2.68mW
35mA 9.45mW
40mA 13.3mw
45mA 17.0mW

I can at least verify the lasing threshold was accurate--I do not have the appropriate equipment to measure power output.

And of course, I couldn't have done it without information from Sam's Laser FAQ, specifically the article examining Blu-Ray Laser Diodes.

Nuage Vert

Last fall I was contacted by Heiko Hansen (of HeHe) regarding using the EasyLase USB on the Mac. I must say I was quite intrigued when I found out that he was working on Nuage Vert, a visualization of energy usage in Helsinki. The project uses the cloud of emissions from the Salmisaari power plant as a canvas to demonstrate how much energy is in use by the city.

photo credit HeHe

The project is going on display February 22-29, 2009 in Helsinki. I encourage you to go check it out more in depth at

For the project, I ended up creating a Java wrapper for the libEasyLase driver for OS X. It is now possible to get laser output on the EasyLase USB from inside a Java app on the Mac. Please contact me if you're interested using this.

subscribe via RSS