Category Archives: DIY

A Tiny Plastic Dot

(This is very much an example of one of the little manic episodes that make me a good generalist/appear high functioning)
The left touchpad button on my laptop (Thinkpad T60p, hostname Monolith) has been “limp” for a while. It bothers other people who use my machine, because (objectively) it really does feel very wrong, but it had broken gradually and I had acclimated enough that it didn’t bother me. Last night I started paying attention to the problem, and it became maddening, so I decided to see if I could fix it. I looked at the problem last time I had the machine apart, so I knew there was a torn plastic tactile dome to blame. It is (as best as I can make out) impossible to order just the appropriate domes, and a whole new touchpad is 1. defeatist, 2. about $12 from shady ebay sellers, and 3. requires waiting for it to be shipped. I decided a better (ie. creative, free, immediate, and credit-card-fraud free) solution would be to go rummage in the parts bins, find a sufficiently similar tactile dome in something dead, and install it. The closest match I could find was the keyboard domes from the corpse of my old VPR Matrix 180B5 (The worst made laptop I have ever encountered. Every bit as fragile as one would expect something made by a Best Buy house brand to be, even though it was basically a re-badged Samsung P10. Polystyrene is not chassis material.) I now have a partial match (it’s a little too weak, and not “snappy” enough) installed, which is good enough to keep it from being bothersome.
Thinking about tactile domes reminded me of a fabulous article I read (I thought) about them several years ago. It turns out it was a much more general article about handheld devices, but it really was fabulous. The article is “Handhelds of Tomorrow” from the April 2002 issue of Technology Review. Ideo has a PDF available outside a paywall. The part about the tactile bubbles was one little subsection about Peter Skillman, who was “the hardware guy” at palm/handspring (weird corporate history).
The search for the article reminded me of a previous kick on the work of one of the other important palm/handspring people, Jeff Hawkins, who in addition to being a founder of both companies, is doing amazing work in neuroscience as it relates to computing, and has written a book On Intelligence and given a awesome TED talk on the topic.
Hurrah for (hypo)manic episodes?

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

PoS Toy

I scored a (at least mostly) working Point of Sale terminal from the trash at the nearby location of a fast-food sandwich chain named for a mode of mass transit. It’s a pretty nifty little piece of hardware, a Micros Eclipse 400498, based on a 1Ghz Pentium 3, 512Mb of RAM, and normal (ish) PC-BIOS. It has a broken WinXP install on it now, I think it shipped with an older NT version, because the drivers are all fucked up. The fun part is the attached goodies: a 3-track magnetic stripe reader (credit cards, etc.), 2-line VFD display, and a 12” touchscreen (only 800×600, but pretty crisp and good colors).

I’m thinking it will make a bitchin’ jukebox. Scroll the track information on the VFD, put a touch-flow-esque interface on the touchscreen, hook up some speakers, etc. One of the housemates suggested a barmonkey (it could even process payments), but that is a WAY more involved project because of the valve rigs, and I have plenty of unfinished involved projects right now.

It is however being obstinate about drivers and alternative boot devices, and the manufacturer (micros) seems to believe that not providing any drivers/manuals/support of any kind will enforce support plans/upgrades/create security by obscurity or something, because their website is supremely unforthcoming. There don’t appear to be any WinXP compatible drivers for the various hardware, so the best choice is probably to try for Linux. Its not wanting to boot off USB devices (despite the BIOS’ claims that it will), doesn’t seem to like having a 2-channel ATA cable attached, has no CD drive, and has repeatedly failed on the wubi-install-from-USB trick, so it will be exciting to get going. Maybe some sort of netboot stunt.

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

Dorkbotlex #9

4201866813_788e5e7ef5.jpg
After missing a few due to travel and other obligations, I’m back to attending DorkbotLex. #9 was last Saturday (the 19th) and, as is traditional, I’ve posted up some pictures on flickr. This month’s presentations were both electronic music projects, one set of hardware hacks and one piece of prototype software. As always, very cool, and a great source of energy for creative endeavors.

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

CHDK on the SD770 IS

The camera handling for my last post reminded me to check to see if progress had been made on the CHDK port to for the Canon SD770 (the little point-and-shoot I have). There was a promising effort about a year ago, but the developer disappeared without releasing the partly functioning code, and it was quickly abandoned. Apparently someone else stepped up in November; there is now a (roughly) fully functional boot image available for the SD770.

CHDK features provide at least partial fixes for all my major complaints about the 770; the exposure override settings allow the flash to be kept under manual control through power cycles, even when the other features are on automatic, the exposure behavior can be more precisely controlled to hide noise issues in low light, and all the CHDK toys are now on hand, so I’m not missing any expected features.

Right now I just have a spare small card set up, but the process is non-destructive and simple, especially on cards <4Gb, so I’ll probably set up the pair of 1GB cards I usually use with it shortly. Anyone with a Canon camera should go set up a card with the appropriate CHDK image, it really does improve the camera.

EDIT: There are a couple bugs, the only serious one being that the camera crashes when using auto white balance with the version of CHDK in the linked thread loaded. I don’t have time to get into another environment to fix it.

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

Pionier Button Hacking: Step 1

pionierbutton_sm.jpg

(eventually I’m going to have to hack up a light tent (for the glare) and camera mount(for the jitter) for this kind of thing, but it hardly seems necessary with my little point-and-shoot)
One of the more promising bits of schwag at SC09 was a little USB button thing handed out by Pionier. The basic premise on the button is that after connecting it to a computer via USB, it lights up with enticing shifting colors, and, when pressed, sends the computer to the pionier SC09 website. It does this by announcing itself as a USB HID device, emulating a keyboard, and typing “{control}rhttp://www.pionier.net.pl/webstarter/09scpo6r8q {newline}”, which will have the desired effect… from the desktop on a windows box. After seeing what it did on a laptop on the show floor, I grabbed a few extras thinking they would be fun to hack.

I pulled apart one of the buttons to read off what the chips are, and things look promising. (larger image linked)

pionierbuttonteardown_sm.jpg

The board is based around a MXT8208 USB 2.0 Flash Disk Controller (datasheet). The chip consists of a 80c51 microcontroller with hardware USB 2.0 PHY, I2C, a general purpose UART, some dedicated flash management features, and 28 GPIO pins (mostly overlapped with other functions) in a LQFP48 package. This means it SHOULD be susceptible to much better hacks than simply changing the output string; with a little luck it will be convertible into a darling little intermediary device for attaching projects to a computer via USB by serial or PIO. Since there is no flash chip hooked up, the majority of the GPIO pins are free, making it especially suitable for that kind of repurposing. By far the primary use for this chip is making little USB flash drives (and, based on the information around the ‘net, this one is particularly favored in making “fakes” that misreport their capacity, because it is more programmable than many of it’s competitors), but, assuming I am interpreting the chinglish datasheet correctly, the non-memory USB widget use case here is intended as well. Matching the suggestion in the datasheet, the software for the button behavior is (apparently) on a K24C64 64kbit Two-wire EEPROM (Datasheet) mounted on the other side of the board.

The other components aren’t terribly interesting: a pair of SMT push buttons, a 12Mhz crystal, 6 assorted SMT capacitors, 3 assorted SMT resistors, and a 2-lead RGB color phasing LED(unfortunately, 2 leads means it probably can’t have it’s behavior altered beyond on/off).

Software wise, it reports VID=0×2000, PID=0xbeba, which seems to be a made up ID written to the chip in software. There is a UdTools utility offered up by micov (after a little bit of google translate-foo), but it only seems to be able to tweak the flash-specific functions, not perform general reprogramming. This IS promising, as it implies everything should be writable from a host computer, rather than having to pull the EEPROM and program it separately to alter the behavior, but I haven’t figured out how to do so yet.

Any ideas? Usage wise or tools wise?

Posted in DIY, Electronics, General, Objects, OldBlog | 2 Comments

Makers

I recently finished Cory Doctrow’s new novel, Makers, which I really didn’t have time to read, but between geek book club and starting it on the plane to portland I was compelled. Like his last novel, Little Brother (which is YA fiction, but everyone should read anyway), I read it as an eBook on my n810, which is a bit of an odd reading experience, but one that is growing on me (No additional mass/volume per book! Searchable! Ever-Present! Until the damn battery runs out or it breaks!)
It is a pretty fun read, but I must say I liked the first two “lighter” sections better than the third. Some observations:

* Kettlewell seems to be largely borrowed, without the transparently symbolic name, from Willam Gibson’s character Hubertus Bigend

* Suzanne Church strikes me as a sort of composite of the notable female Internet-People, particularly Ana Marie Cox but Xeni Jardin also come to mind. I also wonder if the name isn’t a slight homage to Susan Kare, who is responsible for a starting portion of the art for early iconic computer interface elements (this is a stretch, but only a little). A little googling shows there is also a fairly appropriate real Suzanne Church, which must be a little confusing right now.

* The tech in the story is not embarrassingly wrong; its all plausible and sound except for some fanciful detours near the end. This does not normally happen when engineers read fiction, so good job Cory.

* Cory has clever ideas to try, and the hackers are damn well going to implement them. I suspect many of the things that seem clever in the book (RFID tagging all your crap to make it searchable, for example) won’t actually pan out if implemented, but I’m onboard with other things, especially the mechanical-computers-as-art hobby one of the main characters engages in.

Overall, a fun light read, worth the couple hours it takes to get through. Surprisingly, I think someone who isn’t well-versed in the workings of electronics could read the whole thing without missing much, which is remarkable considering how much fun can be had by those of us who are by working out the minutia of how the nifty plot device gadgets would actually work.

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

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