Category Archives: DIY

DARPA and the Makers

So there has been a spat going on, where Mitch Altman is parting ways* with other important folks in the Maker movement over concerns about their accepting DARPA money for STEM education. The organization accepting the grant is largely being represented in the arguments by Tim O’Reilly.

Altman and O’Reilly are some of the more substantial organizers of hacker/maker types, and I generally have a great deal of respect for their opinions and activities… but I don’t get what the DARPA fearmongering is about. As far as I can tell, the only problem is that from 1972-1993, and again from 1996 on, the U.S. Government’s technology investment agnecy has had “Defense” prepended to its name out of political necessity. I suppose part of my befuddlement is that the ethics of such things have long been carefully thought through in academia, so seeing the non-academic maker types fret about it is novel.

First off, let’s talk about DARPA. Go read the mission statement. They are tied to the DoD, but their job is to develop technology. Basically, it’s in the United States’ strategic interests to make sure domestic technological advancement keeps pace with or exceeds that of the rest of the world. Strategic does not mean military, I would like to think most of learned this, if not in school, at least from playing empire-building games. The MENTOR program this grant in in particular comes from is to fund education that will nurture future engineers and scientists, to support the goal of advancing science and technology. This is fundamentally the same organization that funded most of the major advances in computing (See Project MAC, MULTICS, and the Internet), even though they grew a “D” in their name, and were founded out of fear of the Soviet’s technological capacity. As it turns out fear of annihilation is a great way to get reluctant politicians to think about the future. DARPA isn’t the armed forces, they’re the US government’s way of investing in technology.

Next, let’s take a little dip into the philosophy of technology. Once some useful bit of technological progress has been made, it won’t be long until EVERYONE has access to it, such is the nature of history and technology. More cynically, the U.S. Military-Industrial complex will do whatever they want with any technology they dredge up, whether or not they paid for its development. Arguments about the intention of technology are kind of ridiculous, and yes, I’m aware that that makes my Utilitarian ethical precepts show. To use one of my favorite examples instead of going into a nebulous argument, the same cheap sensor and storage technology that makes mass surveillance possible also allows us all carry a recording device with which we can watch the watchers and disseminate our findings (so long as our rights to record police stay intact). The difference between menacing and empowering technology is entirely in its application, and the creators, much less the creators’ financial backers, generally don’t get a whole lot of say in the matter.

Finally, let’s talk about practical matters about politics and money in the United States. First, if you’re involved in the technology industry, you are already complicit. Like so many things in the modern world, the technology industry is, to a distressing degree, driven by the military industrial complex. We talk about the need for funding NASA as a matter of driving the leading edge of science and engineering so that technologies trickle down into our every day lives. The same applies to defense; World War 2 and the Cold War were arguably the primary technological drivers of the 20th century. I tend to think of DARPA, like the DoD operated national labs, as “The conservatives won’t let us fund science, so we call it defense and do it anyway.” Yes, it is reprehensible that “Education” and “Science” will get cut, but “Defense” won’t. Yes, some immediate military technology comes out of DARPA programs, but whether or not we are in a decade with the “D” prepended, it has always been about advancing technology. The principle here is that the U.S. Government is offering up money to advance STEM education from a fund that looks enough like defense to remain funded, and it is even better that its use is being directed by people who’s ideas about STEM education are agreeable, to O’Reilly, to Altman, and to people like me.

I’ll even admit there is a little bit of self-justification in here, but we’re all being a little ridiculous: Mitch made his announcement, most likely from some kind of Linux box (Which is a developed clone of a cut-down version of an old ARPA project), on the Internet (which is based entirely on the fruit of another ARPA project).

So, my opinion? Let’s celebrate that a little piece of the DoD budget is going to paying makers to teach future makers instead of fighting wars of aggression on flimsy pretenses in random oil-rich nations on the other side of the world. It surely isn’t perfect, but it is a step in the right direction.

* A bit of my own ideological weirdness: most of the argument took place on Facebook, which I think is sort of an embarrassment to our society, so the link to the original source is indirected through Slashdot.

Posted in Computers, DIY, General, Navel Gazing | Leave a comment

Watch as a Phone Stand


I do this all the time and didn’t realize it was unusual until someone pointed it out the other day. I wear a somewhat clunky metal watch (to use as a grounding strap) and it makes a pretty solid portrait orientation phone stand. Might be a useful trick for someone else.

Posted in DIY, Electronics, General, Objects | Leave a comment

Google Exit Plan

I started writing this as notes for my own use, and wasn’t really planning to post it publicly. However, I didn’t find any comprehensive google exit plans that were suitable for people in my position, and it seemed like an interesting area for discussion, so up it goes.

While making my regular Google backups (detailed below in “Backup ALL the Things”) over the weekend, I decided it was time to update my plans for bailing out of google’s services if necessary, and discovered that there may be superior alternatives to some of the services I’ve been depending on. Google’s vast infrastructure, development resources, ubiquity and integration have tended to make them better than self hosted options. The fact that they are a single party who has thus far been generally responsible with user data makes them more attractive than other hosted solutions. Both of those situations are subject to change.

Continue reading

Posted in Computers, DIY, General, Objects | Tagged , | 1 Comment

Touchpad Cyanogenmod 9

My Touchpad (AKA “The Mobile Platform Test Device”) has had both its OSes updated in the last couple days. WebOS bumped from 3.0.4 to 3.0.5, and I updated the Android install from Cyanogenmod 7 Alpha 3.5 (Gingerbread based) to Cyanogenmod9 Alpha0 (Ice Cream Sandwich based).
tl;dr version: Cyanogenmod9 is, by virtue of speed and features, at rough pairty with WebOS, even though its interactions are uniformly worse.
Details below.
Continue reading

Posted in Computers, DIY, Electronics, Entertainment, General, Objects | Tagged , , | Leave a comment

Another quick Linux aside/breadcrumb, I had some hand-written Udev rules start causing errors on my Arch boxes a while back, and just got around to fixing them. The basic problem is that the Udev rule syntax has changed, and statements … Continue reading

Posted on by pappp | Leave a comment

The previous post ended with “I have no idea why the nodes won’t boot.” Now we know. The problem is that, in terms of the mkchroot-rh script that Warewulf3 comes with, Fedora 16 is not a Redhat derivative. This makes … Continue reading

Posted on by pappp | Leave a comment

Warewulf, and the Kernel Documentation

Earlier, while trying to instrument a failing boot from some peculiar nodes we were trying to provision, I came across the following gem in the Linux kernel documentation, from Documentation/filesystems/ramfs-rootfs-initramfs.txt:

Note: The cpio man page contains some bad advice that will break your initramfs archive if you follow it. It says “A typical way to generate the list of filenames is with the find command; you should give find the -depth option to minimize problems with permissions on directories that are unwritable or not searchable.” Don’t do this when creating initramfs.cpio.gz images, it won’t work. The Linux kernel cpio extractor won’t create files in a directory that doesn’t exist, so the directory entries must go before the files that go in those directories. The above script gets them in the right order.

Yup. If you follow the documentation for the tool, it renders your system unbootable. The linked documentation is actually pretty cool – it explains the rationale for the current state of the boot process, including that charming behavior, and links to the original discussions. But the particular behavior is still kind of psychotic.

Upside: After today’s digging I know all kinds of neat things about the current Linux boot process, which I hadn’t relearned after it changed at the the 2.4/2.6 transition. Similarly, the last couple times we had problems with Warewulf 3 (or, actually, Redhat-isims interfering with Warewulf) brought me back up to speed on interpreting raw packet logs from Wireshark, so this has all been thoroughly educational.
Downside: I have even less idea why the nodes won’t finish booting – the check I was adding was to test our theory that they were running out of memory, and they don’t seem to be.

Posted in Computers, DIY, General, School | Tagged , | 1 Comment

The best of 28C3

I already posted deeper thoughts about some particular talks, but I’ve been watching talks from 28C3 all week, and now that the high-quality permlink videos are up, I want to share some of my favoites. If you would like several hours of background video that will make you a smarter, and possibly better, person, these are excellent.

Roger Dingledine, Jacob Applebaum – How governments have tried to block Tor (Video)
This is the real hacking to change the world for the better situation. These are the hackers who are protecting the people who will get chopped up and mailed to their families for what they say. They deserve all the respect and support in the world. I’m not intellectually equipped to help with Tor, but it is always good to keep humanitarian aspects of engineering in mind – both what you can do to help, and when you may, even inadvertanly, do harm.

Bunnie Huang – Implementation of MITM Attack on HDCP-Secured Links (Video)
I hadn’t really considered the collection of non-infringing desirable things that HDCP ruins (Ever wonderd why Picture-in-Picture stopped being so common? Blame the copyright industry and HDCP.) Bunnie thought about it, and made a consumer-grade product that fixes it. The FPGA crypto+signal work is badass, the hardware platform is awesome, and seeing how it went together as a consumer product is inspiring.

Meredith Patterson – The Science of Insecurity (Video)
Thoughts in a previous post here.

Cory Doctorow – The Coming War on General Compution (Video)
This is why you invite SciFi authors to technical conferences. It lacks the technical depth of most of the other talks I bumped, but it’s insightful and far looking and right.

Evgeny Morozov – Marriage from Hell (video)
This was the keynote, and, unlike most keynotes, really did set the tone for much the conference. The basis of the talk was discussing the issues of large scale surveillance technology, and the role of western companies and governments in creating and perpetuating the industry. A big part of the message is that the technology being paid for for monitoring employees in commercial settings and “lawful intercept” is being sold to authoritarian governments for whom such technologies would otherwise be out of reach, to hunt their citizens.
I thought the Tor talk above actually made a more forceful argument, but this is a better starting point. The hackers have been harping about this for far longer than the rest of the world: these are the people who have been handling the forbidden knowledge computing opens up, and they saw the disaster coming. The freakout isn’t about what large scale surveillance is going to do to hackers – we have the tools to protect ourselves – it’s what it will do to everyone else.

Ang Cui, Jonathan Voris – Print Me If You Dare (Video)
There was some stupid news responses to this (of the “OMG T3H H4XORS WILL BLOW UP YOUR PRINTER” variety) when it was first disclosed, but the hack itself is terribly clever. The reverse engineering foo is tight, the hole they exploit is a classic “I would have done that but … facepalm” kind of hole, and the attacks it enables are a massive evolution of a known mechanism.

Geeks and depression panel(video)
The geek community tends to have depression issues – this isn’t news. The hacker community is an amazing, close, supportive community – this won’t surprise many geeks, but it might surprise others. They talk about this reality. The session is, by the way, really hard to watch. I’m not ashamed to say it made me tear up.

I haven’t seen every session, or even every English session, so I’m no doubt missing some good stuff. There were definitely some other awesome talks; the GSM and USB Reverse Engineering ones were awesome but don’t have quite the same “YOU MUST WATCH THIS” pull to them. I welcome suggestions for other amazing things I may have missed.

Posted in Computers, DIY, Electronics, Entertainment, General | Tagged , | 1 Comment

Touchpad Dual-Boot

I dual booted my Touchpad with CyanogenMod last week, and it has made me notice a lot of things about the Touchpad, WebOS, and Android that I hadn’t fully appreciated before. I wish I had thought to post these as snippets instead of a wall of text, but I foolishly gathered them up and am posting as a set.

Details about putting CM7 on the Toucpad are here in this RootzWiki forum thread. Yes, their page and documentation are a forum thread with 100+ pages of screeching morons obscuring the content – that’s how the Android community tends to be.
The whole CM7 install process is pretty graceful – I had a minor hiccup in that it claimed the gapps would be installed on the first ACME run if I put them in the cyanogeninstall directory, but I had to go in with ClockWork and flash them later – then it hung on the setup autorun on the next boot. Fine after that. During the initial install, I found myself using the phrase “Oh jeez, there is some Linux shit going on”  — it looks like the ACMEInstaller is just a fancy initrd image with some utilities and scripts baked in that does some FS manipulation and archive decompression.  I appreciate it when Linux is Linux. 
Onward to notes:
Continue reading

Posted in Computers, DIY, Electronics, Entertainment, General, Objects | Tagged , , | 1 Comment

Teaching Embedded Systems (with Arduino)

Now that the classes are winding down, I want to write up some internet-accessible notes about the embedded systems unit I designed and taught for EGR199 this semester. The unit went well, and I can see basically the same materials being reused, so having a nice content dump for me or any other instructor to use is worth the effort. Long winded version after the fold.
Continue reading

Posted in DIY, Electronics, General, Objects, School | Leave a comment