Thursday, July 31, 2008
Thursday, July 31, 2008  0 Comments   Links to this post   

I was looking for something like this not too terribly long ago. Check this out.
http://www.blog.noponies.com/archives/80

From the site:

This is a simple ActionScript 3 implementation of the class marching ants selection marquee you find in applications such as Photoshop.

The class is based off this ActionScript 2 example here; http://www.nocircleno.com/experiments/selection_ants_proof/index.html, but adds in many more methods and is entirely self contained. Drawing the bitmaps for the marquee internally in the class.

Features:

    Either Fixed or user drawn marquee
    Draggable or static fixed marque
    Programatically changeable marquee colours
    Programatically changeable marquee line thickness
    Does not rely on library assets for marquee

http://www.blog.noponies.com/archives/80


Update:
Quasimondo showed me a few better solutions here:

Testing MXML support. Found this @ Shigeru Nakagaki (part of a post: AIR:How to use RemoteObject without compiler option.)
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication layout="vertical"
xmlns:mx="http://www.adobe.com/2006/mxml"
applicationComplete="init()">

<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.remoting.mxml.RemoteObject;

private function init():void
{
//
}

private function resultHandler(e:ResultEvent):void
{
log.text = e.result.toString() + "\n" + log.text;
}

private function faultHandler(e:FaultEvent):void
{
Alert.show(e.fault.message);
}

private function sendMessage():void
{
// call CFC method with arguments
ro.echo(msg.text);

msg.text = "";
}

]]>
</mx:Script>

<mx:RemoteObject id="ro"
destination="ColdFusion"
endpoint="http://127.0.0.1/flex2gateway/"
source="AirRemoting.BlazeDSCFCTest3"
result="resultHandler(event)"
fault="faultHandler(event)" />

<mx:HBox>
<mx:TextInput id="msg" />
<mx:Button label="send" click="sendMessage()" />
</mx:HBox>

<mx:TextArea id="log" width="200" height="200" />


</mx:WindowedApplication>

Labels: ,


Sorry for the noise, just testing here.
package
{
import flash.events.Event;
public class StockEvent extends Event
{
public static const FETCH_COMPLETE:String = "complete";
public static const ERROR:String = "error";
private var _data:Object;

function StockEvent( type:String, data:Object = null )
{
super( type );
_data = data;
}
public function get data():Object { return _data; }
}
}


Okay, excellent - the only caveat is that on the main blog page, the entire page needs to load before the formatting is applied. This won't really affect a post page, but the consolidated page may be a little slower in rendering it's code content.

So the <br/> tags should be fixed now, as I had to previously set those myself every time I wanted carriage returns in ANY post (to ensure code display was formatted properly). Now that there is a method in SyntaxHighlighter (I stumbled onto this fact by accident), I can retain my auto-inserted returns without it blowing out my code blocks for display.

A good Thursday morning already.
Wednesday, July 30, 2008
Wednesday, July 30, 2008  2 Comments   Links to this post   

I live in Boston, but I'm not really a Red Sox fan... I love the Pittsburgh Pirates. Hey, it's near where I grew up, my Grandfather loved them, so do I. They haven't had a winning season in forever, but I love them anyway.

Anyway, I've been hearing about Manny being Manny for years now and couldn't believe all the excuses I would hear talk radio come up with, as well as local fans.

Tonight, after the Red Sox were pwned completely by the Angels for the third game in a row (another sweep), Manny ditched the park early, getting out as quick as he could. His last game in Boston? Who knows.

Before the game Manny was interviewed:
"The Red Sox did the same with guys like Nomar Garciaparra and Pedro Martinez, and now they do the same with me. Their goal is to paint me as the bad guy," Ramirez added. "I love Boston fans, but the Red Sox don't deserve me. I'm not talking about money. Mental peace has no price, and I don't have peace here."
Okay. Now, how I would LOVE to see this play out: Boston can't pull the trigger on a trade. I mean, honestly, this would be a difficult trade even if Manny were a man.

But imagine that after all of this, Manny is stuck here in a place he's bad-mouthed and whined about, after getting paid $20M a year. Boston puts up with all his shit, why in the world would he want to get out of Boston?

Maybe he'll start pushing more elderly members of the staff, or take three straight strikes at every at bat, take games off on a whim, or sit in the dugout and count his $20M gross, or whatever.

Update:
Manny told a Spanish radio channel that he will play anywhere else, including Iraq. That's pretty definitive. Although don't compare what you're doing with what our soldier heroes are doing over there. It's not even close.
Tuesday, July 29, 2008
Tuesday, July 29, 2008  0 Comments   Links to this post   

var sValue:String = String.fromCharCode(event.charCode);
var nValue:Number = Number(sValue);
if( isNaN(nValue) return;
someClass.send( nValue);

I don't know if this is really the best way to ensure numbers (0-9) are sent to a class method for use as a number or not, but it works as far as I can tell without testing every key. Wondering if others have different methods.

I think most of us has been in John Mayer's shoes as this video shows him on his cellphone trying to help his father find Entourage on his Mac. In typical fashion one hears reference to, "What did you do to the computer?" Great, funny stuff.

Monday, July 28, 2008
Monday, July 28, 2008  0 Comments   Links to this post   

"How often do you copy and paste URLs from your news reader or browser into your IM or Twitter client in order to share stories with friends? Probably too much. That's why we built Apprise.

Apprise isn't about just reading all your news on one place; it's also about sharing your news all in one place. With built-in AIM and Twitter support, all you have to do is click on a article to start it cascading through your social network.

We made a conscious effort to make Apprise feature-rich, but still very easy to use. See what you think:
  • AIM Integration. Just click on a story, and choose which of your buddies to send it to.
  • Twitter Integration. Post URLs to Twitter right from Apprise.
  • Drag and drop. Easily drag and drop (or copy and paste) articles to share them via email.
  • Site View. View an article's summary, or switch over to Site View to see the entire webpage in the integrated browser. If you're browsing and find a site that provides a feed, you can easily click to add it to Apprise.
  • Automatic feed resolution. Rather than tracking down and entering a feed URL, just put in the site's normal URL and Apprise will automatically find and aggregate its feed.
  • Vi keys! (Emacs support pending.)
  • Realtime search across all feeds.
  • OPML import and export.
  • Folders. Organize your feeds any way you want.
  • Automatic categorization by author and topic.
  • Completely cross-plaftorm, thanks to Adobe AIR. (Linux support still in alpha.)
Apprise is 100% open source and free. Although we don't have a lot of time to manage submissions, if you're interested in working on Apprise, let us know. The source code is available on Google Code, and comments can be posted to the Apprise Reader Google Group."

I am not quite sure how others handle this, but I have been developing in AS3 (FlashDevelop) for quite some time now, and I am very comfortable in it. I am now developing in Objective-C and XCode at the same time. I occasionally attempt to use Obj-C syntax in AS3. Or use XCode features.

The approaches are kind of similar (not sure I like the header file approach to every class I make in Obj-C... I like how it's all together in an AS3 class), some of the syntax is obviously completely different. I like some of it in Obj-C (releasing objects, removeAllObjects, YES/NO instead of True/False (a little better context in my opinion), etc.)

Connecting code to objects in IB is weird, but makes sense. I wish that I could turn on ALL the connections though (visually) with a command. Perhaps that's available somehow that I haven't discovered quite yet though. 

I am also prone to trying the autocomplete features of XCode 3.1 in FlashDevelop. I love the partial auto-complete that XCode provides developers, wishing FD might bring that along too.

Perhaps instead of flipping back and forth I should just concentrate a day's worth of development to one particular language so I can immerse myself in what I am doing and not worrying about which IDE and which format of build I'll be producing. 

Maybe this is all just par for the course (PHP, AS3, Obj-C, C#, etc.)... meaning you just deal with it and move on. 
Friday, July 25, 2008
Friday, July 25, 2008  0 Comments   Links to this post   

I have been watching local Red Sox games lately and I've noticed for a while now that pitchers are wearing those thick, stiff necklaces. I wondered what was going on, was this some kind of fashion statement amongst fellow players? A cry for attention by ditching the gold chains for some manly synthetic rope? No, it's Phiten wear.

Turns out this stuff is supposed to improve the efficiency of cells. Nylon soaked in titanium. Stabilizing the flow of electricity throughout the body. Improving the alignment of ions.

Horseshit. Some look nice, but come on.

Ball players (and golfers, etc.) are superstitious and would buy and wear silk threads soaked in cat piss if they thought it might give them some bizarre edge. Or putting on their left shoe first. Or eating octopus with a three-tined fork standing up with their backs to a mirror.

These $29 - $40 Phiten bracelets and necklaces are nothing more than a placebo with some interesting coating material. I mean, hey, they look kind of cool. At least some of them do.

I wouldn't mind spending that for something that I would like to wear because it has the Pittsburgh Pirates logo on it, but I can't be sucked in by pseudo-science on the grounds that it will make my body work any better.

run

The Instruments tool that Apple ships with XCode, Interface Builder, etc. is simply amazing. 

I've been developing some 2D Quartz stuff this afternoon, learning how things hook up to one another, etc. and then I thought that I would try running Instruments on my new Cocoa application. 

The amount of time, effort & love that went into this debugging tool is incredible. Above is a screenshot of a simple "run" browser - collections of recorded UI interactions that you can record and playback. You can't see the whole thing at all, but they cover flow the runs for browsing.

Sure they have the code for that ready like water in a squirt gun, but this simple fact should show you how rich and engaging this tool is. And deep... I keep discovering cool features and ways to use this thing. The iTunes timer UI doesn't hurt in making it seem like fun either.

XCode is impressive for all it offers, and this thing is no slouch in comparison itself.

When a debugging tool is fun to use and nice to look at, you're prone to using it more often. I'm not a hard core Obj-C developer by any means, at all, by any stretch of the imagination, on any planet, anywhere... and not for a long, long time. But I can already see great benefits of using this tool to spot threads, what is being accessed in chronological order, what processes are being consumed, how much memory is being used, etc. 

It's like the Flex Debugger after 80 red bulls, a quick full encyclopedia consumption, ten years of weight lifting, and a trip to the spa for a week of beauty.
Thursday, July 24, 2008
Thursday, July 24, 2008  0 Comments   Links to this post   

Do you have something to say? A rant, a rave, something you'd like to share? I've popped open a new forum here for you to try out.

Leave some new marks on the internets.

Are you an application/UI designer who loves to prototype interfaces and awesome user experiences in Photoshop, Fireworks, Illustrator, etc.? Do you want to work in a superb and collaborative environment where your ideas and solutions are always considered? Do you live in the Boston area and want to work on a team working on amazing projects with amazing co-workers with an incredible level of support? Do you have any experience using Flash, Flex or AIR to showcase your thoughts and ideas?

If you fit any of these descriptions, do not hesitate to contact me! 

edolecki at gmail dot com will get the ball rolling.

Use the subject line of "Exciting opportunity" and I'll get back to you right away. If you have online examples, or if you want to email some of your designs to me, that would be great. Having an up to date resume will help also.

This isn't some contract work, this is a full-time position with incredible benefits working on a truly unique and accepting team working on forward thinking projects. We're looking for a talented individual to contribute to our team's efforts. I can't stress the wonderful working environment and possibilities here enough.

Come work with me and my team to create some beautiful, usable and fun stuff together. I look forward in hearing from you.
Wednesday, July 23, 2008
Wednesday, July 23, 2008  1 Comments   Links to this post   

Ten minutes ago.

This February I lost my Dziadzia and I couldn't attend the funeral as the birth of my second child Amy was imminent. It tore me up, but I know I did the right thing in staying home. During the funeral, I took a walk near Callahan State Park to feel closer to him since I couldn't be there.

We always took walks in the woods together when I was growing up. That day there was a huge collection of crows (a murder of crows) at the top of a hill - which was unique. I felt like he was there in some way.

Today driving home from work, something pulled me off the road, and caused me to take to the same path in the woods - up to the same spot. I don't know why, but I just did it. I had my HD camcorder with me at the same time.

When I arrived at the same spot, I turned to my left and about five feet from my head was an enormous owl... probably two-feet tall. It didn't move, it just watched me and even moved a little closer as I stood there admiring it. I took some photographs and some HD (1080) video.

It could be some crazy coincidence but I don't think so. I believe that my Dziadzia decided to visit me today and for that I am ultimately thankful. I miss you Dziadzia, but it was wonderful to feel just a little bit closer.

If you hold down the Option key on your keyboard, your mouse cursor will turn into a crosshair - allowing you to select columns of text area... for deleting a block of text for example. It can also be used in the following fashion.

Hold down the Option key and select a zero-width block (just drag down while holding the Option key -- you will see a thin vertical rule drawn)... allowing you to then type and affect multiple lines at the same time.

I have just discovered an interesting bug with the latest drop of the Adobe Media Player (version 1.1). This bug involves the application window of the AIR application and the iTunes player (or probably most any window) when the AMP has focus.

How to experience this bug (OS X 10.5.4, iTunes:7.7 (43)):

Launch the latest AMP. Launch iTunes & change it's window to the mini-player. Position the iTunes window vertically  below the AMP window, like so:


Giving AMP focus, try clicking down on the controls for iTunes... namely the Pause/Play toggle button. The button will show it's state change but the event doesn't seem to be properly fired from within iTunes. iTunes ignores the request. Repeatedly. 

I'm not sure if this is because the AMP's actual contents are larger than it's custom chrome might suggest, and thus some UI is preventing proper activation of controls in a window below it, or if there is something else afoot here. I imagine someone on the AMP team might have an idea about this.

If iTunes is *not* in it's min-player UI state, clicking on it when AMP had prior focus, system focus simply shifts to iTunes, allowing you to click again, firing the event properly within iTunes.
Thursday, July 17, 2008
Thursday, July 17, 2008  1 Comments   Links to this post   


I found this set of AS3 Webservices classes and it's a pretty nice implementation. Above is a screen shot of a quick example I whipped up that utilizes the classes. I am not using a .swc or installed components, rather using the classes themselves in a document class.

One thing I had to do is get around the returned result object returning as something I couldn't cast to XML, but rather it's an object with properties. 

So I relied on the AS2-ish way of pulling out the properties of the main object and the detail objects it contained (in relation to the weather webservice). 

Once you snag the code, you can see how I implemented in this class file (Weather.as) that was quickly written, but again, is shown in the screen shot above. I like this set of classes, and may work on refining how the internals work a little bit. 

If you miss the MX2004 Webservice stuff, give these a go if you're into AS3. And I hope that you are by now.

I've seen an evolution of Scozzese Design's website, now sporting a sweet 3D interface that isn't over the top in it's artful presentation.

This site just screams of OOP in the development (it would have to otherwise it would be a complete nightmare to maintain I'd imagine).
Wednesday, July 16, 2008
Wednesday, July 16, 2008  0 Comments   Links to this post   

private function updateTiming( e:Event ):void
{
var n:Number = Number( e.currentTarget.selectedItem.data );
Sheet.MINIMUM_CHANGE = n;
stage.focus = stage;
}
That stage.focus = stage; seems pretty weird to me, but it works to maintain focus on the stage in order to properly accept keyboard events.
Monday, July 14, 2008
Monday, July 14, 2008  0 Comments   Links to this post   

Spotted this via Twitter, and the interview is in German. I used Google to translate it to English, and while you can make sense of out most of it, it's almost like an interesting puzzle to try and figure out the true meanings in each sentence because Google isn't doing a bang-up job. An example:

German:
CREATE OR DIE: Mario, mal angenommen, dass jemand noch nichts von dir gehört hat: Stell dich doch bitte kurz selbst vor.
Mario: Guten Tag, mein Name ist Mario Klingemann und ich mache schöne Sachen aus Code. Auf meiner Visitenkarte steht "Computational Artisan", was man auf deutsch wohl am ehesten mit "Rechenkunsthandwerker" übersetzen könnte (aber das lassen wir mal lieber). Das Problem ist, dass mir "Künstler" zu affektiert und "Programmierer" zu normal ist, aber irgendwo dazwischen bin ich zu finden. Ich bin einer von den Jungs, die mit Lego, Fischertechnik und einem C64 aufgewachsen sind und irgendwann den Absprung verpasst haben.

English:
CREATE OR DIE: Mario, sometimes assumed that someone did not you heard: suppose you please briefly but themselves.
Mario: Good day, my name is Mario Klingemann and I do beautiful things in code. On my business card, "Computational Artisan," what is in German most likely with "computing craftsmen" could translate (but the times we prefer). The problem is that I am "artists" and drawling "programmer" to normal, but I'm somewhere in between to find. I am one of those guys, with Lego, fishing technique and C64 grew up and eventually missed the takeoff.
Saturday, July 12, 2008
Saturday, July 12, 2008  1 Comments   Links to this post   


What a great UI and app.
Friday, July 11, 2008
Friday, July 11, 2008  0 Comments   Links to this post   

a simple test from an on-screen qwerty. If I over shoot the keys I usually hit them. The autocomplete is cool.

Well, I am pretty surprised. After touting the iPhone 3G as an enterprise-grade mobile solution, lots has gone wrong.

  • MobileMe is really spotty already. And has been. I've been able to use some features, but dependability is really random. Sometimes I'll be using email online on my desktop and it will then just redirect to the mobileme page on Apple's website. Grrr. Okay.
  • Activations around the world have been plagued by crashing activation servers. AT&T servers are going down, but also the iTunes servers.
  • The iPhone 2.0 update for the Touch is nowhere to be found yet, even though the link has been up on Apple's site the whole day already.
If people are to take Apple seriously about enterprise anything, I'd think they would have prepared for an onslaught and made news about how smoothly things went, instilling confidence in the press and with users... not making people scratch their heads and wonder if Apple can truly maintain enterprise levels of service.

How about deploying tons of extra servers and load balancing using Akamai to avoid the activation problems on your end. You already support iTunes, which must be a huge solution... but people around the world now have bricks until things get sorted out.

I'm really surprised here. Perhaps I'll wait a week before I pull that 3G handle.

Finally, after a lot of wonkiness, it seems like the new MobileMe service is allowing for the creation of new web galleries. Before trying this via a web browser or through iPhoto would produce uploading errors.

For me at the moment, I have some activity. After a whole day of the service coming up and going down it's finally starting to settle down a bit. I'm not sure how much is actually missing at the moment, but it's coming together. Next up, a trip to the Apple Store after the insanity subsides.

I can't wait to try out the Exchange stuff, and the App Store looks like it's going to be incredible. Being able to control iTunes and the Apple TV are going to be a lot of fun, in addition to all the other apps I'm going to purchase.
Thursday, July 10, 2008
Thursday, July 10, 2008  0 Comments   Links to this post   


PCalc for the iPhone. This is a pretty sweet calculator you might consider picking up. John Gruber seems to love this too. I always have a little calculator next to my keyboard, but this is way better.

I found a really sweet bit of online advertising for HP on Gizmodo. I found it on this page (your own mileage may indeed vary). HP Touchsmart PC. That's what you are looking for. You can navigate and watch video, get specs, and preview without leaving the ad itself. Panels flip out (a nav item becomes a tablet for data by flipping out and over, so you are viewing it's reverse side). Nice.


Roll over the advert block, and out spins a cool navigation scheme over top of the regular page contents. Normally I don't like Flash ads unless they are well-done. I'd chalk this one up to really well done. 

Erik Natzke - did you have anything to do with this one? I assume yes since it's understated and elegant prior to activation, and very intriguing once the navigation spins out into the page.


I spotted this on a cycling (probably Flash) display on a Bank of America ATM.

Looks like the iPhone is the epitome of having a mobile browser. Nice choice.
Wednesday, July 9, 2008
Wednesday, July 9, 2008  1 Comments   Links to this post   

http://www.apple.com/dotmac
Hmm, the page you’re looking for can’t be found.

Did you try searching? Enter a keyword(s) in the search field above. Or, try one of the links below.

Cya .Mac. I can't wait to see what you've turned into tomorrow morning. Thanks for all the fun we've had together over the years. I hope that you turn into something closer to what that yearly fee warrants. 


Tell me that Aqua Forest isn't a really cool game, or physics engine. I really think this is cool, and is one of the cooler things I can see doing on an iPhone while waiting for that important phone call to come in. Check this video out.

Tuesday, July 8, 2008
Tuesday, July 8, 2008  0 Comments   Links to this post   


Last night I downloaded the new free Cold Storage map from Live Marketplace. I ran around for a little while by myself on it, and it's a nice map for smaller teams. There is a lot of decent detail in the geometry and extra eye candy spread around the map. The Halo 3 engine looks wicked dated now when you compare it to COD4, GTA4, etc. but it's still decent enough for some fun.

I played a few games on it via the special playlist for the map, and if you look at the image above, this is where EVERYONE ends up dancing and killing one another. It's almost like there is a magnet in there for whatever reason. I feel kind of bad for Bungie as they put a lot of work into this, and everyone just runs into this "box" to get it on.

I'll be on again tonight. gamerTag: edolecki

Monday, July 7, 2008
Monday, July 7, 2008  0 Comments   Links to this post   

This weekend the fanboy collective and those desiring more in their smart phone will be visiting an AT&T or Apple Store. I don't think I'll be one of them. Not because I don't really want to be there (and I already have the 16GB cash and a year's plan cash ready already just for this) but I think I may need to take a few things into consideration first.
  1. I don't think Framingham, MA even has 3G service available. In fact from what I can tell, Boston itself is covered, but many outlying areas are not. So what would be the point right now.
  2. Those stores are going to be madhouses... and if it really is in-store activation only, that's going to be 10-20 minutes of nervous energy waiting to be able to get that sweet hardware out of the store. Too much stress for me. Let the initial tidal wave subside first.
  3. I am currently a Verizon customer and I love their service. My wife has them too, and it makes it really easy having one bill, etc. I wish Verizon networks could support the iPhone but it's not even close to being able to play nice with the iPhone yet.
  4. The original iPhone is still attractive since it will get the App Store. I don't really need GPS (it would be a nice gimmick), and not sure I need to buy music while on the go. We'll get Exchange support, Mobile Me, etc. So I wonder if I even need the extras the 3G iPhone has to offer.
  5. I could always change my mind at the last minute and pull the trigger ;)

Convoq could have made it. 

With the Flash tools out today, paired with ActionScript 3.0 and the many speed benefits, our console could have made it. Because we had a contact list built out of movieclips, with tons of nesting (paired down as far as we could), we still suffered hits when scrolling.

We had our own windowing which worked, but was a bit fragile. 

Debugging wasn't easy. We made a world-class debugging tool, the likes I have yet to see for AS3 (and yes, that includes the Flex debugger, as good as it is). 

Classes weren't really classes, and we prototyped quite a bit. 

We could have used Flex containers too to help out us in a big way. And caching. And the AS3 event model kick's AS2 alone. 

We could have used AIR for the main application. It would have been a true joy and made us cross-OS. We were PC-only for the desktop client which I always had a problem with. 

As I was arm-deep in lots of classes in a project today, I smiled as FlashDevelop guided me along through the many class objects. If we had that tool alone back in the day, we could have saved man months. 
Thursday, July 3, 2008
Thursday, July 3, 2008  0 Comments   Links to this post   

My Thursday becomes my Friday. Happy 4th of July!

The Preppy Handbook.
Because of some grade school and high school reunion activity I started remembering a bunch of stuff from those amazing times... and I had forgotten all about this classic book. I basically lived a lot of the contents of this mighty tome for over eight years... from mid-way through grade school all the way through prep school.

I misplaced the dog-eared copy I had so I am replacing it with a new copy. I can't wait until it arrives. Oh, and I married a Townie ;)

.Mac (soon to me .Me) Syncing Problems Resolved.
For whatever reason, my work Mac could sync everything except my .Mac calendars. I was getting inconsistent data errors. Instead of going crazy, I launched iSync (I had almost forgotten that application even existed), and I reset my sync data.

Then through .Mac preferences, I re-synced my data & wouldn't you know it? My iCal calendars are syncing again. I gave up on trying to resolve this problem a while ago and was hoping it would just fix itself. I gave this a go and was pleasantly suprised.

Just in time for some iPhone 3G/.Me Mc'lovin!

Fireworks Around Boston.
For whatever reason, a lot of towns aren't having fireworks displays this year. The closest place for us is to go to Lincoln (where in Lincoln I have NO idea). Are these towns (Wellesley, Natick, Framingham, etc.) so strapped for cash they can't afford fireworks? Going downtown is madness... best to watch those on television. I had to get to Fenway Park a few weeks ago around lunch, and it took me about 35 minutes to travel 4 blocks on the way. With kids, this is simply untenable.

Jaromir Jagr peanut butter

I've had this unopened jar of peanut butter since 1998. I have plenty of other stuff too from his days with the Penguins (a game-worn sweater he gave to me in the parking lot of then Civic Arena... complete with a little blood on it, autographs, etc.) 

I wonder if I could get anything for this peanut butter on eBay.

[ UPDATE: found it online from a collector for $9.99.  They must have a bunch, so I guess this isn't so collectible ;) ]

I've been offered over $3,000 for the jersey... but I won't part with it. It sits with my autographed Stanley Cup Lemieux jersey as objects of distinction and devotion. I've tried to retire the number 66 for my life (I won't set a thermostat to 66, I won't use the number in code, etc.) Hehe.

I heard a rumor there is an outside chance that Jagr might come back to the 'burgh and while he's longer in the tooth, I think he could thrive there again. You could slap him on Sidney or Evgeni's line and it would be pretty crazy. Crazy as in awesome.

Wouldn't this be cool in other versions of the player (what limitations of the various players would prohibit this method from being able to live with them?):

gc()method 
public static function gc():void

Language Version : ActionScript 3.0
Runtime Versions : AIR 1.0, Flash Player 9.0.115.0

Forces the garbage collection process.

For the Flash Player debugger version and AIR applications only. In an AIR application, the System.gc() method is only enabled in content running in the AIR Debug Launcher (ADL) or, in an installed applcation, in content in the application security sandbox.

Wednesday, July 2, 2008
Wednesday, July 2, 2008  2 Comments   Links to this post   

I plan on blowing my son's mind sometime this weekend. How? Crayola has come out with something they call 3D sidewalk chalk. You can check out the website to find more. So you draw on the driveway, and your drawing seems to float above the surface at various depths. 

How does it work? Well, the glasses are the key, not the chalk.

The glasses use something called ChromaDepth to achieve the effect. Red looks closer, blue looks further away. Other colors fall in-between. I think the chalk might be a bit brighter than normal chalk, but it's really the glasses that drive the effect. So it could be cool to just walk around the house with things like this, look at paintings you already have hanging on the walls, etc.

Now if I can only get my son to keep the glasses on his face ;)

I liked and used the Kuler 1.0 Desktop AIR client. Not often, but I enjoyed it when I did use it.

I am completely not digging the 2.0 interface at all. The first version had this elegant eggy-shape to it, showing how applications could abandon system chrome for providing UI space display. Cool. The way 2.0 does this in my opinion is really ugly and harkens back to nasty old winamp skins from eight million years ago. 

The notched close, minimize, and info buttons look tacky. If you have the desktop on top of any other windows, it adds to the nastiness. The kuler logo notched out on the left top side just reaffirms the ugliness of the UI. The dropdown @ the top of the UI is too prominent in my opinion, I think it would look better at the bottom, giving more visual weight to the actual stuff you're browsing.

You still can't resize this thing. Boo.

On OS X, when I give Kuler focus, my menubar up top in the OS is completely empty. WTF.

You can pull a swatch out of the main application to create another window with just that swatch... but you can only grab it by the swatch squares or below, not by the titlebar UI that fades up around it when you mouse over it. I LIKE how you can resize this pullout window though. Nice.

The default color swatch presentations make the whole thing look uneven. The top banner area is short vertically, and you've got this tall bottom area with really large color swatches, making the whole thing feel really heavy and uncoordinated. 

The scrollbar is essentially a grey thumb bar (with an almost imperceptible track) - it almost looks like a swatch color itself. 

Functionality aside, the desktop client for Kuler has taken a step backwards in my opinion. The UI isn't up to snuff quite yet. 

I use DepthDither for the PC a lot, however it doesn't seem to be available for OS X as a Photoshop plugin. Is something similar under a different moniker available for OS X?
Tuesday, July 1, 2008
Tuesday, July 1, 2008  0 Comments   Links to this post   

Recently I blogged about having trouble with Arthropod and an application that's using a socket, serial data from some hardware and a socketserver (namely Comfoolery). The hardware has been checked out on a few platforms and it works great on a Intel PC.

As it turns out, my problem with corrupted messages (tracking down this bug has shown sometimes I am getting two messages combined into one, sometimes an empty message, etc.) I got rid of Arthropod and the data coming in is still sometimes corrupted.

A theory now after lots of debugging is that somehow a Dell AMD machine is spitting out badness to my socket. Intel PCs don't seem to have this problem when running the same application on their hardware.

So right now instead of simply consuming the raw message and passing it up an event chain, it's going to have to be parsed on receipt. If it's in a form I am currently looking for, the event will fire. If I get garbage after the message is received, I throw out anything out of scope. I am also going to look for multiple carriage returns and snap those out as well.

I suppose it's good form to parse the messages coming in and ensuring that the event sends valid data. I was getting NaN for certain things which doesn't make a whole lot of sense... unless there is garbage in there when it's being translated to a Number (for instance).

So this proves that something that runs great on one hardware platform can wonk out on another. I don't know what AMD and Dell have to do with one another (I used straight serial and also a USB to serial adapter - and both provided some bad socket data). So I can only think at the moment that something in a AMD Dell isn't reliable when using a socket... to describe the whole set up and the bug would take a lot of effort... but so far this AMD Dell is the only machine to showcase the bad behavior.

All this work tracking this down shouldn't be in vain. I've spent the better part of a day testing my classes, the input hardware, multiple PCs, versions of the player, etc. It's all come down to one box providing wonky data.

Now you know that it might not be your code that is faulty, but the way the hardware is interpretting and passing data along. I am no hardware engineer, but I'm starting to feel a little like an apprentice.

This project should have been a no-brainer. But it's taight me something. Always vaidate your input data, even when you think it's a no-brainer. It might cost you some extra work, but in the end you'll be more comfortable knowing that you've accounted for the rarest case of getting poor data input. Even for a keyboard event listener? Sure, why not.

It took a while, but now my me.com email address is working. Pretty cool.
gotoAndStop( topOfPage );