Archive for the ‘programming’ Category

CamSpace: software interface for great human-computer interaction

2009/02/14/0630

TechCrunch linked to a cool technology that uses your webcam as a first-class controller, and provides a clear path to controlling flash games in this manner. I have to admit that the video is really compelling. The software is windows-only at the moment, but they claim that a mac client is on the way.

RTFA: http://www.techcrunch.com/2009/02/13/camspace-brin…

CamSpace, the innovative technology that allows gamers to use their computer cameras to play Wii-like games, has added support for Flash, making its platform accessible to a much broader range of developers (prior to today CamSpace was restricted to traditional .exe games). To get started, users will still have to download the CamSpace client here, which includes a few dozen games and will be adding more on a frequent basis (sorry Mac users, CamSpace is still Windows-only).

CamSpace’s technology revolves around detecting up to four objects in real-time, and translating their movement and rotation into in-game actions. To get started, users are asked to activate their webcams with their objects out of frame for a few seconds, then they hold them in front of the camera briefly until the system recognizes them. Any object will do, provided it is bright and has a near-uniform color (we used highlighters), and the tracking seems to work very well provided there’s adequate light.

Django Reinhardt – Minor Swing, Dark Eyes

2009/02/04/1630

I’m learning Python and Django; cue the shocked exclamations regarding Perl, religion, blah blah blah. This is how it has to be, and I’ll explain why in a little bit.

For now, I just want to say two things: Django is pronounced like “jan-go” (i.e. the D is silent), and Django Reinhardt plays a mean guitar. This stuff is smooth!

RTFA: http://www.youtube.com/watch?v=AEzsPGHsi90

Yes! Whoah, another one!

Mercy!

From Wikipedia for Django Reinhardt:

One of the first prominent European jazz musicians, Reinhardt remains one of the most renowned jazz guitarists due to his innovative and distinctive playing. With violinist Stéphane Grappelli he cofounded the Quintette du Hot Club de France, described by critic Thom Jurek[3] as “one of the most original bands in the history of recorded jazz.” Reinhardt’s most popular compositions have become jazz standards, including “Minor Swing”, “Tears”, “Belleville”, “Djangology”, “Swing ‘42″ and “Nuages” (French for “Clouds”).

Arduino playground – Protoshield

2009/01/03/2128

RTFA: http://www.arduino.cc/playground/Tutorials/Protosh…

Here is a design for an Arduino protoshield that sits on top of the main Arduino board. You can use the files below to order a board from a PCB manufacturer, or you can make them yourself. The file is in Eagle format; you’ll have to generate your own drill and gerber files appropriate to your PCB house.

I built an Arduino Protoshield v.4 today, and it’s really cool. I’ve been working on an infrared decoder for a few days, and the solderless breadboard does become pretty cumbersome, after long enough. The protoshield makes it a lot easier!

When I got down to it, it was really hard to find good information about assembling the protoshield v.4. The tutorial from atomicsalad is useful, but it’s not for the specific protoshield I am using. This isn’t a big deal if you’re familiar with this stuff, but I had a hard time getting started. I decided to post some of the information that finally got me rolling.

First, I am using an Arduino Protoshield v.4 that was purchased from FunGizmos. So you know, this comes with absolutely no instruction on how to assemble it, nor does it include a 1k ohm resistor. I happened to have one lying around, so it’s not a big deal, but be aware…

The protoshield “source code” is actually an image, and it’s a matter of printing the image onto a PCB to actually make something useful out of it. Well, I got a printed protoshield v.4 and a few documents came in handy for understanding how to assemble it.

The two most helpful documents came from sgBotic:

1. PCB Diagram, which is the source image that the PCB was based on. Looking at this picture, it is easier to tell what hooks up with where, since the physical traces can be a little hard to see on the physical board itself.

2. Schematic Diagram, which is a high-level explanation of the components that need to be soldered to the board, and where they attach. I referred to this image to get the placement of the two resistors right.

Also, Lady Ada’s adafruit store has a very useful picture of the final product. I didn’t do anything about the ICSP interface (which is in Lady Ada’s picture), since I only use the one ATmega168 chip and I won’t be changing the bootloader.

There is another useful picture from sgBotic here.

In the end, everything worked out great. I had to position the breadboard in a pretty strange way, and that did require a few modifications… The following pictures show off the finished product, with a small project already on it.

Check out this soldering! …I think it looks really great.

Since the breadboard hangs off the side, I cut the insulation off the bottom of the portion that extends beyond the board. As you probably know, a solderless breadboard connects columns of pins with a piece of metal that is called a rail. Well, since my breadboard was right on top of the protoshield’s power connections, I had to remove one of the rails to prevent the shield from shorting the Arduino. Also, since I had removed the insulation from the breadboard, I covered the back with several pieces of electrical tape.

Anyway, the protoshield v.4 is definitely a good one. My primary criticism is that the breadboard I got for it doesn’t fit right, but as I’ve demonstrated, it’s not too hard to work around it. Enjoy!

A case for Catalyst – Perlbuzz

2008/11/12/1715

RTFA: http://perlbuzz.com/2008/11/a-case-for-catalyst.ht…

The Catalyst philosophy is populist, not dictatorial. A belief that tools should be built to do a specific feature or function, but not require usage of any given tool; granting flexibility to a developer to solve problems the Catalyst community has not thought of how to solve.

Catalyst doesn’t require you to use Template Toolkit or Mason. It doesn’t push DBIx::Class as The One True ORM. It lets you pick. It trusts that you are a software developer and you are solving a problem. Catalyst just makes it easy to make your decision, and integrate that solution and start working. Between helper scripts and thin model adaptors (Catalyst::Model::Adaptor), there is virtually no hassle in integrating any CPAN module or custom code directly into your applications. The side-effect of the “trust the user” philosophy, aside from a fantastic framework, is that it is quite simply just that: a framework. It operates and evolves on the principles of synergy alone, striving to make the whole greater than the sum of its parts. A simple goal of striving to make a developers life easier, more productive and deliver higher quality results.

…Catalyst is a really good Perl framework. I am on the mailing list, and just got a ping about this article, so I figured I’d give it a boost on RTFA. Enjoy!