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.
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.
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/hosts and /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.
The schematic, EAGLE CAD files, and Bill of Materials for the CHUCKWAGON I2C adapter as presented at DEFCON22 are now available. You can buy the board directly from OSH Park, the components from Digikey, and solder the device yourself. For those looking for some references on using I2C on the BeagleBone Black, check out my I2C references post.
It does require surface mount soldering, but it’s a good board on which to practice. The top layer isn’t so bad but the pads for the P-channel MOSFET on the bottom are a bit tight. If you don’t want to deal with the P-Channel MOSFET, you can put a solder bridge over the source and drain and connect the 5V rail from the VGA adapter to the board. Just be careful not to get the gate, which will short the power rail to ground!
The CHUCKWAGON was also in the NSA Playset Deluxe package. This package was auctioned at the EFF auction, theSummit, which sold for over $2,000. A representative from the EFF passed along their thanks:
Thank you very much for your fantastic donation this year! It’s clear how appreciated it was as it is now the highest valued item auctioned at the EFF summits… ever!
I think the two HackRFs in the bucket were of greater value than the CHUCKWAGON though 😉
After months of work, the CryptoCape is now available at SparkFun Electronics. This cape adds a bunch of security features to the BeagleBone Black. There are seven independent ICs on that board that are connected over I2C. Each IC has a range of features as such, there’s a lot one can do with this hardware. For those who like to read, check out the hookup guide for examples and a walk-through. If you want to listen and watch an off-the-cuff screencast of me performing at demo, check out these screencasts.
I’m very grateful to SparkFun for supporting this idea. I approached them with this idea and applied for their Hacker-in-Residence program. Back then, SparkFun was still calling “capes” “shields”. Now they have a slick BeagleBone Proto Cape in addition to mine, so I’d like to think I helped them get more into the BeagleBone 🙂
I’ve been having a lot of fun with this cape. Of course, I like the security ICs and written a fewdrivers for them. Even if you are not into security, the onboard ATmega is really fun. It can be flashed from the BeagleBone so you can combine Arduino projects with the Beagle!
I have a few boards on Tindie, that I hand assemble, but this is the first device that’s being professionally manufactured. This is the first, of hopefully more, open source hardware security devices from Cryptotronix. I have a few projects spinning now, but if you support open source hardware, and want to add some hardware security, feel free to contact me.
I’ll be talking more about the CryptoCape, how I got into this, and some project ideas at HOPE X in NYC this summer.
For those with a darker color hat, my DEF CON 22 talk was recently accepted. Once the abstract is posted on the speaker page I’ll announce that here. <evil grin>
For those that use the BeagleBone flasher images there was a recent change posted. For new images, the four LEDs will be OFF when the flashing is complete. Previously, they were all on.
The change will improve the reliability of the micro SD card you use to flash the Beagle as the board will now be shutdown by the flasher script. Most of the blogs and instructions out there will say wait for all four LEDs to be illuminated when done. However, the reference instructions has always been at the eLinux Beagle Board Debian site.
The latest images are available from BeagleBoard.org. When you flash your new Rev C, keep in mind this change!
I have been running a Tor relay on a BeagleBone Black since last August. It’s been reset twice. Once after Heartbleed, which effectively destroyed the uptime calculation since it looks like a new relay. The other was when I accidentally unplugged it.
Yesterday I presented at Loveland CreatorSpace’s Make Show and Tell hosted by Aleph Objects. As always, I was impressed by everybody’s projects. There was a decent non-member showing as well as the word is getting out about LCS. By the way, we have a physical space now.
Midway through the show-and-tell we receive a tour of Aleph Objects and saw the massive 3D printer array, which is printing parts for more 3D printers. Aleph gives tours frequently so if you are in the Northern Colorado area, you should really check it out.
I was there talking about the CryptoCape and I had brought the first prototype with me. The board has certainly come a long way and there is plenty more to do. I really wanted a crypto board that was hacker-friendly and could be extended in various projects. I keep thinking about new ways to use the cape and I think it’s going to be a lot of fun for people.
In other news, tomorrow is Arduino Day. Swing by SparkFun and pick up some discount Arduinos! I have my eyes set on the pro Minis.
The current shipping kernel version of the BeagleBone Black is 3.8. However, it is fairly easy to upgrade to 3.13 with the help of Robert Nelson’s scripts. Why upgrade to 3.13? Well, mainly because the support for the OMAP hardware random number generator, OMAP crypto accelerators, and TPM support are available. The TI crypto hardware (hwrng and AES, MD5, and SHA accelerators) are enabled by default in the BeagleBoard images. To enable I2C TPM support, we need to configure the kernel. The CryptoCape, which will be soon available at SparkFun Electronics, will have the Atmel 1.2 TPM.
There are three parts to this post. The first is how to flash Debian to the eMMC. This is not technically a prerequisite, but I keep looking this information up all over the web and I finally decided to write it down. This is how I setup all of my BBBs. The second section is how to use the scripts to quickly upgrade to the 3.13. The last section shows how to customize the kernel and add TPM support. Continue reading “Upgrade the BeagleBone Black to kernel version 3.13”→
I’m about to start my second week at SparkFun Electronics as a hacker-in-residence and I’ve made some great progress. I have an initial draft design of the CryptoCape, which will be scrutinized this week by the awesome SparkFun engineers. Also, I’m working on a BeagleBone Black Cape tutorial which should help anyone looking to get started with Capes and setting up the EEPROM. On Wednesday, my last day, I’ll be giving a lunch-and-learn entitled “Crypto for Makers.” There’ll be a short primer on cryptography and then I’ll dive into project ideas involving crypto. I’m planning on ending with a short talk on submarine life, just for fun.
If you are in the Northern Colorado area, I’ll be hosting a talk at Loveland CreatorSpace on Tuesday, January 21st where I will describe the hacker-in-residence experience and go into some more details about the CryptoCape and building for the BeagleBone Black. Space is limited, so RSVP on Meetup.
At Cryptotronix, I’ve made my first international sale! I’ve expanded shipping to Canada and Europe. Check out the Cryptotronix store on Tindie for more details.