NoTouch 2.35 “Sonora” goes gold!

Finally – we finished all work on our release codenamed “Sonora” (thinking of the beautiful Sonora Pass in California). A release is always an extra burden on everybody, at least in our team. Everybody throws things into the discussion what has to be improved, what has to be done, what features would be cool, etc etc. I have to admit that I am exactly one of these persons. I can not easily throw something out without knowing that the thing works and is useful. For those not familiar with the product and wanting to learn more, please check out the NoTouch website.

Now what did we do? First of all, the client operating system was updated to 2.35. In the operating we usually update all the third party components that we integrate, such as the Firefox browser, the Citrix client, the VMware View client etc. Now Citrix hasn’t supplied an update, but VMware has, and of course there is a new Firefox browser. Well, whenever I look, there is a new Firefox browser. Besides these integrations we update our own stuff. Some parts are user-visible, some aren’t. In this release we have put a great emphasis on usability and security, so we have switched all communication protocols to HTTPS by default, even the local client’s web interface. The actual list of changes is fairly long, it spans three pages with just one-line-change-descriptions: I can rightfully say that Sonora has been our most productive release ever.

Sonora Pass Road
Sonora Pass Road

NoTouch 2.35 however is just half of the story. On the administration and management side we have NoTouch Center – a product that our customers typically install once and use this single instance to manage their whole PC/TC infrastructure. This piece was updated to 4.1.24. Since these are separate modules and may be update independently we keep separate version numbers, but introduced the release code names as a kind of bracket around the releases. So NoTouch Desktop 2.35 and NoTouch Center 4.1.24 make up “Sonora”, together with the newly introduced Stratodesk Virtual Appliance, a 64-bit Linux virtual appliance that contains NoTouch Center and a very easy-to-use PXE environment.

So even when writing this I just think “phew…” – so much. But the reactions from those people testing both OS prereleases as well as the Virtual Appliance were just overwhelmingly positive. I like working with my customers. After all there are just three stages of use: the lab, a known-friendly environment (beta customers), and general use. Going through the beta makes you ready for general use. As mentioned above, so many issues were discussed and we have fulfilled almost all wishes. From updating the last Python-2.4-based components to Python 2.6/2.7 which is absolutely not user-visible but the groundwork for other improvments (such as, in this case, HTTPS) up to textual changes in the first-time-wizard. This is a two-edged sword however. The more you improve and fix, the more you will be loved by your customers. The more new features you add, the more future customers you may have. The more you change however, and the longer a release takes to get ready, no matter how good it is, the more your customers get angry. Balancing these targets is not easy to do. However it works out, the moment you have a release, you’ll be just incredibly happy…

Updating from Python 2.4

Python is truly my favorite programming language. I considered myself to be an ANSI C hacker for a long time, I did and do Java, PHP, Bash. But nothing beats Python. Its elegance, its “pythonic”. So it comes that my product NoTouch Desktop had some code in it that inherited from the early beginnings and it was based on Python 2.4. While there is already a Python 3.2 out in the wild, most people and operating system distributions consider 2.6 or 2.7 standard. Ubuntu 12.04 comes with Python 2.7, as does Mac OS X 10.8.

Not a big deal? Ha! Nobody can imagine what has to be done when a Python-2.4-based software stack is to be ported over to 2.6/2.7. Finding out which backported modules have to go, what has to be rewritten is a tedious task. Sometimes its just plain trial-and-error. In the end we were surprised how things worked out well. I remember when a friend told me how much his company had to invest when migrating from Ruby on Rails 1.8 to Ruby on Rails 1.9. So no disadvantage for Python here.

What proved to be difficult was not just the Python per se. It is the dependency stack we had. So for example our software used an older web.py module that worked perfectly fine with Python 2.4. Updating to a newer web.py (please take a second to remember Aaron Swartz) that would work with Python 2.7 however would break other things. Oh well. Eventually we did it and as already mentioned things worked out really well.

Still, there are some things in software development that you just want to see behind you. Goodbye Python 2.4!

Caution – Zombies ahead!

Strange things happen in a big city. This time I came across a street sign that was apparently “hacked”. Instead of warning of, say, construction, traffic jam, it displayed a warning: “Zombies ahead”.

Real Street Sign warning about Zombies
Real Street Sign warning about Zombies

In fact it seems that these signs have operator panels that can be locked, but workers tend to forget these, creating an opportunity for adventurous geeks willing to break some laws.

Personal Website of Emanuel Pirker