Blog

  • Expensing Expedia

    When you book a package on Expedia, there is no way to get an itemized receipt. A package is where you book a flight, hotel, car, or any combination. As a consultant / contractor, I have to expenses these, with valid receipts to get them paid by the client.

    Expedia gives you a total amount, with tax. There is no way on the interface to get what each flight cost, what the hotel cost a night, etc. I’ve emailed Expedia, and they responded pretty quickly explaining that moving to paperless billing has made it so they can’t deliver receipts. WTF? Getting text to paper is easy; print it. The email did, however, hint that because they give special rates (sometimes) that they cannot divulge the exact amount.

    Both hotels I have stayed at have been giving me different answers at different weeks. I believe that you can only get a receipt from them if you book with them directly, them being the hotel. I’ve had 2 occasions where I’ve done Expedia late at night, before next days’ travel. Thus, the hotel hasn’t always had me confirmed, in which case they check me in, right there at the check-in desk. My guess is, at those times, I somehow slip between the rules because I’ve actually gotten receipts from the hotels on those occasions that actually list itemized room rates, with applicable taxes.

    …or maybe I’m just lucky and/or delirious. In any case, there is one thing I can confirm; it’s my money via my bank card. Via my bank card, I get a record of the transaction through my bank’s website. It doesn’t really go into a lot of detail about the transaction, but it does list the amount, separately.

    In the past, I’ve had to guess at the exact amount, and then do the subtraction based on past room + flight costs. I can’t lie on expense reports, but without exact expense amounts, I can only base the amounts on past rates adjusted for flight costs. It’s really frustrating. At least now I know I can get exact amounts via my bank. They can hide it in their website, and they can hide it on the receipts, but they can’t hide it from my bank.

    Still, it’s ridiculous. 60% of air travel is by business travelers. You’d think these g00bs would tailor their services to those customers they are serving. I respect the fact they don’t want to show their rates; this would give away too much of how much a customer is saving or losing with clarity. They can’t, however, hide the amounts from my clients who need exact amounts. It’s all bs anyway, as the prices I’ve seen are never exact. Some days I’ll get better rates booking directly through Delta’s website, and others Expedia. Same goes for the hotels. Expedia DOES make it easier to manage it all, but it’d be nice to know what I am paying for that service.

    For now, I have to use deductive investigation via my bank records to arrive at an exact expense sheet. It takes up most of my Sunday’s now. Expedia’s retarding my ability to get things done. I’m better off booking each separately, and keeping track myself, punting Expedia in the process.

  • Speaking in Detroit, Michigan

    I am speaking about using Flash & Flex together to create more engaging, branded, and overall cooler looking Flex applications by using Flash with Flex. This is the same presentation, although a bit more battle tested, that I’ll be doing at Adobe MAX 2006 next month. I’ve given it twice before, once at the Adobe User Group of Atlanta, and once at the Flex Seminar. I’ve previously uploaded the slides to this presentation.

    Gig’s at 7:00 pm eastern tonight. I’m not breezing it, but I’ll do my best to Breeze / Captivate the one at MAX either way.

    Directions – Head up 75N to 696. Take 696 west to the very first exit, Bermuda. Exit Bermuda and hang a left(south) on Bermuda. Take it over 696 and pass the service drive then hang a quick right after the light. Then a quick left on ePrize Drive. You will see the building when you get off 696, it is the 5 story white building. When you get closer you will see it has a purple front wall.

    Here is the link to the map – http://www.eprize.com/contact/contact_locations.html

  • MacGyver Mouse Pad

    Twelve hours of coding without a mouse pad, and my wrist had a painful callous. What would MacGyver do? Make a mouse pad!

    MacGyver Mouse Pad

    Materials

    1. Scotch Tape
    2. Old Quizno’s Napkin

    Roll over to play, roll off to stop. Click the Flash movie below once if you are in IE.

  • Flash Development Process Notes, Dictionary.com’s New Design, & I Miss Steve Irwin

    Bunch of small things about Flash this week, in particular, 8’s IDE.

    JSFL Automation

    Reading Steve Bryant’s post about Sharpening the Axe. I’ve actually been doing a lot of the same. I’ve been writing a lot of JSFL in the past few weeks to automate a lot of the repetitive tasks that my team and I have been doing in Flash on this project. Although she’s a tad un-forgiving because she’s so boilerplate level code, that same low-level also gives you a lot of power. Error handling is a bitch, but so far 100% of my efforts have been rewarded with time saving scripts to automate a variety of tasks. Publish all, setup a FLA with a specific SWC and stub code, build a custom UIComponent, amongst other things. With the RAD development we are doing via multiple people in multiple FLA’s, it certainly helps since we have to re-build a lot of the same things and ensures less of an error in doing so. I really do wish, however, the XUL implementation had more controls. While I’m ecstatic I can actually talk to them via code now, I could really use a Tree and a Dropdown. I’m curious if I could implement them anyway and see if the engine supports it via an unsupported fashion. Regardless, much faster to build minor GUI’s in record time vs. creating them in a WindowSWF.

    Initialization Order & Default Values

    Had some serious issues earlier in the week. While the designers chug away at production art, I’m trying to make our components more useful at authortime, so have been implementing Inspectable metatags like mad. They are the tags that expose your component’s public properties via the Property Inspector in Flash when you drag a component to the stage. What I didn’t realize is that the default values are ONLY written if the component is created at authortime. If you create it dynamically, you lose the default values. I kept some notes at my work computer, but the initialization order is crazy hard to memorize. Basically, it’s like static, prototype (class member), init object OR inspectable tag values, and finally constructor. So, I can’t do default values in the init function anymore; I have to do the old skool of setting them on prototype via:

    private var __label:String = "";
    private var __childHMargin:Number = 0;

    I believe this still works in AS3 too, but it makes a lot of purists uncomfortable. Anyway, it’s really hard to support both the programmer and designer workflow at the same time. We’re getting damn good at it, though.

    Extension Manager 1.7 Problems

    Finally, having a hell of a time with Extension Manager 1.7.240 on both PC and Mac. Sometimes it won’t uninstall your files for Flash 8 from the user directory and you have to clean up the mess manually. On Mac, it’ll crash after uninstalling leaving files still there too, or at least it “thinks” they are. Really frustrating since I’ve come to love this app’s ability to seemlessly deploy desktop software.

    I can tell a user to clear their browser cache, but there is no “clear cache” on a user’s desktop. I can see why a lot of old skool Win32 / fat client developers love web applications since those problems effectively vanish. Naturally, the thought of writing code to delete specific files on a user’s machine makes me cringe with horror. So much so, I refuse to do it, and instead opt for writing documentation on how to delete the files so the user can do it themselves. In IE and Firefox, this is trivial; you click the button, and your server delivers the latest / greatest build. Anyway, the effort is worth it, but damn, this is harder than web application development.

    Scale 9

    Last frustration. We all LOVE Scale 9. However, apparently Scale 9 in Flash 8 & Flash 9 alpha only works for vector shapes and not for bitmaps. Scale 9 DOES work in Flex 2 with bitmaps so… kind of frustrating. Hopefully Flash 9 (Blaze) will implement whatever magic mxmlc, Flex’ command line compiler, is using so Flash can do this too. I’ve heard you can use code in Flash 8 to get this to work, and although unconfirmed, that’s not the point; it should work in the IDE. The docs are not clear on this at all.

    BTW, Dictionary.com’s new design is really nice!

    I miss the Crocodile Hunter. You’ll be missed Steve Irwin; you were a good bloke.