Moon over cliff

by Steven Holland

Thoughts on programming, science, nature, and growth through willful change. Oh, and pop-tarts.


Subscribe to RSS Feed

Installing an iOS archive from Xcode 9

12 October 2017

Sometimes, you need to install an older version of an iOS app you’ve developed so that you can test that migration is handled properly when a user updates your app. Apple makes this an easy two-step process in Xcode 9.


Measuring the solar eclipse

22 August 2017

Yesterday’s total solar eclipse was spectacular, especially along the line of maximum totality near Clemson, South Carolina, where we watched it. I used my Arduino temperature and light logger to record the progression of the eclipse.


Adding light to the temperature logger

20 August 2017

During tomorrow’s eclipse, air temperature is supposed to drop, so what’s a scientist supposed to do? Get some data, of course! I’ll modify my Arduino temperature logger so that I can log the light level and the temperature simultaneously.


Taking the unmanned aircraft general exam

31 July 2017

I recently took the FAA’s Unmanned Aircraft General exam so that I could get my Remote Pilot Certificate. The FAA gives good guidance on what to study for the exam, but it’s a large chunk of material. The material is not difficult, but it helps to approach it with a plan, and that’s what I’ll describe.


Becoming a developer and being a student

17 June 2017

About nine years ago, I formed Hunt Mountain Software and started to become a software developer, not just a programmer. One of the surprises of doing this is that it has helped me to better understand the graduate students that I advise in my day job as a professor of geology, and what they face.


Bird-song sonograms in R

14 May 2017

I’ve birded for many years, and one of my goals this summer is to learn to bird by ear. After starting the Cornell Lab of Ornithology course on How to Identify Bird Songs, I’ve become sold on sonograms, pictorial representations of bird songs that show the frequency of the song through time. They’re easy to make with a cell phone and R, and that’s what I’ll show here.


Swift and the Internet of Things

11 May 2017

This week, I presented a talk at CocoaHeads Atlanta on Swift and the Internet of Things. It’s based on my explorations of Swift and Raspberry Pi this past month.


Swift Package Manager on Raspberry Pi

5 May 2017

The Swift Package Manager offers an easy way to add packages to your Raspberry Pi Swift projects. In this post, I’ll use it to flash an LED.


Taking the temperature with Swift and Raspberry Pi

28 April 2017

I’ve used Swift to blink an LED on the Raspberry Pi, now it is time to do something new with the Pi’s GPIO pins. Today, I take the temperature.


SSH into a Headless Raspberry Pi

21 April 2017

In my latest explorations of the Raspberry Pi, my goal is to use its GPIO pins as a sensor and report the results on a web page, combining the capabilities of the Pi’s. In this post, I set up my Pi to run headless, that is, without a monitor, keyboard, and mouse. To do that, I’ll need to access it through secure shell.


Swift on Raspberry Pi

16 April 2017

Since being open-sourced by Apple, Swift has been ported to a a variety of platforms, which is good news not only for code reuse and writing in a consistent language, but also because Swift has many good features. I like writing in Swift, in part because it forces me to think critically about what each method returns.


Preserving User’s Data

16 January 2017

Years ago, many scientists I knew used three Mac apps to plot their data, CricketGraph, KaleidaGraph, and DeltaGraph. Although some of these are still available, some after checkered histories of availability, most scientists I know have moved on to other options, especially R. These apps had proprietary binary data formats for storing the data, the scientist’s data. You were locked in...


FTDI Drivers AND OS X 10.11

24 July 2016

While building a new Arduino project on OS X El Capitan (10.11), I wasn’t able to connect using a serial port. Getting the serial port as an option was possible with some temporary changes to Apple’s System Integrity Protection.


David Raup and Balance

24 April 2016

I have one observation about Dave that I'd to share with you. We don't become rich by doing paleontology; we do it because it fascinates us. Because of that, …


The Basics of Closures in Swift

8 January 2016

Closures are one of the great features in Swift.