Category Archives: DIY

SC09 Booth Hacks

sc09booth1.jpg
The aggregate.org booth is cheap. Really cheap. So cheap that most of the major vendors have single pieces of hardware that cost more than our entire booth. But we still looks classier than all but a handful of the booths on the exhibit floor. This is because we were clever. Where other exhibitors have 42”+ LCD screens, we have large swaths of plasticized paper, wrapped around a modular shelving frame, and rear-projected to by a bunch of old XGA projectors. Because all displays have black backgrounds, we have what is visually four, four foot diagonal displays with no edges. For less total cost than a single 50” LCD. The group has been using a rig like this for years.

I’ve already written about the sign tower. It’s now complete, and is the kind of object that other people use as a beacon to navigate the show floor. It is also the mount for our previously mentioned slow update skycam.
printondemand.jpg
A new clever widget of ours is the on-demand handout printing system. We new we wanted on-demand printing, so we brought a printer, a big lighted trackball, and an extra (decade old) laptop. Over the course of the morning, I assembled an intentional-, professional-looking setup. Originally, I was envisioning a simple, full screen, GTK application, but setting up one-click printing in GTK is a pest, so I came up with a much, much better hack (erm…solution): HTML. I made a simple HTML page, with a table of captioned 300px wide thumbnails of the technical handouts, linked to the real PDF files. I then abused the Firefox settings on the laptop, so that the default automatic handler for PDF files is… lpr. One click, and the requested file is automagically printed, in a separate background process, with the queue managed transparently by CUPS. Set Firefox to full-screen display, and, with a little bit of styling, instant classy interactive on-demand printing interface, that isn’t an obvious hack job. Based on opening night, the slow printer is having a little trouble keeping up with demand, but so long as we keep a reasonable buffer, the system is really nice, and the slight delays it produces have repeatedly given visitors a chance to latch on to one of our other projects.

Thus far, definitely a fun conference, with lots of neat things to do. Also a really, really large conference; the woman at the checkin desk at our hotel said the conference took up about 6,000 rooms,and the idea of 11,000 or 12,00 attendees isn’t incongruous.

Posted in Computers, DIY, General, Objects, OldBlog, School | Tagged , | Leave a comment

Buildycrunkin’

I am currently at Buildycrunken #1:Hocus Focus. It is packed with people and win.

buildycrunkin1-1.jpg

To clarify, according to the mailing list, Buildycrunkin’ (a verb) is what one does at Buildycrunken (a noun). I suppose that means I am gettin’ buildycrunk? It is very important to establish proper etymology in these situations.

And look! its diverse geeks. Not just the usual computer folks, but knitters and boardgamers and geeks of all kinds (including, you know, girls…)

buildycrunkin1-2.jpg

Posted in Announcements, DIY, Entertainment, General, OldBlog | Tagged , | 1 Comment

Buildycrunken #1 : Hocus Focus

Collexion, in collaboration with our hosts Third Street Stuff and Coffee, and participants groups like ReBelle Stitch & Bitch, National Novel Writers’ Month’s Lexington writers, and the Kentucky Ruby Users Group are holding

Buildycrunken #1: Hocus Focus

9:00 PM Nov. 6th through 9:00 AM Nov. 7th (yes, thats ALL NIGHT HACKING) at Third Street Stuff & Coffee. The idea of the event is a social, collaborative environment to work on projects of all kinds.

I probably won’t stay the whole night, but I do plan to head over to 3rd street in the evening and join in. I’ll either flit around and join in some of the community projects (the Collexion mailing list has chatter about a homebrew IR Laser Tag system…) or try to get some work done on one of my projects as suits me. There will be workers, hackers, knitters, programmers, gamers and goings on of every sort; I encourage everyone to come join in.

Posted in Announcements, DIY, General, OldBlog | Tagged , | Leave a comment

xlock on pm-suspend

I’ve always preferred that my machines be locked when they wake up from sleep/suspend/hibernate/etc., and this has been a little bit of a fuss to hand-configure on Linux of late. The problem is that the pm-utils suite that almost all distributions use isn’t really well suited to triggering a lock, and not everyone thinks it should be able to. The Ubuntu solution follows the “not in pm-suspend” idea, and predictably adds another (bulky) layer of abstraction, using gnome-power-manager lock the screen and call the suspend scripts separately. Because I don’t always call pm-suspend the same way and don’t want an extra thing running anyway, that isn’t an option for me. So, a solution to run xlock on every invocation of pm-suspend that ACTUALLY WORKS is to add an appropriately named file in /etc/pm/sleep.d, like the following:

22lock

#!/bin/bash
user=`finger| grep -m1 :0 | awk '{print $1}'`
case $1 in
    hibernate)
        su $user -c "xlock -mode blank -display :0&"
        ;;
    suspend)
        su $user -c "xlock -mode blank -display :0&"
        ;;
    thaw)
        ;;
    resume)
        ;;
    *)  echo "The xlock-on-sleep script is broken"
        ;;
esac

Remember to make the file executable (chmod +x).
The finger/grep/awk incantation at the top is a cheap (and not entirely proper) way of grabbing the first user on display :0, which is USUALLY the user logged in on what is USUALLY the local X server; sudoing to an appropriate user (and the explicit “-display :0”) is required because the script is run in an environment where the display isn’t visible and the user is always root.
xlock and it’s options can be modified or swapped out for your screen-locker of choice.

(Posting as a reminder to myself, and because I didn’t see a solution when I searched)

Posted in Computers, DIY, General, OldBlog | Tagged | Leave a comment

N8x0 PowerVR Drivers!

Since the N800 came out there has been a lot of rumbling in the community about the unutilized hardware present in the device (and it’s sibling/successor, my beloved N810). The piece most complained about are the PowerVR MBX 3D accelerator and 5MB SRAM included on the OMAP2420 SoC the device is built around. The explanation has always been a mixture of licensing issues for the drivers, and that the external Epson S1D13745 display controller was better suited to the 800×480 (still unusually high for mobile devices) resolution, despite being rather slow and devoid of 3D-capability.

With the advent of the N900 and it’s non-backward-compatible Maemo 5 OS, there is some fear in the community that the N8×0 devices will be abandoned. The N900 looks like a very cool device, but like many tablet owners, part of the appeal of my N810 was that it wasn’t designed to have a >$50/month cellular data plan. Nokia’s offical (and seemingly very classy) stance is that they will provide support for continued community developed FOSS software for the platform, which currently mostly means Mer, a community firmware/ partial Maemo 5 backport. There are also several other linux-based OS ports to the N8×0 platform, and a burgeoning effort to produce a binary-compatibility-maintaining system software update like the ones Nokia used to produce for Maemo 4 which will hopefully all cross-pollinate sources and keep the platform alive. One only has to look at how long the OpenZaurus (later merged into OpenEmbedded/Ångström) community held on, and how much they accomplished to be hopeful.

The combination of these thoughts? Nokia (and the various other relevant IP owners) announced they will be supplying drivers for the PowerVR to the community in the immediate future. With a little luck the Mer hackers will get them integrated into a release soon, which may contribute to tipping to Mer as the predominant OS for n8×0 devices over the OS2008/Maemo 4 stack Nokia provided.

I depend so much on my n810 I haven’t really been into OS hacking on it, but as it ages and the community firmwares come to the fore I suspect I’ll get more into it (if I have time). Maybe as they get cheap I’ll even end up with one of the “knockoffs” to use as a test platform in the same primary machine/beaterbox setup as my bigger machines.

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

Barrel #2: Away

barrel2guts.jpg
The 12-note barrel is away. I’m pretty sure everyone from Collexion involved is well and truly done with this particular stunt, but it was a neat project with some great results. This one went through the School of Music’s benefit gala to benefit the School of Music Service Organization. It only pulled in $750, but with the lower materials cost that still represents some income for the benefiting organization. The picture above is (almost) all the guts for the barrel, before being assembled and installed.

Posted in Announcements, DIY, Electronics, Entertainment, General, OldBlog | Tagged | Leave a comment

Musical Barrel #1

One of my hobby projects just came to fruition earlier tonight. A team from Collexion has been working on building a pair of musical Bourbon barrels to support local charity auctions. The first one (6 notes from an internal glockenspiel, triggered by capacitive touch sensors on the rings, with an excellent paint job by Sam Wilson) sold earlier tonight at Spirits of Giving, bringing in $1500 to be split between Collexion and the Nash Brigthon Project. It’s great to be doing technological art, and it’s great that it can be used to support good causes. I forgot to bring my camera, but as soon as I get sent pictures from the people who did have them I’ll throw at least one up.

Edit: I don’t have pictures, but here is a video of the demonstration.

Posted in Announcements, DIY, Electronics, General, OldBlog | Tagged | Leave a comment

Dorkbotlex #6 – Results

3937981657_2a0f07b6cd.jpg
It was, as always, a great show, with lots of inspiring local projects and an engaged audience. Hopefully sometime in the not TOO distant future I’ll actually get one of the hobby projects (the ones that are not so technical as to make non-engineers’ eye’s glaze over) done enough to show.

The usual, photos from the event are up on my flickr stream.

Posted in Announcements, DIY, General, OldBlog | Tagged | Leave a comment

Haiku!

The Haiku project to reimplement BeOS just released their first alpha, and despite having less than no time to do so, I took a few minutes to play with it, and it is bringing back some great memories. BeOS was a really spectacular operating system which was floating around the edges of the market in the late 90s, with some truly revolutionary features, some of which are still not widely adopted. Remember WinFS, that Microsoft has been failing to deliver since 2003? Be had almost all the amazing indexeng/medatdata/journaling features (basically everything but encryption) in it’s BeFS in 1997. And that “new” Grand Central Dispatch thread model in the most recent version of OS X? BeOS had something analogous from the beginning (around 1995). It was, in many ways, a perfect, highly responsive desktop OS, which (if not for the anticompetitive practices of Apple and Microsoft) could have owned a large portion of the market. Probably my favorite memory of BeOS was running the classic “BeOS is more responsive” demonstration: bringing up dozens of instances of the built in media player, each playing a different mp3, on pathetic (I did it on a Pentium MMX @ 233Mhz with 192Mb of RAM) hardware… and having them all play smoothly and mix together. I’m not sure my current machine could do that under Linux OR Win7, and it is (roughly) ten times as powerful.
This OSNews Article has a good history and perspective; the quick version is that Be, Inc. was formed largely from disenchanted former Apple employees (including Joseph Palmer, an electrical engineer/ industrial designer who I’ve always looked up to), designed themselves a revolutionary platform (hardware and software), moved to a software-only model because they couldn’t afford to maintain their hardware buisness, and were actively pushed out of the market by Apple (who took action to keep BeOS from running on new Macs, and killed the clone business, ruining the market for PPC hardware) and Microsoft (who bullied PC vendors into refusing to bundle BeOS). Before Be imploded, and had their assets bought by Palm, Apple almost bought Be as the core for the “post-classic” Mac after the Copland project failed. Instead they bought NeXT (also made up mostly ex-Apple people) for roughly Be’s asking price, and that eventually became OS X.
Best of luck to the Haiku team, a big part of me hopes that progress will continue, and sometime in the not too distant future my everyday use machine will be a Haiku box.

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

HDL Testbenches

After three classes (EE281, EE480, EE585) where I should have been taught how to write real, procedural testbenches for my digital circuit simulation instead of clicking in inputs on ISE’s (ISE is the subject of much swearing and hatred) waveform editor, there was a nominal effort to demonstrate it in EE685, and between that example and the Verilog book I bought for my own edification some time ago (It’s an OK book: I’m yet to find a HDL text I really like), I finally managed to get it down. This is important for three reasons: First: NO MORE CLICKING! I can write little procedural blocks to generate counting-order covering inputs, or other arbitrary stimulus. Second: Automatic Testing! For simple modules, I can simply write two logically equivalent but stylistically different versions, and, barring any design-level fuckups, determine that they both work by telling the simulator to compare the two version’s behavior and alert me if they differ. Third (and most signifigantly) it allows me to do my check/test/verify my modules without dealing with ISE. There are a number of free Verilog tools, most significantly Icarus Verilog, a Free (GPL) synthesis/simulation suite which seems to be well liked (and builds and installs easily on my machine), which allow me to have a whole toolchain without the hassle of maintaining my own ISE installation, or putting up with the glacially slow (despite being very, very powerful; bad configuration) lab machines for longer than is required to generate a test run to turn in for class.
Icarus looks to be an interesting challenge; it definitely doesn’t go out of it’s way to be user friendly, it requires an external tool like GTKWave to display waveforms, and it’s got some features and switches that I’m not even sure what are for, but it is documented and seems to be quite reasonable.
One feature Icarus doesn’t (AFIK) have is the ability to synthesize to the various programmable chips (which are all very, very proprietary). I do have my own FPGA board, which I got in a burst of excitement after first being exposed to FPGAs, and have never had a chance to play with as much as I’d like. Somewhere deep, deep down on the list of projects is to get a decent programming cable for it (my current one is an old parallel model), and spend some quality time playing around with it, I clearly wouldn’t be alone.

Posted in Computers, DIY, Electronics, General, OldBlog | Leave a comment