Cross Compiling With Go

When using compiled languages like C/C++, Go, Rust, etc. a separate binary needs to be created for every OS and architecture the software is meant to run on. Cross-compilation can be daunting at first. In Go, it is built-in and straightforward to use.

Aug 11, 2022 · 2 min · 344 words · D. Michael Senter

Loading Zillow Housing Data in SAS

Zillow is a well-known website widely used by those searching for a home or curious to find out the value of their current home. What you may not know is that Zillow has a dedicated research page. To make their website work optimally, they churn through tons of data on the American housing market. They share insights they gleaned via zillow.com/research. If you visit their research website you’ll notice they have a data page where you can download some really cool data sets for your own research. They even have an API with which you can load data directly, but you’ll have to register for access. In this post, we’ll look at how to load the CSV files that are available for direct download into SAS for analysis. ...

Aug 1, 2022 · 5 min · 892 words · D. Michael Senter

Conditional RegEx Matching with Python

When the endpoint of your match depends on an earlier term, try conditional regex matching in Python.

May 19, 2022 · 3 min · 529 words · D. Michael Senter

Wordle in Golang

Learning the basics of Go with a Wordle app.

May 5, 2022 · 1 min · 208 words · D. Michael Senter

The INDSNAME Option in SAS

I frequently find myself needing to concatenate data sets but also wanting to be able to distinguish which row came from which data set originally. Introductory SAS courses tend to teach the in keyword, for a workflow similar to this: ...

Apr 20, 2022 · 1 min · 159 words · D. Michael Senter

Working with the Census API Directly from SAS

A post showing how PROC HTTP and LIBNAME JSON can be used to directly work with the Census API from SAS.

Apr 13, 2022 · 5 min · 1049 words · D. Michael Senter

Multline Bash Variable Replacement

I’ve recently needed to append several lines of data to a SAS data step that I collected and built via a shell script. For search-and-replace in bash I typically use sed, but this time I ran into a problem - sed does not like multiline shell variables. Thanks to Stack, I found a way to accomplish this task using awk instead. ...

Mar 16, 2022 · 2 min · 244 words · D. Michael Senter

Easy SASPy Setup from Jupyter

I love using SASPy, but the setup can take a minute. I used to do the setup via the CLI until I started thinking I might be able to just do it straight from a Jupyter notebook. Having just a couple of cells in Jupyter notebook makes for easy copy-and-paste and reduces setup time. The code below has been tested on both Windows and Linux. As a bonus, this also works on Google Colab. ...

Mar 11, 2022 · 2 min · 395 words · D. Michael Senter

Cleaning up a Date String with RegEx in SAS

Sometimes we have to deal with manually entered data, which means there is a good chance that the data needs to be cleaned for consistency due to the inevitable errors that creep in when typing in data, not to speak of any inconsistencies between individuals entering data. ...

Sep 29, 2021 · 4 min · 711 words · D. Michael Senter

From Proc Import to a Data Step with Regex

I find myself needing to import CSV files with a relatively large number of columns. In many cases, proc import works surprisingly well in giving me what I want. But sometimes, I need to do some work while reading in the file and it would be nice to just use a data step to do so, but I don’t want to type it in by hand. That’s when a combination of proc import and some regex substitution can come in handy. ...

Jul 29, 2021 · 3 min · 489 words · D. Michael Senter