ATtiny Hacks: Simple USB temperature probe

ATtiny Hacks Theme Banner
simple_attiny_usb_temperature_probe

[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

mapreduce

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

packetfu

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]

Why I Hate Django

[Cal Henderson] delivered a keynote titled Why I Hate Django at the first annual DjangoCon. Django is an open source BSD licensed web framework written in Python. Google has posted the keynote in its entirety to YouTube, which you can find embedded above. While the talk is humorous (and takes many jabs at Rails developers) it does provide insight into what makes a good web framework. [Cal] is Director of Engineering at Flickr and is an authority on how to make websites scale. He points out that most frameworks are designed to get projects off the ground quickly, but are lacking when it comes to building an even larger service. He talks about several things in Django that need work and improvements that could be made. It’s really an interesting look at what it takes to go big. Continue reading “Why I Hate Django”