Hackday Links: March 10, 2012

We’re throwing money at our monitor and nothing’s happening!

Sometimes we get hacks sent into our tip line that are outrageously awesome, but apart from a YouTube video we’ve got nothing else to write about. So begins the story of the flying Back to the Future DeLorean quadrocopter. Sadly, the story ends with the video as well. (If you’ve got any info, send it in!)

Fine, we’ll throw in another cool car

Mercedes covered a car with LEDs and made the James Bond’s invisible car from Die Another DayThe Mercedes video cost tens of thousands of dollars to produce, so of course there’s camera trickery; we’re just wondering how much credit Adobe After Effects gets for this build.

Microsoft touchscreen demo might be impossible

Yes, Microsoft does care about user experience. Just take a look at this video from their applied sciences group. They did user testing with touchscreens that updated every 1 millisecond, compared to the ~100ms our phones and tablets usually update. Of course the result was a better UX, but now we’re wondering how they built a touch screen that updates every millisecond? That’s a refresh rate of 1 kHz, and we’ve got no clue how they bodged that one together. We’re probably dealing with a Microsoft Surface projector/IR camera thing here, but that doesn’t answer any questions.

Edit: [Philip Rowney] sent in a tip that it could be this TI touch screen controller that can sample above 1 kHz. The only problem is this chip uses a resistive touch screen, instead of a multitouch-enabled capacitive screen. At least that solves one problem.

And now for something that can measure 1 kHz

[Paleotechnologist] posted an excellent guide to the care and feeding of an oscilloscope. Most of our readers probably already know the ins and outs of their awesome Techtronix and HP units, but that doesn’t mean the younglings won’t have to learn sooner or later.

Good idea, except the part about saving it for spring

In a moment of serendipity, [Valentin] figured out how to use touchscreens with wool gloves. The answer: rub thermal grease into the tip of the index finger. It works, and doesn’t look to be too much of a mess. We’ll remember this for next winter.

The last one didn’t have a picture, so here’s this

[Darrell] used a little bit of LaTeX and Ruby to make colored labels for his resistor collection. We’re struck with the idea of using test tubes to organize resistors. It’s cool and makes everything look all sciencey and stuff.

This image contains a hidden audio track

This image contains a hidden audio track which you’re very familiar with. Well, it used to. We’d bet we messed up the careful encoding that [Chris McKenzie] used to hide data within an image when we resized the original.

He’s using a method called Steganography to hide a message in plain sight. Since digital images use millions of colors, you can mess with that color data just a bit and the eye will not really be able to pick up any difference. Each pixel has had the eight least significant bits swapped out for the data [Chris] is hiding. Since the image uses 24-bit color, the largest possible change (going from 0 to 255) in those bottom eight bits will only result in a color change of about 0.15%. And that’s only for one pixel; in most cases the change will be much less.

He shows his work, both decoding and encoding using Ruby, and even provides a one-liner which lets you playback the audio without downloading anything (just make sure you’ve got all of the dependencies installed). Never gonna give, you, up…

[via Reddit]

Spamming a label printer with #cookiehammer

[John] has always loved stock ticker machines. These machines are highly collectible, so short of finding one that wasn’t hurled from a Manhattan skyscraper in 1929, a stock ticker is out of reach for the casual enthusiast. There is another way to get a stock ticker-like device though: hack a label printer to print out stuff from Twitter.

The build is really quite simple. A Dymo thermal label printer was modified to accept standard 2.25″ point of sale receipt paper. Now that the printer can shoot out line after line of text, [John] wrote a little bit of Ruby code using a Twitter API, RMagick for graphics processing and a Dymo printer driver.

Every 30 seconds, the code does a Twitter search for a specific hashtag and prints those tweets. #cookiehammer was the first thing that came to mind, so it stuck. Right now there’s a few tweets for #cookiehammer, but we expect [John] will have to put a new roll of paper in his printer fairly soon.

It may not be as informative as a stock ticker machine, but we think [John]’s twitter printer build sure beats watching CNN. Check out the walk through after the break.

Continue reading “Spamming a label printer with #cookiehammer”

ATtiny Hacks: Simple USB temperature probe

ATtiny Hacks Theme Banner

[Dan’s] office is awfully hot, but he needed some real temperature numbers that he could show the building management office to justify opening a maintenance ticket. He had seen some simple temperature probe examples online, and decided to build his own using a small AVR chip.

Based off a similar temperature monitoring example called EasyLogger, his temperature probe uses an LM34 temperature sensor, which is wired to an ATtiny45. The ATtiny communicates with his computer using the Ruby-USB library in conjunction with a bit of Ruby code he put together. Once the data is obtained, all of the temperature measurements are logged and graphed using RubyRRDTool.

As you can see by in the image above, his office is far hotter than it should be, so we’re pretty sure he’s happy to have actual measurements to back up his claims.

If you are looking to make a small temperature probe of your own, his code, schematics, and links to all of the tools he used in the project are available on his site.

Distributed computing in JavaScript


We’ve heard about the idea of using browsers as distributed computing nodes for a couple years now. It’s only recently, with the race towards faster JavaScript engines in browsers like Chrome that this idea seems useful. [Antimatter15] did a proof of concept JavaScript implementation for reversing hashes. Plura Processing uses a Java applet to do distributed processing. Today, [Ilya Grigorik] posted an example using MapReduce in JavaScript. Google’s MapReduce is designed to support large dataset processing across computing clusters. It’s well suited for situations where computing nodes could go offline randomly (i.e. a browser navigates away from your site). He included a JavaScript snippet and a job server in Ruby. It will be interesting to see if someone comes up with a good use for this; you still need to convince people to keep your page open in the browser though. We’re just saying: try to act surprised when you realize Hack a Day is inexplicably making your processor spike…

[via Slashdot]

Manual protocol analysis


As a followup to last week’s post on automated protocol analysis, [Tod Beardsley] has written up how to start analyzing a protocol manually. He walks through several examples to show how to pull out the interesting bits in binary protocols. His first step was sending 10 identical select statements and capturing the outbound packets. He used the Ruby library PacketFu to help with the identification. It compared the ten packets and highlighted one byte that was incrementing by four with each packet, probably a counter. Looking at the response indicated a few other bytes that were also incrementing at the same rate, but at different values. Running the same query on two different days turned up what could be a timestamp. Using two different queries helped identify which byte was responsible for the statement length. While you may not find yourself buried in HEX on a daily basis, the post provides good coverage of how to think critically about it.

Generating MIDI with Ruby

[Giles Bowkett] has been working on a music library for Ruby called Archaeopteryx. He describes it as a “Ruby MIDI DJing/live-coding thing“. In the video above, He’s using it to generate and then morph rhythms. The Ruby code is directly controlling the step sequencer in Reason. It’s an interesting approach to music development. The video above gives a full intro to the probability approach to generation. To really get a feel for the library, we suggest you watch his presentation from RubyFringe. It shows him playing music by editing a live block of code. Check out his Vimeo feed for many more demo videos.

[via CDM]