Ask me anything
Desired topics?
Random
RSS
@GChriss on Twitter ()
@GChriss on Identi.ca


I’ve undertaken a digitization project that involves scanning several large binders.  Each binder holds a series of plastic sheet protectors and each sheet protector contains mixed media (newspaper clippings, correspondence, booklets, etc.) that have been logically grouped together; the series progresses in a chronological storyline format.

Book scanners, such as the Internet Archive’s Scribe, are not particularly well-suited for this task.  But a traditional flatbed scanner is, and a large–format one at that.  The highest–resolution A3-size scanner available is the Mustek A3 2400S (pictured middle–right).  At $270 USD it’s also one of the most affordable—and, likely—appealing options for budget–minded archivists and graphic artists.

As a new-on-market scanner SANE support is currently non-implemented. From 2000–’07 Mustek maintained a substantial level of GNU/Linux support for their scanners by publishing a GPL'd SANE backend.  (Although GNU/Linux support appears to have become abandoned for reasons unknown since then I'm holding hope that Mustek will re-introduce this level of support for their products.)  Today the the free software community is left to reverse–engineer scanner support from scratch, a non-trivial process even by coding standards.

Unlike remote development on, say, a new chipset or codebase, writing a new SANE backend requires very real–world access: developers must be able to see, hear, and physically power–cycle scanners on an as-needed basis. Without these abilities a “mis-behaving” scanner may become physically damaged as the (delicate) positioning motor tries to continuously force the scan-bar past the maximum range.  Thus real-world access itself becomes an impediment to developing support for these type of devices in a timely fashion.




Introducing DANE: Developer Access Now Easy

(It’s OK to chuckle, it’s a funny name.)


In lieu of sending the scanner off to a developer I decided the next–best course of action would be finding a means of addressing, monitoring, and power-cycling the scanner remotely.  Correspondingly the above photos are of a Mustek A3 scanner and room lamp connected via the green power strip to a USB Net Power 8800 relay switch.  The overhead Elphel 353L camera and server (the cube-shaped black box, a Shuttle SG31G2 V2) are attached to an always–on power strip.  The relay switch control cable, scanner, and ThinkPenguin TPE-N150USB WiFi adapter are connected to a Koutech IO-PU520 5-port USB 2.0 PCI expansion card.  The USB expansion card provides a robust USB interface and makes the system reboot-safe; the Shuttle box always supplies power to all motherboard USB ports.


For monitoring the Elphel camera is set to transmit ‘Full HD’ Motion JPEG at 18 FPS to a GStreamer pipeline running on the Shuttle.  The pipeline in turn converts the video stream to Ogg Theora then bounces the encoded stream off of a localhost Iccast server with an end–to–end latency of about six seconds. The livestream is currently up and running.  offline for camera maintenance.

In the process I came to the realization that remote development access for such devices is, 1) really important, and 2) almost non-existent within the free software community.  There are a several cases where novel development approaches would really help:

—When gifting or shipping devices to developers is either impractical (e.g., expensive or bulky items) or precarious (e.g., customs delays, loss)
—Increasing developer multitasking efficiency (e.g., ‘hacking’ remote devices while waiting on a flight delay)
—Team–based remote development, side–stepping the need to purchase multiple devices for multiple developers

Encouragingly, Elphel adopted this approach with the (currently–offline) Elphel Camera Sandbox.  I’m at a loss to think of other examples.

We need a name to call this, or at least an adopting project, and a collection of guidelines and reference implementations across a broader range of devices.  Thoughts?



I bought my first ThinkPad back in 2007, a new-on-market T60p.  It was a relatively expensive investment—my previous and first laptop was a delicate Dell Inspiron 8200—but I needed the 15.4” widescreen LCD to run through PDFs quickly on a two-page-up display.  I turned to Lenovo knowing that ThinkPads had solid construction quality and generally-good Linux support, even if the T60p was exceptionally heavy and had non-existent graphics acceleration support for the first year or so.  I didn’t mind really.  I was happy.

Central to this happiness was an improved WiFi experience provided by an Atheros AR5BXB72 802.11 a/b/g/n mini-PCI Express adapter attached to two antennas located behind the LCD screen; the Inspiron had a single antenna attached to a high-power, ‘b’-only adapter I swapped in from a company I had just discovered called NetGate.  It was a neat experiment but not-quite-practical for day-to-day-work due to a lack of antenna diversity.

But alas, I dissembled my T60p for parts after I thought the mainboard power units bit the dust, which I learned later was simply caused by a defective power cable.  In need of a new laptop, and having a generally-good experience with the T60p, I turned to Lenovo for a new-on-market Thinkpad X201i.  At $900 it was a cost-effective purchase providing a powerful but lightweight solution to my mobile computing needs.  I opted for the cheapest WiFi adapter – why spend money on an upgrade option when I knew I would swap in my old adapter?
And the X201i came with three wireless antennas.

Upon arrival I made short work of reformatting the hard disk with a Linux distribution, booted, saw that all was well, then shut down the laptop for the adapter swap-out.  It took several minutes to figure out how to connect the antennas and even how to fit the full-size adapter into half-size mini-PCI slots, but with that accomplished I hit the power switch while taking pride in the overall efficiency of the process.

A second later, an obnoxious beep and the following ominous message appeared in white lettering on a black screen:

1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.


Normally I would have assumed this was a Linux issue—boot error messages are displayed in the same fashion—but this was different.




Part 2: A Closer Look

As early as 2003 IBM instituted a policy1 of refusing to boot laptops with adapters not on pre-approved whitelists; the number of approved cards for a given model is typically less than five.  This policy change resulted in the ‘1802’ error I encountered above and remains in effect for all new laptops sold.  I’m under the impression—citable correspondance is hard to come by—that the lock-out is designed to enforce end-user compliance with FCC regulations even if the FCC has no actual policy directing manufacturers to do so.  Forced obsolesce thus becomes a part of Lenovo’s overall business strategy, under color of FCC compliance, at the expense of user freedom.2 Tellingly, one cannot buy a new ThinkPad that does not include a new WiFi adapter.

In fairness the FCC does require “intentional emitter” radio-frequency (RF) devices to undergo comprehensive testing; the risk that a particular combination of adapter firmware, independently-developed device drivers (e.g., kernel modules), and antenna configuration could result in RF emissions in excess of FCC permissible levels is non-trivial especially given the deleterious effect such a non-compliant configuration would have on others sharing the spectrum.  The FCC mandates devices be tested as a whole3 and correspondingly places limitations on end-user configuration.  Any change to the device as-FCC-certified must be approved in writing in advance by the FCC. But given that WiFi’s spectrum allocation was based on “a home networking technology for nomadic users…through a wireless connection that operates at relatively short distances,”4 prior FCC certification of previous, non-whitelisted adapters, and similarities in design between Lenovo laptops, it’s hard to imagine substantial emission differences that would cause meaningful concern by any party involved.  In this case FCC over-regulation, in combination with an unwillingness to provide enforceable end-user protections against wayward manufacturers, is stifling marketplace innovation.

I posit the FCC should take into policy consideration the following three suggestions:

—Overhaul the Office of Engineering and Technology Equipment Authorization database – correspondence is difficult to navigate and discover.  Additionally, it is not possible to link directly to a specific document, thus impeding meaningful conversation on the same data set.
—Allow 3rd-party ‘Permissive Change’ certifications.  Currently, only Lenovo may authorize an alternate adapter, firmware, or antenna to be tested as being FCC-compliant in a particular model.
—Explore ways to improve developer and hobbyist access to “pre-certification” RF-measurement and diagnostic tools.

I’d like to take a moment to thank Ernie “Chip” Douglas for his helpful perspective on these issues.




Part 3: Coreboot

"With the right background and some months of development the answer can become yes." —Peter Stuge, a coreboot developer on the complexities of providing free/libre BIOS images (source)

Initially, and in the least efficient manner possible, I managed to flash a lightly-patched BIOS image that bypassed all whitelist checks.  It was a stopgap measure that also underscored the need to find a better, permanent solution; looking though strings in the original BIOS binary image reveals at least one objectionable code comment.  This is code that I don’t care to run and trust for production-level work.

BIOS development is in many ways more complex than kernel development and, to boot, failed flashing yields rather expensive paperweights.

The above images show a Bus Pirate attached directly to my x201i BIOS chip in preparation for flashing a self-built coreboot image.  It’s a work-in-progress but I’m excited about the initial progress I’ve made and the prospect of running a fully-free operating system.  Stay tuned for updates.




[1] Durey, Lincoln.  ”Linux and IBM : “Unauthorized” Mini-PCI : TCPA Updates.”  linux-kernel mailing list. 3-June-2003, accessed 19-May-2013.  https://lkml.org/lkml/2003/6/3/162

[2] SparkFun has an excellent writeup titled The FCC and Open Source Hardware that provides a detailed overview of the certification process.

[3] Lane, Bill.  ”Topic 10: License-Exempt Wireless Applications for Public Safety.”  FCC Tech Topics.  Accessed 19-May-2013.  http://transition.fcc.gov/pshs/techtopics/techtopics10.html

[4] Lenovo is granted Freedom of Information Act exemptions for proprietary “BIOS Lock” and antenna design features, complicating independent evaluation and development work.

letsbuildahome-fr:


Patrick Kane from Livingston, Scotland has been fitted with the new Touch Bionics prosthetic hand. The new i-limb ultra revolution has a powered thumb rotation along with multiple grip patterns, which enables users to perform daily activities more easily than with previous prosthesis.
Photograph: Jeff J Mitchell/Getty Images

letsbuildahome-fr:

Patrick Kane from Livingston, Scotland has been fitted with the new Touch Bionics prosthetic hand. The new i-limb ultra revolution has a powered thumb rotation along with multiple grip patterns, which enables users to perform daily activities more easily than with previous prosthesis.

Photograph: Jeff J Mitchell/Getty Images

(via martinhekker)


Large Hadron Collider & iOS Maps

Bear with me on this one. I don’t own any Apple devices but couldn’t resist sharing a bit of geeky humor on the iOS Maps fiasco.


Watch the first couple of minutes of the following, then wait a week:


Then BAM! This hits.


This is the first time I’ve really understood what a hypercube is.  View the same way as you would Magic Eye images.

prostheticknowledge:

Hypercube 

Computer animation from 1965 demonstrating the concept of the 4D ‘Hypercube’, which could be viewed as a stereogram - video embedded below:

From AT&T Archives:

Two of the earliest three-dimensional computer graphics films. The films’ creator, A. Michael Noll, programmed the computer (most of this work in the Labs was done on an IBM 7094) to generate the correct stereoscopic imagery, and these images were printed side-by-side, frame by frame. They’re intended for freeviewing in 3D — i.e. the three-dimensional image is created when one views the film while cross-eyed — no special devices required. Of course, the time/movement elements bring the film into the fourth dimension. 

More info here

Watching the Mars Curiosity Landing. Nice job all!
(start at 32 sec.)

"Under laws specifically passed for the London Games, the brand army has rights to enter shops and business premises and bring courts actions and fines up to £20,000….Even pubs can’t have signs displaying brands of beer that are not official sponsors."

This has become ridiculous.  Like, ridiculously bad.

The gentleman in the photo above is using a specialized WiFi antenna to track shut down unauthorized personal hotspots.  Anyone know any of the tech details?

"Under laws specifically passed for the London Games, the brand army has rights to enter shops and business premises and bring courts actions and fines up to £20,000….Even pubs can’t have signs displaying brands of beer that are not official sponsors."

This has become ridiculous. Like, ridiculously bad.

The gentleman in the photo above is using a specialized WiFi antenna to track shut down unauthorized personal hotspots.  Anyone know any of the tech details?





I don’t bring it up often, but I’m a Penn State alumnus – I’ve spent eight years (from ‘02 through ‘10) in State College, first as a student, student representative, then staff and have thus acquired more than a fair understanding of politics at the university.  The time I’ve spent there has become an important part of my life.



While a committee chair in Undergraduate Student Government and a student representative to the University Faculty Senate, I authored a formal request for the university to support a project known as the Penn State Wiki “to contain articles relating to peer advising, class descriptions, student organizations, and other topics as deemed important.”



Perhaps unsurprisingly, there was a degree of animosity towards the proposal among members of Penn State’s central administration.  It was clear from an early state that it was going to be an uphill battle—at one point administrators refused meetings, despite clear student interest in the project. Then–Provost, now–President Rodney Erickson ultimately made a decision that “there would be no wiki.”  Full correspondence and press coverage is archived on the Internet Archive.



I’m proud of the meetings I organized around the project and the level of media attention garnered.  A few months later I was on my way to Wikimania 2006 where I would start a career in open video.



The formal request passed with overwhelming majority votes not just through Undergraduate Student Government (USG) but also through the Council of Commonwealth Student Governments; although USG was replaced by another organization support for the Penn State Wiki remains the official position of the undergraduate student body.



I remain hopeful that the project can begin in earnest again as Penn State starts on the process of reflection on how a modern university should operate.



I don’t bring it up often, but I’m a Penn State alumnus – I’ve spent eight years (from ‘02 through ‘10) in State College, first as a student, student representative, then staff and have thus acquired more than a fair understanding of politics at the university.  The time I’ve spent there has become an important part of my life.

While a committee chair in Undergraduate Student Government and a student representative to the University Faculty Senate, I authored a formal request for the university to support a project known as the Penn State Wiki “to contain articles relating to peer advising, class descriptions, student organizations, and other topics as deemed important.”

Perhaps unsurprisingly, there was a degree of animosity towards the proposal among members of Penn State’s central administration.  It was clear from an early state that it was going to be an uphill battle—at one point administrators refused meetings, despite clear student interest in the project. Then–Provost, now–President Rodney Erickson ultimately made a decision that “there would be no wiki.”  Full correspondence and press coverage is archived on the Internet Archive.

I’m proud of the meetings I organized around the project and the level of media attention garnered.  A few months later I was on my way to Wikimania 2006 where I would start a career in open video.

The formal request passed with overwhelming majority votes not just through Undergraduate Student Government (USG) but also through the Council of Commonwealth Student Governments; although USG was replaced by another organization support for the Penn State Wiki remains the official position of the undergraduate student body.

I remain hopeful that the project can begin in earnest again as Penn State starts on the process of reflection on how a modern university should operate.

What Would the Higgs Boson-Like Particle Sound Like?

SO COOL

(video embedding disabled by BBC)


Zwolnij is apparently Polish for “yo, hey you, slow down!” Tablice translates to “license plates.”  Thus, “delete the entire database of stored plate numbers.”  No word if this exploit worked or if it was just an attempt.
Besides warning drivers to slow down, the system checks that all plates passing through are in good legal standing.  Obscured or missing plates are flagged as “suspicious vehicles” subject to pull-over.
Related: it’s possible to hack smartcars.
r03:

Urban SQL injection. WIN!

Zwolnij is apparently Polish for “yo, hey you, slow down!” Tablice translates to “license plates.”  Thus, “delete the entire database of stored plate numbers.”  No word if this exploit worked or if it was just an attempt.

Besides warning drivers to slow down, the system checks that all plates passing through are in good legal standing.  Obscured or missing plates are flagged as “suspicious vehicles” subject to pull-over.

Related: it’s possible to hack smartcars.

r03:

Urban SQL injection. WIN!