Blog

  • What I Miss About Being Paid Salary

    When I worked salary, one of things I liked, but didn’t realize at the time, was the ability to solve a problem no matter how long it took.  Granted, when it got out of control, my manager and team would find ways to bring it under control, but bottom line I’d be pointed at a challenge, let go, and I’d update my superiors on my progress.

    I have a high willpower; it’s the only way I’ve been able to compete in this industry.  It serves me well in solving challenging problems because the obvious is not always obvious, and you are constantly challenging your assumptions, testing hypothesis, and following stringent logical workflows… or not, depends on my mood.  Typically, you are supposed to rule out the most obvious & likely problems first in any debug session.  For example, some example code you try doesn’t work.  More than likely, it is faulty documentation vs. the actual Flash Player not working… unless you are using an alpha build of the Flash Player.

    Those 2 paths of debugging above can lead to further steps, and other test cases that can drag on your morning.  Other problems can drag on for days, even weeks.  A lot of times, you can only spend small chunks of random time throughout the day, never really being able to focus exclusively on the bug.  Sometimes it has a lower priority, and you merely put it in the back of your daily queue, in hopes that other development will spark a reason for why it is happening.

    All those things and more can either be full force, or backburner type tasks.  Bottom line, you are paid whether you fix it or not, and the time isn’t really a big deal vs. the resolution.  Depending on scope, the point of no return is measured in days or weeks, not hours.

    Getting paid hourly, however, changes the rules.  I cannot go off for days at a time trying to solve a problem.  I need to document what I am doing, minute by minute, always needing to be aware of what I am doing, how long it is taking me, and how long it’ll take to get to a resolution.

    Those of you who have been in software development for any length of time know that if you knew how long it was going to take you to solve the problem, then you’d know what the problem was.  Debugging, however, is about finding the problem.  You can’t solve a problem until you’ve found it, and if it were that simple, then application development wouldn’t always be over budget.

    The solution is to keep an accurate assessment of progress, well spoken hypothesis on what the problem(s) could be, and put it in the client’s lap to decide on if you should keep going, or focus on other tasks.  Before, it was, "Jesse, solve this issue, and report back to me when you’ve found it.  If you don’t find it by lunch, let me know.  We’ll discuss and see if we can’t try a few more ideas."

    Now, it’s kind of like that, but with a lot more documentation, self-awareness, and less emotional investment.  I guess that last part is what really irks me. I can no longer dive in head first.  As a contractor, I’m now constantly nagged by my own psyche to remember to keep track of my time of how long I’ve spent, and being able to clearly articulate where I am at with the bug at the drop of a hat.

  • Movement Mystique & Meetings are Bad for You

    I go to pay for my sandwhich in Subway wearing my “wasd” shirt with shoulder length hair, and the cashier, a petite, older teen asks, “Are you a hacker?”.

    I smile and reply, “I try.”

    Apparently the console has a stranglehold on the gaming market vs. the pc if “wasd” isn’t widely known. The gender card is bs because when I spoke at a middle-school 3 years ago for career day, every girl in every class I spoke to raised their hand when I asked who played video games.

    Also, my man Steven Sacks, the deep house DJ, pointed me to this article briefly describing a study showing that meetings are bad for your health. The article has a sarcastic feel, I don’t know the authenticity of the researchers, nor if this is an accurate portrayal of their research methodology, so much of it I question. Still, like most studies, while they usually result in a unified, “Duh!” from most of us, at least you have “scientific study & research” to point to now.

  • DrawingPad for Flex 2

    A simple drawing pad for Flex 2, beta 2. Someone had asked on the Flexcoders list if there was a drawing component in Flex 2. This has been done countless times in Flash, so I wanted to use this as a reason to learn about some of the chagnes to UIComponent. There aren’t as many as I thought; easy to get up to speed if you’ve ever built a component in Flash MX 2004, Flash 8, or Flex 1.5.

    There are a ton of things I could add to this, but I wanted to keep it simple for others to easily dive into the code. It took 4 hours to do, and while it uses next to no MXML, I am reminded how enjoyable it is to code ActionScript in Flex Builder 2.

    Requires Flash Player 8.5 beta.

    DrawingPad – App | Source | ZIP

    Creative Commons License

    This work is licensed under a Creative Commons Attribution 2.5 License.

  • Adobe’s Untapped Goldmine

    What if you could push any .exe file to the millions of computers worldwide that have the Flash Player installed? With one click, a user can install Central, Breeze Presenter, or even upgrade Flash Player 8 on their machine from any web browser with the Flash Player, assuming they have administrator rights.

    My boss is excited about combining the Flash Platform & PDF on the client (a.k.a. Apollo). I used to be excited about desktop Flash development, but because of market demand, it’s been relegated to PHP & Flash Lite work; a fun hobby.

    I think of the 2 clients who paid me to find out a way to tap into Flash Player’s ability to install applications. I was unsuccessful. Only apps residing at https://www.macromedia.com can be installed using System.Product.install, although, you can manually install your own EXE’s into the unique folder and interact with them using Flash Player in a browser. Still, this requires you to somehow get the user to install an EXE on their machine; not an easy feat. If we could do that easily, then Flash Player’s ubiquity wouldn’t matter.

    There are uses for this such as remotely controlling apps like AjaxAMP, and interfacing with lower level code using Flash Player as the GUI, like FlashMidi does.

    If you could push an EXE to millions of users around the world, what would it be?