With us since May 2011.
My dad brought home the first family computer when I was pretty young. I was immediately hooked. For what seemed, at the time, like forever, I tried to figure out how people made programs. I’d open .exe files in Notepad and try cutting parts of the binary from one program to another trying to make different programs. Oddly enough, this never worked.
This experimentation led to more, and eventually I entered Calvin College to study computer science. While at Calvin, I had two internships. The first, a network administration internship with a start-up ISP named FreedomNet, gave me a broad introduction to high-level technologies. The second, DornerWorks, is where I first cut my teeth on embedded software.
After graduation, I stayed in embedded software, but I soon started noticing differences between the way I was working, and the way many of my friends who went into the web world or desktop applications were working. I was writing software that, in many cases, was considered safety critical, but it seemed that my friends were writing non-safety-critical software of higher quality, and they were writing it faster! After exploring the tools they used for project management, process, and testing, it became clear to me that these tools were a large part of what allowed them to produce at that level of quality.
This exploration eventually caused me to seek a firm that attempted to integrate tools usually only found in application-level software (such as unit testing and continuous integration) into the embedded world. I firmly believed that this sort of change would drastically increase the quality of the software I could produce. Atomic Object was that firm.
PS: It should be noted that I’m an avid Haskell user and try to integrate the good parts from the functional programming world into the projects I contribute to.
Past Software Development
- Created an embedded web server running on a ColdFire MCU. It allowed the inputs and outputs of a video feed overlay system to be controlled by a standard web browser. I also helped create a method for interacting with the system by means of a touch-tone phone.
- Created a system to wrap the legacy serial (RS-232) interface of an environmental test chamber with a web server which allowed it to be used and monitored remotely. This was implemented on an off-the-shelf single board computer, and used Linux, Ruby, HTML, and JavaScript.
- Helped create a rig capable of measuring the quality of railroad tracks. The project used Windows XP Embedded, C#, and a number of physical sensors. These included laser range finders, a GPS device, accelerometers, and a rotary encoder. The system was controlled by means of a touch screen.
- Helped create a system used to record sensor data during an automobile crash test. The system required data integrity, throughput, and accuracy. This project used the C programming language and had to take into account unusual power failure conditions and timing constraints.
- Helped create a hardware-in-the-loop test rig which was able to interact with several forms of inputs and outputs: serial, analog, digital, and ARINC-429. I also helped write a Python wrapper around the I/O drivers and a hardware debugger. This wrapper facilitated the automated testing of a complex aerospace electrical component.
Copyright © Atomic Object LLC. - Grand Rapids, MI 49506 - (616) 776-6020 - Contact Us
