Friday, September 21, 2012

Open Mic Night At The Royal

The Royal Tavern in downtown Kingston has a history. Sure, there are lots of old 19th Century buildings in the city. But the Royal is significant historically for a couple of reasons. First, it's supposedly the oldest continuously operated bar in the city. Second, the building was once owned by Sir John A. Macdonald, Canada's first prime minister.


Note that there's no bronze plaque outside the bar noting the fact that Sir John A. drank here. Someone said that if there were a bar in the States once owned and frequented by George Washington, there'd be a line of tour buses waiting outside today. But here in Canada, we tend not to confer mythical hero status to our founding fathers. There are plenty of sites in Kingston related to Sir John A., such as his law office, grave site, and home. But apart from the latter, we don't make too big a deal of them.

But getting back to the Royal, in addition to its historical significance, it has a bit of a reputation as a rough bar. The owner is trying to reverse that reputation, with success. And now, the bar is establishing itself as a good place for live music. Take Thursday nights for example, when there's an open mic or open jam. Between songs by the great house band, usually blues or jazz inspired, others can take the stage. And yesterday, I was one of those, banjo-ukulele in hand.

What's it like going up on stage at the Royal? The place is noisy. Although it's a few block from the university, most people here are middle-aged. It's a place to drink, talk, and generally have a good time. Few people actually pay direct attention to the musicians, but still show their appreciation of the music at the end of each song. I'm usually nervous on stage, however I found the environment pretty comfortable, probably due to the fact that there weren't forty pairs of eyeballs staring at me. And afterwards, a number of people asked me questions about my banjo-uke, something few if any had actually seen or heard close up.

To borrow a 1960's cliche, on Thursday nights, this is a "happening place". And it seems to have gotten this way without much in the way of publicity. Or much in the way of choice in beer. There's one beer on tap, Canadian, plus a modest selection of bottled brew. But considering the ambiance and the music, I don't mind the limited choice. If anything, that's part of the character of the place.

Cheers! Hans

Monday, September 10, 2012

Online Alternatives to EA Scrabble

I've blogged before (several times) about my experiences with the new EA Scrabble game on Facebook. I gave the new Scrabble game an honest try. I eagerly looked forward to a newer version of the game due in August since EA seemed to promise a choice of skins, including the look and feel of the old game. However, when that new version came, I was greatly disappointed. The new version simply offered a bland choice of board styles, as well as the option to disable some visual features. The Scrabble developers just completely missed the point of the criticisms and complaints.

And so, I gave up on the EA Scrabble game on Facebook. Instead, I'm playing a couple of alternatives, Lexulous and Words With Friends. Here are my observations of these games, either one of which is a good alternative to the new Scrabble.

Words With Friends


After playing with Words With Friends, I can see where EA got its inspiration for its new Scrabble game. For example, the design of the column at the left has been borrowed almost completely for the new Scrabble, even down to the contents of the boxes. In my previous review of new Scrabble, I complained about the fact that the "Their Move" box contains your last move. Even that came from WWF.

So if new Scrabble is a virtual clone of WWF, why do I play WWF? First, WWF works. Whenever I visit the Scrabble page on Facebook, I continue to read complaints about new Scrabble not working properly. On the other hand, so far, I've had no problems with WWF. Second, while new Scrabble has a hot color scheme, WWF uses cool blues and greens. This is much easier on the eyes.

WWF isn't perfect, though. First, there's no dictionary you can use to check words. Second, you can really only play with Facebook friends. Third, you must put up with an ad after every move. I always block insecure content so I never actually see the ads, but I still have to wait a few seconds before I can continue. Still, in my opinion, it's an acceptable alternative to EA's new Scrabble (if only because it's not as bad as new Scrabble).

Lexulous


Another alternative is Lexulous. This game started life as Scrabulous. However, legal action forced them to change the name of the game as well as make it less like the real Scrabble game. Visually, Lexulous has a simpler appearance than new Scrabble or WWF. But for true word game fans, this really isn't important. What matters is the play.

Lexulous has a number of advantages over the others. For example, for Scrabble purists, there's a "challenge" mode that better follows the official rules of Scrabble. That is, moves are not automatically spell-checked by the game. You can make any move, and it's up to your opponent to make a challenge if he thinks the word is not in the dictionary. Also, unlike WWF, there's a ratings system. And you can better choose opponents who match your own rating.

On the minus side, finding your way around the application can be a bit tricky. For example, it's not obvious how to see how many tiles are left in a game. (Move the mouse cursor over "Last Move".) And I've had trouble using the "force forfeit" feature on players who haven't made a move in weeks.

Conclusion

The bottom line is that there are alternatives to EA's new Facebook Scrabble game. For casual play, WWF is a good (but not great) choice. More serious word game players will probably enjoy Lexulous better. I regularly play both.

Cheers! Hans

Sunday, August 5, 2012

Ukulele Shortcuts

Is the best place to play ukulele on a sandy beach? I think so. Likewise, overlooking the lake is a good spot to write about ukulele. In this epistle, I describe some of my favorite tips and techniques. There's no particular order to these tips. Some make things easier while playing. After all, aren't we all a bit lazy? Well, we should be.

First, if you have to play Bm, how many of you just fake it with Bm7 instead? Bm is one of the lesser used chords in the key of G. But I've found that Bm7 works just as nicely, and often adds bit of a jazz feel to the song. And it's just a simple barre at the 2nd fret.

If you're playing in the key of D, the usual chords in a three chord song are D, G, and A7. The usual open A7 is one of the easier chords. But there's an interesting alternative to the open 0100 fingering: 0454. Why is this fingering worth considering? In a three-chord song in the key of D, you're often changing from G to A7. With your fingers on G, A7 can be played simply by moving your fingers up two frets. That is, you keep the fingers in the same shape, but move from 0232 to 0454.

Those who know me know that I'm a big fan of the suspended chords. When you're playing one chord for a couple of bars, throwing in a suspended chord for one strum can provide interest and color to your song. And if you have G and D chords in a song, all the better since both sus2 and sus4 are easily reached when playing G and D. Csus4 (0013) is also easy. I often find that Cadd9 (0203) is an acceptable, and easier alternative to Csus2 (0233).

Now consider the dreaded E major chord. Many people play the barred 4447 form instead of 4442. That's a common short-cut, but I find it is often too high compared to other chords, especially if the other chords in the song are open chords. But consider, there's already an open E on the ukulele. Why don't the common chord charts list the open E major chord, 1402? We already play the open E7, 1202. Why is the 1402 fingering not well known? Unlike other open chords, it's not even an inversion. I suspect the reason is that, unlike other open chords, the 1402 has two identical notes side by side, and when played, it doesn't quite sound as full as other open chords where the identical notes are separated. The 1402 might not be the easiest fingering. But I think most people will find it easier than 4442.

What are some of your favorite techniques?

Cheers! Hans

Monday, July 30, 2012

The Song Remains the Same

Are you unsatisfied with current trends in music? Although good music has always been produced, does it seem to you that there's less and less good music coming out these days? Well, you're not alone. Joan SerrĂ  and his colleagues at the Artificial Intelligence Research Institute in Barcelona have studied music over the past few decades, and their conclusions show that music has become more homogenous over time. And louder too. You can read about their research at The Economist.

Granted, it's hard to find good music these days. And perhaps my age is showing too. The defining style of music for me was the New Wave of the late 1970's. The early 1970's featured a lot of good music, but nothing that really spoke to me the way the music of Elvis Costello, Talking Heads, Blondie, and B-52's did. In the 1980's, I explored other musical genres, like jazz and classical. But other pressures increasingly hampered my ability to keep up with current events in music. But most of what I did hear in the 1990's and 2000's wasn't especially noteworthy, in my opinion. 



Fast forward to Christmas 2007, when I got my first ukulele, an inexpensive Beaver Creek. I fell in love again with music. Sure, I tried my hand at guitar when I was young. But I lost interest after a while, especially once I tried practicing the barred chords. But the ukulele was something else. Four strings, four fingers - what could make more sense? The neat thing about the uke is that it's easy to form the chords. And not just the basic chords. In many cases, more esoteric chords aren't that difficult either. Practice helps immensely, of course. However, the success rate at learning chords, and the ease of playing barred chords, makes it possible for anyone to master songs that use more than just your basic chords.

What's the point of today's missive? I suppose it's this: More musicians should learn ukulele. With it's ease of learning and playing, I would suggest that it's easier to explore different and original chord sequences on the uke. Have you ever wondered where the diminished chords have gone? They were very common in the early 20th Century. How come we don't see them very often today?


Think of the songs of George Harrison, and note that he was a big fan of the ukulele. I wonder how many of his songs were inspired from just noodling on the uke? If you have a uke handy, try out this iconic chord sequence, one strum per chord:



Familiar? Should be. It's from one of his most famous songs! And the rest of this song can be played just as easily. And not just the chords. The melody line of this song is easily played as well.

For some time now, I've been wondering what the next big trend in music will be. Will we ever again see some new movement as sweeping and refreshing as the late 1970's New Wave? Is there enough cohesiveness among music fans to give a New New Wave a chance in today's fragmented entertainment environment? Or will commercial interests continue to foist blandness upon us?


I call on all songwriters and musicians to turn back the tide. Let's bring back variety and interest to our songs. Have all the songs already been written? No, of course not. There's a whole slew of new chord sequences to explore. And the ukulele can help you to explore them.


Cheers! Hans

Friday, July 13, 2012

New Scrabble - A Re-examination

When the new Facebook Scrabble game was foisted on us, my first reaction was shock. It looked butt-ugly, had problems loading, and was plagued with bugs. I quickly resigned or forfeited all my active games, even though I was winning most of them. Since then, Electronic Arts (EA) has made some adjustments to the game. Once the game came back this week after a four day long server crash, I decided to play through a complete game to put it through its paces.

The first thing you see is a panel that tells you to invite your friends to the game. Unfortunately, there seems to be no clear way to get past that panel. I ended up clicking on the "Board Size" button. That brought up a new dialog, one that had a clear exit button, and I could then begin play.

Regarding the "Board Size" dialog, if you click on the buttons labelled "+" or "-", you might be surprised when nothing happens. The dialog simply tells you how to resize your browser content using the keyboard. (This is a function of the browser, not the game.) Worse, once you're done your game, you have to resize your browser content back to its original size. This was a later change to the program based on user feedback, but a hack solution at best.

Next, look at the text at the bottom of that panel. That's just one of several examples of text that overflows the intended area. Other examples are the "Create New Game" button and the 2-letter word list that ends at "RE" on my computer. Mind you, not everyone has these problems. But it does show that the designers have not taken all browser and operating system combinations into account.

Three words into the game, my opponent sent me a chat message asking me to move. I replied that I made my move about five minutes earlier. She clearly had problems with her game not refreshing when it should. During the game, she often had to manually refresh in order to continue. Another time, she had to restart the game before she could continue.

There were other nuisance bugs. But I'll spend the rest of this epistle discussing the user interface. When I first saw the new game, I was shocked by the busy graphics, distracting animations, and gaudy colors. Supposedly, EA made some adjustments to the graphics in the meantime. However, the only difference I could see was that the board had lost it's 3-dimensional look. Elsewhere, pretty much all the colors and graphics are the same. Overall, the effect is jarring and hard on my eyes.

Other aspects of the user interface are inconsistent. Compare the graphics on the left for your turn and your opponent's turn. When it's your turn, the "My Turn" box appears above the "Suggested Players". However, the "Their Turn" box renders below "Suggested Players". Further regarding the "Their Turn" box, note that the box lists the last word you played, not the last word your opponent played. Is that confusing, or what?

Overall, there are a lot of elements that are too prominent and too distracting, such as the "Suggested Players" box. Why should I care so much about starting new games while the current one is in progress? The old game allowed us to do that, however, in a much less intrusive manner. Likewise, the ratings box at the bottom is way too big and too distracting. In the old Scrabble game, the chat dialog was certainly too small. But in the new Scrabble game, the chat area is overkill. And too cartoonish. Clearly, the designers of this game wanted to squeeze a lot of content into the game. The scroll bar at the left shows that they had too little screen area for what they wanted.

Another post-release change based on user feedback was to make the count of your opponents letters during the end game more prominent. Unfortunately, this message obscures part of the board, and you have to explicitly close this dialog. Again, yet another poorly designed afterthought.

Clearly, the designers of the new EA Scrabble game failed to understand the needs of their loyal Scrabble players. Scrabble is a quiet, contemplative game. Flashy effects and distracting animations just do not serve the game well. After my game ended, I had little desire to continue playing. EA has promised a new version of the game with a choice of user interface, including the old "classic" look and feel, a gesture that I certainly appreciate. But will we get the real old game? Or just an old-looking skin on the new program? If it is to be the latter, then will we still have to endure all the bugs programming defects in the game?

There's one more difference between the original new game and the current new game. When the new game was first released, it wasn't called "Scrabble Beta". Sometime after the initial release, after all the complaints starting pouring in to the EA support forums and Facebook groups, they added the word "Beta". As if that makes our Scrabble playing experience any more enjoyable. It may well be beta quality, but obviously, EA didn't think so when they first released it. Which begs the question: Where was EA's quality control department while the game was under development?

Before the new game came out, I used to enjoy playing the old Facebook Scrabble game. However, I think I'll wait a few more months before trying out the new EA Scrabble game again. EA has simply taken all the enjoyment out of the game.

Cheers! Hans

Tuesday, July 10, 2012

Scrabble - How To Piss Off Your Loyal Players

How many months has it been since Electronic Arts (EA) released their new Scrabble game on Facebook? It's been almost two months now since EA put their new "improved" game into open beta, even though the testers from their closed beta test gave them all they needed to know at the time, that the new game was severely flawed. And did EA explain why they released a new game? No. Even now, EA is saying little in response to the continuing litany of complaints.

To be fair, EA has announced that, in a month, they will release a new version of the game that has the old look and feel as an option. But that gesture has largely been ignored, while more and more people clog the Scrabble Facebook pages with complaints. (See ScrabbleEA and Scrabble, as well as Bring Back The Old Scrabble.)

We can only speculate why EA foisted this new game on us, knowing full well the feedback from the beta testers. Some argue that they wanted to push out more ads to the players. However, they tried that before with the old game and backed down after getting an earful from its players. Others suggest that they wanted to encourage players to invite more of their friends to the game. But heck, it's already one of the most popular games on Facebook. Surely everyone on the planet knows about the game.

Here's my theory: I suspect EA had to make a change because they had to. Maybe there were some incompatible API changes that caught EA off guard, forcing them to rush out a poorly written replacement game. After all, the old game still had problems of its own. I often had to use a different browser just to play the game. But it just made no sense to make such a drastic change. If there were impeding API differences, why couldn't the old game be modified?


EA hasn't been forthcoming with explanations, while the revolt among Scrabble players grows. Who knows how many have left the game with no intention of returning? Many people complain about opponents who have just abandoned their games. EA is now in a difficult situation. What do they have to do now to regain the trust of its Scrabble players?

First, EA needs to understand that Scrabble players in general are fairly intelligent people. By its very nature, the game attracts people who like to play with words. You can't easily dismiss such a group.

Second, EA needs to be forthcoming, and honest in its communications with its Scrabble players. They need to acknowledge the problems in a way that's not condescending. Scrabble players are not happy. EA staff need to accept that, and plan appropriately.

Third, EA needs to explain honestly why they made the change. Public relations experts have learned long ago that people can easily sniff out BS, and that sincere honesty is really the only way to handle PR nightmares, such as this. If the reason was an API change, then tell us. If the reason was that someone within EA thought that the new game had a better user interface, then tell us. Or, if the reason that that EA thought they could make more profit, then that must be admitted as well. EA has already lost the trust of its players. It's up to EA to do the right thing to bring them back.

And of course, fourth, EA needs to fix the problems with the Scrabble game. Offering the "classic" look and feel is part of that. But the bootflow errors, loss of scores, incorrect scoring, slow loading, etc. all need to be corrected. I know many programmers like to call them "bugs", implying that somehow tiny six or eight-legged creatures are somehow responsible. But the more correct term is "defect". These are all example of defective programming that never should have gotten out of the programming shop.

Whatever EA says publicly now, it will be picked apart by a group of extremely upset people. As I wrote before, Scrabble is an emotional issue for most players. EA needs to understand how best to make a public apology. Probably the worst thing EA could say now is "just get over it, get a life!". For many Scrabble players, Scrabble is an important part of their life.

Cheers! Hans

Wednesday, July 4, 2012

Don't Know Your Religion? Take The Test

We all believe. For many people, their beliefs come with a name attached. Often, their beliefs match the beliefs of a particular religion. These people can easily find others who share their beliefs. But others have a harder time defining what they believe in, and so, have a harder time finding others who share their beliefs.

Which brings me to the Belief-O-Matic quiz, found on the beliefnet web site. If you belong to a church, this quiz will likely be nothing more than a curiosity. You know what you are already. But if you know more or less what you believe in, but don't know what to call your beliefs, the quiz may well tell you. And the rest of this epistle is for you.

To continue, let me tell you a bit about me. I've thought about the great questions of life, universe, and everything for a long time. There are some things I know for sure, such as the importance of treating others as I want to be treated. There are other things that I doubt, such as the existence of a supreme creator being. In some ways, I consider myself a spiritual person. Like Einstein, I find spiritual inspiration in the fundamental principles governing the universe. In particular, I find something mysterious and magical about Euler's Identity:

e^{i \pi} + 1 = 0\,\!

What label would you give to my beliefs? Atheist? Agnostic? Secular Humanist? Would those terms describe you? Before continuing on, do the Belief-O-Matic quiz, if you haven't already done so.

Now to get to the point of today's missive: If, like me, you identify yourself as a secular humanist, you might be a bit surprised to find a few other faiths on your Belief-O-Matic results, such as Liberal Quaker or Unitarian-Universalist. The latter is what I'll focus on here. As a secular humanist, you may well think that there's no church where your beliefs would be welcome, or no church where your particular spiritual needs may be met. If that sounds like you, you know there are others like you. But in what church (if any) can they be found? They may be in your local Unitarian congregation. Yes, there is a church that may well be for you!

Just to be fair, Unitarians aren't all secular humanists. Some Unitarians are atheists or agnostics. Some Unitarians are Christians or Jews. And some are Buddhists or Wiccan. Almost all are on a journey of religious exploration. We all have different beliefs, and we all accept and encourage each other in our individual spiritual growth. If you come to a Unitarian service, you won't be told what to believe, unlike other churches. You are accepted no matter who you are, no matter what you believe, and no matter who you love.

If you want to learn more, start with the Canadian Unitarian Council or the Unitarian Universalist Association web sites. If you live in the Kingston, Ontario area, check out the Kingston Unitarian Fellowship. Some people who learn about Unitarianism for the first time wonder: What's the catch? There's no catch. If you are intrigued but have doubts, make an appointment with the minister of your local Unitarian church, and ask the most difficult, challenging questions you can. Or just show up at Sunday service and see what it's all about.

By the way, here are my own top three Belief-O-Matic results:
  1. Unitarian Universalism (100%)
  2. Secular Humanism (89%)
  3. Liberal Quakers (81%)
Cheers! Hans

PS. If you want to check out the Kingston Unitarian Fellowship, note that the church takes a break over the summer. Services resume in September.

Saturday, June 30, 2012

PHP - What Really Sucks About It?

PHP sucks. That's something I think a lot of programmers will agree on, even PHP programmers. For example, Jeff Atwood offers an interesting viewpoint in his blog entry The PHP Singularity. But heck, a lot of programming languages suck. And even though they suck, there are many millions of KLOC written in languages like COBOL, PL/I, and RPG.

Programming languages, like human languages, evolve. PHP started life as a web templating system, and evolved into a general-purpose programming language. During subsequent releases, new features have been added and some cruft deprecated. Other languages, like Perl and RPG have over the decades undergone similar transformations away from their original purposes.

Why is PHP so maligned? Perhaps because many of us have had to deal with PHP code written 10-15 years ago when the language lacked many of the nice features added in recent releases. Or PHP code written by programmers who knew better than the previous programmers on the project.  Or PHP code written by programmers without extensive programming experience. 10-15 years ago, programmers who knew the risks associated with web programming typically chose other languages if they could.

When I started doing PHP programming, I started with PHP 5 and CakePHP. With Cake, you can't help but structure your application using a more or less proper MVC design. It's probably too much trouble not to. And so I know from personal experience that it is indeed possible to write relatively clean code using PHP. Unfortunately, we don't all have the luxury of working with clean PHP code.

What kind of programming shop typically uses PHP? I would guess the typical PHP shop evolved as follows: The shop started out small, perhaps as a one-person company. As the business grew, the demands on the custom PHP application grew as well. Other programmers were brought in, each with their own programming styles. Perhaps one of them was assigned the task of managing the others. But without any significant management experience, eventually the programming staff gets to the point of running from crisis to crisis as the code base gets harder and harder to maintain. Does that sound like your PHP experience? It's a sure-fire recipe for job stress and significant staff turnover.

Based on my own experience, the next time I'm interviewed for a programming position, PHP or otherwise, I would come armed with a bunch of questions, including:
  1. Can I see your documents describing your development process?
  2. Can I see proof that the documented development process is followed?
  3. Would I be reporting to a manager with specific management experience?
To be fair, it's possible to write bad code in any language. But if a programming shop wants to grow beyond a small business, it needs to adopt a different mindset. It needs professional management experience. It needs proper coding standards and processes. It needs programmers who know what it means to work as a team. It needs a staff that understands the importance of egoless programmingCan those things be found in the typical PHP shop?

Cheers! Hans

Thursday, June 28, 2012

Scrabble - It's Emotional

We love Scrabble. Lots of people do. It's certainly one of the most fun board games around, and one of the most popular. There are also a number of on-line implementations of the game. One of the most popular was a version hosted on Facebook provided by Electronic Arts (EA). Unfortunately, a few weeks ago, EA changed the program.

The new Scrabble program went through a beta test. And even though the new program was almost universally panned by the reviewers, EA went ahead and foisted the new game on more people. The stream of complaints has been almost steady ever since. Now, they are pushing the program to everyone, and the complaints continue.

Here's a side-by-side comparison of the two programs:

Image by Russ Nemec.
The program on the left is the old program we all enjoyed playing. On the right, the new program, with a cluttered and confusing user interface. In fact, EA even had to write a FAQ for the new program to explain how to use it. Speaking as an experienced programmer, if your program needs a FAQ to explain its use, there's something seriously wrong with the user interface.


Here's one bug I noticed right away on my computer. Note the text "Create New Game" spilling out from the button. Real professional user interface design, eh?


But there's more! The new program won't load for many people. Or it loads very slowly. There have been reported cases where your score gets added to your opponents score. Many complain that they can't move their tiles on the rack, as we could with the old program. There have been complaints about the dictionary. Some don't know how to get to the chat area. Many complain about the general cartoonish appearance of the game. People complain about the ads that pop-up between moves, and the constant request that users recommend the game to their friends. Heck, I wouldn't recommend this piece of shit to my enemies!

You could ask: Why the fuss over a simple game? The answer is simple. This is an emotional issue. Most of us who love playing Scrabble have been playing it for years. I remember playing it as a child. When planning my moves, I would use a dictionary, and I learned a lot of words that way. I'm sure most Scrabble lovers can offer their own stories of how the game has affected them personally. And so for most of us, the connection to the game is visceral. We loved playing the old version of the on-line game. We hate playing the new version.


If you want to add your voice to the complaints, there are two pages on Facebook where EA reps can sometimes be found: ScrabbleEA and Official Scrabble. Are they listening? They do seem to be interested in bug reports for the new game. But they seem to be turning a deaf ear to the flood of requests for EA to bring back the old game. What can they be thinking? Do they think the storm of complaints will die down? Do they think that the Scrabble players who have already left will return? EA needs to understand that this is an emotional issue for us. If they ever did restore the old program, we may well forgive. But we won't forget.


Cheers! Hans

PS. Check out the Facebook page Bring back the old Scrabble.

Monday, June 11, 2012

Is RPG Dead? The Wake

In a previous post called Is RPG Dead? The Autopsy, I suggested I'd probably have more to say on the subject. This offering is in response to Scott Klement's editorial, RPG is Dead? Are You Serious?! I'd like to respond to a couple of points he makes.

First, he brings up the fact that people have been debating RPG's death for the past 20 years, and yet RPG is still around. But why bring up the question at all if there was any doubt as to RPG's future? Does anyone ask if Python is dead? Or PHP? Of course not! No one has to.

Next, he raises the point that most application development on IBM i is done in RPG. No one is denying that. However, no one can deny that IBM i is a platform in decline. The numbers just don't lie. The fortunes of RPG are intimately tied to the fortunes of the platform. As IBM i slowly dies, so does RPG. (I said more on this theme in my blog posting Is RPG Dead? Do We Still Have To Ask?.)

Skipping past some history, Scott talks about what's important to programming business logic. Let's look at each in turn:

Business logic uses numbers heavily. Well, this is not unique to business applications. However, most arithmetic in any business application, like in any other domain, is integer arithmetic. Business logic does make use of decimal numbers, but even there, most operations involving decimal numbers are simply the movement of data. Actual decimal arithmetic is a small part of the logic, and in most business apps, could be implemented fully in SQL code. That said, other languages do have support for decimal arithmetic. Scott mentions Java for one. Python is another. Even PHP has support for decimals.

Business logic uses databases heavily. Business applications don't have a monopoly on using databases. Many different domains, from gaming to on-line social networking to statistical analysis make at least moderate use of databases. And so you can find support for databases in practically every programming language out there. RPG gives you two choices: built-in I/O operations and pre-processed SQL. Other languages often provide higher-level access to databases. For example, in CakePHP, you define your high-level relationships (1-1, n-1, 1-n, n-n) between your tables, and one find() operation can bring in all related data for a transaction. That is, the framework figures out the SQL for you, including joins. Among the available RPG frameworks, which one can provide that level of power?

Business logic uses dates frequently. And so do many other types of programs. And so you can find date support in practically all modern programming languages. RPG is certainly not unique. Python has the datetime class. PHP has an extensive list of date/time functions and classes.

Business logic uses a lot of string manipulation. I disagree with that assertion since strings are most commonly needed in the presentation layer of an application. But let's assume it's true for business logic. Again, what modern programming language lacks support for strings? Languages like Python, Perl, and PHP (to name a few) all have very powerful string support. Much more powerful than RPG's support. In those other languages, strings are all objects, with a rich set of methods. RPG, in comparison, has a rather limited choice of string operations. Consider the ease of doing regular expression matching in Perl, Python, and PHP. And compare that to what you need to do in RPG.

If these four categories define what's important in programming business logic, there are clearly languages other than RPG that have a definite advantage. Whenever I see someone claim that RPG is the best language for business logic, I always interpret that to mean that the author simply knows RPG best. And Scott certainly is an expert on RPG.

Finally, Scott makes the point that RPG is still being enhanced and supported. True. However, other languages have long ago surpassed RPG in terms of features and capabilities. In my previous missive, I listed half a dozen features common to other programming languages that are still lacking in RPG. And I could have listed more. And other languages continue to grow and gain in popularity.

RPG will not disappear overnight. To say that RPG is dead is an exaggeration. However, it is becoming increasingly irrelevant in the I.T. world. I'm reminded of a job interview I had back in 2008 where the interviewer looked at my resume and asked: "What's an iSeries?". (RPG wasn't discussed at all in that interview.)

Cheers! Hans

Thursday, May 31, 2012

Is RPG Dead? The Autopsy

In a previous post, I promised to say more on the subject of RPG's death. But I'm finding it tougher than I expected. Don't misunderstand me, it's not for lack of content. It's just that I worked with RPG for a long time. I don't want to see RPG go away. Writing this blog posting feels like I'm kicking an old friend while he's down on the ground. On the other hand, it's just a programming language. And the facts need to be understood.

When I first learned RPG III, 31 years ago, I was impressed by a couple of things. First, I was impressed with the externally-described file. As far as I knew, no other language had such a powerful feature. Second, I was impressed with the syntax-checking source editor. At my university, some professors were just beginning to think about something like that.

But other aspects of RPG III were definitely goofy, such as the fixed-form syntax and the indicators. Fortunately, the language has grown since then. Indicators can be largely avoided, and calculations can be coded in a free-form syntax. However, although RPG has progressed, other languages have progressed faster, and new languages have cropped up with even more powerful features. More and more, RPG looks like an anachronism, rather than a modern programming language.

I'll list some features that are commonplace in other, modern programming languages that RPG still lacks:

1) Namespaces. That is, what happens when you want to import two libraries with the same name? In languages like Java and Python, imports can be put into a directory hierarchy. And if there are conflicts, things can be renamed.

2) User-defined data types. Sorry, data structures and LIKEREC just don't cut it.

3) Object-oriented programming. What language doesn't have OO support these days? It's something we now take for granted elsewhere.

4) Extensive list of built-in functions or classes. Just compare what RPG has to the Python Standard Library or PHP's Function Reference. No comparison.

5) Frameworks. Most modern programming languages have a goodly selection of frameworks that simplify programming web applications. These frameworks have various levels of functionality, however, typically they take care of a lot of nitty-gritty details. Using a framework, you should never see a query string, or XML, or JSON, or SQL.

6) Operating system independence. Programs written in languages like Java, Python, and PHP can easily be ported across different operating systems.

Some would argue that RPG could be further enhanced to address these short-comings. But why bother when there are already other languages that have these features? The planners at IBM certainly know what's lacking in RPG, and they still seem to have the resources to make the occasional enhancement. But over the past decade, there seems to have been little effort to address these specific short-comings. Looking at the situation from that perspective, one could argue that IBM itself also sees no future for RPG.

So far, I've written about 500 words, and yet there's still more to be said. Stay tuned.

(Update: Next installment: Is RPG Dead? The Wake)

Cheers! Hans

Tuesday, May 29, 2012

Is RPG Dead? Do We Still Have To Ask?

Guess what, folks? It's that time of year again when people debate the future of RPG. Is RPG dead? Think about it: Does anyone ever ask that question about any other programming language? Why do some people still insist that RPG does have a future?

To start with, let me make one assertion: Of all participants in this debate, I'm one of the very few who is both knowledgeable about RPG and who does not have a financial stake either way. Some commentators make their living by moving people off of IBM i. Others make a living doing RPG programming or training others. If anything, I don't relish the idea of RPG disappearing because of my long involvement with RPG development.

RPG is very much unlike practically all other programming languages in use for application development. It is one of the few programming languages that is available on only one operating system. That's right! If you want to do RPG programming, you need a system with the IBM i operating system. And IBM i is one of the last of the traditional proprietary operating systems.

What do I mean by that? Look back at the history of computers: In the 1950's and 1960's, there were a lot of computer companies, colloquially called "IBM and the Seven Dwarfs". After a couple of mergers, they became "IBM and the BUNCH" (Burroughs, Univac, NCR, Control Data Corporation, and Honeywell). Each one had their own mainframe computer products. And each computer ran its own proprietary operating system, each incompatible with all the others. Over time, almost all of these proprietary operating systems have disappeared. Today, there are just two left: z/OS and IBM i.

Today, most computers run either Windows, or some variant of Unix or Linux. Even the machines that run the O/S relics z/OS and IBM i now also run Linux, with significant cost savings over the dinosaurs.

So here's the current situation: The fact is that the main reason for running IBM i is to run RPG applications. And to be fair, a lot of them are still running. Without RPG, there's no reason to choose IBM i. And without IBM i, there's no way to run RPG apps.

Is there a future for IBM i? When I was looking for work back in 2007, one headhunter specifically told me that the bottom had fallen out of the i job market. Indeed, over the course of about 8 months, I saw only three listings for iSeries jobs in the greater Toronto area. If there are so few IBM i job openings in the 8th largest metropolitan area in North America, what hope is there for IBM i programmers elsewhere?

Frankly, in this day and age, if you want to develop a new application, it just doesn't make any sense at all to limit yourself to one particular operating system. Especially one that is clearly in decline. Other languages like C, C++, PHP, and Python can run on practically any operating system. If you want to protect the value of your software development investment, clearly, any of these other languages is the way to go.

I have more to say about RPG, but I'll save that for another blog post. Stay tuned!

Cheers! Hans

Thursday, May 17, 2012

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

Monday, April 23, 2012

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

Tuesday, March 13, 2012

Join us on April 15

Back in December, our church, the Kingston Unitarian Fellowship, moved to a new building. And next month, on April 15, we will celebrate the official opening of the building and welcome visitors to an open house. Since the new building can accommodate more people at our Sunday service, some of us feel we should let more people know about our church and our religion. (To be clear, I'm writing now on behalf of myself, not KUF.)

One problem is that Unitarians don't proselytize. Although many of us are quite opinionated on a variety of topics, when it comes to our church, most of us keep a low profile. As our minister, Kathy Sage, pointed out in a recent sermon, Unitarianism was actually outlawed in England for a while. It wasn't legal in England until 1813. Before then, keeping a low profile was essential.

Dissenters have always had a hard time. For example, back when the King James Bible was being written, the authors knew that 1 John 5:7 was a gloss and considered omitting it. But, in spite of the scholarship, they kept the verse in since they didn't want to be seen as pandering to the Unitarians.

Another problem is describing our religion. If you talk to a number of Christians, for example, you'd quickly see what that religion is all about. But if you talk to a number of Unitarians, you might get different answers from each. Unitarianism doesn't preach a specific creed. Strictly speaking, it has no creed. We all recognize that many of us are on a spiritual journey, and that we all have different spiritual needs. We all have different approaches to understanding the world around us, and we all can share and learn from each other.

That said, we generally follow a set of seven principles. The first principle is to affirm and promote the inherent worth and dignity of every person. You can read the rest at our web site: About Us. Looking at these principles, to me they seem self-evident. How can anyone argue with these principles? In fact, these principles look very much like the eight points of Progressive Christianity.

If you look to church or religion for definite answers to the great questions of life, universe, and everything, you probably won't find them at a Unitarian church. Or maybe you will. Either way, you will be welcomed at a Unitarian congregation, just as you are, no matter who you are. We won't tell you what to believe, or how to live your life. But we'll support you in your own search for spiritual meaning.

Again, the open house is on April 15. I hope to see you there!

Cheers! Hans

Saturday, March 10, 2012

Where are we headed?

I've been using Facebook for about two and a half years. I resisted joining for a while, but relented when I realized that there were a lot of other ukulele players on Facebook. Now, I find it invaluable in knowing what's happening.

Upon joining Facebook, I was impressed with the friend recommendations. They were all spot on! Later, I realized that Facebook must have already been building up a profile of my public activities on the internet prior to my joining.

Facebook became so popular since we could connect so easily with people. For example, I found 18 of my 28 first cousins. But now that we've all been using this on-line social networking thing for years, where are we now?

Over the past half year, I've reduced my Facebook activities. I had concerns over Facebook's ability to respect our privacy settings. Also, back in the Fall, Facebook made some drastic changes to the look and feel of the web site. And changes are still happening. In some cases, it took me hours to reconfigure my settings. And weeks for Facebook to fix the bugs preventing those settings from working properly.

But now, where are we headed with on-line social media? First, I think the novelty of Facebook has worn off for many of us. We just don't have to look at all the pictures of our friends grand-kids. And as we increase our lists of "friends", wading through the volume of postings becomes more and more of an effort.

Second, Facebook has given us the option to view "Top Stories". But how do they decide what's important to us? Perhaps they have some secret algorithm that helps them decide. But the top stories they give me are not the things I consider most important. The thing about Facebook is that, for the most part, the stories posted on my news feed are not important. Few are truly "Top" stories. The vast majority are all pretty much equally unimportant. And yet, in spite of complaints about the futility of "Top Stories", Facebook still sees value in the whole concept. It seems like they really want to keep the ability to decide what we should see. As Facebook moves towards its expected IPO, it seems pretty clear that Facebook will decide that we should see the messages of its paying advertisers.

What about Google Plus? Well, it's a different sort of on-line social networking experience. I think it's a good start at implementing on-line networking. Although they could have capitalized on Facebook's recent missteps, I've been disappointed with the pace of Google Plus development. Google's strength is in all their different components, such as Gmail, Youtube, and Calendar. By integrating them all together in effective ways, they could have a real powerhouse on-line networking platform. But where are all the good interconnections?

We're clearly in the middle of a shift. Perhaps Google is trying to figure out where we're going? Or perhaps Google is busy implementing that shift? Many have argued that 2012 will be the year of the tablet computer. While many of us still use desktop machines, portable devices are clearly becoming more important. As tablets drop in price over 2012, more and more of us will be using them. I confess, I don't have one now. But I do expect to buy one during the coming year. They're just too useful to ignore. And a lot of fun too.

And so, while Facebook may have won the current war over on-line social networking, smart companies will do what they can to change the battleground. With big earnings expected, Facebook can be expected to play it safe, doing what they can do satisfy their investors and advertisers. Which means we'll have to look elsewhere to find real innovation.

Cheers! Hans

Thursday, March 1, 2012

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

Tuesday, February 14, 2012

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!


Friday, January 27, 2012

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!

Monday, January 23, 2012

On Facebook, We Are The Commodity

Last September, Facebook foisted one of its biggest changes on its users. Like many others, I found myself faced with an almost unmanageable volume of postings on my newsfeed. The change was already bad enough to deal with, but Facebook made it clear that it was to decide what was important to me, and what could be ignored from my feed. It took me hours to configure my feed the way I wanted. And it took weeks before Facebook decided to honor my settings. But eventually the postings settled down to a more or less acceptable volume. And I discovered the trick of bookmarking https://www.facebook.com/?sk=h_chr which always brings me to a "recent stories first" view.

To make things easier to handle, I also went through my Facebook friends, and unfriended about a third of them. Sometimes it seems like people treat Facebook as a game where the one with the most friends wins. But I didn't see much point in having such a large list of Facebook friends.

And I'm sure I'm not the only one who got the impression that Facebook didn't really care about the privacy of user information. They haven't always made it clear or easy to configure the privacy settings. Even after a flood of news articles about the importance of using the proper privacy settings, I still see many of my friends post personal family details to the whole world. I cringe whenever I see photos of children shared with the public, or when I see a persons location posted to the public. And not everyone is aware that that's happening. As a result of my own privacy concerns, I deleted almost all of my own photo albums off of Facebook, even the albums that were visible only to specific groups of people.

And then there's Facebook's new Timeline feature. Mind you, I have nothing to hide about my past postings. However, I just didn't see any point in making my past so accessible to my friends. And so I spent about four hours deleting and hiding past postings. Going forward, I plan on pruning my Timeline on a regular basis and keep just about a months worth of postings. That is, if I post at all.

With all that preamble in mind, I finally get the point of this blog posting: A couple of days ago, I mentioned to someone on Facebook that on Google+, I feel a lot less like a commodity than I do on Facebook.

Lets look at the business of Facebook. It's expected that within a couple of months, Facebook will go public with an IPO. Some people predict that Facebook will be worth $100 billion. What does Facebook own that's worth $100B? The only tangible asset they have is their user database. With about 800 million users, each user is worth about $125 to Facebook. People have gladly provided detailed personal information about themselves, where they live, what they like, and who their friends are, which Facebook can use in their own marketing endeavors. And every time you give applications access to your personal profile, you are allowing them to better target their campaigns.

So, with that in mind, whenever I go on to Facebook, I don't feel like a person. I feel like a commodity. Frankly, I count on Facebook too much to leave it completely. However, I just don't bother posting as much as I used to.

Lately, I've been encouraging my friends and acquaintances to check out Google+. Sure, they're a business too. But Google seems to be much more concerned about user privacy. And although Google+ doesn't have as many users, the quality of the postings seems much higher there. I just find it a much more comfortable place to do on-line social networking. Facebook isn't going to disappear any time soon. However, I think Google+ will, over time, attract a much more discerning audience.

Thursday, January 12, 2012

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.

Hans