22 December 2017
Completion closures in Swift are incredibly useful: they let you execute some code after some computationally long task is completed, often a task that takes an indeterminate amount of time to complete.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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...
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.
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, …
8 January 2016
Closures are one of the great features in Swift.
7 September 2015
The end of summer has brought a profusion of caterpillars to our yard, and many of them look like something out of Dr. Seuss.
8 August 2015
I went out for a short hike this morning with my 11-year-old son. One of our favorite nearby hikes is the orange trail at the State Botanical Gardens here in Athens. One of the reasons it’s a favorite is the stream and the chance to explore for critters.
13 January 2013
The weather monitor I made has been useful for keeping an eye on conditions in our basement, which can feel a bit damp at times. It would be more useful to see this data from anywhere. Luckily, its easy to turn an Arduino into a web server. As a side benefit, I can also have the Arduino log the data.
2 November 2012
I’ve graduated from temperature to other environmental data: humidity and pressure. For this installment, I’ll show a slightly more involved circuit using two excellent sensors from. I’ll also use a two-line LCD display to show the current readings.
9 September 2012
This weekend’s fun is a temperature logger. What I am curious about is how quickly my coffee cools off and what I can do to slow that down. More on that next time; for now, I need to build something that can measure temperature in liquids and that can record that temperature so I can plot it.
1 September 2012
For a few months now, I’ve been learning some electronics through, the open-source microcontroller. I have a few older projects that I’ll post soon, but this one is my latest: using Arduino to trigger my Nikon D80 with passive infrared motion-detection sensor.
7 April 2012
On the last episode (#71) of Build and Analyze, Marco Arment and Dan Benjamin discussed whether college was necessary. Marco fielded a listener’s question about whether the choice of a college mattered for a career, and he went on to the larger question of whether one should go to college at all, especially for someone interested in programming and development. I agree with most of what Marco and Dan said, but there is another way to think about the whole question.
16 February 2009
It seems like every day raises new reasons to be concerned about Facebook and the security of your personal information. Just two weeks ago, I was about to send out my reply to “25 things you may not know about me”. Fortunately, I had the good sense to balk. My list contained 25 personal facts, but certainly no deep, dark secrets. Even so, they were 25 things I wouldn’t mind sharing with good friends and family, but with long-distant acquaintances and former students? I don’t think so.
10 February 2009
Although ssh is far more secure than telnet, it is also subject to exploits. Even so, it can be made more secure than it is in it’s default distribution. Here’s what I do to make ssh for Mac OS X less subject to being hacked. Much of this is based on an article originally published at oreilly.com. The instructions are involved, but you’ll just need to set this up once and then you’ll be running secured.
3 December 2008
I released Diversity for beta testing today. This is huge for me - this was the first big application I planned after the Cocoa Bootcamp at the Big Nerd Ranch. I had nothing but praise for Aaron Hillegass’ course after I took it, and the more I program in Cocoa, the more I think Aaron is an extraordinarily gifted teacher.
1 December 2008
Most of the programs I distribute at the UGA Stratigraphy Lab are simple tools for doing some calculation that cannot be done easily in a spreadsheet. All of the programs are tools that I developed for my own research problems and that I thought might be useful for a larger audience. Some turned about to be more useful than others (and some I’m sure have never been used by anyone but me!). What’s common to all of them is that they’re tools, not applications. The data is assumed to be in some text file, in some specific format, often in some specific location with some specific file name. The program reads that file, does some calculations, and churns out another text file with the results, with some specific ... you get the picture. If the input file isn’t in the right place, or doesn’t have the right name, or doesn’t have the right format, the program fails. Usually, the user has no idea what happened and they have to email me.
20 November 2008
About a year ago, I realized it was time for new challenges. I’m a professor in geology and I study the effects of climate and sea-level change on ancient marine ecosystems (but that’s a different story). As part of my research, I’ve written programs for scientific analyses and have distributed some of them on my university website. I’ve programmed for over twenty years, writing some BASIC, FORTRAN, Hypercard, and then I switched to C about 15 years ago. The software I released was written for Mac OS 7-9, and I made the switch to Carbon once it came out. Although I made a couple of half-hearted attempts at learning Cocoa, it seemed that the demands on my time never allowed me to really take it on. I’d read about Aaron Hillegass’ highly regarded Cocoa Bootcamp, but finances always seemed a barrier.