OS/2 – 25 Years Later

I almost missed an anniversary. Last month was the 25th anniversary of OS/2. I suppose that’s understandable. After all, who cares about OS/2 anymore?

Well, I still remember OS/2. I used it on my home computer up until June 1998. By then, the writing had been on the wall for years. But rather than turn to Windows, I put Linux on my home computer. My first reaction after booting up Red Hat 5.2 for the first time was: What the heck am I getting myself into? However, KDE version 1 was released just three weeks later, and that made Linux much easier to use. Not as easy as OS/2, but still acceptable. And unlike OS/2, interest in Linux was increasing.

At IBM, I worked with someone who was at the meeting where Microsoft effectively told IBM that their OS/2 partnership was over. And I still remember his description of the meeting. Both sides presented their status. After Microsoft presented their status, the IBM’ers present slowly began to understand the implications of Microsoft’s position. Meanwhile, on the other side of the room, the Microsoft employees were smiling giddily, knowing full well that they were shafting their loyal partner.

After the “divorce”, Microsoft did everything in their power to stop OS/2 from gaining any traction. But OS/2’s failure in the market wasn’t entirely Microsoft’s fault. IBM’s sales division didn’t know how to sell it. And later on, Windows was adopted as the standard workstation for all IBM employees. Clearly, the OS/2 supporters within IBM were a small, albeit dedicated, minority.

There were broader implications. At the time, I was working on the AS/400. Penetration of OS/2 within AS/400 shops was practically zero. Microsoft had pretty much 100% of the desktops within that market. And yet, few people listened to the warnings that the desktop was a beachhead for Microsoft’s incursion into the SMB market. And over time, as many of us predicted, Windows became more and more prevalent in that market, displacing AS/400 installations (and later, iSeries). And now, interest in IBM i is way down. Perhaps the only thing keeping IBM i alive now is the fanatical devotion of it’s remaining users.

What would have happened if Microsoft didn’t go their own way? Would we all be using some form of OS/2 today?

Cheers! Hans

Adventures in desktop Linux

I’ve been using Linux now for about 14 years. Previously, I was using OS/2. So when I tell people “I don’t do Windows”, it’s a legitimate statement. Linux has matured a lot during the past 14 years, however, it is still often an adventure best suited to the tech-savvy.

Take last week: I booted up my Linux box only to see a frowning face and the message: “Oh no! Something has gone wrong. A problem has occurred and the system can’t recover. Please contact a system administrator.” System administrator? In this house, that’s me! I could boot into a failsafe session, but with a degraded video mode. Well, I’m no X11 configuration geek. Heck, I skipped openSUSE 11.4 since I did’t want to dive into video driver configuration. So I reinstalled openSUSE 12.1.

The reinstall went fine. The openSUSE 12.1 installer is perhaps the best one yet! And things were working well even after loading all the patches. But after loading the nVidia driver, I saw that frowny face again. After yet another reinstall, I noticed that the default video driver, nouveau, looked pretty good, albeit with one or two rough edges. I reported the problem to nVidia, but I’m not sure if it’s worth the trouble trying the nVidia driver once a fixed version is available.

Another issue I have is with desktop manager. The two primary desktops are Gnome and KDE. For years, I used KDE. I still remember installing version 1 of KDE back in July 1998, and appreciating how easy it made Linux. But, like many others, I didn’t like KDE 4, and moved to Gnome. KDE 4 has matured since then, and Gnome is now on version 3, and I sometimes wonder if I should move back to KDE. I liked Gnome 2. I was able to configure it easily, and it worked well. But Gnome 3 is harder to configure. It just doesn’t have all the configuration options that KDE has. For example, after installing Komodo Edit, I could have set things up by manually editing a bunch of files. But instead, I started a KDE session and used its GUI tools to set up the necessary file associations.

But it isn’t always a troublesome experience. I started using Shotwell to manage my photos. Today, I discovered that Shotwell has the ability to post photos directly to my Google+ photo album. The only trick is that you have to choose “Picasa Web Albums” as the target.

Several years ago, it was common for people to ask: Is Linux ready for the desktop? I haven’t seen that question lately. Perhaps people have given up on the question. After all, Linux isn’t much easier now than it was five years ago. Or perhaps in the age of web-connected phones and tablet devices, the question is just no longer relevant.

Cheers! Hans

Ukelele-Banjo: First Impressions

About two weeks ago, I added to my modest collection of musical instruments. I must confess that I’ve always wanted a banjo. And admit it: You want one too!

This instrument is a banjo-ukulele. But in my opinion, that name is a misnomer. It is a banjo, not a ukulele. So a more appropriate name would be “ukulele-banjo”. The instrument I bought has almost all the characteristics of a banjo. The only differences are the nylon strings, a neck the same length as a concert ukulele, and tuned the same as ukulele.

You can play the uke-banjo more or less like a ukulele. However, while the ukulele is a very forgiving instrument, which make it so easy to play for beginners, the uke-banjo is much less so. It seems like any touch to the instrument can make a sound. So although it’s a sturdy instrument, it’s best to handle it with care.

Unlike the ukulele, strumming the uke-banjo really needs a more nuanced approach. Of course, you can get a really loud sound out of the instrument. And while that’s appropriate in some cases, often you have to apply a lighter touch to your strumming. But you can play with rhythms by varying the strength of strum. For example, on some songs you can do a light strum, but emphasize every other beat by doing a harder strum.

Regarding repertoire, I’ve had to go through all of my song books to see what songs work. Probably not surprisingly, not all songs work well on the uke-banjo. Or perhaps I just haven’t figured out how to make them work. On my regular ukulele, I’ve been leaning towards a more bluesy feel to my songs. But that doesn’t work on a banjo. So far, I’ve been looking for songs I can play fast. Songs that work well include “Farewell to Nova Scotia” and “I’m Henery the Eighth, I Am”. In general, a lot of old classic folk songs seem well suited to uke-banjo. Recent pop songs don’t work nearly as well.

Finally, since this instrument is much louder than a conventional ukulele, you have to be more considerate of those you live with. Finding an appropriate time and place to practice may be more of a challenge. And while a new instrument may be a novelty in the home, that novelty can wear off fast. Unfortunately, not everyone appreciates the charm of this type of instrument.

In conclusion, this instrument is a lot of fun. It is well suited to up-beat music, and has a wonderful sound. In a Peanuts cartoon, Charles Schulz offered the opinion: “As soon as a child is born, he should be issued a banjo“. Make that a uke-banjo, and I agree whole-heartedly!

Cheers! Hans

Ukulele Strumming for the Beginner

I’m not sure if I feel comfortable giving advice on learning to play the ukulele. After all, there are lots of other people much more qualified to teach ukulele. However, I can pass along some of the things I’ve learned from the masters, such as James Hill and Hal Brolund. The latter rolls through southern Ontario a couple of times a year offering workshops. If you have the chance to attend a workshop run by either of these two, do it!

If you’re picking up a ukulele for the first time, read on. Many beginners seem to worry most about learning the chords. And sure, that’s important. But that will happen over time. The first priority when learning ukulele is rhythm. That is, keeping a steady beat while strumming. I’ve seen beginners play like this: They strum four beats, then pause while they change the chord, and then strum another four beats. When playing together with others, even if that pause is very short, it can still be disruptive for the group.

The point is this: When strumming on a ukulele, maintain the beat. Even if it takes a beat to fully establish your left hand fingers in their proper chord position, don’t let up on that beat.

Now let’s get down to a lesson. To start with, count out a simple 4/4 rhythm: One, two, three, four, one two, three, four, and so on. On each count, strum the fingernail of your index finger down across the strings, roughly at the point where the neck of the ukulele meets the body. Don’t worry about the chord. An open C will do nicely. Practice that for a few minutes. Tapping your foot as you strum might help you maintain the rhythm.

Next, count out: One and two and three and four and one and two and three and four, and so on. Strum as before, but on the “and”, strum your finger up across the strings. You’re now doing both down-strokes and up-strokes. Again, practice this for a while to develop a smooth rhythm.

Next, you can try some more complicated rhythms. While strumming your hand down on the count and up on the “and”, try omitting a strum. That is, keep your hand moving down and up in rhythm, but at certain points in the strumming pattern, your finger misses the strings. Here are some possible strumming patterns to practice. Skip the strums marked by parentheses.

  • down (up) down up (down) up down up repeat.
  • down up (down) up down up down up repeat.
  • down (up) (down) up (down) up down up repeat.

Yeah, I know you’re itching to practice those chord changes. The point of practicing your strumming is to make it second nature. Playing ukulele involves coordination between one hand strumming and the other making chord changes. The more you practice your strumming, the more natural the movement becomes. Once that becomes second nature, you can then better concentrate on the chords. Heck, even Manitoba Hal’s recommended practice regimen for beginners includes five minutes of just this kind of strumming!

I’m Shopping For A New Ukulele!

A while ago, we decided to move from Toronto to Kingston. We sold our house in Toronto, bought a house in Kingston, and planned and implemented the move. The last step in the process was for me to find a job in Kingston. We knew that wasn’t going to be easy. Kingston is a much smaller place, with less demand for programmers. As motivation, I decided that one of the things I would buy with my first paycheck would be a new ukulele. Well, I can now shop for that ukulele! I start my new job on Monday!

How did I get to this point? My “sabbatical” started getting a bit too long. So back in the Fall, I went to the KEYS Job Centre for advice. To start with, my councilor gave me some great advice on resume writing. She also recommended the MCF Kingston Practice Firm. What’s a practice firm? It operates very much like a real company, allowing participants to gain real work experience, albeit without a salary. But in addition, participants are expected to spend time searching for jobs and learning the skills needed to look for work. I decided to give it a try.

I decided to concentrate on developing skills in PHP, since that’s used by some local firms. I was assigned the task of developing a new software system for the local Operation Red-Nose organization to replace an old DOS-based application. I visited their operation on New Years Eve, and for what they were doing with that ancient program, they could just as easily be doing everything on paper.

To cut a longish story short, what I had implemented in five weeks using PHP and CakePHP, I had originally expected to spend most of my 12 week stint at MCF working on. Within weeks, I was able to confidently add PHP to my resume. I had expected to be at MCF longer. But an opportunity arose, I sent off my resume and cover letter, and I went for an interview and testing. I accepted an offer, and finished my stay at MCF after just those five weeks. Granted, there’s still more work left to do on the ORN project. But I expect to finish that in my spare time.

What have I learned from this? First, that CakePHP is a great way to implement a web-based application. Some point out that it has a harder learning curve than other PHP frameworks. And sure, you need to understand why the framework insists on doing things a certain way. But having strong conventions is not a bad thing. In all, I think CakePHP was a good choice for that project.

Second, it helped me convince myself that the things I wrote in my resume were true. I can learn new skills. I got the skills. I know what I’m doing. I demonstrated that nicely with the ORN project. Sometimes it seems we can forget what we’re capable of, and lose confidence in ourselves. Especially when between jobs.

In my previous job, I used Zope and Plone, but without ever really reaching the point of fully mastering those frameworks. I took that job because it offered me the chance to use my favorite programming language, Python. But while I still love that language, I would never recommend using Zope. We just could never get the Zope-based project to where we needed to be, partly due to the complexity of the framework, and also due to some nasty intermittent bugs. These were the kinds of bugs that you could never really be sure you fixed. And no one should have to depend on that kind of system.

(Fortunately, the Zope-based project was shelved. Unfortunately, development moved on to an ambitious .net based system, which is not really a good place to be for a Linux/Unix geek. Frankly, I was glad that moving to another city offered me a good excuse to quit that job.)

But now my new job beckons, and I’m really looking forward to it. From what I’ve seen so far, it seems like a really great place to work, and I know I can make a difference there. And soon, I expect to add a new ukulele to my modest collection. A banjo-ukulele perhaps?

Later, dudes!

Should Everything Run on IBM i?

re Shouldn’t Everything Run on IBM i?

To start with, I’m reminded of a couple of things told to me when I was job-hunting four years ago. First, a head-hunter told me that, at the time, the bottom had fallen out of the iSeries job market. Second, at a job interview, I was asked: “What’s an iSeries?”

In the referenced blog, Aaron mentions that the IBM i has just seen 4 quarters of growth. That’s good to see. I worked for 22 years on the iSeries and its predecessors, AS/400 and S/38. And I really don’t want to see my good work go to waste.

But in his blog, Aaron suggests that everything should run on IBM i. The i is indeed a fine machine to store your mission critical data. You really can’t go wrong choosing IBM i for your database. But I disagree that it should be used to run everything. (Those who like the i, tend to like it a lot, which says a lot about the system. The only people more devoted to their computers seem to be Apple fans.)

First, Aaron brings up the common strawman argument that the choice is between IBM i and Windows. Clearly, there are more choices out there, especially in the Linux, Unix, and BSD realms. For example, for the top tier in a web site, you can’t go wrong with OpenBSD running on a couple of inexpensive Intel servers. You can easily configure OpenBSD to offer 100% availability, for at least your static pages, with rock-solid security.

But let’s look at the application tier. Many shops choose an IBM i solution for one simple reason: The application they need only runs on i. If the application is implemented in RPG, then it’s basically limited to the i. What if you need to develop your own custom application? Is RPG the best choice? Frankly, no. Thirty years ago, when I started working on the RPG III compiler, it was already an oddity among programming languages. It has advanced quite a bit since then, and I’m proud of my own contributions to its evolution. But it has not kept pace.

Is there an ideal choice of programming language? Again, no. Actually, I think that’s the wrong question to ask. Today, when choosing a programming language for a particular project, you don’t look at the characteristics of the programming language. If the attributes of the language were a primary consideration, Python should be the most popular programming language on the planet (in my opinion). Today, one does not program using just a programming language. Today, you use a programming language and a framework.

Consider PHP. By itself, it’s a rather ugly programming language. But it’s popular because of the rich frameworks implemented using PHP. In the i community, Zend is commonly used. Elsewhere, frameworks like CakePHP and CodeIgniter are popular. Other programming languages have their own rich frameworks: GWT, .net, TurboGears, Ruby on Rails, to name just a few. Lately, I’ve been implementing a web-based application using CakePHP, and I can attest to its convenience and power. But, as far as I know, the RPG community has nothing like these frameworks. IBM i does support a number of modern tools and languages. But then, unlike RPG, those tools are not limited to IBM i.

That is, when using an interpreted language like PHP, you have something that a language like RPG can never have: platform independence. For my own modest CakePHP application, I can run it on Windows and I can run it on Linux. I’ll bet that it could also run on IBM i! In other words, by using many of these rich frameworks, you can run on many different operating systems, and so, you can render the choice of operating system platform irrelevant. To get back to the original question, should or shouldn’t everything run on IBM i? I say this: It doesn’t matter. And hasn’t mattered for a long time.


Building Your Own Ukulele Chords

When learning the ukulele, one of the first challenges is learning the chords. One page chord charts become indispensable for the beginner. (Here’s one.) However, as you gain experience, you realize that there are multiple ways to finger each chord.

Why learn different variations of the chords? As an example, think of a two chord song. You can add interest to the song by using different forms of those two chords. Even in more complex songs, it may still be useful to change to a different form of a chord from one bar to the next. (Here‘s a good video demonstrating switching between alternate forms of G and C.)

Here are some examples of some alternative fingerings for a couple of common chords:

(I especially like the 0454 form of A7. Think of the main chords in the key of D: D, G, and A7. When changing from G to A7, you just have to slide your fingers 2 frets up the fretboard.)

How does one figure out different chord variations? I’ve put together a couple of charts to help me come up with different fingerings. You can always learn the patterns for barred chords. However, if a chord includes one or more of G, C, E, or A, these charts can help you find easy alternatives using open strings. You can download the charts from here.

The first chart lists the notes for many of the chords we use. The notes are identified by Roman numerals. If you haven’t seen that notation, just think of the notes by their other names: do, re, mi, fa, sol, la, ti, and do. For example, a major chord consists of three notes: I, III, and V. (Or do, mi, and sol.)

The second chart represents the notes on a ukulele fretboard. The notes shaded in yellow are the notes of the open strings. The white area is for the notes on a standard soprano ukulele. The other notes (blue) represent notes found on bigger ukuleles, as well as an additional extension for convenience so you can see full octaves on the chart, even for the key of G#.

After printing out these charts, fold over the top edge of the second page (or cut it off) so that the top of the page is the edge of the fret board. The idea is that you can place the fretboard chart over the chart of chords and have columns line up.

How does this work? As an example,  let’s say you want to find a fingering for the Am7 chord. Line up the fretboard chart with the “min7” row on the chord chart. The root note of Am7 is A, and so line up the I column with an A on the top line of the fretboard. You can now read off the notes of the chord: A, C, E, and G. You’ll recognize these as the open notes of all four ukulele strings. But let’s find an alternative so your left hand has something to do.

The next step is trickier. We must now find A, C, E, and G from different places on the fretboard. It’s really guesswork at this point, but let’s start with the C at the 5th fret of the G string. We’re now left with the task of finding A, E, and G. We see an E at the 4th fret of the C string and a G at the 3rd fret of the E string, leaving us with an open A. These notes are all close together, making the 5430 a really easy way to form the Am7. (Since discovering this form of Am7, I seem to be using it a lot!)

Some notes: First, note that what is commonly called the “diminished” chord is really a “diminished 7th”. The row labeled “dim” is the true diminished chord, and not the diminished 7th. Second, the keen observer will note that the 9th chords have five notes. Since the ukulele only has four strings, you need to delete one of the notes. Usually, the III or V is omitted.

I always enjoy finding interesting chord alternatives. I hope you find these charts as useful as I do.

Cheers! Hans

A November Photo Walk

I’ve been rather antsy lately, so I really wanted to get out and do some picture taking. In the morning, I saw a blue sky. But the clouds started rolling in after lunch. That’s fine, I thought. If the weather is a bit dreary, I’ll just desaturate the photos.

November is one of my favorite times for photography. The sun is always low in the sky, the trees have shed most of their leaves, and it’s not too cold yet. There are always good opportunities for photos. If it’s cloudy and dreary, I still take photos. But in those cases, I try to take advantage of the conditions. I’ve always liked black and white photos. And I like the pure white sky you can often get in overcast conditions. But today, the sky was especially dramatic.

Here are some of the photos I took in downtown Kingston today. I wandered through the historic Sydenham Ward where you can find moody old buildings. And I braved the cold wind coming off the lake to snap some photos along the waterfront. You can find some more of the photos I took today at Kingston – Nov 18, 2011.

KUS – Our First Public Performance

Not long after I put out the call for ukulele players in Kingston, I got an e-mail from someone who wanted us to perform at her event. I had to reply that we hadn’t even had one jam yet! The Kingston Ukulele Society started jamming in September of 2010. But it took until March 2011, before someone suggested that we should work on a core repertoire. And so we began to think about performing in public.

In April, we started jamming at the RCHA Club, a great place that’s very supportive of local musicians. A new venue meant a new schedule, with jams on even-numbered Wednesdays. An unfortunate consequence of that schedule meant that there would often be three week gaps between jams. How can we survive such a long time between jams? Well, I think we should do something different in those long intervals. For example, we should perform at an open stage or open mic.

Well, it so happens that every Sunday at the RCHA, there’s a folk open stage. I suggested that we do a set on May 29. I didn’t know how many of my fellow ukesters would join me. But I figured that if no one did, I would just do a solo set. Fortunately, a few days before, I started getting confirmations from people. First, Mary said that she was interested, even though she hadn’t been to any jams. That was fine. After church on Sunday morning, we ran through the song list. If no one else showed up, we could easily do a duet. But later in the afternoon, I got more replies.

All together, we had five ukulele players spanning the stage. As we started into the opening chords of our first song, (D, D6, and Dmaj7), some people in the audience recognized the song and started clapping. We knew something special was about to happen. As we played Neil Young’s “Harvest Moon”, the mood was electric. I had trouble concentrating on my part since I got distracted by the wonderful music we were making!

I then introduced the people on stage: Heather, who was the first person to answer my initial call for Kingston ukulele players, and then Mary, Jane, and Colin. Our second song was “Tower of Song” by Leonard Cohen, followed by “You Are My Tech-Shine”, a traditional song with new words written by someone at our church.

The audience certainly enjoyed our short performance, and later we were asked if we’d be the feature act for a future folk evening! Well, that now puts a bit more pressure on us! So far, we’ve been a very informal gathering of ukulele players. But definite gigs require definite commitment from members of the group. Do we have the critical mass to get enough ukulele players to show up for shows? And do have enough good material for a longer show? I think the answer to both questions is Yes!

Over the past year, I’ve seen improvement in practically all the ukulele players that have jammed with us. Although I always try to bring at least a few easy three-chord songs to each jam, most people don’t seem to get fazed by the more complicated songs I throw at them. But then again, we don’t need tricky songs for a show. What we need is a good selection of fun, entertaining songs that we can all learn easily.

Anyways, I think we all had a good time that evening. There’s something magical about a person playing a ukulele. And even more so with a group of ukuleles. I hope that we’ll have more opportunities to play in public.

Cheers! Hans

Busking in Support of Joe’s M.I.L.L.

Ever willing to push the limits of my comfort zone musically, I eagerly plunged into volunteering for a couple of busking sessions a few weeks ago. The idea was for area musicians to busk for a half hour on Kingston’s market square and donate the proceeds to the Joe Chithalen Memorial Musical Instrument Lending Library.

Now then, I’m the first to admit that I’m not the greatest musical performer. But I also admit to an ulterior motive, to try to raise awareness of the ukulele in this city. So I picked out about 20 of my best songs, and went downtown.

My first session was at 11AM at the corner of Brock and King, at the north end of the market. On market day, this is the busiest, and noisiest, corner. Most people just walked by, few willing to admit to the presence of a street performer. I was relieved about 40 minutes later by a guy playing blues on a resonator guitar.

I then signed up for another session, but at a quieter corner of the market. Fewer people walked by, but there were a few sitting close by listening to the performances, sometimes commenting on the songs. This time, Roger, the librarian at Joe’s M.I.L.L. joined me on acoustic bass for a few songs, which was much appreciated.

What did I learn from this? First, I’ll never make a living by busking on the ukulele! But more importantly, I now know first hand what it feels like on the other side. I’ve always enjoyed listening to street musicians, and generally, I always try to be supportive, even if I don’t have time to stay and listen. But most people just pass by quickly, not even wanting to risk the shortest eye contact. While I was performing, frankly, I didn’t care that much about the loose change thrown into my ukulele case. I just wanted at least some small acknowledgment from the passersby.

So my point is this: Be kind to street musicians. They’ve all practised for years to get to the point of being able to perform in public. Even if you can’t spare some change, at least say hi, or offer some sign of support. It doesn’t take much effort on your part, but can mean a lot to the performer.

Omnifariously yours, Hans