There are two activities which, when taken in combination, have occupied the vast majority of my working hours for the past 20 years: writing computer programs and writing...well, just writing. During my college years I completed my degree with a double-major: Computer Science and English. (My English degree has a
Author
Most custom tasks need to access SAS data in some way. Since custom tasks are built using Microsoft .NET, and the .NET Framework is object-oriented, it would be convenient if we had an object-oriented method for navigating SAS data sources. That was the thinking behind the "SasData"-namespace classes within the
We are careening towards the holiday season, and this year more than ever before it's going to mean one thing: Online Shopping. As you enter your credit card number over and over to complete your many purchases, you might occasionally transpose or mistype your account number. Does it surprise you
I work on a variety of projects at SAS, most of which require some level of team collaboration in source management systems. Due to the many technologies that we work with, SAS developers use different source management tools for different purposes. I've got projects in CVS, Subversion, and Git. When
According to the Daily Writing Tips blog, describing a thing as "somewhat unique" is bad form. Unique means "one of a kind", so either it is or it is not. The famous example (which the style police will use to chide you) is that you can't have something as "somewhat
I've been finishing up just a bit of the "boilerplate" content for my forthcoming book about custom tasks. One of the final tasks is to write the introduction, also known as the "About this Book" section. SAS Press offers a template with examples of a few essential topics to address
You might know about the many automatic macro variables that are available in SAS. They provide plenty of information about the SAS environment, such as the current user (SYSUSERID), the SAS version (SYSVER and SASVLONG), and the operating system where SAS is running (SYSCP and SYSCPL). That information is often
Milestone achieved: I've completed the final chapter of Creating Custom Tasks for SAS Enterprise Guide using Microsoft .NET and turned it over to SAS Press for editing and production. It's scheduled to be available in early 2013. I committed to writing this book nearly 5 years ago. I'll engage in
The following is an excerpt from my forthcoming book: Creating Custom Tasks for SAS Enterprise Guide using Microsoft .NET. If your custom task generates a SAS program, the chances are pretty high that your program will reference one or more variables within a SAS data set. Despite our best efforts,
Last week I attended a meeting of the Toronto Area SAS Society. (Okay, I didn't just attend; I was a presenter as well.) This user group meeting contained a feature that I had never seen before: "Solutions to the Posed Problem". Weeks before the meeting, an "open problem" was posted