Categories
Uncategorized

Time Lapse Bot 2

Time Lapse Bot 2

I give you… Time Lapse Bot 2!

This is an upgrade for the original Time Lapse Bot, although we lose a few things, we gain some others… specifically, better mobility and a lighter weight Time Lapse Bot.

We’ll be testing this guy out at BarCampMadison

Update: See the result: BarCampMadison: Time Lapse Video

Categories
Uncategorized

Twitter Kiosk Hacking

The year was 2007. Twitter was still fairly young, and was used by mostly the techie crowd. For BarCampMilwaukee2 I put together a bit of code using Perl, cron, HTML/CSS and ended up with this kiosk-sort of thing that we projected on the wall during the event.

tk000oldapp

Here’s a mock-up of what it looked like. I had just started testing it around August 2007 using the @web414 account on Twitter. Oh, keep in mind that there were some apps do to this sort of thing back then, but most were written in Flash, or AIR or something else that required specific hardware/software that I couldn’t use for whatever reason. Oh, and just a bit of history, I’ve been building kiosks out of old machines since 2002 or so. These are machines that would find no other use, so I do my best to put them to good use.

So for this particular modern-day kiosk experiment, I wanted to use the Eee PC 701 I got in 2007. It’s not my main portable since I got a MacBook, but I still find uses for it. The idea was to have it sit on my desk with a constant stream of Tweets rolling by…

tk001tweetdeck

I’m (currently) running EasyPeasy on the Eee PC, and it can run Adobe AIR apps, so I figured I’d give TweetDeck a try. Sure it’s in beta, but what isn’t, eh? Anyway, while TweetDeck is a nice app, it’s infuriating that it can’t display one really wide column. I know it’s infuriating because it’s a feature people seem to ask for in the support forums. TweetDeck wasn’t doing it for me.

tk002spaz

Next up was Spaz. I really like all the ideas behind Spaz, it’s a nice little application. You can even edit the CSS to tweak the interface. That’s a handy feature!

tk003spaz

I didn’t do much with the CSS tweaking, as I just wasn’t feeling it with Spaz. There was a lot of application UI to deal with, and I didn’t feel like tweaking an AIR app that much. Still, Spaz is nice for what it does. The developer’s blog has some Twitter gripes, but then, who doesn’t!?

tk004buzzbird

Next up was Buzzbird, an XULRunner-based application. If you’ve never hear of XULRunner, it’s basically a method of building applications the same way Firefox and Thunderbird are built, using XUL to create the interface. This is a technology I really wish we would have seen take off a bit more, as it’s great to work with.

tk005buzzbird

Giving the CSS a tweak in Buzzbird was simple. Inside the Buzzbird folder (under Linux) is a chrome folder, and in there is a skin folder, and in there is a classic folder. CSS and images live there.

tk006buzzbird

If you’re using a Mac, you just do the right-click ‘Show Package Contents’ trick and drill down a little bit. Also, if you are using Mac OS X 10.6 Buzzbird does not work (as of my writing this) though it does work on Mac OS X 10.5.

Buzzbird is a nice XULRunner-based application that is multi-platform and open source. The development seems pretty active on it as well. (And just like Spaz, the developer has some Twitter gripes…)

tk007firefox

Next up was… Firefox. I happen to really like Firefox, and one feature I really like is that (on Linux) it has a “kiosk mode” that let’s you hit F11 and it makes all the browser chrome go away, and leaves you with a full-screen view of your browser viewport – no controls – just content. I love that! Especially on the small screen of the Eee PC, which shows just 800×600 resolution. But this isn’t the normal Twitter view, and the normal Twitter view also doesn’t automagically refresh itself, so there’s work to be done. (Note: I finally did find a kiosk extension for Mac OS X, it’s Full Fullscreen.)

tk009addons

First off, we need the page to reload. Believe me, I dug through all sorts of Greasemonkey user scripts claiming to make a page reload, or specifically claiming to make Twitter reload. None of them worked. Maybe they used to, but they didn’t for me. What finally did work was an extension called ReloadEvery. It worked when nothing else would. (Be nice and don’t make it reload too often, remember, every page load uses someone’s resources.)

tk010stylish

So besides ReloadEvery we’ve also got Stylish installed, which lets us easily tweak the CSS for any web site. It’s pretty simple. So after just a little bit of CSS hacking (and I mean a little, I really didn’t spend much time on it) we’ve got a look that minimizes some of the stuff we don’t want to see, and emphasizes more of what we do want to see.

Here’s the CSS for “Twitter Kiosk” I put into Stylish.

/* Twitter Kiosk */

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("twitter.com") {

#logo { display: none !important; }
#status_update_box { display: none !important; }
#header { margin-top: -16px !important; }
#heading { display: none !important; }
#side_base { display: none !important; }
#container { width: 100% !important; }
.subpage { width: 100% !important; }
#timeline { width: 100% !important; }
.status-body { width: 93% !important; }

tk008firefox

It’s not perfect. As you can see the page is still showing the notification of new tweets, and some of the links at the top. I didn’t bother trying to get rid of those bits, but it should be pretty trivial to hide them as well.

tk011eeepc

Anyway, this thing is ready to run, and can just exist on the Eee PC sitting on my desk, or be connected via VGA to a larger external monitor, projector, or television. And best of all, it works in Firefox, which is everywhere, and requires just two extensions, and a little bit of CSS.

So the big question is, can I run it on older hardware with older software? ReloadEvery claims to work as far back as Firefox 1.5, though Stylish claims to requires Firefox 3.0 or higher. Full Fullscreen (for your Mac kiosk) has older versions that should work with older Firefoxes. Firefox 3.x says it needs Mac OS X 10.4 or higher, so that tosses out a lot of older Macs unless you look at Firefox 2.x or older. Still, you can experiment if you wish and see what you can cobble together. Who knows, I just might do that myself. (Maybe even on Linux.)

No matter what you do, have fun and keep on hacking…

Note: This was all written before #newtwitter happened, so I’m not sure any of it will still work. If it does, let me know… thanks!

Categories
Uncategorized

Fix Your InfoLithium Battery

We’ve got a Sony PD-150 video camera which uses these “InfoLithium” batteries, and over the years, these batteries have given us a hard time, but no more… (We hope!)

See, when these batteries go “bad” they tell the camera not to work. When you power it on, there’s an error message: “For Infolithium Battery Only” which is the camera telling you it doesn’t like the battery. It should be noted that we’ve had the camera for about 9 years, and we’ve used third party batteries for years without issues, but hey, Sony is Sony, you know how they are.

Video Shoot

Turns out the battery has a processor it in, and when things are not quite right, it tells the camera, and you get the error message. Don’t worry, the battery is not dead, it’s just very sick. :)

We got this error with one of our batteries, and since we still had one good one, I tossed the bad one in a drawer and forgot about it for about 9 months. Then our good one did the same thing, so I decided to pull out the bad one and give it one more try. Amazingly enough, it worked! Seems that since it was sitting dormant for so long, it must have lost enough charge to reset itself, and it was back to normal. (So now the bad one was the good one, and the good one was the bad one…. you follow?)

So the fix is to let your battery sit in a drawer unused for 9 months.

Or… I guess you could manually discharge it.

I’ll provide the warning that if the phrase “manually discharge” scares you, you might not want to do what is described below. (If you’re careful, it’s really not that dangerous, but people love disclaimers.)

I initially did some searching, and came across this page on Infolithium Batteries which held the secret. The whole page is worth a good read.

With knowledge in hand, er, in head, I stopped by Radio Shack and picked up a two-pack of 10 ohm/10 watt resistors. (Cost was about $2.00)

resistor
Photo by Mike Krukowski.

The idea is to short the battery with a resistor (do not try it without the resistor!) so that the battery can drain its charge and reset the processor. This took quite a while for the battery I had, and when you read that part about the resistor getting very hot I hope you were paying attention. It actually started to melt the MiniDV cassette case I had it sitting on. It’ll definitely burn skin. Put it on a safe surface that can take the heat!

I was warned by local robotics enthusiast Royce Pipkins that I should perhaps not let the battery drain all the way, as that might render it useless. So at this point I was letting it drain and checking the voltage every now and then. Here’s where I screwed up and left it on too long, and I thought it drained completely. (I assumed the voltage would continually get lower and lower, but I don’t think that happened.) Luckily, even with the battery completely drained, I was able to charge it and the camera recognized it, so I guess it worked!

Anyway, even though the Infolithium Batteries page has been around for years and years, I figured I’d add my 2 cents about the issue, since, you know… that’s what the Internet is for.

Enjoy your (like) new battery!

Categories
Uncategorized

National Novel Writing Month.pl

So last year, during MilwaukeeDevHouse3 I gave old pal Boone a bit of guff as he was doing some writing for National Novel Writing Month and I told him I would just write a Perl script to write my novel for me.

Well, I did. I wrote nanowrirobot.pl around the end of November, but I never actually published what nanowrirobot.pl wrote for me. So here it is…

Enjoy some of the excerpts below, and then download a PDF of the whole thing…

     Jello sysadmin macdink teergrube xreffing boga. Predominantly regexp hangs visionaries. Garbage insist FTPing nroff spamhauses plingnets. Vannevar By lobbyists clone spells feepping RETIed segmenting. Tense segfaults thunk Datamation chose BLTs. Mustard arrived stiffy inexcusable shame TELNET able warez. Modding FidoNets life dump frednets. Con derf Ks for users liked postings. Productive code gweeps boinked bouncing card. Loop robustest tronning flock Now gopher faith spamblock we. Competition baz hue lag. Realer prisons fairingses kits cats superloser proglet old RTM. Hollised Given Katrina gophers elvish rehi. Attempt frogging candidacy visionaries. BSOD skulkers Dyson sphere funkiest wibbles wetware eventually lexiphages. SEXes MEGOs within marketroid pocket universe awking.

I ended up using source text from various places… Text of Obama’s Speech: A More Perfect Union, 75 words every sci-fi fan should know, and I believe the Unofficial Jargon File Word Lists. At least that’s what my notes tell me… Here’s some more!

     Robots they’re foot roaches. Crunch download screwages bum inequalities. Pod short-term pessimals middle monstrosity. Skrogs CTSS values terminaks ENQ specific. Waldos muttered annoywares ping. Crank strudels seggies labor gas it shape. Emailing organized TANSTAAFL benefits puffing. Blocks Constitution truly GOSMACSes evidence. Prints flavorful clocked glorks ANSI primary latest dogwash flags. Students NMI arg passed psychedelicwares. Sharewares wonkiest frobnicating her chanop chrome posts. Spawn because blitters weedses simply. Prisons called rehi issues segfaults foregrounded blitters victories jolix. Risk whack dominated nine Trinity plonks. RTS snivitzes smoking society Berzerkeley.

Yeah… it’s that good!

Anyway, you can find the code here: https://github.com/raster/nanowrirobot

Categories
Uncategorized

HelmetCam 2.0

The finished product…

HelmetCam 2.0

Details to follow… including footage, and build instructions…