Pages

Tuesday, 28 February 2012

NOTE: Hot Fix Home

A recent upgrade from SAS 9.1 to 9.2 necessitated an upgrade from Enterprise Guide (and Add-In for Microsoft Office) 4.1 to 4.3 for one of my clients. Disappointingly, the EG and Add-In upgrades didn't prove to be the smoothest, and the experience was painful for a significant number of users. Top issues were a) poor migration of EG projects, resulting in users having to re-write some of their projects, and b) Excel freezing when the Add-In was used and the session was left for 15 minutes or so.

As a result of the foregoing, I took more than the usual amount of interest in hot fixes. My usual approach to hot fixes is "if it ain't broke, don't fix it", i.e. I only recommend the application of hot fixes if there's a specific issue to fix.

If you have an interest in hot fixes, the SAS Hot Fix Home is an excellent one-stop-shop for this information in the SAS Support web site. From there, you can choose your version (in the left-hand column), and then select "All SAS 9.x Products" to find a comprehensive list of SAS products with hyper-links to hot fixes for those individual products.

We're now running EG and Add-In with hot fix 20; our users are much happier.

Contrary to the experience with the SAS clients, the deployment of SAS 9.2 Grid has been pain-free and the users have no complaints about performance or reliability/availability. My clients have a robust, scalable SAS service.

Monday, 27 February 2012

NOTE: Enterprise Guide 5.1 - Now Shipping!

If you haven't already picked-up the news from elsewhere, I should tell you that Enterprise Guide 5.1 (EG 5.1) started shipping earlier this month. For SAS 9.2 and 9.3 only* at this point in time, EG 5.1 looks like it adds some decent new functionality. I'll be keen to see it running at SAS Global Forum 2012 in a few weeks.

The What's New guide lists many new features. The ones that caught my eye were:

  • Improved grid support plus support for parallel execution of tasks. I shall be interested to see the degree of WORK library sharing between grid/parallel activity. This has been a weakness in out-of-the-box versions of EG to-date
  • Ability to export your output as an xlsx file (for use in Microsoft Excel 2007+)
  • For programmers, EG 5.1 offers additional autocomplete information (for data set names and data set column names)
  • Sundry enhancements to Query Builder and OLAP Analyser
  • Available as a 64-bit version, in addition to a 32-bit version
There's also an intriguing new tool called the Data Explorer. This apparently allows users to create views of their data with specific columns plus sorting and filtering. It sounds remarkably like the existing Filter and Sort task, so I'll be interested to understand the distinction between the two.

I hope to get my hands on a copy soon!

*I had understood that EG 5.1 was only available for SAS 9.3, but the EG 5.1 section of the What's New guide explicitly states "You can run SAS Enterprise Guide on either a SAS 9.2 or SAS 9.3 server."

Tuesday, 7 February 2012

NOTE: Code Kata #1 Follow-Up

A few weeks ago I published the first in an irregular series of code katas. In a previous post I had described code katas as a form of training for programmers.

I saw a lot of interest around the post.

Richard Koopman posted an elegant response on his blog, including an additional solution for US coinage. His solution was neat, making good use of arrays and iterative coding, but my attention was also caught by Richard's home-made phone stand for his iPhone. Nice work Richard.

My old friend Dave Booth emailed me a solution that he had written off the top of his head, with no access to SAS at the time. It worked. I was suitably impressed. Dave's solution, like Richard's, used what Dave describes as a greedy algorithm. This is a very descriptive name and the Wikipedia entry offers the "coin change" challenge as an example. Dave also made a good point about handling errors elagantly:
Putting something in the code to try to trap unforeseen outcomes is a good habit to get into.
I agree, and code katas are a good opportunity to practice error trapping strategies.

Finally, Dave drew my attention to an excellent source of puzzles that could form code katas: ProjectEuler.net. The site offers a series of challenges that require a mixture of mathematical and computer science skills to solve. Take a look at the list of challenges and you'll see some good starting problems such as "Add all the natural numbers below one thousand that are multiples of 3 or 5".

In summary, don't wait for me to post more code katas. There are plenty out there on the web, and they all offer great opportunities for you to improve your coding skills.