Reflection of Donald Knuth

Donald Knuth, considered to be one of the leading computer scientists. Author of “The Art of Computer Programming” series. (Of which I only have the first 3 volumes.)

“I have to see something to the point where I have surrounded it, and totally understood it before I can write about it with any confidence.”

“A lot of times I’ll have to read through a lot of material just in order to write one sentence, because I’ll choose words that will make it more convincing, and if I don’t really have the knowledge then it’ll somehow come out implicitly in my writing.”

I had no idea that I had so much in common with this man. I frequently get frustrated with myself when I seem to struggle with writing essays in college. It’s not that I can’t do them, but I often feel like I never have enough time to really learn the material well enough to write it how I really want to with confidence.

Collecting sensor data with a Raspberry Pi

13581942_1817158165179754_4275845393677654716_o

For the past year I’ve been working off and on (as time permitted,) a volunteer project with one of my CS instructors.

The goal of the project is to replace MogulWireless’ outdated, $200 embedded Linux SBCs (Single Board Computers,) which they currently use to collect and submit the sensor data, with $35 Raspberry Pi SBCs. (Seen in the lower right of the picture.) The previous software company that wrote the original program has since gone into bankruptcy, so we did not have access to the original source code, and have been writing a new program from scratch. (Which we’ll be giving a copy of the source code to them so they can always port the program to different hardware.)

The program listens for binary data being received on a serial connection, decodes the binary data into useful information, namely temperature and humidity values, and then submits that data to a web server. I believe Mogul’s main customers are hospitals and other health related industries where real-time monitoring is important for temperature sensitive items.

The decoding binary data part has actually been done for a couple months now. Currently we are finalizing what format the data will be sent in, and writing sub-programs to automate the uploading process.

It’s nice to see a long-term project be so close to deployment for stress testing. We need real world testing to determine if there are any performance issues, as these receivers will be listening to possibly hundreds of sensors every minute. The project has been an awesome experience of the kind of things I’d like to do for a living.