Welcome, Facebook friends.

Dear friends, with whom I have been sharing small episodes of my life on Facebook until recently:

As you know, there are many reasons why one may wish to quit using Facebook. I was not getting responses to my posts, and I had no way of knowing if they were actually being shown to anyone at all. It’s quite possible I didn’t respond enough to others’ posts, so I shouldn’t reasonably expect them to respond to mine, even if they were seen. However, I simply haven’t got the time to check Facebook like I used to, so that’s inevitable.

Continue reading

Posted in Family, Personal | 3 Comments

Music in My Life: Part 1 — the early years

Listening to music was very important in the home where I grew up, but performing music was not at all part of our lives.

My dad was too old to be a hippie himself, but was a psychology professor who was strongly influenced by his hippie graduate students, and became quite an avid record collector and listener. It seems like we listened to music every evening, at considerable volumes (not overly loud, but definitely the focus of attention).

His collection contained a variety of styles, but there were some important omissions:

  • Classical music: Classical was something that was played on that radio station, which my mom would sometimes pause on for a few minutes in the course of changing stations. It sounded pleasant enough to me, but nothing really grabbed me. It all kind of sounded the same.
  • Jazz: When my brother and I went through our dad’s entire 200+ album collection sorting it (a process that covered the entire living room floor with little record stacks) we uncovered a couple of Miles Davis albums: a relic of his pre-hippie past. Without our archaeological efforts these would never have been detected. (We kids found Sketches of Spain worthy of repeated listenings after that discovery, but Miles in the Sky was not.)

What his collection did contain would fall under the categories of Folk, Rock, and (to some extent) Country. While African-American artists were represented — I remember albums by Otis Redding, Aretha Franklin, and The Temptations in particular — the vast majority were by white performers.

I’m not sure exactly how young I was when I was trusted to put a record on a turntable and put the needle down, I was certainly doing it as a kid. I developed my own favorites and was able sometimes to choose what we would listen to. More often than not — and as I look back it was increasingly “not” as I got older — the choice was not mine, and I became increasingly annoyed at the music that was being forced on my ears.

As I look back, there is definitely a trajectory in the development of my musical taste which I hope to elucidate here, but it really wasn’t as focussed as it may appear to a reader. I want to start by mentioning something that doesn’t fit into my narrative — to illustrate this point, to get it out of the way, and to share a great piece of music I enjoyed as a child and still enjoy. The one Temptations album we had, Greatest Hits II, frequently found the record needle traversing its infectious grooves, usually guided by the hand of my brother or myself. All the tracks were great, but the superhero-themed Can’t Get Next to You stood out as one of the very best:

This was an exception, though. More common were the psychedelic rock albums, like the Beatles’ famous Sgt. Pepper’s Lonely Hearts Club Band, an album so popular I feel no need to elaborate. Instead I’ll use an example from The Rolling Stones foray into psychedelia, which has languished in obscurity, perhaps because of the unfortunate name choice of Their Satanic Majesties Request. There is nothing dark about the album at all; it perhaps the happiest and most positive the Stones have been. Here is their opening anthem, Why Don’t We Sing This Song All Together:

The extended reprise of that song, while not a stand-out favorite, was a track I definitely remember enjoying. It has, like many of its psychedelic-era counterparts, a quality I call “flow”: each part blends smoothly into the next with no jarring changes of context. The resulting loose organization has been derided as pointless meandering by some, but I enjoyed it, and still do.

Although I enjoyed most of the psychedelic rock we listened to, the stand out tracks for me were always the instrumentals. Here, from Country Joe and the Fish’s brilliant and eclectic I-Feel-Like-I’m-Fixin’-to-Die album, is the sole instrumental track, Eastern Jam:

Santana’s self-titled first album is largely instrumental, and one I really enjoyed. The one track I thought was best was appropriately entitled Treat:

Jethro Tull was another group I really enjoyed; so much so that I was inspired to choose flute as my instrument when I finally started playing one, in junior high school band. Once again, the instrumental tracks impressed me the most: from their Stand Up album, here’s Bourée (an interpretation of a piece by J. S. Bach).

My attraction to instrumentals is something I never clearly articulated, maybe even to myself, but I don’t know if that would have mattered. Our dad was the ultimate arbiter of what we listened to, and his tastes were progressing in quite another direction. Folk music, where the words were what was important and the musical accompaniment sparse, is what we listened to more and more. The rough voices of Bob Dylan and Johnny Cash with their solo acoustic guitars grated on my ears more times than I could possibly count. I re-imagined the Dylan lyrics To Be Stuck Inside of Mobile with the Memphis Blues Again as “to be stuck inside of this house with Bob Dylan on again”. The Nitty Gritty Dirt Band’s Will the Circle Be Unbroken could have been about the deepest circle of Hell. The Band’s Music from Big Pink was, if ears could smell, a big stink.

All of these groups have their merits, in fact they’re highly acclaimed in the styles they represent; I don’t mean to discredit them. My point is that, starting from a place where they weren’t that interesting, by force of repetition they became something I could only dream of escaping.

This is the end of Part 1. If there’s enough interest, I’ll start the next section with the first music I actually chose to purchase myself.

Posted in Uncategorized | Leave a comment

“Maggie Math”

It started with my younger son Duane asking silly questions, as 5-year-olds like to do. The question which started Maggie Math was “What is Maggie plus Maggie?” (Maggie is his younger cousin.)

In the course of playing along with this question (and other similar ones), my older son Henry (who’s 10) invented “Maggie Math” when he realized it was a fun way to explain binary arithmetic to his younger brother.

This is how Maggie Math works:

What’s Maggie + Maggie? Well, there’s only one Maggie, and since we can’t have two, Maggie + Maggie = Duane.

What’s Duane + Maggie? Since Duane and Maggie are different people, there’s no problem. Duane + Maggie is just equal to Duane and Maggie.

What’s Duane and Maggie + Maggie? Well, you can’t have two Maggies, and we know that Maggie + Maggie = Duane. So that gives us Duane + Duane. But we can’t have two Duanes, so that’s Mason (a family friend).

What’s Mason + Maggie? Mason and Maggie.

What’s Mason and Maggie + Maggie? Mason and Duane.

What’s Mason and Duane + Maggie? Mason and Duane and Maggie.

What’s Mason and Duane and Maggie + Maggie? Well, you can’t have two Maggies, and Maggie + Maggie = Duane. So that gives us Mason and Duane + Duane. But we can’t have two Duanes, and we know that Duane + Duane = Mason. So that gives us Mason + Mason. But we can’t have two Masons, because there’s only one Mason. So that gives us … Henry.

I didn’t even realize that Henry knew binary arithmetic before I heard him explaining Maggie Math. I had mentioned it before, but it didn’t really seem to ‘click’ at the time. Now he’s steeped in binary arithmetic. Duane can go thru the first steps of counting in Maggie Math, but then Henry tries to tell him about how it’s all really binary arithmetic and Duane gets all confused. I will advise Henry to be more patient with his pedagogy.

I guess every family develops their own stories and inside jokes. It seems that in this family we invent new forms of mathematics.

Posted in Family | Tagged , | 2 Comments

How to run a Minecraft 1.3 snapshot on Debian GNU/Linux

I’ve been wasting time playing Minecraft on my Debian box recently, and I wanted to try the new 1.3 snapshots. I found they couldn’t run with the same invocation as I had been using for the 1.2 release. I couldn’t find any help at all out on the web, so I had to puzzle it out myself. Hopefully these instructions will help someone else out there.

The 1.3 snapshots have a different main method and require some extra packages to be installed. In particular, the Lightweight Java Game Library (http://lwjgl.org/) needs to be installed.

On Debian, this is packaged:

apt-get install liblwjgl-java

The Debian package is missing something, though — more on that later.

You would also need the packages for OpenGL and OpenAL, but you probably already have those.

You need specify in your command line invocation where the shared libraries are that perform the JNI links to native code; the Debian place for this is /usr/lib/jni.

Finally, I have Oracle Java 7 installed in /usr/local/lib/jvm. I don’t know if that’s really necessary, but others have recommended this. I’m not going to document how to do that now — Google is your friend. Maybe later.

Ok, given all that, here’s the script you’ve been waiting for:

/usr/lib/x86_64-linux-gnu \
java -Xmx1024M -Xms512M \
-cp /usr/local/share/minecraft/minecraft.jar:\
/usr/share/java/lwjgl_test.jar \
-Djava.library.path=/usr/lib/jni \

Note that the LD_LIBRARY_PATH setting is needed for 64-bit OSes, but not 32-bit AFAIK. It’s relative to where you installed the jvm so adjust it as necessary.

But wait, there’s no sound! I really need to submit a bug on the Debian package, but here’s the workaround: download the binary package of LWJGL from http://sourceforge.net/projects/java-game-lib/files/Official%20Releases/. You probably want the same version as the Debian package you installed.

Now uzip it and copy native/linux/openal64.so (or native/linux/openal.so if you’re running a 32-bit system) to /usr/lib/jni/openal.so . Yay, sound!

Posted in Uncategorized | 5 Comments

Understanding the Monty Hall Problem

When I first heard about the Monty Hall Problem, the answer seemed unintuitive to me, as it did to famous mathematicians. At that time, I dismissed it without much thought.

When I encountered it again in a the book The Drunkard’s Walk: How Randomness Rules Our Lives, I decided I’d better come up with my own way to think about this problem so I could wrap my head around it.

The traditional statement of the problem is based on the old TV game show Let’s Make a Deal. The show’s host, Monty Hall, presents you with three closed doors. Behind one of the doors is a real prize (say, a car), and behind the other two are joke prizes (as the problem is typically stated, goats). Without being able to see behind any of the doors, you must choose one. Without any clue of what’s behind any door, whichever door you choose has a 1/3 chance of having the car behind it. For the sake of presentation, let’s say you choose door #1.

Now, Monty Hall opens one of the other doors, let’s say #2, revealing a goat. Then he offers you the chance to change your choice to the other unopened door.

Here’s the question: Are you better off switching doors, or does it matter? I, like many others, initially thought no, the odds are still 1/3 that the car is behind either unopened door, so it makes no difference if you switch.  The real answer, though, is that it’s to your advantage to switch: the probability that the car is behind the door you originally chose is still 1/3, but the probability it’s behind the other door is now 2/3.

Here’s the reformulation I came up with which makes it clear to me (and hopefully, you) that this is correct.

Instead of prizes behind doors, let’s say instead that Monty Hall has three balls in an opaque bag — one red and two white. The object of the game is to end up with the red ball.  First, you get to reach into the bag without looking and choose one ball, which you put in your own opaque bag.  Now, the probability that you have the red ball in your own bag is 1/3.

In our first version of this scenario, let’s now imagine that Monty Hall offers to switch bags with you. In this version, it’s irrelevant if you happen to end up with an extra white ball; the only thing that counts is whether you have the red one. Do you switch bags? Duh! It’s pretty obvious that, with two balls in Monty Hall’s bag, the odds are 2/3 that it contains the red ball. So of course you switch.

Now consider the second version: Before offering to switch bags with you, Monty Hall looks in his bag and removes a white ball. What does this change? You both knew that his bag contained at least one white ball, so it doesn’t change anything. The odds that the red ball is in Monty’s bag is still 2/3, and you’re still better off switching.

The set of two doors you didn’t choose is like the balls in Monty’s bag in this reformulation, and his opening of one of those doors to reveal a joke prize is like him removing a white ball from that bag.

Now it all makes perfect sense.

Posted in Uncategorized | 2 Comments

Family of Geese Killed by Speeding Car

[The following story is from my wife, Li Rong.]

As I drove home on Cleveland Ave, between County Rd C2 and County Rd D, on the opposite side of the road I saw a cloud of goose feathers fly into the air. When my mom screamed in the back seat, I nervously asked “what’s wrong?” Mom said, “Keep going, and don’t look back.” Through my rear view mirror, I saw four dead goose bodies lying on the road.  From the way the feathers were flying, I could tell they must have been hit by a speeding car.

On Cleveland Avenue, more and more cars come and go, more and more cars drive over the speed limit, groaning with their engines’ power, anxiously getting on 35W.

I still remember, when we moved to our new home two years ago, my parents were impressed with seeing wild creatures in the neighborhood. My mom told our newborn son “Look, Duane, the geese are eating food; you should eat too”…”Look, Duane, the geese are going home to sleep; you should sleep too.” When the goose families cross Cleveland Ave or County Rd C from time to time, the traffic usually yields to let them pass. My mom always said to my dad, “Americans are kind; you would never see that back in China.”

Just this morning we were pleased to see this family of geese happily eating in our front yard. This evening we’re heartbroken to see half of them murdered on our street.

Posted in Uncategorized | Leave a comment

Current project status

I’ve had an interest in CSound for a while now — the computer music program which can do just about anything, as long as you describe your instruments and melodies in its programming language. I have a special interest in playing with different tuning systems, especially the harmonic series.

A lot of CSounders seem to be more interested in sonic textures than in melodies, but at this point I really want to concentrate on constructing melodies and counterpoint in the scales I’m interested in. This is really difficult to do without some sort of graphical front end, of which there are a number — but none which really suit me.

I’ve pretty much decided I need something in the “piano roll” style: rectangular bars to represent each note, laid out on a grid with high notes towards the top and low notes toward the bottom, with time going from left to right and the whole grid scrolling to the right as time progresses.  This is a common idiom, found for example in GarageBand for the Mac or Rosegarden for Linux. Those are MIDI-friendly music programs and would take some effort to use outside of the standard 12-tone equal temperament scale. I particularly liked an old MIDI program I had for the Amiga, Music-X.  At the bottom of the piano roll, it had vertical bars representing the volume (actually, MIDI velocity) of each note. I found that looping a section of music while adjusting the volume of each note was invaluable for getting a level of expressiveness that I want to bring to my non-equal-temperament music.

Of the existing tools for CSound, blue has a piano roll widget which accepts different scales, albeit ones that are the same for each octave.  That would still work for me, but a couple of other things make it less than ideal: one is that the piano roll widget isn’t the main composition environment, the fragments you develop in piano rolls and all sorts of other widgets are represented as bars in a timeline. That is geared more to a different style of composition, but still plenty usable and perhaps even useful.  But the real deal-breaker with blue, for me, is the inability inside the piano roll widget to adjust the volume of each note.

Then there is Rationale, a CSound front end built with a sort of piano roll as the main interface, which is built with just intonation in mind and allows for the volume of each note to be adjusted.  The problem I found with it is that it has a different way of thinking about notes than I do: instead of representing a chord as a set of harmonic numbers like 10:12:15, I have to represent that as 1:1 6:5 3:2, changing the denominators all the time.

I could probably dig into Rationale’s source code and make it work for me, there’s a lot of code there and it does a lot of what I want. But it’s written in Python, and despite that being the favorite scripting language in the CSound community, I just can’t get too excited about diving into it.

I’ve decided to write my own GUI front end for CSound, and to incorporate another interest of mine in doing so by writing it in Haskell, a functional programming language that is growing in popularity. I don’t know Haskell or functional programming, so it may be a while before I can get even the simplest thing working, but I’m determined now and that’s the plan.  I’ve started reading the book in earnest and doing the exercises.

It all fits together.

Posted in CSound, Music Ideas | Leave a comment