What I’m doing & reading

I thought I’d post a few updates about what I’m doing these days. My consulting business continues to be doing well, and I’m about to start a new project for a large software company, which will involve lots of heavy XSLT work. In the mean time, I’ve been learning about how to develop apps for the iPhone and iPad, using a really excellent, free online course from Stanford, Developing Apps for iOS, by Paul Hegarty. Highly recommended. I’m also gearing up to go back to school part-time to get an M.A. in Digital Arts through Goucher College’s limited-residency/distance-learning “MADarts” program. I’ll be traveling to Baltimore next month for my first residency in this brand-new program and I’m really looking forward to it.

Here are some of the computer-related books I’ve been reading lately:

JavaScript is taking over the world, so we might as well make the best of it; Crockford’s book shows that there’s a lot to be happy about as long as you take a discriminating approach. Fowler’s book has lots of nice tidbits and insights on how to be an effective software developer, especially if you’re working for someone else. And Jenkins’ book is a fascinating study of how the role of media is changing in the age we live in, utilizing concepts such as “participatory culture” and “collective intelligence.” It’s obviously the most widely accessible of these books, with chapters about Survivor, American Idol, The Matrix, Star Wars, and Harry Potter. It’s a textbook for one of my first classes in the M.A. program, and I’m likely to blog about it some more in the future.


This blog is going to get a lot worse…

…before it gets better. That’s because I am casting my perfectionist tendencies to the wind and will be trying out lots of different things. Quite reasonable questions pop up in my mind such as “Why would anyone want to read this?” and “Is this post actually going to be useful to anyone?” For the time being, I am going to put those questions on hold. My aim, dear reader, is to get myself in the habit of blogging and of having an abundance mindset about all the things that I could possibly write about (especially relating to technology). I am sorry if this comes off as navel-gazing or as airing my dirty technical laundry (such as all the things I know so shockingly little about), but I am just going to have to run that risk. For my own benefit. And for the benefit of readers—if not you who are reading right now, at least the ones reading later on once I’ve really got my act together (as if!). In the mean time, I’ll aim to fail early and fail often.

I’m self-employed and frankly lonely when it comes to geeking out, so I am going to start geeking out in public and see what happens. Maybe it will add an extra sense of accountability about safeguarding some of my still-unbacked-up data, or an extra level of motivation to learn more about the areas I feel deficient in. And maybe it will be intrinsically rewarding and fun. And maybe someday (I hope) I’ll start writing some things that will be interesting or useful to some readers—even if not regular readers, but someone who’s just Googling for the right solution to the problem they’re facing right now.

I’ve written before about my blogging confusion. But now I’ve got a little bit more focus and motivation, even if I haven’t quite articulated what it is, even to myself. For now, I can tell you it has something to do with this: celebrating technology.

Okay, that’s all. You’ve had your fair warning. :-)


Test post from OneNote

This is a test post from OneNote. Let’s see how the various things look.


Here’s an outline, including some checkbox TODOs

Indent level 1 unchecked

Indent level 2












The end.

Update: Hmm. Apart from the hideous formatting-ridden HTML markup (should I really be so surprised?), the effective formatting isn’t faithful to the original anyway. (There are extra line breaks for one thing.) This will need some work if it’s going to work at all. I suspect that using this “Send to Blog” feature will be an occasional choice at best. It was quick and easy though…I might have to look into the possibility of a hooking into the process. I should also try upgrading to Office 2010 first; maybe things have improved in this area… And I really wish Microsoft would release OneNote for the Mac, but that’s another story…


Basic, handy rpm commands

Even though I’m comfortable on the command line (and regularly use Cygwin on Windows, and Terminal on the Mac), I haven’t used Red Hat Linux (or CentOS) since probably 2003, and so I’m not very familiar with rpm (“RPM Package Manager“, or formerly, “Red Hat Package Manager”). I started by looking at the man page, which is a great way to look up a particular command-line argument but is not necessarily the best way to learn just what I need right now. For that, Google often works better, and indeed this Quick Guide fit the bill perfectly.

After installing MarkLogic Server on my new EC2 instance, I wanted to poke around some. Here are the simple commands that came in handy:

rpm -i MarkLogic-4.2-1.i686.rpm
Installs MarkLogic from the RPM package
rpm -qa
Lists all the packages installed on this machine (“query all”)
rpm -qa | grep MarkLogic
Searches for “MarkLogic” among that list (revealing its title as “MarkLogic-4.2-1″)
rpm -qi MarkLogic-4.2-1
Shows info about this package (“query info”)
rpm -ql MarkLogic-4.2-1

Shows all the files created as a result of installing this package (“query list”)

Yep, very basic and nothing to write home about. But blogging about it might help me remember. Most Unix commands have a ton of options, many of which I’ll never need. But it’s good to be able to remember some of the most common ones and only visit the man page when I need to do something unusual.


Back in the blogging saddle

I’ve got lots of ideas swirling in my head about what to blog about here. Mostly they have to do with what I’m currently learning about, particularly as it relates to technology. One idea I have is to use OneNote to track what I’m doing and then publish highlights. I heavily depend on OneNote for my day-to-day work, particularly for keeping track of my daily and weekly goals and time usage. (Maybe I’ll share my approach on that sometime.) But another way I’ve used OneNote is to help keep track of what I’m doing on an even more granular basis—to the point where I’m constantly switching back into OneNote after each little step I take. Programmers often talk about their own “stack,” meaning what they’re trying to keep in their head at any given moment, but I’ve found that OneNote works great as a persistence framework for my brain—not only for long-term storage but also as a short-term way to boost my mental RAM.

I’m not yet blogging from within OneNote, so that will be one of the next things I’ll have to look into (and updating the website design).

Until then, I’ll keep posting some random things I’m learning—in a distinctly non-comprehensive way.


Joomla as a spiritual practice

I need to make a confession. I have a very low tolerance for badly designed user interfaces and overly complicated mis-uses of technology. We are using Joomla for The Trillium School website, and all I wanted to do was add a simple page announcing our Holiday Craft Camp next week. I’m sure it’s not just Joomla’s fault; it’s also the way our designer had shoehorned everything into Joomla’s structures. But in any case, things are way harder than they need to be. I update the website just infrequently enough that I tend to forget how things work every time.

Well, this last time, I started to notice my blood pressure rising and decided to step back, cool off, and do some thinking. “I really don’t want to learn Joomla right now; I just want to get this page created.” I didn’t have much else that’s pressing today, so I decided to take this as an opportunity to cultivate patience. Patience is often thought of as “grinning and bearing it” or waiting reluctantly with clenched teeth. But I like this definition better: “Patience is the ability to dwell gladly in the present moment when we have some desire, or what would normally be a reason to desire, to depart from it.” (Robert C. Roberts in Strengths of a Christian, p. 53)

One of the sources of my resistance is that I prefer to learn things comprehensively—or at least comprehensively within some well-defined range. That’s why I tend to enjoy smaller programming languages (like XSLT 1.0) and domain-specific languages. Joomla is a full-featured Web content management system with lots of bells and whistles. I’m not planning to use it for anything other than the school website I inherited. I’m not very inspired to learn it.

So today I found myself whining, complaining, and wanting to distract myself. This feeling caught me by surprise, because lately I’ve been really loving technology. There are so many interesting programming languages to learn, so many powerful tools and frameworks to unleash one’s creativity on. In fact, technology has been really exciting for me lately, even though it seems like it’s been years since I felt this way. I think the key for me has been gratitude. Rather than trying to hoard knowledge or get overwhelmed by all the things I won’t ever possibly learn, I somehow was able to let go of all that and begin to receive everything as a gift from God. Programming languages are part of the wonderful world we live in. I don’t have to walk in the woods (although that’s nice too) to appreciate and get excited about this planet we live on.

Learning things comprehensively can be useful (and fun), but I’m finding it’s not a good general policy to live by. For one thing, most things are impossible to learn comprehensively. For another, I don’t really operate this way. There are lots of technologies I merely learn just enough to “get by”—without understanding some of the fundamentals that would be required if I had to work with these technologies everyday: Ethernet networking, email protocols, DOS batch files, etc. So I’m fooling myself even when I say that’s how I prefer to learn things. There are lots of things I’m not an expert in, and that’s okay. :-)

Joomla can be the same way; the key is to just take some notes so I can refer back to them the next time I have a task to complete. This doesn’t have to be as painful as I’m making it. There is an underlying logic, and I can learn just enough to get by, capturing the knowledge in OneNote (what a great technology!), so I can refer back to it next time and save myself a lot of headaches.


Running and hosting MarkLogic for free

Over the past year, I’ve done some consulting for MarkLogic Corporation, including some development using their flagship product, MarkLogic Server. I created the back-end content management system for their Developer Community website. It was a real joy working with the software, particularly with its new support for XSLT. (You can read more about my excitement here.)

Since then, I’ve toyed with the idea of creating an application for The Trillium School (which I’ve blogged about elsewhere) to help manage Judicial Committee (JC) meetings.

Since I had created a basic but flexible framework for browser-based XML editing (using HTML forms) in the RunDMC project, I thought it would be nice to reuse that for the JC app for Trillium School. Now, Trillium doesn’t have a big budget, and this would be a volunteer project, so cost is a big consideration. Luckily, the free Community License for MarkLogic Server seems to fit the bill, allowing the development of non-commercial/personal applications. So licensing doesn’t appear to be an issue. Hosting, on the other hand, can be costly. Taking into consideration MarkLogic’s system requirements, we were looking at $50–100 per month for hosting fees. At that point, I decided that maybe MarkLogic was overkill for what I wanted to do.

Even so, I still liked the idea and was hoping to figure out a way to do it (ideally without having to host a server on campus or in my home). Then, in the last couple of days, I learned about the Amazon Web Services free usage tier. And I came across Mike Brevoort’s immensely useful screencast about how to get MarkLogic Server running on one of the Amazon EC2 “micro-instance” servers. (Mike is the one who beat me at the DemoJam earlier this year but then amazingly and graciously offered me the iPad, which I then dutifully gave to my wife.) Although I had created an AWS account in the past, I had never used EC2, so I wasn’t sure what to expect, but Mike’s video made it really easy and I had MarkLogic up and running on CentOS within 20 minutes. Mind you, at 613MB of RAM, the micro-instance doesn’t actually meet MarkLogic’s official system requirements, so it’s unsupported. But for the small application I’m interested in creating (small data set with very few users accessing the site approximately once per day), it just might work. So far, the server seems to be running fine. The next step is to create the application.

So I’m pretty stoked about playing with this. If you’re interested in trying this out yourself, just follow the steps in Mike’s screencast: Installing MarkLogic on an EC2 Micro Instance – Free for 1 year!


Review of The Pillars of the Earth

No spoiler alerts here. I read the first quarter of this book, and that was enough for me. Maybe it was because I had just finished reading The Grapes of Wrath for the first time, re-acquainting myself with fiction’s potential to uniquely and powerfully communicate truth, as it does in Steinbeck’s classic. Of course, fiction’s potential isn’t always realized.

It sounded great in theory: a historical novel set in Medieval times about a master builder whose chief aspiration in life is to build a glorious, magnificent cathedral. In practice, Ken Follett’s The Pillars of the Earth is full of patronizing plot tricks; shallow, cartoonish characters; gratuitious sex and violence; and wearisome, dull-headed internal conversations. In short, it is titillating and boring at the same time. Like watching TV. Since the miniseries just came out, I figure I’m better off closing the book and watching it, since that will cost me a lot less time. Follett observes in the preface that this is his best novel, giving me an opportunity to save yet more time and pick someone else to read.


I’ve started another blog

Check it out here: Lenz on Learning: Reflections on parenting, education, kids, and creativity. Here are the article titles so far:

I’ll probably still blog here on miscellaneous topics on an occasional basis (as always), so feel free to subscribe to both.


Watching The Atheism Tapes

I just began watching The Atheism Tapes (on Netflix), by Jonathan Miller, a series of interviews with prominent atheist intellectuals. In the first episode, Colin McGinn reviews some standard arguments for and against the existence of God.

He puts forward lack of positive evidence as his principal reason for not believing that God exists. Paraphrasing Bertrand Russell, he says, “there’s no more reason to believe in the Christian God than in the Greek gods.” I think this is a silly assertion. Nobody believes in the Greek gods today. However, many millions of people do believe in the Christian God today. He may not think that’s a good enough reason to believe in God, but it’s a big jump to say there’s “no evidence”. If he’s talking scientific evidence, then I grant him the argument. Scientific evidence is a very narrow sort of evidence, as science is a very narrow sort of inquiry. But the continuing faith of millions over thousands of years does constitute some sort of evidence.

Later in the interview, he admits that people do have a sort of “cosmic loneliness”, or angst. He sees this as an explanation for why people have such a need for believing in God. The belief appears to satisfy their deep need for connection. This is another sort of evidence. You can use it to either explain people’s need to believe despite God’s non-existence, or you can view it as another sort of evidence for God—a being which, when believed in, “satisfies a deep craving in the human soul”, as McGinn puts it.

McGinn is most persuasive, I think, when he brings up the problem of evil. This should be truly challenging to any Christian or anyone who believes in the existence of a good, all-powerful God. Why would a good, all-powerful God let evil things happen in the world? McGinn notes the standard, ultimately unsatisifying explanation offered by theologians: God gave us free will, and we’re the ones that mess it up. Then what about natural disasters? Ultimately, the problem of evil is a real problem for faith. One of my beliefs as a Christian is that whereas God is all-knowing, we are not. And we’re not particularly meant to be. There are things we don’t understand and won’t ever understand in this life. Atrocities such as holocausts happen. There is a profound potential for evil in the human heart. These are things we have to contend with, even if we can’t fully explain them. If you’re going to believe in a religion, make sure it’s one that acknowledges and contends with the reality of suffering in the world and evil in the human heart—even if you were born into a free, wealthy society such as America where we are protected from much of the world’s suffering.

I have friends, family members, and colleagues who are atheists, and I want to better understand their point of view. I also want to find ways to address my doubts and to bolster my own faith in the face of unbelief. Despite my natural affinity for philosophy and philosophical arguments, I don’t put my hope in them as a primary way to grow closer to God (which is a primary goal of mine). They do play a minor role though; they fit in somewhere. Otherwise, I wouldn’t feel compelled to write about this topic. Just know that I haven’t even begun to expound on why I do believe, and I can’t necessarily explain all the reasons why I’m compelled to believe. (For one thing, I believe God had a large role in my choosing to believe and continue to believe, and that’s hopelessly circular from a philosophical perspective.)

Comments (7)

How to generate GUIDs in XSLT 2.0, using Saxon.NET

I have a project where I need to generate file names that are GUIDs. I’m using Saxon.NET. With the help of Google, I figured out how to do that, but it wasn’t immediately obvious. Hopefully this post will make the solution easier to find for other people trying to solve the same problem.

This is just one example of a .NET function you can access as an extension function in XSLT 2.0, so a more general-purpose treatment of .NET extension functions might be more useful. (I defer to “Writing extension functions for .NET” for that.) But if you’re like me, you spend most of your coding time within the safe, comfy confines of pure XSLT. And you do very little .NET development. So to ensure your continued comfort, here’s how you can generate a GUID in Saxon.NET (relevant parts highlighted):

<xsl:stylesheet version="2.0"

  <xsl:output indent="yes"/>

  <xsl:template match="/">
        <xsl:value-of select="guid:NewGuid()"/>
        <xsl:value-of select="guid:NewGuid()"/>
        <xsl:value-of select="guid:NewGuid()"/>


Here’s an example result from applying this stylesheet (to any input document):


All you do is call the .NET platform’s System.Guid.NewGuid() method as an extension function. The function’s namespace URI identifies for Saxon what assembly and object class you’re interested in (System.Guid in this case).

Thanks to M. David Peterson: I found this usage buried in a code example in his lucidly-titled blog post: if ((OOP + FP + AOP) == XSLT 2.0) then ‘Composable Language’ else ‘Try Again’.

Comments (2)

Some updates

Short blog post, in bullet points:

That’s all for now. See you again in 6 months. :-)

Comments (1)

Does Christianity make sense?

American Christians—we are disconnected from our heritage. That’s an understatement. Do we even have a collective consciousness? Bible stories are for Sunday school. You learn them once as a child and then recall them again during Sunday morning services. When I was in Ireland, I was struck by the religiosity built into the décor of people’s homes. Pictures of the Virgin Mary seemed to grace every wall. It was a haunting presence, and certainly very culturally foreign to me. I suspect that’s not just because I didn’t grow up in the Roman Catholic church. We Christians in America don’t normally wear religion on our sleeves. We blend in. Our houses don’t look much different than any other. Religious icons, if our particular tradition doesn’t denounce them altogether, stay safely tucked away in cathedrals and worship centers.

My faith has been on the rocks lately. The basic Christian message in America, and all the cultural context with which I associate it, are divorced from its rich, Jewish heritage. We don’t have religious forefathers. We’re too American for such things. When I compare our religiosity to other areas of the world, I wonder what is distinctive about our collective consciousness. What do we take for granted? I think they’re probably the same things as most Americans: freedom, individualism, a value placed in the “work ethic”, financial success, etc. There’s nothing particularly Christian about these things. American, yes. Christian, no.

Why have I been struggling with my faith? Because when I look at the stories of the Bible, especially those of the Old Testament, they seem so complex and detailed and messy, but the American Christian message is so simple and pristine and Americanized. It doesn’t add up. Are we joking? Maybe we should stop using the Bible in church. Our message would be much easier to convey that way. The Bible just raises too many questions. But more than that, it’s too culturally foreign. It’s way too messy and complex. And arbitrary. Who are these people these stories are about, and why should I care? What do these ancient texts have to do with my life in America? Aren’t they just archaic instruments of power, used over the centuries by the Church to bend people to obedience (and break them if necessary)? Why in the world would I want to associate myself with that heritage?

Simply Christian: Why Christianity Makes Sense, by N. T. Wright, came on my doorstep just in time, it seems. It starts off quite generically and doesn’t dive into Old Testament stories. Clever, in a way. Draw people in and then pounce with the religious content. But one thing Wright said really struck me. Really, the entire section “The Glorious Complexity of Life” (pp. 48-51) is what struck me. I’ll quote a large chunk from the middle of it:

We should expect the world and our relation to it to be at least as complex as we are. If there is a God, we should expect such a being to be at least as complex again.

I say this because people often grumble as soon as a discussion about the meaning of human life, or the possibility of God, moves away from quite simple ideas and becomes more complicated. Any world in which there are such things as music and sex, laughter and tears, mountains and mathematics, eagles and earthworms, statues and symphonies and snowflakes and sunsets—and in which we humans find ourselves in the middle of it all—is bound to be a world in which the quest for truth, reality, for what we can be sure of, is infinitely more complicated than simple yes-and-no questions will allow. There is appropriate complexity along with appropriate simplicity. The more we learn, the more we discover that we humans are fantastically complicated creatures. Yet, on the other hand, human life is full of moments when we know that things are also very, very simple.

Think about it. The moment of birth; the moment of death; the joy of love; the discovery of vocation; the onset of life-threatening illness; the overwhelming pain and anger that sometimes sweep us off our feet. At such times the multiple complexities of our humanness gather themselves together and form one simple great exclamation mark, or (as it may be) one simple great question mark—a shout of joy or a cry of pain, a burst of laughter or a bursting into tears. Suddenly the rich harmony of our genetic package seems to sing in unison, and say, for good or ill, This is it.

We honor and celebrate our complexity and our simplicity by continually doing five things. We tell stories. We act out rituals. We create beauty. We work in communities. We think out beliefs. No doubt you might think of more, but that’s enough for the moment. In and through all these things run the threads of love and pain, fear and faith, worship and doubt, the quest for justice, the thirst for spirituality, and the promise and problem of human relationship. And if there’s any such thing as “truth,” in some absolute sense, it must relate to, and make sense of, all this and more.

Stories, rituals, beauty, work, belief. I’m not talking just about the novelist, the playwright, the artist, the industrialist, the philosopher. They are the specialists in the different areas. I’m talking about all of us. And I’m not talking just about the special incidents—the story of your life-changing moment, the ritual of a family wedding, and so on. I’m talking about the ordinary moments. You come home from a day’s work. You tell stories about what has happened. You listen to more stories on television or radio. You go through the simple but profound ritual of cooking a meal, laying the table, doing the thousand familiar things that say, This is who we are (or, if you’re alone, This is who I am). This is where we are ourselves. You arrange a bunch of flowers or tidy a room. And from time to time you discuss the meaning of it all.

Take away any of these elements, as frequently happens—take away stories, rituals, beauty, work, or belief—and human life is diminished. In a million ways, small and great, our highly complex lives are made up of the interplay of these things. The multiple elements of life we noted a moment ago tie them all together in an ever-changing kaleidoscopic pattern.

That’s the complex world to which the Christian story is addressed, the world of which it claims to make sense.

What a wonderfully effective frame in which to dive into the history of Israel. Wright’s book attempts to answer the question that has been plaguing me lately: How are the entire range of human experience and of the wonders of the natural world accounted for and explained by Christianity, the faith that I ascribe to? The way he sets the stage above, and indeed in the entire first of the book’s three parts (“Echoes of a Voice”), are at least tentatively scratching the itch I’ve been feeling. As I continue to read, I will be pondering two questions:

  1. Does this really make sense?
  2. How might Christians in America start embracing and engaging the cultural distinctives and particularities of their faith’s heritage?

Answering not only question #1 but question #2 also is going to be essential for the survival of my own faith. Continuing with the status quo just seems dishonest to me. Incongruent. Unsustainable.

Comments (10)

Keyboard coloring variations

A common way to help users orient themselves on the chromatic Janko keyboard is to color some of the keys black, corresponding to the black keys on the traditional diatonic piano keyboard. (The actual Janko keyboard doesn’t use narrower keys on the upper row, so the pictures below are a bit misleading in that regard.)

Below are six keyboard coloring schemes. The first three are ways of coloring a chromatic keyboard. The second three are ways of coloring a diatonic keyboard. Here’s a legend for the six variations below:

  1. Chromatic keyboard with chromatic coloring
  2. Chromatic keyboard with diatonic coloring
  3. Same as #2, using opposite colors
  4. Diatonic keyboard with diatonic coloring
  5. Diatonic keyboard with chromatic coloring
  6. Same as #5, using opposite colors

[I'm trying out a new drawing program, so please excuse the big "UNREGISTERED" watermark. If I end up registering it, I'll replace the image, or better yet, break it into six images. Okay, I know. It's ridiculous. But I need to go to bed.]

Keyboard coloring experiments

These were inspired by a photo that Paul Morris posted to the MNMA forum, in which he had physically used black tape and white tape to achieve the coloring in #5 above on his traditional keyboard.

Comments (4)

Manual symmetry

A few weeks ago, I was sitting at the piano and contemplating what I had been learning about the Janko keyboard. I was thinking about all the different scale patterns on the traditional piano keyboard and how different they are. There are 12 of them. (I would tend not to count the minor key scales separately, since they’re essentially just offsets from the major scale, as are the other modes.) Johannes Drinda introduced the Janko keyboard to me and in that same email wrote:

The advantage of the uniform Janko keyboard pattern is mind-boggling:
The Janko keyboard pattern does away with practicing scales, would you believe?! This is the true reason, why so many hobby musicians (like me!) got stuck with playing mostly in C-major & A-minor scales and lost out on a great deal of musical joys and creativity.
With Janko one only needs to learn one major and one minor scale-pattern. From then on one can play all 24 major & minor scales.

As I sat at the piano considering these words, I realized that there are really twice as many scales as that, if you count both hands separately. My left hand is not a copy of my right hand. It’s a mirror image of it. The muscle movements and fingering for playing D-flat major in my right hand are much different than the movements and fingering for playing it in my left hand. So then there are actually 24 different scale patterns to learn (12 for the left hand, and 12 for the right hand), or if you count major and minor scales separately (as Johannes did in his email above), then there are 48 separate scales to learn (24 for the left hand, and 24 for the right hand).

The fact that one hand mirrors the other also reminded me of Vincent Persichetti‘s “Mirror Etudes”, a selection of which I played in my junior or senior recital in college (I can’t remember which). One thing I liked about this piece is that all I really had to do was learn the right hand, and then make the same movements in my left hand, taking advantage of the fact that the piano keyboard mirrors itself (pivoting around D and A-flat). Persichetti used this algorithmic device (where one hand’s part is a simple function of the other hand’s part) to very nice effect, perhaps in some ways in spite of the device.

The next thought I had was: “What if each hand had its own keyboard, so that the same movements and fingerings would produce the same notes?” If I traverse the five-finger position from my thumb to my pinky in my right hand, then the pitches go up (get higher). On a regular piano, if I do the same thing in my left hand, they go lower. That’s the mismatch. What if they both went higher, so that playing a given part in the right hand felt exactly like playing that part in the left hand? I then supposed that this would require two different keyboards: one for my left hand and one for my right hand. The right-hand keyboard could be the “normal” one, and the left-hand keyboard would be reversed: moving to the left causes the pitches to rise, and moving to the right causes them to descend. We could then speak, instead of moving left or right, of moving outward or away from the body (ascending in pitch), and inward or toward the body (descending in pitch). With a setup like this, if you act as if you’re playing the Persichetti etudes on a traditional keyboard, you’d now actually be playing both hands in unison (robbing the piece of its character, but that’s not the point).

Google can have a tendency to quash creative thinking. What seems like an original idea turns out to be not so original. Then again, it can also have a validating effect. Regardless, someone has already had this idea (and patented it). There’s also a diagram showing how the left-hand keyboard is re-mapped. Actually, now that I look at the diagram, I see that it’s not quite the same as what I had in mind. I was thinking of just reversing a traditional piano keyboard. The diagram for this patent shows a 6-6 pattern (like Janko) for both keyboards. So in that case I suppose you could truly say that the user would only need to learn 1 single diatonic scale pattern, as opposed to 24. Not bad.

But that’s not all. A pianist named Christopher Seed has actually built a left-handed piano. (Be sure to check out his videos page too, where he shows off his ambidexterity.) Not only that, but his website offers a simple hardware module called The Keyboard Mirror that transforms a MIDI keyboard into a left-handed (reversed) MIDI keyboard! This probably wouldn’t be too difficult to implement in software too. So to try my idea out, all I’d need is two MIDI keyboards, one unmodified and one with the Keyboard Mirror plugged into it. To keep things really interesting, I could try switching them around: not only right/normal, left/reversed; but also left/normal, right/reversed.

I just had a funny thought: playing Persichetti’s Mirror Etudes on a left-handed piano would be almost exactly like playing them on a traditional piano! (Except that when you try to voice the upper parts, you’d start wondering why the bass part is getting louder!)

Now, for a real mind-bending exercise, try playing the Mirror Etudes using a left-handed (reversed) keyboard for the left hand and a traditional (not reversed) keyboard for the right hand. Of course, that seems about as sensible as using Vim with a Dvorak keyboard.

Update: When I wrote that last paragraph earlier tonight, I hadn’t realized that playing the actual Mirror Etudes using symmetrical manuals would be “as if” you were playing both hands in unison on a traditional keyboard. The simplicity of this two-way function (reverseHalf mirrored = unison; reverseHalf unison = mirrored) obviously hasn’t sunken in yet, since it’s still all just up in my head. Yes, I’ve gotta try this out!


6-6 version of Klavarskribo

There has been some recent discussion in the MNMA forum about an alternative version of Klavarskribo that its inventor (Cornelis Pot) had designed for chromatic, 6-6 keyboards (i.e. keyboards having 6 white keys and 6 black keys in each octave, as opposed to 7 white keys and 5 black keys). Below is my attempt at reconstructing an image from a verbal description (posted in the forum) of an image that was published in a Dutch article in the February 1972 issue of Klavar-Nieuws:

Version of Klavarskribo for 6-6 keyboards

The above example contains all 12 major triads (with doubled roots), traversing over them in two sequences that correspond to the two whole-tone scales. As you can see, there are just two keyboard patterns to learn. (With a Janko keyboard that has more than just two rows of keys, then there’s really just one keyboard pattern to learn. To move up a half step, you’d just shift from the first and second rows to the second and third rows, keeping your hand in the same position.) A comparison with the Klavarskribo equivalent for the traditional piano keyboard shows just how irregular the traditional keyboard is, and how many patterns you have to learn within those same 12 keys (for chords, scales, etc.).

Below are the first six chords (in regular Klavarskribo notation), corresponding to the whole-tone scale starting on C. One thing that was apparently not made explicit in the Klavar-Nieuws article was which key is indicated by the thicker vertical lines in the 6-6 notation above. In my transcription to regular Klavarskribo, I just chose a mapping: B for the thicker lines so that C lands just to the right of each thicker vertical line in the 6-6 notation. Thus, the first sequence would then start with the C-Major chord:

Traditional Klavarskribo notation for 7-5 keyboard (example 1)

And here’s the second sequence, traversing the whole-tone scale starting on D-flat:

Traditional Klavarskribo notation for 7-5 keyboard (example 2)

As you can see, there’s nothing in these sequences that approaches the regularity of the 6-6 keyboard patterns. There’s a lot to discuss in comparing the two keyboard layouts—enough to leave for another blog post.

The message in the MNMA forum that described the 6-6 Klavar notation contained lots of fascinating insights, along with quotes relating to the 6-6 keyboard from a letter written by Pot. I wish I could link to it directly. The problem is that the MNMA forum messages are currently only accessible to members (although anyone can join). That may (hopefully) change in the near future and in fact is being discussed on the list right now.

Comments (1)

Blogging confusion

My blogging history has been erratic. In one month, I have probably doubled the number of posts I’ve made since I started this blog in 2004. That was intentional of course, as I committed to 30 days of blogging this month. I am not constraining myself to a particular topic, although I did see this as a way to help sustain my momentum on the PianoNinja project. And it certainly has helped me in that regard.

But tonight I am tired, preoccupied with rodent problems, upcoming business trips, vacuum cleaner shopping, etc. So I’m not going to try and eek out any Klavarskribo-related wisdom, for example.

At some point, I’d like to figure out what my blogging philosophy is, as I still haven’t been able to figure it out. That’s the main reason I’ve posted so infrequently. Who I am I writing for? Myself? Other people? Which people? Especially when getting started, it seems like no one is really out there, and so I feel like I’m just writing to myself. On the other hand, anyone in the world could be reading this, so I’m simultaneously crafting my online identity for the whole world to see. Which aspects of my life or work or interests do I want to share? I’ve never really decided, so I just put my name as the title of this blog, to keep things open. But then again, to what extent should my blog be about my identity anyway? Having my name at the top seemed like a good way to keep things open-ended, but now I’m thinking it too much implies that *I* will be the primary topic or focus of the blog.

Maybe having separate blogs, each with a more narrowly defined focus, is the answer. My attitude when writing a book is to serve and provide value to my readers in the best way I know how. Why should blogging be any different? I may decide to nix the whole artificial quota idea too (once per day), which can have a tendency to result in aimless posts like this one. But I guess that’s why it’s called a 30-day trial.

Comments (2)

MNMA -> The Music Notation Project

Since I recently posted about the MNMA (Music Notation Modernization Association), including its mission statement, it seems appropriate to forward on the announcement that the MNMA has disbanded and a new organization has emerged to take its place: The Music Notation Project.

The new mission statement from the website is as follows:

The Music Notation Project seeks to raise awareness of the disadvantages of traditional music notation, to explore alternative music notation systems, and to provide resources for the wider consideration and use of these alternatives. We hope our efforts will help make reading, writing, and playing music more enjoyable and easier to learn.

Today’s letter detailing the announcement hints at what some of the practical differences will be:

While we are still interested in research that evaluates different [notation] systems, we believe we can best further such comparative work through the development of software that can rapidly convert a lot of music into a wide variety of systems.

I think this makes a lot of sense. New notation efforts should take new technology into consideration and benefit from it.

The other practical difference, apart from having a new, nicely designed website, is the name change. “The Music Notation Project” rolls of the tongue much more nicely than “Music Notation Modernization Association”. I was just joking today that the name is a bit “shun”-heavy. Well, they fixed that now. :-)


Ninja pain

This is how the PianoNinja is feeling tonight after suffering a difficult blow:

Out-of-sorts ninja

We had a little setback involving lost code. Ironically, this happened when I was trying to set up version control to guard against this very thing. I’ve posted a message to the user’s list for the IDE that failed to give me a warning before deleting all this naive user’s code, in hopes that similar mistakes by other users can be prevented. Hindsight is 20/20. I should’ve backed it up before trying to…back it up. It would also have been good to have Time Machine set up already, but I hadn’t done that either.

Thankfully, I did still have an older version of the code from before I switched over to the development environment that I’m now using, so I don’t have to start totally all over. And you can be sure that I have already secured that code into version control on a server machine so that I can continue from now on from a solid base.

How bad is it? Well, we were on Video #7. Let’s just say we’ve now reverted back to Video #3. In other words, all the code I wrote in the last two weeks is gone.

Maybe this is a blessing in disguise. Sure, I learned a lesson and I won’t make this mistake again. But the blessing might be that my continued dependency on MIDI files as the game’s underlying format is now that much less alluring. The MIDI crutch has been snatched out from under me. I don’t need to wrest myself from the MIDI code so I can move onto a better way. The code has wrested itself from me…

I was going to add bar lines tonight. Oh well, those can wait.

Before you know it, the ninja will be feeling better than ever.

Comments (1)

PianoNinja Video #7: Notation-consistent note releases

Okay, this post is just to complete the thought I’ve been exploring over the last couple of posts. I wasn’t up for much heavy thinking tonight, so I decided to just download a free MIDI editor and normalize the durations of the notes in the Chopin Waltz MIDI file so that it had no more staccato releases in the first section of the piece. Now the visual note releases reflect the actual notated durations (except that some Klavarskribo continuation dots are still missing; I haven’t implemented those yet). I wanted to see if this helped make it easier to “see” the beat:

Video #7: Notation-consistent note releases (Quicktime streaming)

I think it works pretty well for this piece of music. The sudden flash of each note release now coincides with the attack of the next note. I think it now looks smooth and rhythmic, which is what I was hoping for.


« Previous entries Next Page » Next Page »