Thursday, 2 July 2015

Summer of Coding

I'm always keen to encourage an awareness and uptake of coding in my kids. I think that coding brings a lot more than the simple ability to write programs. Coding requires a set of disciplines and an approach that are of great benefit in all walks of life.

As the summer holidays are upon us, with weeks upon weeks for kids to idle away their time, now is a good moment to revisit some of the online opportunities to give kids an insight into the joys of coding.

I've previously mentioned Scratch and App Inventor 2 (AI2) as two very accessible means for getting kids (and adults!) started, and producing a useful app that they can share with their friends very quickly. Both sites are free and use a clever building blocks interface to allow budding programmers to quickly understand the requirements of syntax. Scratch builds web-based apps and AI2 builds apps for Android devices (phones and tablets) with surprisingly powerful blocks for accessing web-based resources.

Scratch has always encouraged its users to share their work. Earlier this year App Inventor added its own gallery for showing and sharing.

Whilst it's not free, I've heard good things about Tynker. Tynker also takes the building blocks approach to syntax, and offers structured courses to help guide its students to exciting results.

Another means of getting your kids inspired is Lightbot. This is a series of programming-related puzzles featuring a cute robot character in a games app - available for Apple iOS, Android and other platforms. Great fun, and challenging too when you get to some of the higher levels.

As technology becomes more pervasive, traditional trades disappear, and the world of work becomes more globalised, the skills that newer members of the workforce need are changing: problem solving, team working, and communication are but three "21st century skills". Digital literacy (ability to find and use internet-based resources and information) and creativity— and the latter’s close relative, entrepreneurship—are close behind. And, the young have become more comfortable learning on their own, especially on topics of interest. They just need to be pointed in the right direction!

Tuesday, 30 June 2015

More Flash in Chrome for Less Power ... and the HTML5 Migration

If you use one of SAS's web interfaces you'll be a great fan of the flexibility and usability of the user interface. And those capabilities are probably provided by Adobe Flash. Your browser is running the Flash plug-in.

But Flash has one or two downsides, principally its tendency to use lots of CPU cycles which in-turn uses lots of battery power. Not a problem maybe if you're hooked to the mains, but not good on a laptop of mobile phone/tablet.

If you use the Chrome browser you'll be pleased to hear that Google are improving Chrome's power consumption when Flash is running. When you’re on a webpage that runs Flash, Chrome will intelligently pause content, e.g. Flash animations, that aren't central to the webpage, while keeping central content (like a video) playing without interruption. If Chrome accidentally pause something you were interested in, you can just click it to resume playback. This update significantly reduces power consumption, allowing us to do analytics on-the-go for longer before having to hunt for a power outlet.

This feature was enabled by default on Chrome’s desktop Beta channel in June, and will be rolling out soon to everyone else on Chrome desktop.

Looking longer-term, SAS are replacing their use of Flash with HTML5. Whilst the use of Flash requires a plug-in from Adobe, HTML5 is supported by all modern browsers out-of-the-box, with no need for any plug-in. The majority of web sites and vendors are migrating to HTML5 due to its net neutrality and power-consumption benefits. SAS Studio already uses HTML5; Visual Analytics and Visual Statistics currently use Flash. We can expect a migration to HTML5, perhaps starting with the VA hub this summer, which will probably be complete next year.

Thursday, 25 June 2015

The (Mostly True) History of Computing

I'm half way through a book that I simply must recommend to you before I even finish it. If you have a sense of humour or  if you have half an interest in the earliest evolution of computers, you will enjoy The Thrilling Adventures of Lovelace and Babbage by Sydney Padua as much as I am doing.

On the face of it, it is a graphic novel that accurately describes the Victorian 1830s relationship between the eccentric polymath Charles Babbage and his accomplice, Ada, Countess of Lovelace (the daughter of famed poet Lord Byron). When Ada translated her friend Babbage's plans for the "Difference Engine," her lengthy footnotes contained the first appearance of the general computing theory—one hundred years before an actual computer was built. Whilst Padua's cartoon telling of the story is thickly laced with humour, her copious footnotes provide an unexpected level of detail to the story.

So far so good, but the book really gets into its stride when it moves into a parallel universe. In the real world, Lovelace died of cancer soon after her publication, and Babbage never built any of his machines. In Padua's parallel universe, Lovelace survives, Babbage does build his Difference Engine, Lovelace smokes a pipe, and they both get into many madcap adventures where their analytical minds and the Difference Engine can save the day.

Yes, it is all a bit surreal! But I'm loving it, and I think it provides a good read for people of all ages. It may just even encourage one or two non-technologists to turn their imagination to computing.

Available from all good book stores including Amazon UK and Amazon USA. I bought my copy as a Kindle edition and I've found it very readable on my 7" Nexus tablet (be sure to read the pop-up instructions in Kindle which tell you how to scroll one panel at a time through the graphics).

Tuesday, 23 June 2015

NOTE: What is SAS Studio? RIP Enterprise Guide?

In recent weeks I've mentioned SAS Studio in passing but it's a strategic product for SAS and it merits a proper description.

It's strategic because there is a clear trend for SAS to produce "thin" web-based user interfaces rather than "thick" applications that need to be installed on each and every user's PC. The broad adoption of HTML 5 in modern browsers means that SAS can provide rich functionality without being tied to proprietary technologies such as Shockwave and Flash that require plug-ins.

SAS Studio and Data Loader for Hadoop are HTML 5 web applications. Visual Analytics currently uses Flash but I fully expect that it will be fully HTML 5 within the 2016 timescale (I imagine that simpler parts of the VA interface, such as the hub, might even see HTML 5 later this year).

If I tell you that SAS Studio is a web-based interface that provides a SAS development & coding environment then you will probably be able to join the dots along with me and suppose that at some point in the future (after a few more iterations of enhancements for SAS Studio) SAS Studio will be SAS's preferred environment for general development of SAS code. But that's not to say that Enterprise Guide will no longer be available; SAS have a good track record of supporting older interfaces and functionally - don't forget that Enterprise Guide's predecessor (Display Manager) is still available and supported.

In fact if we compare the interfaces of Display Manager, Enterprise Guide and SAS Studio we can see a lot of similarity. The shots below illustrate this.




SAS continues to add valuable new features to Enterprise Guide (such as the versioning in v7.1), and SAS Studio doesn't yet have a visual coding interface, so EG ain't dead yet(!), but the convenience and ease of deployment for IT departments (which translates to lower cost) means that they will be encouraging SAS to continue to invest in SAS Studio to the point where users can be converted from EG to Studio.

So, if Studio is the future, what does it look like today?...

Well, we've established it's a web-based tool that doesn't need any software installed on  your PC. It has the SAS code editor at the forefront. You can go right ahead and start typing your code. Equally, it provides code-generation wizards for many of the tasks that we find in Enterprise Guide. And, of course, you can copy/paste the code generated by the wizards into your own stream of code.

In version 3.2, the list of tasks is categorised as Data, Econometrics, Graph, High Performance Statistics and Statistics. The list of 40 tasks seems small when compared with the 80+ tasks that I see in EG v7.1, but doubtless the list will continue to grow through each release of Studio. Basic data manipulation tasks that are not included in Studio include the Query Builder (a rich tool for building SQL queries in EG). And when you get into the detail with some of the functional elements you see further "enhancement opportunities", e.g. try filtering the table that you are browsing and you will be presented with an empty box in which you are expected to simply type a where clause.

One of the unique features of Studio is "snippets". These are (as the name suggests) small bits of sample code that you can easily add to your code editor. And you can easily add your code pieces to the "My Snippets" area for re-use.

The "Go Interactive" toolbar button toggles whether each execution of your code should be a continuation of previous executions or whether each execution should be independent. The former mode is useful for submitting one SQL query at a time whilst the PROC SQL remain active.

One shortcoming I've found (but you may see it as a positive feature) is that Studio doesn't give me the ability to open (and save) SAS code on my PC - it only allows open and close from the server. You may see this as a drawback or as a useful feature, depending on your point of view of centralised code, etc.

I've gotten some very snappy responses from my own experience with Studio: submitted code seems to get executed and the results returned far quicker than EG has ever managed. Clearly Studio has some way to go in terms of replicating some or all of EG's functionality, but it's certainly a very capable tool that will already meet the needs of some SAS users. If it takes a while to deploy a copy of EG to your new users, you should certainly think about giving them Studio as a stop-gap whilst they await the installation of EG. They might like it so much that they stay with it and don't use EG!

Further information can be found in the SAS Studio User's Guide. You can see SAS Studio in action in SAS's YouTube contribution named Working in SAS Studio. The best way to check-out Studio is to see it yourself: either download the University Edition, or sign-up for the AWS version. Try the future, today!

Wednesday, 17 June 2015

NOTE: SAS Increasingly Embracing Virtuality & Cloud (and Hadoop) #SASGF15

Last week's UK SAS Forum encouraged me to dig-out my notes from this year's SAS Global Forum and type them up into some blog posts.

One of the notable trends at this year's SAS Global Forum was cloud and virtuality, both providing SAS sites with increased choice and flexibility.

The SAS University Edition has long been available free as a "vApp", i.e. an application packaged entirely into a virtual image that you can launch on your desktop (with the use of VMware Player or Oracle VirtualBox). This provides SAS Studio, Base SAS, SAS/STAT, SAS/IML and SAS/ACCESS (for PC file formats). The vApp approach means little or no installation effort, and the ability or un the same package on any operating system that supports VMware Player or Oracle VirtualBox, e.g. Windows and Mac OS.

At SGF, SAS announced the availability of University Edition via Amazon Web Services (AWS), meaning the power of SAS can now be accessed from any supported browser on any platform (including my ChromeBook!). SAS University Edition in AWS Marketplace is eligible for the AWS Free Tier program, which provides free access to first-time AWS subscribers for 12 months, up to 750 hours a month (subsequent AWS usage fees apply).

In vApp form, the package includes an HTTP sever, operating system, and SAS software, so it's a full 3-tier solution in a black box (meaning far fewer visits to the excellent SAS Community for Admin & Deployment!).

Another vApp, recently made available by SAS, is the Data Loader for Hadoop. Sadly, unlike the University Edition, this is free for a 90 day trial only, but if you are integrating your SAS platform with one or more Hadoop instances it's certainly worth a look. Data Loader for Hadoop provides self-service big data preparation, data quality and data integration for business analysts and data scientists. The point-and-click user interface enables users to prepare, integrate and cleanse big data faster and easier without writing code. Additionally, power users can run SAS code and data quality functions faster on Hadoop for improved productivity and reduced data movement. The most current release is SAS Data Loader for Hadoop 2.2.

If you're keen to earn more about Hadoop it's worth taking a look at the Hortonworks Sandbox. This too is a vApp (and it's free). If you have Data Loader for Hadoop alongside Hortonworks Sandbox then you'll find that Data Loader will configure itself against the cluster on first use, i.e. it will install the SAS embedded process within the cluster so that you can more efficiently execute your SAS work within the cluster.

There's plenty of information to help you get your SAS and Hortonworks technology working together. Look on the Hortonworks site (Explore the Possibilities of SAS Software and Hortonworks Sandbox) site and the SAS site (Step-by-Step Installation & Configuration of SAS Data Loader for Hadoop (Trial Edition) With Hortonworks Sandbox on Windows, and SAS Data Loader for Hadoop Video Tutorials).

Have fun!

Monday, 15 June 2015

Using Data Science for the Greater Good #SASGF15


One of the keynote sessions at this year's SAS Global Forum (SGF) was by Jake Porway on the subject of using data for social good. Jake is CEO of DataKind - a charitable organisation established in 2011 to harness the power of data science for the benefit of humanity. Jake spoke eloquently and passionately about the good things that can be done with a little help from data science.

DataKind has grown to be an international organisation, helping communities across the globe. You can read a lot more about DataKind in the blog article that Jake wrote for SAS Voices back in April. In his article Jake explains how teams of DataKind volunteers have helped in ways which include:
  • Designed new poverty measures for the World Bank using untapped data sources such as light levels visible from space and food prices scraped from dozens of websites to turn what had been a five-year process into a real-time evaluation that takes the guesswork out of tracking inflation rates and easily identifies isolated food crises. 
  • Culled refrigeration temperature patterns and shipping routes with Nexleaf to identify the best transport methods for keeping vaccines from spoiling during delivery throughout the developing world. 
  • Created an algorithm that uses satellite imagery to map the poorest villages in Uganda and Kenya, enabling GiveDirectly to more accurately transfer international donations to the most impoverished households trying to pursue their dreams.
There are many ways to get involved with DataKind's very worthwhile activities. Take a look at the list of upcoming events.

For those of us in the UK, the summer DataDive over the weekend of July 17-19 is a good way to put some of our data science knowledge and experience to good use. Will I see you there? If you can't make the DataDive, check-out the UK page on the DataKind web site and keep an eye on the Meetup forum for other events across the UK.