This Tuesday, I’m on a panel with John Hawley, the community manager of the MinnowBoard Max, where we’ll be discussing the future of open source hardware. Spoilers, I think the future looks good. With the panel upcoming, I decided to dust off my MinnowBoard Max (MBM) for a little project–I wanted to run Tails on the device.
It’s been a while since I published anything personal on here. Not that I ever really did that, but I’ve been having some blogging guilt lately. I present the following unorganized list of things going on which you may, or more likely may-not find interesting. I tend to get introspective around birthdays that are divisible by five. This is a complete random collection of items. You have been warned.
My brother is a PhD candidate in a computational chemistry program. He occasionally asks me for help with some of the software he’s required to use. In the course of helping him, I’ve learned a few things about scientific software. The following are my observations:
- Scientists love Fortran. They love Fortran as much as a Linux systems programmer loves C and they will probably never leave it for the same reasons. There is apparently a lot of Fortran code out there and the effort to rewrite it would be immense. I’ve suggested to my brother to use wrappers in SciPy, a language with which he is more familiar, but the old guard insists on using Fortran.
I think scientists-who-use-software don’t really get how to write cross-platform code. One package he showed me used a Make file (yeah!) but required you to edit a bunch of text config files first to specify the architecture and some paths and then run make.
Despite these unfortunate realities, I feel that scientists are among the few who use computers for their full potential. It saddens me that the raw computational power in your smart phone is being used to so that you can click like on a post.
There was only so much help I could provide my brother because I really didn’t know anything about the software being used in massive clusters. So when Packt publishing offered me a chance to review Building a BeagleBone Black Super Cluster by Andreas Reichel, I was interested. My cluster operations knowledge is very limited, but I’m pretty familiar with the BeagleBone so I thought this book might be a good way to learn more.
I enjoyed reading Andreas’ approach to the topic. He brings a certain academic perspective to the BeagleBone which is a bit refreshing in a way. In the preface and his introduction he puts the BeagleBone in historical context of computing history which was enjoyable to read.
He then continues to describe how to build a small cluster of BeagleBones. He made a custom mount of ten BeagleBone blacks. The details on how to build the enclosure are complete including how to hack an ATX power supply to power everything. I thought the set up was particularly clever.
The rest of the book describes how to use open source scientific software to run on this cluster. The examples seem very complete including providing details on source code modifications that need to be performed before compiling. This confirms my impression of scientific software :)
The book is approachable by more than just academics. I think there is a growing citizen-scientist movement who would benefit from learning more about parallel computing, especially in the areas of simulation and modeling. There are the occasional Hackaday posts the mentions clusters if you are looking for applications. One post describes a 33 Raspberry Pi cluster and the other an eight-node clustered webserver.
Now if my brother asks for help, I still really won’t understand what he’s doing, but I’ll at least have some background on how the software tools should work.
I’ve been working on a few Arduino libraries lately. Since there is no package manager for Arduino1 you have to install libraries manually. Generally, this is not a big deal as you just need to plop the library in your
/Arduino/libraries/ folder. If you are writing a library, spend the extra effort and make the library conform to the Arduino IDE 1.5 Library Specification. This will make it even easier to plop libraries in that folder and plus, your library and examples, will nicely display in the IDE.
However, the documentation is very sparse about what keywords are. Basically, keywords are used by the IDE to perform syntax highlighting and thankfully, this post provides some clarification. I also submitted an issue so hopefully they improve that page. I guess I could have edited the wiki directly, but I couldn’t find a link to the actual keyword definitions.
Lastly, if you do create an Arduino library, pretty please, with sugar on top, pick an OSI Approved License. It may be fun to pick something else, but consider that there may be somebody who wants to seriously use your library and unless you pick a clear license, it will be unclear how to incorporate your library with their larger work.
Enjoy the snow while it lasts.
- Feel free to run off with this good idea. ↩
For all the hardware hackers looking for a gift, either for yourself or for others, BeagleBone for Secret Agents is only $5 as an eBook until January 6th! Actually, all Packt eBooks are on sale for the same price until then. Also, all Packt eBooks are DRM-free and I’m very happy to have a book with a publisher that supports this.
- I love you Mom and Dad! ;) ↩
Building Open Source Hardware, by Alicia Gibb, is now available! I received my copy tonight and just by flipping through it I can tell it is an impressive collaborative effort that captures the zeitgeist of the OSHW movement. There are over 16 contributing authors who share their expertise in areas such as wearables, licensing, design, manufacturing, materials, and documentation. I’ll post a proper review once I’ve completed reading it.
I’m also proud to announce that a very small contribution of mine made it into this book. I wrote a brief essay of OSHW Security Do’s and Don’ts which unabashedly occupies Appendix B. There are no shocking revelations — just some good common sense practices.
If you are involved in any way with OSHW, you should like this book. But you don’t have to take my word for it.
SparkFun Electronics gave me a free pass to SAINTCON, a networking security conference in Odgen, Utah. How did I receive this? Well, social media addiction has its rare benefits and I was the first to respond to a tweet.
Who wants to go to SaintCon Oct 20-23 in Ogden, UT? We’ve got a free badge ($250 value) for the first person to reply!—
SparkFun Electronics (@sparkfun) October 02, 2014
SAINTCON hosted a Hardware Hacking Village (HHV) this year and as the recipient of a SparkFun-sponsored ticket, I felt I should check out the HHV immediately. I sat down, soldered my badge, and then proceeded to complete all five hardware challenges; I was the first to complete hack the badge. That’s what happens when a SparkFun social-media-addict goes to a conference.
My book, BeagleBone for Secret Agents, is now available. The title is slightly misleading as you need not be a secret agent to enjoy this book. ;) There are five self-contained projects involving electronics, cryptography, and various software packages but I wanted to write a book that was more than just a collection of projects. In BBfSa, I tried to motivate the social and individual importance of using software like Tor, GPG, and OTR. While the projects are cool, IMHO, I’m hoping that readers will appreciate the need for and difficulty of developing privacy enhancing technologies.
I picked projects that were explicitly more detailed than one could describe in a blog post. Most of them combine hardware and software and I would describe the projects as challenging, but attainable. If you decide to buy it hopefully you not only enjoy it, but learn something as well.
The book is available as a DRM free eBook and as a bound collection of printed dead-trees. I’ve stopped reading with eBooks readers, but there are just over 100 references, most with URLs, and I can appreciate the convenience of using one. You can visit my BBfSa page to see its availability or buy it direct from Packt Publishing.
Thanks to the many people at Packt who helped with the direction, editing, and layout. I was lucky to have very talented reviewers. Lastly, thank you Nate for writing an incredibly insightful forward and to SparkFun, without whom the projects in this book would not have been possible.
My initial reaction to Banned Books Week, which is this week, was “oh, this when we remember how we used to ban books back in the 50s.” I went to the Banned Books Week website and found a pamphlet that shows the banned or challenged books, in 2013! Looking over the list, I’m incredulous that books like the Margaret Atwood’s Handmaid’s Tale, and Diary of Anne Frank, which a Northville, Michigan middle school try to ban, are still routinely challenged.
I update my BeagleBone images very frequently. As soon as you have more than one beagle running around your house, keeping track of them takes some effort. I like to have unique hostnames set for each device so that I can ssh into the unique device. I also put a little sticker on each one to remind me of the hostname.
Anyway, it’s pretty easy to change the hostname on Debian. To do it properly you need to edit two files,
/etc/hostname. It’s an annoying little task that I do often enough I finally decided to script it. I should start making a collection of these scripts as I perform the same tasks each time, but we have to start somewhere.
#!/bin/bash if [[ "$#" -ne 1 ]]; then echo "$0 usage: newhostname (run as root)" exit 1 fi name=$(hostname) hostname $1 sed -i "s/$name/$1/" /etc/hosts
Also available via
wget https://gist.githubusercontent.com/jbdatko/d7fd5f4232db99f85e00/raw/636dd36cf34069489cd3988de7381d41c7595469/changehostname.sh chmod +x changehostname.sh