Posted: November 29th, 2008 | Author: Adam Wolf | No Comments »

A few months ago, my headphones broke. They were Sony MDR-NC6s, pretty cheap but the noise-canceling really helps cuts out the HVAC in a cube environment. They failed when I stood up and the cord was wrapped around my chair. The cord pulled out of the bottom of the headphones. I took them apart, and saw that there was probably enough room to fit a headphone jack in if I used a Dremel and some creativity. The cord now goes out the side of the headphones instead of the bottom, but the repair only took an hour and didn’t cost more than five dollars either. I now use an audio patch cable to connect my headphones to audio sources, and if I stand up with the cord tangled, the cord pops out of either end without damage.
I posted some pictures of the process on Flickr at the photoset Repairing my headphones.
The only real lesson learned is that I wouldn’t use the Radio Shack 3.5 mm stereo jack. It doesn’t grip the cable well. I will have to replace the jack next time I order from digikey.
Posted: April 8th, 2008 | Author: Adam Wolf | 7 Comments »
(The photos are located at Adam’s Workbench)
I live in a pretty cool apartment building in south Minneapolis. While I’m lucky enough to have a office, the office doesn’t have enough space for a workbench. Even if it did have enough space for a workbench, I wouldn’t be able to keep work in progress on it without the room getting too cluttered. So I’m stuck hauling out a box labeled “Soldering Stuff” to the kitchen, constantly fearful of damaging the the kitchen table. I’m pretty handy with a soldering iron, but hey, fear is the mindkiller. I clean up after myself pretty well, but any stray lead solder bits that found themselves in a digestive tract would be dangerous.
When I lived in a 13×13 dorm room with a roommate, I used a lab bench I made from a melamine shelf on a pair of plastic saw horses. This was cheap, and fit under my bed when it wasn’t being used. The melamine held up well to solder burns and really added to the work surface. Once again, however, the bench needed to be put away or the room was unusable for anything else.
The time cost of setting up and breaking down an electronics workbench has been so high it had essentially eliminated my hardware tinkering–until now.
The office closet contained a half-height chrome wire shelfing unit, purchased at Target shortly after we moved in. It held around twenty clear plastic boxes, each about the size of a shoe box. These were labeled, and contained computer parts, electronics, and tools. Next to this was a toolbox, a tackle box I had already hacked to carry solderless breadboards and their projects, and a bunch of empty space.

I figured I could put a table in this space, use some clip-on lights as task and background lighting, and have a pretty functional work area. As long as the table didn’t stick out, I figured I would be able to close the sliding doors. With this, I would finally be able to have a workspace I could keep a project in progress on.
After measuring the space (33″ x 25″ x 65″), my fianceé found the Galant table at Ikea. It came with a melamine finish and fit inside the space perfectly.
While at Ikea, I grabbed a power strip with an on-off switch. Another department store had reasonably priced whiteboards. After I hung the whiteboard on the back of the closet and ziptied the power strip to the side of the wire rack, the workspace was complete.

Well, almost complete. I printed out a few pictures (1, 2) of everyone’s favorite DIY science heroes, Adam Savage and Jamie Hyneman of Mythbusters and stickytacked them to the wall.
I now have a pretty functional work bench that fits inside the closet of my apartment. I wouldn’t have thought such a tight fit would have produced the nice results they did, but I’m pretty impressed. I can just open the door, roll my office chair over, and work on my very own bench. When I’m done, I can close the door and put my chair back at my desk.
My favorite part that I didn’t anticipate? My soldering iron is much less of a hassle when the cord is out of the way, over my head, looped over the closet bar.
I’ve got more photos at the photoset Adam’s Workbench.

Posted: July 4th, 2007 | Author: Adam Wolf | 2 Comments »
Last Saturday marked the finale of the third season of the new Doctor Who. To celebrate, Amanda and I made a cake–a TARDIS cake, with Jelly Babies.
I had an easier time than I expected finding Jelly Babies. Our local grocery store had them in their tiny British section.

We used Betty Crocker “Party Rainbow Chip” cake mix. This is the Betty Crocker version of Funfetti, the best cake in the universe.

Amanda cut the Jelly Babies up in to little pieces, and we mixed them into the batter.

When the cake finished, we flipped it over. The Jelly Babies had melted, coloring the cake. The melted Jelly Babies kept the cake moist, and when they crystallized, the cake was almost crispy. Yum!

We cut the cake into the shape of the TARDIS, using some reference photos from the Internet.

Because we haven’t had a lot of cake decorating experience, I wanted to minimize the amount of detail work we’d have to perform upon the cake itself. We melted almond bark to make the letters and the windows. For the letters, I put the almond bark in a plastic bag and pierced a corner to make a piping bag. For the windows, I lined the bottom of some tin tea canisters with aluminum foil, and filled them with almond bark.


Although we weren’t able to match the blue of the TARDIS perfectly, we did as well as we could with a lot of blue and a few drops of red food coloring.

After spreading the frosting on the cake, we piped lines for the doors and other details.

We then added the white windows made of almond bark, the letters, and outlined the panels.

It was delicious. The melted Jelly Babies really added something special to the cake. A little Huon energy or something.
Next year, or perhaps for the Christmas special, we’ll have to do a few things differently. I’d like to match the blue better. I’d also like to use dark chocolate and white chocolate to make a proper “Police Box” panel. Maybe we’ll get fancy and use fondant and gum paste.
I have more pictures (and a slideshow) on Flickr.
Posted: May 31st, 2007 | Author: Adam Wolf | No Comments »
I recently installed Linux on my Macbook with Boot Camp. I recently decided to use a virtualization solution instead, and wanted to get that space back. When I ran Boot Camp, it wouldn’t combine my partitions together, possibly because I put Linux on there, instead of Windows, and it changed the partition type.
Using this article, I fixed it and successfully combined everything.
IF YOU FOLLOW THESE INSTRUCTIONS, AND YOU LOSE ALL YOUR DATA AND YOUR MOM MAKES YOU MOVE OUT, IT IS NOT MY FAULT.
If you decide to do what I did, please understand what you’re doing. Please read all applicable man pages, and have recent backups.
I booted into the Mac Install CD, and opened the Terminal. Using gpt show disk0 and diskutil list /dev/disk0 and diskutil info /dev/disk0, I confirmed a little bit about how my disk was being managed. My Linux partitions were /dev/disk0s3 and /dev/disk0s4, which corresponded to gtp indexes 3 and 4.
I used gpt remove -i 3 disk0 and gpt remove -i 4 disk0 to remove the gpt entries.
I ran diskutil resizeVolume disk0s2 limits to find out how large I could make the original partition. I then tried to run diskutil resizeVolume disk0s2 *maximum size* but diskutil told me it couldn’t resize it. I rebooted, back into the cd again, and ran the diskutil resizeVolume disk0s2 *maximum size*. It succeeded, I rebooted, and I had my space back.
Posted: March 26th, 2007 | Author: Adam Wolf | No Comments »
The project page is located at http://feelslikeburning.com/projects/gregarius-sticky-exporter/.
The only change is that it now uses the database information stored in dbinit.php, so you don’t have to put in the information by hand into the php file.
Posted: March 20th, 2007 | Author: Adam Wolf | No Comments »
I love Actiontastic. I really do. After I realized how much I was relying on it, I read a few Django tutorials and started work on an open-source clone. The morning I was going to release my clone to the world, the author of Actiontastic announced he was going to open source Actiontastic. *sigh*
Anyway, he pledges a sweet XHTML/CSS export eventually, but until then, there is no export. However, the data is stored in an sqlite database, so I wrote a little bit of python to export actions to plain text.
Pretty pictures first!
Screenshots:
This is a python script, intended for use in the terminal or in scripts. To use in the terminal, extract the zip, and open a terminal. Use cd to enter the directory of the zip, and run python actiontastic-exporter.py. For help and options, run python actiontastic-exporter.py -h.
If you extracted it to your desktop, it will be like this:
cd ~/Desktop/actiontastic-exporter-v0.1/
python actiontastic-exporter.py
python actiontastic-exporter.py -h
It can export the output to a file. It can read from an alternative input sqlite database. It can put a little more information in the exports if you want, and it will sort by project or context. It preserves action ordering within projects and contexts.
It ignores actions that are in the inbox, and ignores completed actions.
Actiontastic Exporter requires Python 2.4. This is newer than the python shipped with any Mac at this point, and I debated on writing my own sorted() so that people could use this without upgrading their python install. However, since Actiontastic Exporter requires pysqlite2, which doesn’t come stock, and the python install is *so* easy, I decided to use the builtin.
Requires:
It never writes to the database, but if it destroys your Actiontastic database, please don’t be angry at me. Please backup your ~/Library/Application Support/Actiontastic.sqlite.
Anyway, you can download Actiontastic Exporter at the main project page at http://feelslikeburning.com/projects/actiontastic-exporter/.
Any feature requests, questions, or comments, feel free to comment below or email me using the contact form.
Posted: March 13th, 2007 | Author: Adam Wolf | No Comments »
Dear internets,
I would like to be able to print index cards on my Samsung ML-1740 in Linux. It can be done in Windows. Have any of you ever gotten this to work? I’m not averse to writing code. I’ve written a CUPS backend in python. It wasn’t that bad.
I’ve looked far and wide for this, and have only found one lonely mailing list post of a solution that doesn’t really work right.
You’re my only hope!
Posted: March 5th, 2007 | Author: Adam Wolf | 1 Comment »
The project page is located at http://feelslikeburning.com/projects/gregarius-sticky-exporter/.
I use Gregarius for my feed aggregator and reader. I’ve had a busy semester, and have marked close to 2000 items as “sticky” so I can read them when I have more time. I don’t like the built-in “Browse Sticky” functionality, and would prefer something basic, but flat. I want to be able to save it, and use it to check off what I’ve read in my massive backlog of items.

I waded through the PHP and SQL, and talked with Matthew a bit, and came up with a little .php file.
You can download it at http://files.feelslikeburning.com/gregarius-sticky-exporter/gregarius-sticky-exporter.zip.
To install, download the zip, extract it, put your database information in, and upload it to your webhost. Hit the page with your web browser, and it should generate the list. It doesn’t modify your database at all.
It doesn’t contain all the information in the tables, just the title, the url, and the body of each feed. The title is linked to the url, and the body is displayed after the titles. If you’re interested in something extra in your exports, feel free to contact me.
Posted: April 16th, 2006 | Author: Adam Wolf | 27 Comments »
The Nokia 770 is the best ebook reader I have ever used. I use FBreader, a very versatile reader for Linux. My favorite feature is screen rotate. This lets me use the 770 sideways in my hand, and I can use my finger change pages with the up-down rocker.
In these pictures, the scratches on the screen are on a cheap screen protector. The real screen doesn’t scratch that easily, but I’m paranoid anyway. The screen is a bajillion times brighter, but the flash washed it out.


I’ve read ebooks on a Palm IIIxe, a Palm IIIc, a Treo 600, a Treo 650, and a Nokia 770, and the 770 is the best ebook reader I have ever used. I would have bought it simply as an ebook reader. I’ve used the Nokia 770 to surf to Baen Free Library, grab an ebook off there, and read it, all without an extra computer.
The 770 is better in almost all ways than a paperback. I never lose my spot. I don’t need to turn off the light to go to bed, as the screen is backlit. I can fit more paperbacks than I could fit in a house on a single memory card. The 770 fits in a single hand, and I can change pages with the same hand. The screen is beautiful.
The only real downsides are the fact that the Nokia 770 uses electricity and costs more than a single paperback.
Posted: March 21st, 2006 | Author: Adam Wolf | 1 Comment »
Summary in photos:


My Treo 650 arrived today! It’s a free replacement of my Treo 600 that no longer makes or takes phone calls. I haven’t had a lot of time to play with the new Treo, but because it has Bluetooth, I should be able to interface the Nokia 770 and the Treo 650 easily. This means that if I’m somewhere without free Wifi, but I get cellular signal, I can easily bridge the cellular signal to my Nokia 770 through the wireless magic of Bluetooth.
I’ve been meaning to post this except of a comment I ran across on Metafilter, but I wasn’t really sure how to introduce it. The setup is that there was a post on a video from the 70’s about ARPAnet, the precursor of the internet. A Metafilter user, loquacious, posted the following. The complete comment can be found at the original post.
Even in today’s realm of nearly pervasive computing, I’m still constantly astounded. I’m barely old enough to remember Pong. I sort-of remember the dawn of personal computing. I’m old enough to remember what 75 bps/baud felt like. Yes, I know that BPS != baud, but for the purposes of that particular modem and this argument, it’s fine - especially when confronted by the 9mbit cable modem currently providing my connection. I even remember the first single file in excess of 1mb I ever downloaded. At 300 bps/baud. With interruptions and download resuming, it took something like 2-3 days. My parents were furious when they got the phone bill that month. It was a local ZUM 3 zoned toll call. That 1mb file cost our household over $500 USD! And I don’t even remember what it was!!
And yet… for years now, people throw away working computers so powerful I would have chewed off at least one of my own limbs just to possess them, way back when. Though I jest easily, I jest not about such important things. Twenty years later it’s still difficult to even comprehend the fever that gripped me back then. Even now I go all clammy thinking about how potent those feelings once were. I am using such a throwaway computer now, and I have a few more such machines I use besides. Interestingly, it’s still faster than the modern WindowsXP laptop issued to me by my work!
I now carry around a now nearly ancient - and also thrown-away - Palm IIIC that has an order of magnitude more storage then my family’s first home computer. In fact, it’s nearly equatable in feel and power to a Mac Classic 512K. But in color. In my pocket. With, again, an order of magnitude more default storage space. This now obsolete device contains a dozen novels, assorted maps and transportation schedules, and dozens upon dozens of applications ranging from music creation tools to document editors, various utilities, a very complete interactive star chart, painting/art programs, numerous games, and even an infrared meter/detection tool - and more besides.
I also carry a rather bottom-of-the-line portable phone that has better graphics, a better display - in color rather than green monochrome, more CPU and more memory then my family’s first computer. That talks wirelessly. To most of the world. Much or all of it through varieties of packet switching networks. (And yet they still won’t let me connect to the internet, browse via WAP, send a proper email, or simply do an old-school data modem connection from it. Hrmpf. I use Cricket. No frills.)
People now routinely buy - at toy stores! - what were once astronomically expensive, experimental supercomputers, now packaged in slim, small, brightly colored enclosures, simply to play silly, inconsequential little games on. Rather than, say, simulating nuclear explosions on. By all means, play on! Chess?
I have nearly immediate access to more information then I could ever hope to consume or even glance at - even in a hundred lifetimes. Or even a thousand. In fact, even excluding all the boring stuff, more interesting text and data is created or transcribed and uploaded every day then I could consume in n number of lifetimes.
Barring catastrophe, I will never, ever again experience what it feels like to read every Sci Fi novel, every technical manual, every art book at the rather large central library that I spent much of my formative years growing up in.
Barring catastrophe, I will never, ever (truly) again experience what it means to be unable to communicate with someone, regardless of physical distance or time of day. Excluding the internet itself as a channel, but including the internet simply as the container for many channels, I have at my fingertips half a dozen ways of communication with a vast number of people. Hundreds, thousands, hundreds of thousands if I want to expand this to include the myriad number of ways of sending information to and receiving information from a recipient. Without even touching my stand-alone, battery powered phone.
Even without a computer and connection of my own, the cost of entry would be absolutely nothing at all if I just schlepped myself down to the local library.
—–
Amongst all this I’m still intensely aware of all of these things. They do not fade readily into the background as a much as a “given” (in the so-called civilized world) as running water fades into the background. As electricity does. As breathing itself does.
And sometimes I wonder if all this pervasive computing and connectivity will ever fade into the background for me as a given, taken for granted metabolic state, as it probably does for those just a bit younger than I.
And yet, this connectivity is already as essential as breathing is to me. Without it I would not have my current job, this apartment, even the computer itself which I now use. (Thanks you craigslist!) I wouldn’t have immediate access to transportation schedules, which maintain my job. Access to vital weather information, which helps me maintain my health and my job, and enables good planning. I haven’t touched a paper phone book in years.
I wouldn’t have entertainment. I wouldn’t have the art and music I enjoy. I wouldn’t be able to pick and choose the minds I find fascinating to interact with. I would be but a fraction of who I am today.
The internet has literally saved my hide from certain doom - if not at least prolonged discomfort - at least a dozen times. It has enabled the seeking of shelter when it was needed most, the provision of economic viability, transportation, communication, and so much more.
I would even personally argue that I owe the internet my very life - via the convoluted, twisting paths of life itself, with it’s occasionally fatal levels of frustration leading to ideations of self harm and hopelessness - upon which once a frightened call in the dark was answered so long ago, not merely by one concerned soul, but dozens upon dozens bearing not only firm, kind wishes - but bucketfuls of wisdom, strength, and love.
There is no price for such a thing. It cannot be valued, bartered, bought or sold, or even given away. The very concept and abstraction of price becomes meaningless in the face of it.
I have a hard time comparing, say, the mechanical printing press and this nebulous, cloud-like concept we call the internet. They do not sit rationally or comfortably together on the same scale in my mind. While one begat the other, one now dwarfs the other with such complexity and massiveness it is as crude a comparison as relating a simple wheel or lever to something as fantastic as a (yet) fictional faster-than-light starship.
And yet I still revel in it, awash, even drowning in such fantastic knowledge and access that - even if it were to vanish entirely, right now - my mind would gibber and reel at the incredibleness of it all for the rest of its days, forever changed. Leary was right! PC+internet > LSD!
Thanks, nerds and hackers everywhere. Have you ever been properly thanked? Or was the fact that the whole world pretty much just ran off with your countless inventions and started using them with gusto thanks enough for you?
Thanks DARPA/ARPA, and even the DoD. Thanks for letting the genie out, and making sure it couldn’t be put back in. Thanks Bell labs, thanks Xerox-PARC. Ma Bell? AT&T? G’way, you malingerers! Stern, strict great-grandfathers though you may be, a pox on you! Thanks MIT, Stanford, Berkeley, Santa Cruz and everyone else. Thanks Apple, Intel, and even Microsoft. Thanks, Linus Torvalds. Thanks, Wozniak. Thanks, Lee Felsenstein. Thanks, Google, and it’s long-lost batty great aunt who once lived in a dorm closet, Yahoo. Thank you, thank you, thank you CERN. And thanks to all the countless others I’ve missed, both large and small.
You probably won’t be able hear me among the riotous, delicious cacophony you’ve enabled, but… Thanks for everything.
posted by loquacious at 4:59 AM PST on March 19
*nods*
Posted: March 20th, 2006 | Author: Adam Wolf | No Comments »
Tab Mix Plus is a Firefox extension, providing a veritable boatload of tab features and also a session manager. You can rearrange tabs, protect tabs from being closed, unclose tabs, have a loading bar for each tab show up in its little name spot, and my favorite feature of all: Making multiple rows of tabs! When I max out my tabs in Firefox, what usually happens is that they extend off the side of the window, making it very tricky to work nicely with them. Now, they wrap around and make a second row. Whoo hoo!
I don’t have many problems with Firefox stability, but I faked a crash to check out the crash helper thing. When I restarted Firefox, Tab Mix Plus came up and asked if I wanted to restore from the crashed session.
Here’s to you, Tab Mix Plus.
Posted: March 9th, 2006 | Author: Adam Wolf | No Comments »
.
Posted: February 28th, 2006 | Author: Adam Wolf | No Comments »
Amanda, Matthew and I have recently watched the first season of the BBC comedy Coupling. Although most places online claim it is the British answer to Friends, I really don’t think so. I don’t appreciate Friends that much, and Friends seemed more to me like Mad About You with more people. Coupling is much more in your face about the sex and relationships than I remember Friends.
Coupling is about dating, relationships, and sex. There’s a character, Jeff Murdoch, who comes across as a Kramer type guy. He has an odd bit of wisdom every episode, some accurate, others not. One I’m particularily fond of, and afflicted with, is the Giggle Loop.
- Patrick: What’s a giggle loop?
- Jeff: Don’t ask. To know about the giggle loop is to become part of the giggle loop!
- Steve: I think we can take it.
- Jeff: You’re not ready for the giggle loop. Basically, it’s like a feedback loop, you’re somewhere quiet, there’s people– it’s a solemn occasion, a wedding! No, it’s a minute’s silence for someone who’s died!
- Steve: Right?
- Jeff: Minute’s silence, ticking away–the giggle loop begins! Suddenly, out of nowhere this thought comes into your head, the worst thing you could possibly do during a minute’s silence is laugh! As soon as you think that, you almost do laugh! Automatic reaction! But you don’t–you control yourself! You’re fine! But then you think how terrible it would have been if you’d laugh out loud in the middle of a minute’s silence and so you nearly do it again! But this time, it’s an even bigger laugh, then you think how awful this bigger laugh would have been, and so you nearly laugh again only this time, it’s a very big laugh, let this bastard out and you get whiplash! And suddenly, you’re in the middle of this completely silent room, and your shoulders are going like they’re drilling the road, and what do you think of this situation? Oh dear Christ–you think it’s funny!
After a disaster with “Lesbian Spank Inferno,” Steve has a monologue on porn that had me looking for a transcription online as soon as the episode finished.
Anyway, Coupling was “adapted” for NBC and flopped. There’s a line or two of dialogue every episode where I know I don’t know what they’re talking about, because I’m not British. But in order to increase my cultural diversity, I netflix’ed The Wicker Man so I can understand these Britt Ekland references.
The first season is only six episodes, and there were only 28 total. They’re only half hour long, so you could easily watch this show over a few weeks without overdoing it.
Posted: February 22nd, 2006 | Author: Adam Wolf | No Comments »
If you read my posts for the last two months or so, you’ll notice I’ve had no end to the troubles given to me by my girlfriend’s computer. One day, it started having black flickering lines that occured when you typed, or sometimes moved the mouse. I ended up replacing all the hardware, and it still happened! It was better on the new hardware, so she continued to use it.
I even posted the question on Ask.Metafilter! No dice. A few days ago, however, someone online sent me an email via my contact form, and asked if I had solved it yet. I had not. He replied back today, saying he had solved the problem.
Are you ready? The problem was:
xscreensaver 4.23
After upgrading to the new xscreensaver, everything worked perfect. The black lines are gone.
More information is available at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=336368.
Posted: February 21st, 2006 | Author: Adam Wolf | No Comments »
Happy Birthday Legend of Zelda!
I <3 Zelda. Legend of Zelda games is what makes me buy a console. I’m dying to play Twilight Princess, and I can see my grades next semester dropping because of it. I hope Amanda and I can play it together, otherwise I’ll have to cut a lot of my personal time down.
I’m wearing a Zelda shirt Amanda bought me in celebration of this joyous day.

I have memories of the original golden cartridge on the NES. I remember walking downstairs late at night when I couldn’t sleep, and watching my father play. I remember being stuck on level five for so long. I had found it before I should have, and had the hardest time. I remember sitting on the carpet in third grade, and while playing with my shoelaces, I rolled my shoelace into a circle, and remember thinking it looked like one of the monsters in the fifth dungeon. This was Digdogger. Zelda has influenced catchphrases. One night after my roommate was playing A Link to the Past on the arcade, as he was falling asleep he mentioned something about how cool it would be to have a “shield hat.” I mentioned it to him the next day, and he explained. This was the headpiece of the Helmasaur King. Whenever “shield hat” is mentioned, it now refers to a moment of sleepdrunkeness.
I hope there are many great Zelda games, and I hope to be fifty years and thirty four days old and write about the Legend of Zelda’s fiftieth birthday.
Please take some time to read the Wikipedia entry on The Legend of Zelda Series. There’s a lot of stuff linked from there.
Zelda Trivia: Miyamoto named Princess Zelda after hearing the name of F. Scott Fitzgerald’s wife, Zelda. F. Scott Fitzgerald wrote The Great Gatsby, one of my favorite books of all time, and he lived in St. Paul, and I took a picture of a statue of him I found in St. Paul. 
Posted: February 5th, 2006 | Author: Adam Wolf | No Comments »
Saturday, I essentially spent the whole day with Alex. Today, I organized my computer stuff. I noticed a great deal on a Cruiser Micro at Office Depot, and went to buy that for Amanda. She needs a new one fairly badly. Her old one is stolen by the digital picture frame, and I sometimes need mine. What seems cool about the Cruiser Micro is that the whole case is the same piece as the plug. The plug shouldn’t get bent up and loose as they tend to do on normal usb drives. I can’t find a picture of this exact drive online, not even at the Sandisk site. I’ll take a picture of it sometime.
This next week is just going to be full of computer nerdery. I’m still trying to fix Amanda’s computer! I brought a spare machine from home, and bought a new heatsink for it, to make it quieter, and it doesn’t fit in the case along with the power supply. As I’m going to be swapping a bunch of motherboards around, I had Dad buy two of my favorite cases in the world, the Antec 1650, from RAM Technologies back in Eau Claire.
RAM seems to be much more reasonably priced compared to five years ago. I’m not quite sure if its the store that changed, taking lower margins on products so they’re closer to online prices, or if its me that changed, and I don’t quite pinch the pennies as hard as I used to when I was a paper boy.
Well anyway, Meg Mueller is bringing the cases back Tuesday, along with my thumbdrive I left in Betty’s car.
So today, before Matthew got back, I lost my keys, while I was in my room. He got back while I was still searching, and I ended up being at my wit’s end, and searching the garbage cans. They were definitely down in the bottom of one of our garbage cans. Sometimes I think there are little pixies that steal my stuff and move it around.
Last year, one day when Matthew was gone all morning at class, I locked the door and went to class as well. You have to realize, the doors in the dorms, to lock them and walk out, you need to lock them from the outside. You can’t “set them to lock” and then leave your keys in there. So as long as you don’t have your roommate lock you out, you’re set, because if your door is locked, it meant you were outside your door with them, to lock it. You can’t lock yourself out. To do that, you need a partner. Anyway, I locked the door, from the outside with my keys, and went to class. I came back, and I noticed I didn’t have my keys. I tried the door. Nope, locked. I went to the front desk, checked out a key, and opened the door. My keys are on my desk. This whole situation was impossible, but happened. Matthew didn’t come home the entire time, so he’s out of the picture. Dorm pixies, I tell you.
Anyway, later tonight, I’m installing OpenBSD on Amanda’s old hardware, as it seems to have display issues on the motherboard. I should install webDAV and LDAP on there, set them up for handling my Evolution stuff.
Posted: January 27th, 2006 | Author: Adam Wolf | No Comments »
Two perfboards, about .3 inches apart, with a 20 pin header on each.� It “plugs” in a breadboard right across the slot.� On the board is a PIC18F452 with a 10 MHz crystal, required capacitors, and resistors.
Now, I can’t decide if there would be a ZIF socket or an ICSP header.� I should figure out ICSP.
Posted: January 27th, 2006 | Author: Adam Wolf | No Comments »
Imagine this. An ergonomic keyboard with a smallish LCD under the spacebar. It is powered by a few batteries, and has a backlight on/off switch, and a regular unit on/off switch. It has an SD slot, and a USB port.
You type, it shows up on the LCD. � You can save to different files, having one for each class.� You can open other text files, edit them, and save them.� There may even be space for a game or two :-P.
It saves the data on the SD card, and you can download/upload data just like a thumbdrive.
Total cost for a single unit? Less than $50 dollars.
Posted: January 11th, 2006 | Author: Adam Wolf | No Comments »
With an RFID hand implant, and a special mouse, you could set it up so only your hand would make the mouse move, or even shock a user who keeps moving it without the implant.� The keyboard could also detect your hand.
Posted: January 11th, 2006 | Author: Adam Wolf | No Comments »
An interesting project to investigate would be a bluetooth subvocalizer, like the things the SEALs use.
What do you guys think?
Posted: January 5th, 2006 | Author: Adam Wolf | No Comments »
Most people who know me know I’m absolutely in love with wearable computing. I’m in love with it to the point of wanting to go to grad school to work with them after I get my Electrical Engineering degree.
It recently came to my attention that I may have nearly everything needed for a good step in the right direction.
The ideal wearable is modular, as the equipment available changes all the time. When I’m sitting down at a trusted computer with my wearable, I don’t want to rely on a tiny display or auditory output. I want to be able to interact with my data on the dual 19 inch LCDs.
I need to be able to
- send and receive email
- browse the web
- instant messaging
- make and view appointments and other calendar-based information
- make and view a contacts list
- write and read basic text documents
ON THE GO!
Now, there are a lot of reasons why it’d be good to have a head-mounted display that lets me see some computer output as well as the real world. However, there are a lot of reasons why that isn’t going to happen in the next year or two for me. I don’t have over a thousand dollars to spend on a display. This limits my options a large amount. I also don’t have the knowledge of optics required to homebrew a solution based on a cheaper display.
Gargoyles represent the embarrassing side of the Central Intelligence Corporation. Instead of using laptops, they wear their computers on their bodies, broken up into separate modules that hang on the waist, on the back, on the headset. They serve as human surveillance devices, recording everything that happens around them. Nothing looks stupider; these getups are the modern-day equivalent of the slide-rule scabbard or the calculator pouch on the belt, marking the user as belonging to a class that is at once above and far below human society.
Neal Stephenson, “Snow Crash”
If I want these functions to be accessible on the go, I need both on-the-go input and on-the-go output. On-the-go input will be acheived with a homebrew bluetooth septambic keyer. This will be detailed in the future. On-the-go output is usually acheived with a head-mounted display. Now, there are a lot of reasons why it’d be good to have a head-mounted display that lets me see some computer output as well as the real world. However, there are a lot of reasons why that isn’t going to personally happen in the next year or two. I don’t have over a thousand dollars to spend on a display. This limits my options a large amount. I also don’t have the knowledge of optics required to homebrew a solution based on a cheaper display. The only head-mounted display options left to me are ones that would condemn me to the path of the gargoyle, something I’d really love to avoid.
An on-the-go output method that is often ignored is audio. Bluetooth headsets are not a rare sight these days. I could certainly find a fairly cheap, non-gargoyle bluetooth headset, and this would provide me with an auditory output.
Is this really possible? Could I actually interact with my computer in a usuable fashion without a DISPLAY? It looks like I can.
Enter
BLINUX, a project in active development increasing the usability of Linux to the blind user.
Posted: January 4th, 2006 | Author: Adam Wolf | No Comments »
I was able to get a TI-89 on my desktop fairly painlessly using Wine. Years ago, I owned an 89, but it was destroyed in a tragic high school chemistry lab.
- First, I downloaded and installed wine 0.9.4.
- I then used WineTools vt0.9jo to properly setup my wine environment, installing all the Windows pieces that makes wine so much easier to work with.
- I downloaded Virtual TI from http://www.ticalc.org/archives/files/fileinfo/84/8442.html
- I extracted the vti.zip, and moved it inside my ~/.wine/drive_c/Program\ Files/ so it would be easier to find, and along with all my other Windows apps.
- I then found the rom backup from before the chemistry disaster, and moved it into the vti folder as well.
- I ran Virtual TI with wine ~/.wine/drive_c/Program\ Files/vti/Vti.exe and told it where to find the rom.
Now, I can do my homework with the same hardware I’ll borrow from my roommate to use during the test!
Posted: November 6th, 2005 | Author: Adam Wolf | 1 Comment »
On October 21, my breadboard carrier project hit the front page of Hack A Day.
Later that night, it hit the front page of MAKE: Blog.
Roaming through my statistics, I can see that Don Marti probably clicked through. That’s kinda cool.
Someone clicked through from an email message at Yahoo Mail. The article was del.icio.us’ed and sent through a web translator. Someone checked my site through their cellphone, and 74 people were using FreeBSD.
Numberwise, about 4000 unique visitors showed up, and I received approximately 26,000 hits. That averages out to about six hits a visit, which is nicer than one. I used 173 megs of bandwidth.
Anyone have any suggestions for my next project?
Posted: October 19th, 2005 | Author: Adam Wolf | 7 Comments »
Problem:
- A DIP40 chip, specifically, my PIC18F452 microcontroller, takes up too much space on a single breadboard.
- It can be easy to mix up power and ground.
- I hate prying large ICs out of breadboards.
- Most importantly, carrying around a raw breadboard with a project on it is a pain.
Solution:
A “MEGA Multi Tackle Carrier Bait Box” can be used to carry a pair of solderless breadboards, spaced such that there is an airgap terminal strip spaced at .600 inches, the sizing for the larger DIPs, like the DIP40s. A binding post pair can be prewired to allow the use of banana plugs to power the board as well.
Supplies:
- 1 “MEGA Multi Tackle Carrier Bait Box” from Walmart

- 2 solderless breadboard bus strips and 2 solderless breadboard terminal strips
I used Jameco P/N 20722 and Jameco P/N 20669. If you go this route, make sure the power bus strips are removable.
- Double banana binding posts

I used something from Radio Shack, identical to Jameco P/N 125196
- Some 20 AWG wire, black and red
- A Dremel or other cutting tool
- Epoxy
- Optional: 40 pin ZIF socket
I used Jameco P/N 104029. If you go this route, you will need a DIP40 socket for the ZIF as well.
Procedure:
The removable container inside of the MEGA Multi Tackle Carrier Bait Box has permanent horizontal dividers, and removable vertical dividers. The benefit of this is that I can store related components right with my breadboard. The downside is that a double-sized breadboard won’t fit with the fixed horizontal dividers.

This is easily solved with a Dremel.




After the Dremel job is finished, it looks like this:

At this point, I separated the power rails from the breadboard, put a power rail on one side of each of the two terminal strips, and separated the two breadboards using DIP40 sockets between the two breadboards. This spaces them correctly so the middle is a terminal strip for DIP40 spacing. The next picture may explain better. I then positioned them on the inside cover of the box, so that they would fit in the space I dremeled out. I made sure to account for the binding posts by giving the breadboard room on the top and bottom.
I pushed the ZIF socket into the DIP socket, and pushed that into the breadboard. After the sticky backing from the breadboard was removed, the breadboards were attached to the inside cover.
Open, it looks like this:

Closed, it looks like this:

It is obvious at this point it has a generous amount of room for prototyping while allowing the top to close.
The next step is attaching the binding posts to the inside cover. I did not want to drill through the cover. When the cover is removed, and it isn’t being used as a carrier, but instead a prototyping board, I wanted the plastic to lay flat. This meant I needed to modify the binding post piece.
I did this with a Dremel. Cut down two of the plastic holes so the nuts will end up flush with the bottom plastic piece. I only used one nut for each hole, and I only need to cut down one side.
The next picture shows how both holes should appear. The black holes should look like the left side, and the red holes should look like the right side. The right side was not modified, but the left side was.

The next step is to cut down both of the pegs so they will end up flush with the plastic.
Take plenty of precautions with your Dremel. Do not get metal shards in your eye, or anywhere where they will cause damage. I do not advocate cutting metal with your Dremel ever, especially late at night in the middle of a residence hall (read: dormitory).
This picture shows a comparison between an unmodified peg and a cut peg.

The next step is to etch the bottom of the black piece, so that it will adhere better after the epoxy. Then I assembled the binding post pair.

Mixing up some epoxy, I smeared some on the bottom of the binding post, and also the side. This allows the epoxy to both bind to the plastic on the bottom, as well as the plastic on the breadboard. The first time I attached it, I only put epoxy on the bottom, and after a few days, it snapped off.
At this point it looks like this:

I then attached appropriate colored wires to each bus line from the binding post pegs.
The end result looks like this:


Another benefit of the carrier is that it fits directly in the box with the rest of the electrical engineering stuff, being both transportable to lab, and also directly usable in my dorm.

An annotated set of these pictures is available as a Flickr set at http://flickr.com/photos/adamwolf/sets/1167654/.
Possible extensions to this project include power protection. A zener diode across the power terminals or a tantalum capacitor in series with the power could provide cheap protection against inverted polarity.
Send me your questions or comments!
Posted: August 20th, 2005 | Author: Adam Wolf | No Comments »
I made a digital picture frame out of a Compaq IA-1.
In order to make a digital picture frame with an IA-1 and Damn Small Linux, there is one major constraint. No matter how big your CF card is, there is only 64 megs of ram in the device. This means, if you put a complete image of Damn Small Linux, and add something small, like feh, weighing in at less than 500k IIRC, the device will crash on boot, complaining about lack of ram.
That makes this process about eleventeen times more complex, but still within the realm of possibity. Even easier if you have a guide, you know, something like this.
My first step was to make a feh extension for Damn Small Linux. This is unbelievably easy. I did this on my main workstation, booted into Damn Small Linux. First, I enabled apt through the fluxbox menu with Apps > Tools > Enable Apt. Then I started a root console and installed feh with apt-get install feh. I closed my root console, and opened a user console, and converted the feh debian package to a feh dsl package with /usr/bin/deb2dsl. I named the package feh.dsl, made the MyDSL menu name feh, and entered /usr/bin/feh as the location path. I then had a feh.dsl extension in my home directory. I copied it to a thumbdrive, and booted my IA-1 with it. As you know, this crashed on boot. I booted my computer with it. It loaded fine. This meant the error that meant “Out of RAM” really meant it.
So my next step was to lighten up Damn Small Linux, and make it Damn Smaller Linux. This means you have to enter the world of remastering. This has to be done on a computer with more ram than your IA-1.
Following the basic idea inside of ReMastering HOWTO for DSL, also newbies and other enthusiasts we burn a copy of Damn Small Linux on to CD, and reboot our computer.
Mount an open directory off your hard drive.
mount /mnt/hda3/
Make needed directories.
mkdir /mnt/hda3/home/wolf/dsl/source
mkdir /mnt/hda3/home/wolf/dsl/newcd
mkdir /mnt/hda3/home/wolf/dsl/newcd/KNOPPIX
Copy needed files to the remastering directories
cp -Rp /cdrom/boot /mnt/hda3/newcd
cp -Rp /cdrom/lost+found /mnt/hda3/newcd
cp -Rp /cdrom/index.html /mnt/hda3/newcd
cp -p /mnt/hda3/home/wolf/feh.dsl /mnt/hda3/newcd
Copy the sources to the right directory.
cp -Rp /KNOPPIX/* /mnt/hda3/home/wolf/dsl/source
cp -Rp /KNOPPIX/.bash_profile /mnt/hda3/home/wolf/dsl/source
At this point, remove firefox from /mnt/hda3/home/wolf/dsl/source/. This will free up over 17 megs of space. I did this with some nasty bash. I believe it was find /mnt/hda3/home/wolf/dsl/source | grep firefox and then judiciously removing the firefox directories and executable. To be pretty, you have to then remove the desktop link and menu entry.
Create the compressed image.
mkisofs -R /mnt/hda3/home/wolf/dsl/source | create_compressed_fs - 65536 > /mnt/hda3/home/wolf/dsl/newcd/KNOPPIX/KNOPPIX
Create the iso:
cd /mnt/hda3/home/wolf/dsl/
mkisofs -no-pad -l -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o mydsl.iso newcd
Posted: August 6th, 2005 | Author: Adam Wolf | No Comments »
Amanda’s birthday was July 27th, and she turned 19. I spent a lot of time thinking of a gift, and I finally decided on hacking one of my old gadgets into a digital picture frame.
This is the IA-1 before modding:

This is the IA-1 after the uberleet casemod:

These pictures both came from my Compaq IA-1 Digital Picture Frame set on Flickr.
Anyway, I took a Compaq IA-1, and attached a picture frame to the display. I didn’t remove any plastic, I just hunted hard and long for a decent sized picture frame that would snap on the existing plastic bezel. I found a matte that would cover up the plastic. Then I had to work on the software.
The IA-1 only has 64 megs of ram, and no hard drive. It has a 16 meg internal CF, and an external CF slot. I could conceivably smash a digital picture frame running linux and nfs and such into 16 megs. I know I could do it, but the time-effort tradeoff pushed me to find a spare 64 meg CF and put a slightly modified DamnSmallLinux distro on it. DSL is so unbelievably nice that I could have just put feh and unclutter on it as extensions, and then smashed them on the CF. However, when doing that, I ran out of ram on the device and it wouldn’t boot. So I remastered DSL without Firefox, and put feh on it natively.
Now it can show pictures, but I need to let it see pictures. So I took Amanda’s flash drive, and put a bunch of pictures of us, and also a blank cursor to erase the default X cursor, and set it to automount on boot. Then modifying the .xinitrc, I had it start feh at boot. The result?
Amanda plugs her thumbdrive in the IA-1’s back, and plugs it into the wall. The picture frame displays a picture of us every 5 seconds until you unplug it.
Yay! Functional, nerdy, me.
Pssst. I wrote more on how I did this on the next post!
Posted: July 20th, 2005 | Author: Adam Wolf | No Comments »
1 c. cornstarch
1 c. flour
2 1/2 tsp. baking powder
1 tsp. salt
1 egg
1 c. cold water
2 tbsp. oil
Beat togther.