Chrome’s Dead, Jim!

Chrome is dead, Jim!
The page I was viewing in Chrome died today, as you can see from the message. This doesn’t happen very often and when it does, just the one page dies and not the whole browser. I like amusing error messages, it soothes the pain of a crash.

For the one or two people on the Internet who don’t know who Jim is or who said, “He’s Dead, Jim!” watch the video or click on the error message.

Rickety signature

QR Codes

Calendar Event QR Code

Stake Conference Calendar Event QR Code

A QR Code is a matrix barcode readable by mobile phones with a camera, and smartphones. The code consists of black modules arranged in a square pattern on a white background. QR is the acronym for Quick Response, as the code allows its contents to be decoded at high speed.

QR Code Uses

QR Codes can be used to display text to the user, to add a vCard contact to the user’s device, to open a URI or to compose a text message or email. Users can also generate and print their own QR Code for others to scan and use by visiting one of several free QR Code generating sites.

Creating A QR Code

I tried experimenting with QR Codes by creating a QR Code Calendar Event for our Stake Conference General Session. In the top right is the QR code I created using the QR Code Generator from the ZXing Project. I selected a Calendar event, entered the details, and chose a medium (M) barcode size. The screenshot below shows the results. Click on the image to enlarge.

QR Code Generator screenshot

Generate your own QR codes at the ZXing Project.

Nexus One displays data from QR Code scan

Displaying data from a QR Code scan

Reading A QR Code

To read the QR code on my smartphone I used ShopSavvy that I already had installed. I selected “Search for a product”, and held up the camera to my QR Code at the top right of this post. ShopSavvy immediately¬†recognized the code as a Google Calendar Event. To add the event to my calendar I scrolled down and selected “Done.”

The results were less than satisfactory. I found that ShopSavvy did not add the location and the description of the event to Google Calendar. By using Barcode Scanner by ZXing Team I got much better results. As you can see from the Google calendar screenshot below, all the information was captured and saved.

Google Calendar screenshot

QR Code Readers

Many Android phones come with QR code readers already installed, as do most Nokia phones running¬†S60 3rd Edition or newer. Blackberry phones running Blackberry Messenger 5.0 (or more recent versions) can also scan QR codes using the “Scan A Group Barcode” option in the BBM menu. Both the Android Market and the iTunes App Store offer several free applications that can decode QR matrices. Similar software can be downloaded and installed onto S60 phones.

See if your cell phone camera will recognize my QR code.
Rickety signature.

Top Ten Open Source Applications

Blender screenshot.
For years I labored with Microsoft Windows while my son Steven had long since adopted Linux. Now that Ubuntu has won me over, I was curious as to what Steven’s choice in open source software would be. Recently I sent him this email:

What would be your top ten open source software picks? Not including the ones that are already pre-loaded on Ubuntu.

He responded with the names of ten software applications. I list them below in alphabetical order.


Amarok is the music player for Linux and Unix with an intuitive interface. Amarok makes playing the music you love easier than ever before — and looks good doing it. Amarok serves many functions rather than just playing music files. For example, Amarok can be used to organize a library of music into folders according to genre, artist, and album, can edit tags attached to most music formats, associate album art, attach lyrics, and automatically “score” music as it is played.


Blender is a 3D content creation suite, available for all major operating systems. It can be used for modeling, UV unwrapping, texturing, rigging, water simulations, skinning, animating, rendering, particle and other simulations, non-linear editing, compositing, and creating interactive 3D applications.

[Read more…]

Estimates are not Deadlines

The deadline at Andersonville

Project Deadline

Last year I worked on a software project that was suddenly elevated in importance. I was asked how long would it be before it was finished. I casually responded, “About two weeks if I can get the rickety development hardware to work.” This very rough estimate became a deadline almost immediately and caused a great deal of pressure to come my way. Part of the problem was random hardware errors that caused grief for my software. Eventually another programmer was drafted in to help with the software and two engineers tracked down the source of the hardware errors. During this fiasco I pondered the difference between an estimate and a deadline and how they became closely married together.

Deadline Origins

It was brought to my attention by Mirriam-Webster that the first meaning of deadline is “a line drawn within or around a prison that a prisoner passes at the risk of being shot.” It was a real line, drawn in the dirt in Civil War camps. The prisoners were told that if they crossed the line they were dead. It was soon called the dead line. The term was then applied to other situations with strict boundaries. Newspaper editors started to set deadlines and other writers began to use the term. Deadlines are now essential not just for reporters and other writers but in every kind of activity.

Software Development Deadlines

When an estimate morphs into a deadline the effectiveness of the software development declines and puts excessive pressure on developers, making their lives miserable. Working more hours does not necessarily result in more production and applying pressure to workers is not the optimum way to motivate. A deadline is often an arbitrary date set by someone who is not familiar with the project.

A good software team should already consist of motivated people. People cannot be pressured to think. Clear thinking does not come this way. Likewise forcing people to work harder results in short term productivity gains at the expense of quality which has to be corrected later. Working overtime to meet a deadline can cause staff burnout and does nothing to improve inefficient processes. Excessive overtime disrupts personal lives and causes employees to run errands on work time.

Refining Estimates

Updating estimates should be a normal part of the process and encouraged by management. Refining is a better word because it implies a normal process of improving on the initial estimate. Estimates will take into account what is to be done and at what rate and allowance made for requirements added or subtracted. Risks can be identified and accounted for.

Reality should never be at the mercy of wishful thinking. If on my project, estimation as a continuous process of refinement was the norm much of my grief (and management’s) would have been avoided.


I did indeed finish my project though it took longer than two weeks. I was compensated with the equivalent time off for the hours of overtime I worked. Probably my biggest lesson learned is to pad my estimates until such time as Estimate and Deadline get a divorce. Well my friend that is all, I have a deadline to meet.

About the Photo: This is Andersonville, one of the most notorious southern prisoner of war prisons in the Civil war. This is in the inside of the complex. There was the wall (the logs in the background) and the fence, which was called the deadline. Soldiers had orders to shoot anyone who crossed the line. Photo Credit: upturnedface