Blog

  • DDO Tank fer Hire

    I usually stop playing games when I’m really hyped up about working on both professoinal & personal projects. When the pendulum swings the other way because of failure to meet goals thus causing me to be frustrated, stress from deadlines, or burn out, my gaming increases. The amount of gaming I do, usually, is inverserly proportional to the suck in my life. Usually; I like to play when I’m in a good mood too, it’s just easier to dissappear for an entire weekend when my Monday through Friday blew.

    As such, I’ve been having challenges making accurate time estimations, clearly communicating intentions, and been generally overwhelmed with the amount of things I need to do. Getting around to follow through with my DDO uninstallation was low on my priority list. Thus, I fired it up one night, and found, generally, it is fun enough to play to allow me to escape from the bs of real life.

    I’m a 4th level Dwarf Fighter, Kalorn Hotforge, on the Aundair server, Tank for hire if you are ever online and need a meat shield.

  • 3 year-old prototype bit me

    I was having problems with the mx.formatters.CurrencyFormatter in Flex. It takes a number or string, and formats it to look like currency. For example, 1.2567878 can be made to look like $1.25. For some reason, it was not working in my DataGrid and I had no idea why. I built some test cases, files that have nothing but a TextInput and a formatter, and they worked so I was really having a challenge figuring out why. Then, it worked when I ran the app in debug mode in Flex Builder 1.5, but didn’t work in normal mode.

    Three hours later, it turns out some code written in 2003 for our debugger was overwriting String.prototype.toString. Since the mx.formatters.NumberBase, does a:

    return value.toString()

    The modified toString function was munging the results. No debug code in your app, no problem.

    Anyway, I really like protoypes. They allow a lot of meta-programming concepts to be done, and really help those creating languages to have the developers build the future API for you based on what they overwrite, just like we did with Flash 5 & 6 in ActionScript 1. I think there is still a lot of room for growth for tools to take advantage of prototype features at compile time, and build upon some of those runtime goodies.

  • Adobe Flex 2 Ad, FMUG Breezo, and Sparkle Doesn’t Suck

    I’m catching up on the hilarity that can be gained by bequeathing anyone & everyone with a digital video camera and internet access over at Ebaum’s World last Friday evening and spot this Adobe ad on the right side.

    You can attribute that to Adobe’s influx of marketting dollars vs. Macromedia‘s, attitude towards spending for advertising, or just plain luck. Regardless of the cause, you gotta admit that fuggin’ rocks!

    BTW, if you’re bored, I’m fixin’ to speak about Flex 2 for the Flash and Multimedia Users Group of Arizona in 30 minutes (10:00pm eastern, GMT -5) via this Breeze link. Nevermind, rescheduled; I’ll blog the new time.

    Oh yeah, and Sparkle doesn’t suck like Brandon Hall makes it sound. He’s just in love with his loosely typed ActionScript 1.0 and ability to play extremely well workflow-wise with his designer & partner in arms, Joshua Davis. Consider the source I say.

    It’s atually neat! They just need to drastically improve the timeline, and I need to learn C# to back up my claims that it doesn’t suck since the real power is in the API.

  • SWF Socket Bitch for Ruby & Capri Sun Wine

    Got a call from one of my colleagues asking about something he saw at the AJAX conference up in New York. Some Ruby on Rails guys utilized a 1 pixel by 1 pixel Flash Player 8.5 SWF with a custom built (in a week) bridge (didn’t sound like AFLAX or FABridge) to communicate from JavaScript & the SWF. Basically, they had Ruby push JavaScript over the binary Socket the SWF has open, which in turn throws the base 64 encoded JavaScript out of the SWF to the JavaScript on the page. Since JavaScript in a web browser has the JavaScript interpreter built in (a la eval, lucky bastages), Ruby on the back-end can pretty much push code to the client to run.

    I remember at the last Atlanta Java User Group meeting like 9 months ago, these Java dudes were showcasing their AJAX endeavors. They were talking about the same thing; while JavaScript as a prototype language was “a neat new thing for Java developers”, they still were talking about frameworks to do the same thing: Having server-side code generate client code, and push it to the client to run/display.

    My colleague wanted to port to ColdFusion, so basically ColdFusion would push JavaScript for the web browser to run. It’s neat to see Flash Player 8.5’s new binary socket feature used in such a unique way, and you could definately do it with Flash Player 5 using XMLSocket, as well of taking advantage of Flash Player’s built-in ability to access data cross domain via a policy file getting around the AJAX limitation.

    Still… you server-side guys are nuts.

    Speaking of nuts, dude, her majesty’s gotten (back) into Capri Sun’s. For some reason, one of the pouches was over-filled. My wife thought it was leaking. It was leaking slightly; I heard a muted hiss. However, upon piercing it with those overly hard straws, a loud “whoosh” was heard; it was actually overly-inflated with air. My wife pleaded with me not to drink it, but I did anyway. It tasted like sparkling wine! It turns out the air was caused by the Capri Sun leaking slightly, and thus the “real fruit juice” fermenting into a wine like substance. Tasted gross, but cool!