Anyone Need a Good SAS Programmer?

My current company, despite my objections and expertise, is phasing out SAS, and I think it is a misguided decision.

I am only about three years away from semi-retirement, but you won’t find a more motivated worker.  Not only am I a top flight SAS programmer with many years of experience, but I’m also very good at teaching and mentoring others in the use of SAS—something I almost never get to do in my current position.

I need a change.

I have “big city” job skills in a small town where there appear to be no other employers who would be able to make use of my SAS expertise.  And, at this stage of my life, I can’t relocate and am unwilling to commute, so working from home appears to be the only option.

I’m looking at potential opportunities as an “encore career” and would really like to do something that directly benefits society.  I loved my 21 years at the Iowa Department of Transportation, and would love to be a public servant once again, or to work for a nonprofit organization. Or work on scientific projects—true science, not data “science”. Or, data for good projects.  Both salary and number of work hours (up to full time) are completely negotiable.  I’m at a point now in my career where I can be more flexible for the right opportunity.

I have my own personal SAS Analytics Pro license, so could do work for you even if you don’t have SAS.

SAS is a great product, and SAS Institute is a great company.  And SAS keeps getting better all the time.

In Praise of SAS

I’ve been writing programs in SAS since 1985. Back then, it was SAS 5.15 on an IBM mainframe computer (remember JCL, TSO, ISPF?) at the Iowa Department of Transportation. Today, it is SAS 9.4, under Windows 10 at home and Linux at work.

I love this language. It is elegant. It is beautiful. I’ve become an expert. I’ve never had a computational problem to solve, a data manipulation to do, a process to automate, or a report to write that I couldn’t do with SAS.

New features are being added all the time, and I am constantly learning and improving to keep up with it all. And the legacy code still runs just fine. Peace of mind. The company behind this success story is SAS Institute, based in Cary, North Carolina. SAS Institute has the best technical support of any company I have ever dealt with, and that is as true today as it was in 1985, and all the years in between. Again, peace of mind.

I’ve heard from multiple sources that SAS Institute is a fabulous place to work, and it shows in their software, their customer service, and the passion their employees have for making SAS software the best it can be—and helping us solve just about any analytics problem. Inspiring. And you won’t find a more passionate user community anywhere. At least not with any company that has been around as long as SAS has (since 1976).

SAS Institute is the world’s largest private software company, and being privately owned has much to do with their success and consistency, I believe. No greedy shareholders to please. SAS Institute need answer only to their customers, and to their employees. That’s the way it should be.

Computer languages have come in and out of vogue over the years: FORTRAN, PL/I, Pascal, C, C++, Perl, Java, R, Python, etc., and with each new language that comes along, SAS absorbs the best elements and moves forward to the next challenge.

Python is currently very popular, as is open source in general, and I have no doubt that SAS will incorporate the most valuable functionality of Python and open source (already in progress) and keep tooling along like a well-oiled machine. In another ten years, SAS will be incorporating another new language that will have supplanted Python as the programming language du jour.

You’ve got to admire a company like that. In an era when everyone wants — even expects — “stuff for free”, the old adage “you get what you pay for” still applies. Yes, SAS is expensive—and I’m hoping their mature “core” product will come down in price—but I can’t complain too loudly because quality, longevity, and dependability costs money. It always has.

I’ve noticed that our younger open source programmers use a lot of different tools to do their work. One big advantage of SAS is that I can do most of my work using one tool – SAS. SAS provides a beautifully integrated and far-reaching data analytics environment.



Retirement Advice?

I’ll be 63 in a couple of months. My the years go fast, faster still of late.

Naturally, I’m beginning to look toward retirement when I can finally devote nearly all my time and energy to astronomy, preservation and restoration of our nighttime environment, and classical music. These three avocations have been my primary interests all of my adult life.

I’m in need of some retirement advice by someone who is not trying to sell me a financial product. I’d like to semi-retire as soon as possible, but want to wait until age 70 to collect Social Security when the monthly benefit reaches a maximum. So, I guess that means gradually cutting back work hours and supplementing the lost income with some retirement benefits.

I’m in a good position in terms of having a marketable work skill for the semi-retirement years. You’d be hard pressed to find a better SAS programmer. I’ll be at SAS Global Forum 2019 in Dallas this spring if you want to talk.

Honestly, I’ve been in a bit of a funk since I started this blog back in December 2016. First, Trump got elected, and that made me realize how bad things have gotten in this country. That someone so boorish and with zero job skills as a public servant got elected as President of the United States is both frightening and depressing. And the national nightmare continues. Then, last fall, my employer moved everyone except for management into an open office environment, which I hate. Throughout my work career, I’ve always had my own office or a cubicle and now I’m in a big open room with lots of distractions and a desk half the size of what I had just a few months ago, and no place to put my books, so I had to bring them all home. No one wants to learn SAS at my company anymore, even though I do amazing things with it every day. I’m in high demand, but they’re not hiring anybody anymore with SAS skills. That’s depressing, because it is a great language and a great company and SAS Institute most definitely continues to innovate. But open source is the name of the game where I work now.

It is easy to feel isolated living in a small town. As my friend Jeff Dilks once said when he was a physics teacher in Shenandoah, Iowa, the chances of finding anyone else in a small town (or rural area) with similar interests and abilities are vanishingly small if you have “big city” interests and a specialized education. That’s true, but where else are you going to live if you want to do observational astronomy and ride a bicycle to and from work? Quality of life issues like that, you know. But loneliness, yes, and I imagine that gets to be more of a challenge in our later years.

For something like 30 years, I’ve wanted to help develop and nurture a science-oriented and education-oriented intentional community where astronomy is a major focus. I even have a name for it: Mirador Astronomy Village. Can’t think of a better way to spend my retirement years, but it takes serious money to get something like this off the ground, and money I don’t have.

With open office and all (which is pretty much ubiquitous nowadays), I’ve soured on the idea of working for “Corporate America” any longer. I’d be much happier as a public servant, trying to make the world a better place and helping to solve the many problems for which Corporate America is not the answer, and has no answers.

Zodiacal Light 2019

In this year of 2019, the best dates and times for observing the zodiacal light are listed below. The sky must be very clear with little or no light pollution. The specific times listed are for Dodgeville, Wisconsin.

2019BeginEndDirection
Tue. Jan. 226:39 p.m.7:03 p.m.West
Wed. Jan. 236:40 p.m.7:40 p.m.West
Thu. Jan. 246:41 p.m.7:41 p.m.West
Fri. Jan. 256:42 p.m.7:42 p.m.West
Sat. Jan. 266:43 p.m.7:43 p.m.West
Sun. Jan. 276:44 p.m.7:44 p.m.West
Mon. Jan. 286:45 p.m.7:45 p.m.West
Tue. Jan. 296:46 p.m.7:46 p.m.West
Wed. Jan. 306:48 p.m.7:48 p.m.West
Thu. Jan. 316:49 p.m.7:49 p.m.West
Fri. Feb. 16:50 p.m.7:50 p.m.West
Sat. Feb. 26:51 p.m.7:51 p.m.West
Sun. Feb. 36:52 p.m.7:52 p.m.West
Mon. Feb. 46:53 p.m.7:53 p.m.West
Tue. Feb. 56:55 p.m.7:55 p.m.West
Wed. Feb. 67:09 p.m.7:56 p.m.West
Thu. Feb. 217:14 p.m.8:14 p.m.West
Fri. Feb. 227:15 p.m.8:15 p.m.West
Sat. Feb. 237:16 p.m.8:16 p.m.West
Sun. Feb. 247:17 p.m.8:17 p.m.West
Mon. Feb. 257:19 p.m.8:19 p.m.West
Tue. Feb. 267:20 p.m.8:20 p.m.West
Wed. Feb. 277:21 p.m.8:21 p.m.West
Thu. Feb. 287:22 p.m.8:22 p.m.West
Fri. Mar. 17:23 p.m.8:23 p.m.West
Sat. Mar. 27:25 p.m.8:25 p.m.West
Sun. Mar. 37:26 p.m.8:26 p.m.West
Mon. Mar. 47:27 p.m.8:27 p.m.West
Tue. Mar. 57:28 p.m.8:28 p.m.West
Wed. Mar. 67:30 p.m.8:30 p.m.West
Thu. Mar. 77:31 p.m.8:31 p.m.West
Fri. Mar. 88:01 p.m.8:32 p.m.West
Fri. Mar. 228:50 p.m.9:24 p.m.West
Sat. Mar. 238:52 p.m.9:52 p.m.West
Sun. Mar. 248:53 p.m.9:53 p.m.West
Mon. Mar. 258:54 p.m.9:54 p.m.West
Tue. Mar. 268:56 p.m.9:56 p.m.West
Wed. Mar. 278:57 p.m.9:57 p.m.West
Thu. Mar. 288:59 p.m.9:59 p.m.West
Fri. Mar. 299:00 p.m.10:00 p.m.West
Sat. Mar. 309:01 p.m.10:01 p.m.West
Sun. Mar. 319:03 p.m.10:03 p.m.West
Mon. Apr. 19:04 p.m.10:04 p.m.West
Tue. Apr. 29:06 p.m.10:06 p.m.West
Wed. Apr. 39:07 p.m.10:07 p.m.West
Thu. Apr. 49:09 p.m.10:09 p.m.West
Fri. Apr. 59:10 p.m.10:10 p.m.West
Sat. Apr. 69:12 p.m.10:12 p.m.West
Sun. Apr. 710:03 p.m.10:13 p.m.West
Thu. Aug. 293:39 a.m.4:39 a.m.East
Fri. Aug. 303:40 a.m.4:40 a.m.East
Sat. Aug. 313:42 a.m.4:42 a.m.East
Sun. Sep. 13:43 a.m.4:43 a.m.East
Mon. Sep. 23:45 a.m.4:45 a.m.East
Tue. Sep. 33:46 a.m.4:46 a.m.East
Wed. Sep. 43:48 a.m.4:48 a.m.East
Thu. Sep. 53:49 a.m.4:49 a.m.East
Fri. Sep. 63:50 a.m.4:50 a.m.East
Sat. Sep. 73:52 a.m.4:52 a.m.East
Sun. Sep. 83:53 a.m.4:53 a.m.East
Mon. Sep. 93:55 a.m.4:55 a.m.East
Tue. Sep. 103:56 a.m.4:56 a.m.East
Wed. Sep. 113:57 a.m.4:57 a.m.East
Thu. Sep. 124:52 a.m.4:59 a.m.East
Fri. Sep. 275:11 a.m.5:18 a.m.East
Sat. Sep. 284:19 a.m.5:19 a.m.East
Sun. Sep. 294:20 a.m.5:20 a.m.East
Mon. Sep. 304:21 a.m.5:21 a.m.East
Tue. Oct. 14:23 a.m.5:23 a.m.East
Wed. Oct. 24:24 a.m.5:24 a.m.East
Thu. Oct. 34:25 a.m.5:25 a.m.East
Fri. Oct. 44:26 a.m.5:26 a.m.East
Sat. Oct. 54:27 a.m.5:27 a.m.East
Sun. Oct. 64:29 a.m.5:29 a.m.East
Mon. Oct. 74:30 a.m.5:30 a.m.East
Tue. Oct. 84:31 a.m.5:31 a.m.East
Wed. Oct. 94:32 a.m.5:32 a.m.East
Thu. Oct. 104:33 a.m.5:33 a.m.East
Fri. Oct. 114:43 a.m.5:34 a.m.East
Sat. Oct. 264:51 a.m.5:19 a.m.East
Sun. Oct. 274:53 a.m.5:53 a.m.East
Mon. Oct. 284:54 a.m.5:54 a.m.East
Tue. Oct. 294:55 a.m.5:55 a.m.East
Wed. Oct. 304:56 a.m.5:56 a.m.East
Thu. Oct. 314:57 a.m.5:57 a.m.East
Fri. Nov. 14:58 a.m.5:58 a.m.East
Sat. Nov. 24:59 a.m.5:59 a.m.East
Sun. Nov. 34:01 a.m.5:01 a.m.East
Mon. Nov. 44:02 a.m.5:02 a.m.East
Tue. Nov. 54:03 a.m.5:03 a.m.East
Wed. Nov. 64:04 a.m.5:04 a.m.East
Thu. Nov. 74:05 a.m.5:05 a.m.East
Fri. Nov. 84:06 a.m.5:06 a.m.East
Sat. Nov. 94:07 a.m.5:07 a.m.East
Sun. Nov. 104:34 a.m.5:08 a.m.East
Sun. Nov. 244:23 a.m.4:27 a.m.East
Mon. Nov. 254:24 a.m.5:24 a.m.East
Tue. Nov. 264:25 a.m.5:25 a.m.East
Wed. Nov. 274:26 a.m.5:26 a.m.East
Thu. Nov. 284:27 a.m.5:27 a.m.East
Fri. Nov. 294:28 a.m.5:28 a.m.East
Sat. Nov. 304:29 a.m.5:29 a.m.East
Sun. Dec. 14:30 a.m.5:30 a.m.East
Mon. Dec. 24:31 a.m.5:31 a.m.East
Tue. Dec. 34:32 a.m.5:32 a.m.East
Wed. Dec. 44:33 a.m.5:33 a.m.East
Thu. Dec. 54:34 a.m.5:34 a.m.East
Fri. Dec. 64:35 a.m.5:35 a.m.East
Sat. Dec. 74:35 a.m.5:35 a.m.East
Sun. Dec. 84:36 a.m.5:36 a.m.East
Mon. Dec. 94:37 a.m.5:37 a.m.East
Tue. Dec. 105:29 a.m.5:38 a.m.East

The best nights to observe the zodiacal light at mid-northern latitudes occur when the ecliptic plane intersects the horizon at an angle of 60° or steeper. The dates above were chosen on that basis, with the Sun at least 18° below the horizon and the Moon below the horizon being used to calculate the times. An interval of time of one hour either before morning twilight or after evening twilight was chosen arbitrarily because it is the “best one hour” for observing the zodiacal light. The zodiacal light cone will be brightest and will reach highest above the horizon when the Sun is 18° below the horizon (astronomical twilight), but no less.

If you are interested in calculating the angle the ecliptic makes with your horizon for any date and time, you can use the following formula:

\cos I = \cos \varepsilon \sin \phi-\sin \varepsilon \cos \phi \sin \theta

where I is the angle between the ecliptic and the horizon, ε is  the obliquity of the ecliptic, φ is the latitude of the observer, and θ is the local sidereal time (the right ascension of objects on the observer's meridian at the time of observation).

Here’s a SAS program I wrote to do these calculations:

References
Meeus, J. Astronomical Algorithms. 2nd ed., Willmann-Bell, 1998, p. 99.

Office Blues

I’ve been in the work force for 38 years, and I have always had a cubicle with full-height partitions or an office of my own.  As a computer programmer, I’ve always needed to concentrate intensely for most of the work day.  That requires a certain amount of freedom from visual and auditory distractions.  I need to focus.

This week, the work environment I have had throughout my career is being taken away from me, forcibly, as it is for all of us where I work.  We had no input.  No explanation was given.  The decision was made at the highest levels of our company’s management.  We are moving to open office.

We still have cubicles—if you want to call them that—but no partition is higher than eye level when sitting in an office chair.  No more upper shelves, no more book shelves.  Only a work surface and a meager amount of drawer storage underneath.  No more physical barriers between rows.  Just one big, noisy, overilluminated room.  Everything and everyone exposed for all to see from anywhere in the room.

Speaking of illumination, as part of the office “improvements” they have also replaced the warm white fluorescent lights we have used for decades—with a correlated color temperature (CCT) around 3000 to 4000 K—with significantly brighter and bluer LED lights having a CCT of 4000 to 5000K or higher.  It provides a cold, harsh, clinical illumination, not at all like the natural daylight they are trying to emulate.  LEDs are, of course, readily available in the warmer color temperatures of 2700K to 4000K.

I am not alone.  Many of my coworkers—some much younger than me—do not like open office nor the bluer, brighter lights we now have to endure.

This just adds additional stress to an already stressful job.  When is management going to learn that one size does not fit all?

Anyone need a top-flight SAS programmer with good communication, mentoring, and teaching skills?

Further reading…

The Unintended Effects of Open Office Space
https://www.hbs.edu/news/articles/Pages/bernstein-open-offices.aspx

Eclipse Weather – IL, MO, KS, NE, and WY

I’ve written a SAS program that pulls National Weather Service zone forecasts for the 49 counties along the eclipse centerline in Illinois, Missouri, Kansas, Nebraska, and Wyoming.  During the week leading up to the Monday, August 21, 2017 total solar eclipse, I will be frequently updating this page:

Eclipse Weather

I hope you will find this weather resource useful as you plan for a cloud-free view of this wondrous event.  Clear skies!