Theremin Heroes

Here are two different implementations of “Theremin Hero”, after the popular Guitar Hero video game. has some info, but for details on implementation, check out the comments in the YouTube video. [hat tip Hackaday]

Next, Cornell University’s ECE 4760 course publishes student final projects on the web– consistently a rich source for ideas. D.L. and S.J. present a Theremin Hero project, including source code.



Random Friday: What We Bake 6

We have modified our earlier low carb cheesecake recipe to an even yummier version:

Cheesecake Redux (Low carb, small portion)

For crust, mix:

1/4 cup dry-roasted unsalted almonds chopped in a food blender (make more and refrigerate for next time)
1/2 Tablespoon melted butter
dash cinnamon
1/2 Tablespoon Splenda (or equivalent sweetener of your choice)

Press loosely in bottom (not sides) of small (12cm) spring-form cheesecake pan. No baking necessary.

For batter, mix:

1 8oz package cream cheese, softened
1/4 cup Splenda
sprinkling of freshly grated lemon peel (approximately 1/4 teaspoon)

Add and mix until smooth:

1/4 cup sour cream
2 egg whites (left over from this recipe)

Pour batter over crust.

Bake at 200F for 45min, or until set to desired firmness. Let cool to room temperature.

Meanwhile, mix topping:

1/4 cup sour cream
1/2 Tablespoon Splenda
1/4 teaspoon vanilla extract

Spread topping evenly over cheesecake. Chill. Serves 4 small portions.


  • Vanilla extract might be used in place of lemon peel for variety.
  • Unsweetened berries may be added for a variation.
  • If top of cheesecake cracks, try baking next time at lower heat and varying length of bake time.
  • Beware of low-fat cream cheese, which tends to add carbs.
  • Check ingredients of sour cream. Some brands use a large number
    of additives. Ideally, the single ingredient should be “cultured
  • Mix at low speed. We don’t want to add air bubbles, which will slowly rise and make top less smooth.
  • We dry roast raw almonds in the microwave for this recipe by nuking for two or three minutes at a time until the desired level of toastiness is reached.

Related posts: What We Bake 5, What We Bake 4, What We Bake 3, What We Bake 2, What We Bake


One of the more unexpected applications of WaveSong reported to us by users is the white noise (or pink noise) sound being used by some tinnitus sufferers to alleviate symptoms.

Now someone has posted a twelve hour video of white noise on YouTube:



(tip o’ hat to Dangerous Minds)

Ubuntu Linux on a USB Drive

Although long-time Windows users and developers, we wanted to try Linux on a thumb drive. We could have installed Linux to a disk partition and dual-booted, but we often change computers, and liked the idea of  bringing our Linux with us– much harder to do with Windows due to licensing issues! We tried various “Live Linux” distributions designed to boot from a thumb drive with data persistence, but they have a big drawback:  Updating to the next major version is not possible. With significant Ubuntu releases appearing every six months or so, we really wanted update capability.

Here is our procedure. You might have a better way:

1) Create a bootable Ubuntu USB drive using the free UNetBootin Windows application on a spare thumb drive, not our final thumb drive.

2) Restart the computer, hit F2 to go into BIOS settings, and disable the hard drive. We don’t want to accidentally install a boot loader or anything on our hard drive that interfere with booting Windows later.

3) Boot Ubuntu from the temporary thumb drive. Insert the destination thumb drive and select “Install Ubuntu“, and follow any prompts.

4) If everything went right, we have created a bootable USB drive that runs Ubuntu and is capable of system updates.

5) Ubuntu booted fine, but did not hibernate successfully. Using Synaptic Package Manager, we installed the “hibernate” package, and all seems to work with no extra setup.

6) Of course one will want to install several Sagebrush Systems programs, so install Wine as described in our previous article.

For the thumb drive, we wanted the smallest physical size possible, since the device would often be inserted into a netbook propped on a lap or carried in a backpack, so anything that stuck out far enough to snap off or fall out would be bad. If our computers could boot from an SD Card, then we would have used that instead of a USB drive, but SD Cards are not supported with any BIOS we tried.

We settled on this low-profile microSDHC reader, with a 16GB Class 2 flash card, which was the fastest and largest memory we could afford at the time.

Class 2 means a sustained minimum write speed of 2 MB/s, which is somewhat slower than generic  USB flash drives. In practice, the drive is fast enough for our purposes. In the table below we measure boot time to first web page access, which is a more useful metric than measuring to desktop displayed. In our experience a Windows 7 computer might not be ready to do useful work for many seconds after the desktop is displayed after cold boot, as start-up programs continue to load, virus scanners do mysterious tasks, and background services initialize. Additionally, the Windows 7 Wifi drivers on our machine seemed to take quite a long time to load, acquire an IP address, and load an initial complex web page.

Comparison of Start-up Times (seconds) Win7 on hard drive Ubuntu 11.10 on flash drive
Cold boot time to first web page loaded 104 122
Return-from-hibernate to first web page loaded 80 76



Test conditions: Computer is Asus Eee PC 1015PED netbook with N450 processor, running Firefox with one tab, re-loading the Sagebrush Systems homepage. Windows 7 was not optimized by removing unnecessary start-up programs and services, to illustrate a typical user case. Times given are an arithmetic mean of three measurements. Your mileage may vary.

Related articles:
Installing WinChime on Ubuntu Linux
Installing RecAll-PRO and RecAll on Ubuntu Linux

Blogs Need a Working Internet

For our readers who are USA citizens:

WinChime RingTone: Android Samsung Intercept

Having recently acquired a Samsung Intercept cell phone running Android 2.2.2 (Froyo), we wanted to add a soothing WinChime ringtone, at no charge if possible. Luckily for us, Android plays MIDI files natively and (at least for this handset) allows MIDI as ring tones, so the procedure is straight-forward.

First we use the WinChime menu “File-> Save Midi File As…” feature to generate a MIDI file of sufficient length; 100 notes are more than plenty. In the screenshot below, we are running WinChime under Ubuntu+Wine to test out this function under Linux, but you can run under Windows just as easily.

The file minor.mid is available to download and test.

Now e-mail the resulting MIDI file to your phone. Or alternatively, connect your phone to a USB port, slide down the notification bar, and select “USB connected” to make Android phone external storage visible to your computer as a flash drive.

For this example we e-mail the file to ourselves and use Gmail app on the Android phone to read.

Click “Download” or “Preview” to start the Media Player.

Press the “Menu” button and select “Use as ringtone“. Now call yourself and relax to the soothing sounds of WinChime!

Related Articles:


Installing WinChime on Ubuntu Linux

Following the procedure described in the article Installing RecAll-PRO and RecAll on Ubuntu Linux, we need to add some additional steps to enable WinChime to function under Linux. The standard Ubuntu distribution does not seem to include a MIDI synthesizer daemon, necessary for rendering WinChime’s sounds. We follow the procedure described here to install Timidity++ and configure it. For WinChime, the freepats samples sounds fine, so we did not bother with eawpatches. If we do everything right, WinChime should play correctly.

We first install Timidity using Synaptic Package Manager. Select “timidity“, and “timidity daemon” if available.

Start a terminal window and enter:

timidity -iA -B2,8 -Os1l -s 44100

and start WinChime. When you click the Play button you should hear chimes.

Now we need to configure timidity to start at boot. Googling older versions of timidity gives hints of a script installed in the /etc/init.d directory to do this, but I do not see one on the current timidity package.

(Aside: on a version of Ubuntu previous to 11.10, after using the installation instructions linked to above, the timidity daemon started at boot. However, in research for this article we uninstalled and installed timidity and found the timidity daemon no longer started at boot. If the daemon auto-starts for you, then ignore the rest of this application note.)

Perhaps not the standard “Linux way” of starting a timidity daemon, but I found this works for me: Launch “Startup Applications” and click the “Add” button. Enter as shown:

Now when I boot Ubuntu, the timidity daemon runs and WinChime works!


Installing RecAll-PRO and RecAll on Ubuntu Linux

Although developed for Windows, Recall-PRO can be executed on the Linux operating system using the free Wine software compatibility layer. RecAll-PRO + Wine should also work on other flavors of Linux, but for the purposes of this article we focus on Ubuntu because of its current popularity and for the simple reason that some of our development machines uses this flavor. The procedure described has been tried on Natty Narwhal (version 11.04), Maverick Meerkat (10.10), and Oneiric Ocelot (11.10).

First, Wine must be installed. (We tend to use Synaptic Package Manager, but old-time Unix hands will open a Terminal Window and type “sudo apt-get” commands.) Start Synaptic Package Manager and enter “wine” in the search text field.

Select “wine1.3” (or later) and click the Apply button.

Download the latest RecAll-PRO install executable using your favorite web browser. In Linux, EXE file downloads do not have executable priveleges, so we have to change that now. Go to the Downloads section of your browser and <right-click> -> Open containing folder. (Note: Changing file executable permissions may not be necessary on recent versions of Ubuntu+Wine.)

Click the “Allow executing file as program” control.

In the folder, do not try to launch the RecAll-PRO EXE directly, but <right-click> -> Open with Wine Windows Program Loader.

This will start the installer to load RecAll-PRO and its help file on your computer.

Most features work as expected. MP3 recording does not work at present– perhaps later we will figure out how to access an Mpeg ACM codec under Wine. Vorbis and Speex compression work fine, because they do not rely on external codecs.

To start RecAll-PRO after installation:

Oneiric Ocelot (11.10) and the Unity desktop (and presumably all later versions): Use the Dash home button and start RecAll-PRO as with any native application. Coolness!

Natty Narwhal 11.04 and the Unity desktop: The first Unity iteration did not seem to have the best support for Wine applications. Add back the classic menu using the procedure here, and start using Classic menu-> Wine-> Programs-> Sagebrush-> RecAll-PRO.

Maverick Meerkat (10.10) (and possibly earlier versions) : Click applications menu-> Wine-> Programs-> Sagebrush-> RecAll-PRO.

Note: Earlier versions of RecAll-PRO had a problem displaying properly with Linux+Wine, as shown below. More recent versions (v1.9 and later) do not have the problem.


Hello world!

  • September 8, 2010
  • General

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!

Random Friday: What We Tour 3

Costa Rica is enchanting.

Samara Beach

Arenal Volcano

The summit was covered in clouds most of our visit, but cleared just as we were leaving.

Quetzal in the MonteVerde Cloud Forest

Credit to our guide Bernal for setting up this shot.

Related Posts: What We Tour 2, What We Tour, What We Hike 3