Friday, June 13, 2014

Voting, and Why You Should Work At a Poll

This morning, I was awoken an hour earlier than I wanted. You see, yesterday I had to be up by 7:00am to get to my polling station at 8:00am. But when it was all over, I forgot to reset my alarm back to its usual time.

I've participated in several elections, not just as a voter, but working on election day. I volunteered a couple of times for a candidate, working as scrutineer. But the last time I acted as scrutineer, I looked closely at the job done by the staff at the polling station, and I decided that I could do that. And unlike working for a candidate, I would get paid.

I won't comment much on the outcome of yesterday's provincial election. So far, among my Facebook friends, there has been precious little discussion about yesterday's surprise result, of a Liberal majority. Clearly, most Ontarians didn't much care for Tim Hudak's brand of "Tea Party conservatism". In my riding of Kingston and the Islands, although there was a noticeable lack of red lawn signs, 40% of the population still supported the Liberal candidate, with the Conservative candidate coming in third behind the NDP.

For those unfamiliar with the election process in Canada, here's a short description. When you arrive at the polling station, you are met by a greeter who directs you to the appropriate table. If you have your voters card, the greeter will direct you to your poll, which is staffed by two people: a deputy returning officer (DRO) and a poll clerk (PC). The DRO sits with the ballot box and checks your identification. The PC finds your name on the voters list at crosses it off. The DRO instructs you on the process and tears off a your ballot. You take it behind a "voting screen" (actually little more than a cardboard box, but large enough to allow you to vote in privacy), and you mark your choice. You then show your folded ballot to the DRO and then you drop the ballot in the ballot box.

Yesterday, I worked as a DRO and Sylvana was my PC, the first time we did that as a team. This was my second time working as DRO, but the first time I worked through the entire 14 hour day. In the last provincial election, I signed up too late and on election day, I started off on the reserve list. However, at noon I was called to the polling station in Barriefield to replace a DRO whose car got totaled in an accident in the parking lot and was too distraught to continue.

It's a long hard day for all the polling station workers. The greeter, in particular, is on her feet for the whole time. But I can tell you that sitting for 12 hours isn't fun either. By 9:00pm, everyone is exhausted, but that's when the most important job starts: Opening the ballot box, counting the ballots, and recording the results. But the instructions are clear and explicit, which makes the job easier. Fortunately, our totals balanced at the end of the evening. Savvy poll workers know they can ensure a clean count at the end by occasionally cross-checking the voters list with ballots remaining during the day. That way, problems can be identified early if they crop up.

Why should you consider working at a polling station? I'm sure there are lots of reasons people do it. For young people, it's a way of gaining experience. And yesterday, there were a few of them at our polling station. One DRO was 18, in fact. For others, it's a way to augment their income. For some, it's a chance to get out and meet your neighbors, if you work a poll close to home.

But although it sounds hokey, I think many of us do it to serve the public, and participate in the democratic process in a very concrete manner. Along with the necessary training, you can see clearly how the process works. Although there are many steps to the process, you can see how things work close up. You get to understand the reasons behind the steps, and you can be certain that the process operates in a fair manner, with all the necessary checks and balances. Although I'm sure most people have their own opinions about which candidate should win, the vast majority of election workers are committed to following the rules in a totally unbiased manner to ensure a fair election.

To summarize, by all means, do go out and participate in the process, either by working at a polling station, or by volunteering as a scrutineer. You can see for yourself how the democratic process works in Canada.

As for me today, I'm going back to bed.

Cheers! Hans

Tuesday, May 6, 2014

Transitions

What is life other than a continual series of transitions? Four years ago, we were preparing to move from Toronto to Kingston. When we thought of the possibility back then, the transition made a lot of sense. And to a great extent, we met the goals for that move. We did it to provide our daughter with a safer environment to grow up in. And seeing her develop in maturity, we know we did the right thing. The move was a no-brainer for us.

Moving Sylvana's mother and sister to Kingston was also challenging, but again, made a lot of sense. As they age and face increased care needs, having Sylvana nearby to advocate on their behalf is vital to their well-being.

But other transitions are more difficult. Finding software development work in Kingston hasn't been easy. I.T. is simply not a good career choice for those of us over fifty. I'm still an active computer geek, and all my skills could be put to use. But I just can't bear having to report to someone thirty years younger than me. My last job in Kingston was intolerable due to the working conditions, and I quickly reached that "Take this job and shove it!" moment.

So now I've reached the point where I simply have to consider myself "retired". This is not an easy transition for me, and it's going to take me some time to wrap my mind around the idea. What will I do? What challenges await me?

One thing I need to do is make a break from my professional past. It's been almost eleven years since the staffing shuffle that moved me out of the iSeries group at the IBM Toronto Lab, but I still follow some iSeries related groups on-line. There's just no point to that anymore. I need to burn some bridges, and that's a good place to start. In addition, I've already deleted my LinkedIn account. I need to look forward to the future, and not dwell on my past professional life.

What's next? As a retirement gift to myself, I bought a new tenor ukulele, and once I get a new set of strings, I hope to explore the possibilities of low-G ukulele tuning. But that's just a start!

Cheers! Hans

Wednesday, March 5, 2014

Where Have They Gone?

Sometimes when I visit my parents, I browse through their copy of The Banner, the official magazine of the Christian Reformed Church. Over the past half year, the magazine has echoed discussions going on within that church with respect to LGBT issues. This is not an easy issue for CRC members, and the Banner should be commended for publishing opinion pieces sympathetic to their LGBT members.

Before continuing, some disclosure on my part. I belong to a Unitarian church. Furthermore, I am a member of its board of directors, although I don't speak on behalf of the church or the board. Over the past few decades, Unitarian congregations (or Unitarian-Universalist in the United States) have been on the forefront of promoting progressive policies towards LGBT rights. Unitarian churches were among the first to bless same-sex unions well before same-sex marriage was legalized in Canada and other jurisdictions.

An article in a recent issue of the Banner caught my attention, called Where Have They Gone, written by an anonymous gay Christian. In the article, the author describes his own struggles with coming out, echoing the experiences of many others in the Christian Reformed Church, as well as other conservative Christian denominations. He points out that many gays end up leaving their church, and even their home towns, after learning how their beloved church deals with them after coming out.

Where do they go? Some of them find a welcome in more progressive churches. Within my own church, there are a couple of people with similar experiences, people who actively contribute to the vibrancy of church life. To us Unitarians, there's no controversy. Indeed, the first principle of our religious faith explicitly states that we affirm and promote "The inherent worth and dignity of every person". The third principle also applies: "Acceptance of one another and encouragement to spiritual growth in our congregations". These principles are true for everyone regardless of sex, race, or sexual orientation.

Will the Christian Reformed Church adopt more progressive policies, and accept all LGBT people without any reservations? And will the CRC ever allow LGBT pastors? Judging by past experience, any change will almost certainly be very slow in coming. Only a few decades ago did the CRC allow women to become ministers. This progressive advance (among a few others) did not come without struggle, and even resulted in schism. Many CRC churches couldn't accept the changes, and split. Twenty years ago, many of these joined the United Reformed Churches. (Not to be confused with the United Church of Canada, a progressive Christian denomination). Recently, my mother's church hired a woman pastor, and I've been told that three families left in protest.

To get back to the questions posed in the previous paragraph, I don't expect any progressive policies any time soon in the Christian Reformed Church, which bases its theology on the teachings of John Calvin. Compare the first principle of Unitarianism (that is, "The inherent worth and dignity of every person") with the first of the five points of Calvinism: "Total depravity". That is, Calvinists believe that every person is infused with sin. As the Calvinist Corner website puts it:
"Sin has affected all parts of man. The heart, emotions, will, mind, and body are all affected by sin. We are completely sinful. We are not as sinful as we could be, but are completely affected by sin."
To many of us Unitarians, this doctrine is absolutely abhorrent and unthinkable. Given that doctrine, it's not surprising that reformed Christians judge anyone not conforming with their high standards as immoral and unwelcome. But it gets worse. Calvinists believe that all of us are "fallen" not because of any explicit sin, but rather because God wills it. The contradiction is glaring: Gays are shunned, but they were created that way because that's God's will.

If the Christian Reformed Church is to become more progressive, it has to do something that's almost certainly unthinkable to them: They must move away from strict Calvinism. As a start, they must understand why Thomas Jefferson wrote the following words in a letter to John Adams:
"I can never join Calvin in addressing his god... his religion was Daemonsism. If ever man worshipped a false god, he did. The being described in his 5 points is not the God whom you and I acknowledge and adore, the Creator and benevolent governor of the world; but a daemon of malignant spirit. It would be more pardonable to believe in no god at all than to blaspheme him by the atrocious attributes of Calvin".
Harsh words, indeed.

To end this essay, LGBT people must know that they don't have to put up with the regressive attitudes and policies of their conservative Christian church. There are progressive congregations where they will be welcomed unconditionally. If there's not enough emphasis on God and Jesus in your local Unitarian or Unitarian-Universalist congregation, check out the Progressive Christianity movement.

Cheers! Hans

Thursday, January 16, 2014

Is It Now Time To Leave Facebook?

What do we do about Facebook? Many of us use Facebook every day. For many of us, it's a great way to connect with friends and acquaintances, and to see what's going on in our communities. I organize a monthly ukulele jam, and Facebook is one of the ways I use to publicize the jams, both on the Kingston Ukulele Society page, as well as other pages.

Unfortunately, Facebook continues to tinker with the filtering algorithms used in deciding what we should see. And this tinkering means that there's less likelihood that we'll see what we really want to see. 

Facebook does offer a way for us to tailor what we see in our newsfeed. For me, I have my settings configured to see "All Updates" from the vast majority of my Facebook friends, but only the "Status Updates", "Photos", and "Music and Videos" from them. The photo at right shows how to change the settings. However, some people have reported that this option is no longer available to them. Since it normally takes a while for updates to roll out to users, it's inevitable that the rest of us will lose this capability too.

In a Youtube video, Derek Muller explains Facebook's algorithm that decides what we should see. But here's my concern: Facebook can never truly understand what's really important to me. For example, I have some Facebook friends that I have little day to day interaction with, but still I'm interested in everything they post. No algorithm can figure that out.

Of course, Facebook can do whatever it wants. In fact, as a public company, they have a duty to ensure that their stock-holders get the best possible return on their investment. Even if it means reducing the level of usefulness to its users. We all need to realize this fact of business.

But Facebook is also treading a fine line. While doing what they can to maximize share value, they also can't risk alienating its users. If Facebook becomes less useful to us, what's the point? Already, there are reports of teenagers leaving Faceook in droves, moving to mobile messaging apps. If Facebook can't guarantee that I'll see exactly the things I've asked for in my settings, what postings will I miss out on? And also, what assurance can I have that people will see my notifications of upcoming ukulele jams? Big companies can afford to pay Facebook the big bucks needed to ensure that everyone sees their posts. I can't.

Can I afford to leave Facebook in favor of an alternative social networking site? I'm on Google+, as are many of my friends and acquaintances. But most of them aren't active on that site. Today, I signed up to Pinterest, but it's not clear if that's an acceptable alternative. And I've never quite seen the point of Twitter. Today, Facebook still offers me the ability to tailor my newsfeed, but what happens when they take that feature away from all of us?

We're all left with a dilemma. We all visit Facebook to stay connected and see what's happening in our communities (geographic or interest). But unless there's a mass migration, we can't simply jump to an alternative social networking site. So we're all stuck with Facebook. As for me, I'll do my bit to post more on Google+, and less on Facebook. If enough of us do that, perhaps we can tip the balance in favor of the alternative. Or convince Facebook to put more emphasis on the needs and wants of its users.

Cheers! Hans

Monday, November 4, 2013

A Short History of Free-Form RPG

Free-form RPG is back in the news with the announcement of free-form D, F, P, and H-specs. In this short essay, I look back at the history of free-form syntax in RPG.

It all started more than twenty years ago, back when RPG IV was being designed. At the time, there were two distinct schools of thought. On one side, there were people who insisted RPG should have a fully free-form syntax. On the other, were those who strongly believed that RPG should remain in its traditional fixed-form layout. The result was a compromise that leaned heavily towards a traditional fixed-form syntax, but with some free-form elements, such as keywords on the new definition specification and expressions in an extended factor two entry.

My first task in the implementation of the RPG IV compiler was coding the new D-spec, along with its keywords. Later, we were able to convince our planner that keywords should also be allowed on the F-spec. Later still, keywords on the H-spec became an obvious design change.

The extended factor two opcodes, such as EVAL, IF, DOW, etc., were a riskier proposition. At first one developer was assigned the task, and later another to help out the first. But as time went on, it was clear that they weren't making any progress. Late in the development cycle, I was assigned that piece of the language. Scrapping the work already done and starting from scratch, I finished the feature well in time for the initial release of RPG IV.

With the release of RPG IV, the development team was scaled back, leaving two developers working on new features. Because the extended factor two calcs were such a hit, one proposed enhancement was a fully free-form syntax for C-specs. However, we believed that it would require 100% of all development and testing resources for one release. When considering potential enhancements, this item would always get pushed well down the priority list.

This changed during the planning cycle for V5R1. I realized that common coding standards had changed somewhat during the past few years. I realized that a new free-form C-spec did not need to include all traditional C-spec features. Conditioning indicators weren't needed now that we had the IF opcode. Resulting indicators were largely deprecated in favor of built-in functions. And some opcodes were no longer needed, such as IFxx and the MOVE opcodes. We just needed a few additional built-in functions to fill in some gaps. With this strategy, free-form calcs could be implemented relatively easily, along with other useful functional enhancements.

But of course, this proposal was not without controversy. In order to get the proper design, we had approval from management to discuss the proposal publicly, on a popular RPG related mailing list. Many people loved the idea, but some were vehemently against the proposal. Personally, although I knew we had something good, I was so disheartened with the criticism that I gave the feature a 50/50 chance of making it to release. However, in 2001 it was released, and over time, most critics came around to accept the syntax.

With V5R1 and /FREE released, we started thinking about moving towards a free-form syntax for other spec types. However, while free-form syntax made a lot of sense for calc specs, we could see little benefit for the rest of the language. Other enhancements of a more functional nature were always considered more important.

In the summer of 2003, the iSeries group in the Toronto Lab could not escape the "staffing actions" rampant throughout the Software Group, and the RPG compiler development team was reduced to one person. I was moved to a new team responsible for PL/X, a compiler used internally within IBM for the development of mainframe software.

So now we come to the Fall of 2013, 12 years after the release of  free-form calcs, 18 years after the release of RPG IV. A few weeks ago came the announcement of free-form D, F, P, and H-specs in RPG. Although I'm happy to see this come about, I'm also puzzled. It seems all too anti-climactic, too little too late to save an anachronism of a programming language. In a previous missive entitled Is RPG Dead? The Autopsy, I list half a dozen features common to modern programming languages but missing from RPG. Note that free-form syntax is not included in that list. At the time I wrote that, significant parts of the language were still fixed-form, but I didn't consider the lack of a fully free syntax significant.

So what's the big deal about the additional free-form syntax? More than ten years ago when I was part of the RPG development team, we always looked for useful functional features to add to the language. That is, features that would help improve programmer productivity, or allow programmers to do things they couldn't do easily before. But that seemed to change about ten years ago. In the last release that I had any involvement with, one feature added was XML operations within the language. It wasn't as if programmers couldn't handle XML before since there were already XML API's in use. But as far as I could tell, the only reason the XML opcodes were added was because COBOL was getting XML operations, and someone within the management team decided that RPG needed them too. I considered it a goofy feature, but I was too tired and jaded to argue. (Now that JSON is commonly used in places where XML was previously used, should RPG now include JSON opcodes?)

Lately, the major enhancements to RPG seem to be accompanied by major coverage in the iSeries press. Consider that silly Open Access feature, which seems primarily designed for ISV's helping to modernize old monolithic applications, which in most cases probably should be rewritten from scratch instead. And now with the new free-form specs, a lot of pundits are writing about how the feature will make the language more acceptable to other programmers, while ignoring the functional deficits previously mentioned. That is, these days, it seems like planning RPG content is more of a public relations exercise geared towards managers of client RPG shops rather than providing real improvements making the job of RPG programmers easier. As RPG falls further and further behind the modern programming languages, I suspect the PR show will become more and more prominent.

In my opinion, although I think the new free-form specs are a nice improvement to RPG, they will not make RPG more palatable to the programmers of Java, Python, PHP, etc. A dozen years ago, we saw little justification for the feature, and I don't see what has changed in the meantime. If anything, RPG has become less and less relevant as applications programmers continue to discover the productivity gains to be had by using modern interpreted languages like Python and PHP.

Friday, October 18, 2013

Facebook WILL Put Porn In Your Newsfeed

Facebook offers several options to customize what you see in your newsfeed. However, sometimes Facebook ignores those settings. Facebook decides that, in spite of your settings, you really need to see something. And sometimes, that something is pornographic.

First, let's review what you can configure: There are several ways to view your newsfeed. The default is "News Feed", in which Facebook decides what content is likely to be most important to you among everything your friends post. In my opinion, no algorithm can ever properly understand what I think is important, and so I use the "Most Recent" option.

This still isn't acceptable for me, which leads us to the next way to configure the newsfeed. Move your mouse cursor over a friend's name. You should see a popup giving some information about that person. Next, click on "Friends", then on "Settings". This should give you a menu showing what postings you see from that friend. That should look something like:


For me, I don't want to miss anything from my friends, and so I choose "All Updates". However, to keep some semblance of  order to my feed, I've deselected certain options. For almost all of my Facebook friends, I've deselected "Life Events", "Games", "Comments and Likes", and "Other Activity". It took me a couple of hours to do this for all of my friends, but I consider it well worthwhile. It makes Facebook a useful tool, whereas before, my newsfeed was a cacophony of useless drivel. With these options deselected, my feed shows me just what I want to see.

However, there's a defect in Facebook's software. Or perhaps it's a conscious design feature. On a regular basis, two or three times a day, I see a comment or like in my newsfeed, contrary to my explicit choice in settings. I've even reported this defect a number of times to Facebook, to no avail. And I know others have too.

Now to the title of this rant. Here's something that appeared in my newsfeed a couple of days ago. One of my friends commented on some page, and that fact appeared in my newsfeed contrary to my settings. Here's what showed up:


Now then, I'm not criticizing the fact that my friend commented on this particular posting. He certainly has that right. And I'm not objecting to the page he posted too either. However, Facebook's algorithm's somehow decided that I should be interested in his comment regardless of my explicit settings. This is extremely annoying, and unacceptable. I went through a lot of trouble configuring Facebook so I won't have to be subjected to this kind of content in my newsfeed.

To summarize, Facebook will, due either to some software defect or explicit design, put content in your newsfeed contrary to your explicit settings. As a consequence, if one of your Facebook friends posts on a page that's offensive to you, you will occasionally be subjected to that posting regardless of your settings. That offensive content may well be pornographic, or of a violent nature, or espousing some contrary political or religious viewpoint. Whatever the reason, you will see content you don't want to see in your newsfeed.

And worse, this may well apply to what your children see too. I know some parents who let their children under 13 sign up to Facebook, contrary to Facebook's rules.

If you're concerned, let others know. And let Facebook know that you're concerned too.

Cheers! Hans 

Tuesday, October 1, 2013

Ukulele Chord Diagrams

After I started playing ukulele, I realized that I needed a way to create my own song arrangements. There are numerous web sites that offer chord arrangements for songs, many specifically geared to ukulele. We all know that Dr Uke 's Songs and Richard G's Songbook are great sources of ukulele arrangements. And of course, Chordie.com has everything.

But I'm not always satisfied, especially with Chordie. Chordie often provides a good starting point, but I always want to do things differently. There are always multiple ways to finger every chord, and often, there's a better sounding alternative to the standard open fingering used in most song arrangements. Here's an example of the three main chords in the key of D, using my favorite alternative form of A7:

To prepare your own chord arrangements for your favorite songs, you need a couple of things. First, a good word processor. LibreOffice Writer is my choice since it has full-fledged desktop publishing features. It also runs on a variety of different operating systems.

Second, you need a source of graphics for the chord diagrams. One way to do that is to download the chord graphics from a site like Chordie.com. But finding all the diagrams you need can be tedious. If you're technically oriented, you can figure out a way to download them all, but then you'd have a torrent of files to sort through. And you still won't get diagrams for alternatives, such as the 0454 A7 (pictured above).

And so, I created my own chord diagrams, which you can download from my Ukulele Chord Box Collection. There are six collections to choose from, with chords geared to standard GCEA tuning, ADF#B tuning, and standard baritone tuning. In addition, there are left-handed variations for them all. The diagrams come in two sizes: 48x64 pixels and 36x54 pixels.

I've made these available under a Creative Commons License, so you can do what you want with them. If you find these chord diagrams useful and want to show your appreciation, there's a Paypal link on the download page where you can donate $10. I certainly won't get rich from these donations, but $10 will pay for a couple of beers at the Royal Tavern, where we hold our monthly ukulele jam in Kingston.

Using LibreOffice Writer, I usually include the chord names within parentheses within the song lyrics, and highlight the chord names in red. I then put the chord diagrams at the bottom of the page. If there's no room at the bottom, I add a frame to the side, and put the chord diagrams there. With a folder view of the chord diagrams open, I drag and drop the image into the document. With a right mouse click on the image, I choose "Anchor", and then select "As character". I then cut and paste to position the diagram where I want.

Cheers! Hans