Gnome “Show Desktop” applet that only minimizes all windows

June 28, 2011

The “show desktop” applet in Gnome is more like a toggle button that switches between minimizing all windows and restoring all windows. I’ve never found the restore all windows behavior useful, it requires an extra mouse click, and I’m always jolted by the temporary flash of restoring windows.

For those few souls who share this peeve there is a simple way to replace the applet with a version that always and only shows the desktop.  Reproducing ruizscar’s instructions here:

  1. Install "wmctrl" (i.e., sudo apt-get install wmctrl)
  2. Add a “Custom App Launcher” to the desktop panel bar with the command "wmctrl -k on"

If you want to completely reproduce the “show desktop” applet, you’ll need to also set the icon.  For the default Ubuntu/Gnome theme (as of 11.04), the icon is located at: "/usr/share/icons/Humanity/places/24/gnome-ccdesktop.svg".  Hopefully that’ll get you in the right neighborhood depending on the theme/panel size you run.


PowerPoint Projector Attack?

June 23, 2011

Our projector broke during a presentation today, apparently a problem with the bulb. I started to wonder, “why today, why this presentation?”

H0: Random hardware failure.

H1: It so happens that the presentation used all black slides with white text. Perhaps the LCD blocking the projector light got too hot, which got the bulb too hot, which destroyed our super-cheap projector bulb?

That’s my clever hypothesis; something to test if you have to give a presentation that you haven’t had time to finish :)

Negation in Prolog

April 10, 2011

The first Prolog example in Bruce Tate’s Seven Languages in Seven Weeks has a bug.  Tate defines the predicate \+ to be “logical negation”, but this is incorrect.  It’s like logical negation, but differs in ways that cause straightforward queries to fail.

Read the rest of this entry »

CRAPL — Community Research and Academic Programming License

April 7, 2011

The Community Research and Academic Programming License (CRAPL) is an open source license drafted by Matt Might and is directed at researchers who produce code that is a byproduct of research.  This license is tuned to the current academic environment and its emphasis on publishing moreso than licenses like GPL, LGPL, and BSD.

Read the rest of this entry »

If you have inherently sequential problems I feel bad for you son…

March 24, 2011

…I’m running 99 jobs and not a glitch in one.  Thanks to HPCC for letting me run many different speech recognition configurations on many different audio files in parallel :)

Wiring a Shure PG30 Headset Microphone

March 15, 2011

I recently tried to rewire a Shure PG30 headset microphone so that it could be connected directly to a computer sound card via a stereo mini plug.  I had limited, but insufficient, success after some amateur tinkering.

Read the rest of this entry »

Situated Language Processing

February 24, 2011

One humanoid robot in a factory is about to be crushed by a falling box; the other is yelling, "Look Out!" Read the rest of this entry »

Second Order Cone Programming with CVXOPT

December 18, 2010

CVXOPT is a convex optimization package for Python that includes a Second Order Cone Programming (SOCP) solver.  The SOCP solver takes a set of matrices that describe the SOCP problem, but these matrices are different than the matrices usually used to express the SOCP problem.  This post walks through the simple algebra steps to find relationship between the two formulations of the SOCP problem.

Read the rest of this entry »

Soup of the Day Web Caching

December 8, 2010

Soup of the Day (SOTD) is an imaginary web caching strategy whose defining characteristic is to manipulate users  into requesting content from the cache in preference to content not in the cache.

Read the rest of this entry »

An anagram of “Speech Recognition” is “Incoherence Spigot”

November 27, 2010

That is all.