Visit from a rattler

Since I fenced in a portion of my new property, the dogs have been spending their days outside. I drop them off in the morning after their breakfast, walk them sometime during the day and then return them to the kennel. I think they really like it out there - it’s not as big as the area they had in Tesuque, but it’s a heck of a lot better than spending your day on a chain or being locked up in the house.

Yesterday noon the two of them started barking like crazy. I expected to see some stray dog around the kennel or a pack of coyotes checking the dogs out. When I looked outside I saw both dogs circling a bush in the fenced-in area and barking at something on the ground. Went into the kennel and immediately saw - aehm - and heard the reason why they were barking: smack in the middle of their territory was a decent sized rattle snake doing her rattling thing. I still don’t know how the dogs know to avoid snakes: they never got bitten and only had a few limited encounters with them (at least that I know of).
I went back inside and got the dust-pan (the one with the long, long handle) and a broom. Thought I could pick her up and remove her from the kennel. Wrong! Bad idea! As mentioned earlier, it was noon and Miss snake had already some 5 hours to warm up and get her engines in gear. When I approached her and tried to lure her into the dust-pan she attacked the plastic like her worst enemy. She was about 4 ft in length, but you don’t see that when she’s all curled up, ready for a strike. After a few attempts I got worried about my hands at the end of the handle and decided it was wiser to bring the dogs in the house until she decided to move on.
How I know she was female? Invading somebody else’ territory and hissing for no reason, of course …

USCIS “Change of address” rip-off

As a resident alien I’m legally required to inform the U.S. Citizenship and Immigration Services (USCIS, formerly INS) about any address change. Now that I’m settled in the new house and the post office finally recognizes my new address, I wanted to inform the USCIS as well.

Not knowing where to start I searched on Google for: ins address change. The top (sponsored) search result leads to this page. The site looks very official, using the same colors as the USCIS site and showing the same structure as the official .gov pages. However when you examine the content closer, you’ll find notices that say that this site is run by a non-government, independent entity. The site offers an “e-Book” for the address-change procedure and asks for $30 for the package.

I keep on searching and on the official USCIS site I find a note that says that there is no filing fee for the AR-11-address-change form. Even better, I see a notice on the pages that mentions a secure web site where the address change can be done online.

So those guys from the usimmigrationsupport.org site, bought a number of search key words from Google and appear as the first link for certain queries. They trap some of the Googlers and get money for services that should not cost a penny. Smart and sad at the same time.

“Last supper” mirror image - bollocks

So, some dude got all drunk and started playing around with Photoshop in the middle of the night. He used Leonardo DaVinci’s “Last Supper” painting and super-imposed a reversed copy of it onto itself. Then he claimed to see all sorts of stuff in the merged version of the painting: a figure with a baby in it’s arms suddenly appears left of Christ and there’s also a grail visible in front of Jesus.
“DaVinci Code” followers from all over the world in turn crashed all the servers that host a high-res version of the painting.

I downloaded a version of the image from some place else and went through the superimposing exercise.

Here’s the original (click to view in high-res):

Last Supper by Leonardo DaVinci - original

And here’s the version with a mirror copy superimposed (click to view in high-res):

Last Supper by Leonardo DaVinci - superimposed

You be the judge.

I also created a version of Bush’s portrait using the same technique as above. As you can see he suddenly has four ears and looks a lot like Marshall Applewhite - there you go:

Bush mirrored and superimposed

I hate it when that happens …

The Triumvirate (Frisco, Max and I ) went down to the curb to place the new trashcan where the Waste Management driver can actually see it. Looks like I’m getting a workout every Wednesday evening, because it’s quite the ride go down there.

As I pull the trashcan the dogs are roaming around me and get their final run for the day. A sniff here, a pee there. Uh? Look at that, a little rabbit. I’m not worried about the dogs chasing rabbits, because they can never catch them. Right after placing the trashcan at the curb, I can see Max running zigzag-patterns, which means that he must be pretty close to the little one. And, sure enough, not 10 secs later I can hear the rabbit weeping. I run screaming towards Max and tell him to back the fuck off. Little rabbit sits all intimidated under a bush. I don’t even dare to get close to him, because I don’t want to scare him more than necessary. I grab both of the dogs on their necks and lead them back to the house. No idea if the little one is going to make it, but he looked like he was just stunned.

I swear Max was all proud when he came home … I could see it in the way he walked.

Flex: Stopping event propagation from itemRenderers

My application uses an mx:TileList to display some thumbnail and document information. I created a custom itemRenderer to display the individual tiles. The itemRenderer also uses MOUSE_OVER and MOUSE_OUT events to display a menu under the thumbnail. You move the mouse over the item, the menu appears - you move out and the menu disappears. Here’s a quick screen-shot where the mouse is currently over the right item:

TileList with custom itemRenderer

My problem was that whenever I clicked on one of the menu items (the four icons at the bottom of the right tile), the mouse event would not only execute the action associated with the menu-item, no, the event would propagate up the chain and would result in the current tile being selected as well. Not good - this has to stop.

Initially my menu-item event handler, which was triggered via “click=’menuItemClicked(event)’” was calling event.stopPropagation(), but that did not seem to do the trick. The menu-action was performed, but the TileList item was still receiving event, which resulted in the selection of the current Tile-item.
After some googling I finally found the solution: besides the “click” event I needed to trap the MOUSE_DOWN event as well. So inside my itemRenderer’s creationComplete handler I call:

private function onCreationComplete() : void
{
this.addEventListener(MouseEvent.MOUSE_DOWN, disablePropagation);
}

And inside the disablePropagation event handler I say:

private function disablePropagation(event : MouseEvent) : void
{
event.stopPropagation();
}

And this says: if you receive a MOUSE_DOWN event on the itemRenderer, call disablePropagation and for each such MOUSE_DOWN event, make sure that nothing else but the itemRenderer’s MOUSE_DOWN event handler(s) are called.

Works just fine!

Poor doggie

Sunday evening I was sitting in my office trying to get some work done. The internet connection was down, but luckily I had most of the files that needed to be worked on locally. It was nice and warm - my window was open.

7:30pm I hear a pack of coyotes just across “La Vida Trail”. They get louder and louder. I have no idea how many coyotes there are, but it sounds like a whole platoon. Coyotes are usually quiet and only when they are about to make a kill (or just made a kill), they call the pack to the dinner table. Guess another poor rabbit bit the dust. WRONG!

While the coyotes are still howling and barking I hear some people screaming in the distance. I hear a dogs name being shouted followed by whistling. 1 hour later I still hear the dog owners looking for their pet. No more coyotes to be heard. My guess is that some poor puppy went to deep into coyote-territory and was not big enough to scare them off. Poor doggie.

Coyote

Over the last few years Frisco, Max and I had numerous coyote-encounters. While they were puppies I kept them close by or on a leash, but now they are big enough to fight for themselves. I saw them getting close to coyotes several times and while they seem to be interested in the canines, they also seem to sense that they should not mess with the dog-look-a likes. It’s almost as if they treat them with respect and vice-versa.

If you have a dog that smaller than about 40 pounds, do yourself a favor and walk him on a leash.

photo courtesy of http://www.oteromesa.org/coyote.htm

PS: I know that I have at least one photo of a coyote in my collection. Can’t find it, no matter how hard I try. There are tons of photos that don’t have tagging information which means I’m looking for a needle in a haystack. Somebody should really write that auto-tagging software that does image recognition … you could make a fortune.

Thunderstorm == down time

On Saturday evening we had a massive thunderstorm in the area. From 6:45pm on it was flashing and rumbling all around the house. Max decided to hide himself in one of the closets. He’s a big, big chicken when it comes to thunderstorms. I did not realize that the internet connection went down at 7:00pm. Only later that evening (or was it early Sunday morning) I saw that there was no out-bound/in-bound activity. The “DSL” light on the 2Wire modem was flashing at me as if it was trying to tell me something. On Sunday I called Qwest and Cybermesa (my ISP) and opened trouble-tickets with both of them.

Then, finally, today the Qwest guy showed up and confirmed that all the circuits leading into my house checked out fine and that the issue must be inside my home. When he saw my first generation 2Wire modem he just started to grin and told me that most likely the modem was fried. He hooked up his DSL testing device to the main line coming into the house and sure enough got a good signal. We replaced the faulty modem with a new one and within minutes I was back up and running again. He told me that he replaced 7 modems in the area over the last 48 hrs. He also claimed that the newer version of the modem seems to be a bit more resistant to power surges on the DSL line - I’m keeping my fingers crossed.

And to add to the mess: Just recently I switched over to dump the main disk on my FreeBSD system to the second disk in the same computer. For that purpose I had created a mirror-setup of the original boot-disk. It was Stupid (yes, with a capital ’s’) not to try to reboot immediately after I had made those changes. Turned out that I did something wrong and that poor kahunaburger.com would not boot. Downloaded the 5.4 release disks from www.freebsd.org, burnt them to CDs and corrected the mistake in sysinstall’s partition/label editor.

Phew - that was a handful for a Monday morning. NOT … GOING … TO … TOUCH … THAT … SETUP … IN … A … WHILE!!!

Well, hello my little friend …

… want to come home with me?

2008 Maserati Granturismo

Drool - that’s the 2008 Maserati Granturismo. Those Italians still know how to make a nice car.

xtcradio: i can listen to that station all day

xtc radioNow that I’m all setup in the new home office, I need to make sure that I have the right ambiance to keep me going. Coding is only half as fun, if it is all quiet around you. I need an (Internet-) radio station that plays the stuff I want to hear. One that has up-lifting tunes and not a lot of “talk radio”.

XTC radio just perfectly fits my needs. I start it early in the morning in the kitchen via my Mac and then move it over to the office after Pia is at school. I also just donated some money to keep them going (hopefully).

Flex tip: make your UIComponents announce themselves

I work a lot with Adobe’s Flex these days. The more I use it, the more I like it.

Here’s a neat little trick for those of you who also use Flex: Every single UI element is styled via entries in a global CSS file and the UI elements pick the correct style via “styleName” properties. So, inside the CSS, you’ll find tons of sections like this one:

.dc2HeaderDocument
{
font-weight:bold;
color:#339933;
font-size:21;
}

And that dc2HeaderDocument is used as a styleName on some UI element. Just recently a UI designer started to work on the CSS-file to make it compliant with the design-document. But how the heck is he supposed to know which UI element uses which style? That would require looking through the *.as/*.mxml sources and identifying the correct relationship between source and presentation.

After some fiddling today I came up with a much more elegant solution to this problem.

In my main mx:Application I register an event handler for the “added” event. The docs say that this event is dispatched “when a display object is added to the display list”. Inside the event handler I check if the added object is a sub-class of UIComponent and if it is the case, then I set the UIComponent’s toolTip property to the UIComponent’s styleName property. This means that every single item that is added to the stage will get a toolTip that represents the styleName used for the UIComponent. Just hover over an item and it will identify itself.

Here’s what I had to do:

<mx:Application …. added=”displayObjectAdded(event)” ….>

public function displayObjectAdded(event : Event) : void
{
 if(event.target is UIComponent) {
  event.target.toolTip =
   event.target.styleName?event.target.styleName:”no style”;
 }
}

Now UI designer loads the Flex application, hovers over the item that needs to be fixed and immediately knows what CSS-entry to change.

|
Next Page »