Archive for March, 2008

Alligator Farm

Saturday, March 29th, 2008
Big Gator

On Tuesday of our Easter Florida Adventure, we visited the Alligator Farm in St. Augustine, Fl.

It was actually a really neat zoo with a real focus on alligators and crocodiles from around the world.

Though, it does stink. I mean, it smells really really bad. Not surprising given that the entire place is basically built on natural swamps surrounding manmade swamps of some of the core exhibits.

But, alas, if you are going to visit nature, you gotta deal with the stench.

More critters on the click through…

Read the rest of this entry »

Critters in Florida!

Sunday, March 23rd, 2008
Lizard on Tree

We are in Florida for Easter, visiting family.

Roger, of course, captured a couple of toads and a frog within the first 5 minutes of being here.

On closer inspection, we have found that there are tons of critters in the area.

This was a lizard that Roger caught on the back porch. We let it go and watched as he hopped from branch to branch for a bit.

Beyond this photo — my favorite — I also snapped a neat photo of the lizard on saw grass and another of the lizard walking on a bit of tree branch.

There is a bit of a swamp in the backyard, so this really isn’t much of a surprise.

Read the rest of this entry »

Fresh Start

Saturday, March 22nd, 2008

So, by now, you are well aware that Sony was charging $150 ($100 for the right version of Vista + $50 for the cleaning service) and that they dropped the $50 charge because, well, it was asinine. Or a mistake.

Not going to go there. What I found interesting is this:

The Fresh Start feature is described on Sony’s site as a system optimization service where specific VAIO applications, trial software and games are removed from your unit prior to shipment.

Once selected, the feature is described in the BTO options (along with anywhere from 1 to 5 “None” items. Huh?) as Fresh Start™ (removal of specific VAIO® applications, trial software and games).

Wait. What? removal? are removed from?

That implies that they were installed in the first place. So, Sony is installing the software and then removing it afterwords?

That seems a bit odd. And potentially error prone. What are the chances that the uninstall process actually uninstalls everything?

Seems odd. I suspect that Sony ended up in this situation because they have a contract somewhere that stipulates what must be installed on their systems. And Fresh Start works by finding a value-add loophole somehow that allows Sony to subsequently remove the bits o’ adware and call it a product.

Whacky.

DirecTV: Canceled

Monday, March 17th, 2008

Update: Wow! I am surprised by the number of people who have indicated that they have canceled or are canceling their cable/satellite subscriptions. Now, certainly, my peer group isn’t representative of the bulk of the target TV market. However, if this is any indication of things to come in the larger market, then cable/satellite TV is simply screwed!


We canceled DirecTV today.

They, of course, wanted to know why and whether or not offering us a lower price would keep us in the fold, etc,etc,etc…

Nope. Why? Because broadcast TV sucks, whether delivered by cable, satellite, or over the air. It is a decidedly anti-consumer environment.

I want to watch what I want to watch when I want to watch it. Period.

And, for that, I have a DirecTV receiver with TiVo built in. Yet, 9 times out of 10, the TiVo fails to record all of a show, missing the first or last 30 seconds to 2 minutes because the stupid content providers or DirecTV have time skewed everything just a bit.

That and the constant stream of commercials made the viewing experience unpleasant.

So, screw it. Kill it. I would rather spend the $50+/month (and that was a fairly basic package) on Apple TV rentals / purchased content and Netflix based DVDs (1 at a time is all we need).

We save money, get to watch what we want when we want, and don’t have to worry about a stupid commercial interruption or dealing with the never ending battle between content providers and TiVo.

In tweeting about this, I immediately had two responses from people canceling their cable subscriptions for similar reasons. And I know a number of others that have had the never ending Cable Card Doesn’t Work adventure.

Multitasking in the AVR Microcontroller

Sunday, March 16th, 2008

Well, multitasking would be stretching it…

When writing AVR micro-controller code, you typically end up with something like this:

int main(void) {
	... initialization code ...
	while(1) {
		... main loop that never exists here ...
	}
}

The main loop spins forever and is generally the bit of code that updates various output ports based on program state. It might likely also read inputs, too. And it might contain bits of code that delays execution for a while. And it is very likely rife with conditionals that’ll cause any given pass through the loop to very in execution time.

Not a very good place to do time sensitive stuff like, say, debouncing a button press or responding to other user events.

Read the rest of this entry »

Blinking Two LEDs; Bit Manipulation Macros Oh My!

Saturday, March 15th, 2008

Before dealing with switches and debouncing switches, I wanted to add a second LED to the circuit.

Trivial:

#include <avr/io.h>
#include <util/delay.h>

int main(void) {
    DDRB = 255U; // Make all PB* -- PORT B -- pins output
    PORTB = 0x0; // turn all PB* -- PORT B -- pins off.
    
    while (1) {
        PORTB = 0x1; // B0 on, B1 off
        _delay_ms(200);
        PORTB |= 0x2; // B0 and B1 on
        _delay_ms(100);
        PORTB = 0x2; // B0 off, B1 on
        _delay_ms(200);
        PORTB = 0X0; // All off
        _delay_ms(2500); // 2.5 seconds off
    }
}

Each on/off port is represented by a single bit. So, each of the pins in PORTA, PORTB, PORTC, or PORTD — assuming they are in straight digital input/output mode and whatever AVR chip you are targeting has enough pins to have 4 port sets — will be controlled by a single bit in one of four bytes.

Clearly, some macros to toggle bits are in order. Now, it turns out that macros to toggle bits are a big source of contention amongst the AVR development community. They hide too much magic, or so they say, and, if you are going to be programming embedded systems, you ought to be comfortable with C level bit twiddling, damnit.

Read the rest of this entry »

Subversion repository for ATmegaXX8 target board hacks

Saturday, March 15th, 2008

I have created a directory in my public subversion repository for EMSL ATmegaXX8 target board code.

http://svn.red-bean.com/bbum/trunk/avr/ATmegaXX8/

AVR: Programming the EMSL Target Board from Mac OS X

Saturday, March 15th, 2008
EMSL Atmega168 Target Board

The EMSL Target Board is built around the ATmega 168 micro-controller (same controller as the Arduino — which, frankly, I couldn’t care less about other than as a source of knowledge…).

It is an extremely easy to use and surprisingly powerful micro-controller. If it weren’t so convenient, I wouldn’t be writing this.

Seriously. If you have any interest in screwing around with micro-controllers, there is little excuse not to dive in now. It is cheap, easy, and powerful.

Beyond the EMSL Target Board, you’ll also need a Lady Ada USBTinyISP programmer that has been appropriately patched (when assembled).

First, grab and install AVR Mac Pack from the fine folks at Objective Development (same source of LaunchBar and Little Snitch — both awesome products in their own right).

AVR Mac Pack has everything needed to talk to the AVR, a compiler that can target the AVR, and support for Xcode based development.


Read the rest of this entry »

AVR: Prototype Board Ready for Prototyping Pinball Flippers

Friday, March 14th, 2008
EMSL Atmel Board Populated for Prototyping Madness

Ben picked up a ton of SIP machine pin sockets from Halted recently.

I grabbed about 200 from him and populated my EMSL Atmega target board with enough to provide for both on-board prototyping and to easily break out to a bread, board when needed.

Each point accepts a 24 gauge (or so) wire quite nicely. Makes for easy prototyping while not obscuring the documentation silkscreen on the board.

Next up?

I have all the parts needed to replace an entire flipper circuit in any modern Williams/Bally pinball machine.

Thus, I should have enough parts to drive a solenoid or flash-lamp from the AVR micro-controller.

First, though, I’ll flash some LEDs in response to button presses, though. All one voltage and relatively little chance of blowing up chips, bulbs, or shocking myself.

Once that works, I’ll wire up higher voltage / current drivers. I figure I ought to be able to both replace the flipper drivers with a much more maintainable system while also adding some automatic diagnostics that will light some LEDs inside the pinball when the flippers need to be rebuilt or maintained.

A Photo Feed for Apple TV

Monday, March 10th, 2008
Apricot Blossoms

I went through my Flickr photos and set up a new set called Apple TV. (Pictured is a blossom on my apricot tree. It was covered. Hopefully, the heavy bloom is predictive of a heavy fruit set.)

As its name implies, it is a personal feed designed for Apple TV. Specifically, there are no repeats, no fish guts, no bleeding turkeys, no screenshots, etc…

The combination of the Apple TV’s sliding-from-the-bottom slide show (which shows 5 to 10 or so photos at a time), an ever updating feed of photos, and an 46″ HD LCD panel is the ultimate photo frame.