Primary Skills

November 23rd, 2006 . by polyGeek

There are three main skills that I can offer in the workplace.

    1. Actionstript coding
    2. User Experience Design
    3. Web Design

    The list is pretty much in the order of my talents.
    I’m not bad at design. I know my way around Photoshop as well as anyone. Basically I have the technical aspects down solid. Where I fall short is in being able to design in different genres. I can do designs that are very usable and aesthetically appealing, especially if they have a tech look to them. But if you want hip-hop pop-culture coolness then you probably want to talk to someone who knows what those things are. That said, I’ve gotten many compliments on my design of XanaduWest.com, which is an artistic site.

    UX design is something that comes naturally to me. It brings together many skills and hobbies that I have - such as chess - in that you have to analyze different paths and try to come up with the best one. And there’s my background in philosophy that also comes in handy for UX design. In philosophy one must think critically, break ideas down into their elements and then build them back up into a whole. This form of critical thinking is something I’ve done for decades.

    Coding is where I’m most comfortable. I wrote my first code back in the early 80s and have loved it ever since. I don’t have a degree in CS but my background in philosophy and mathematics more than makes up for it. And this is the skill-set that I spend the most time improving on.


    What I’m looking for in a job

    November 22nd, 2006 . by polyGeek

    What I’m looking for:

    • A place that is doing some cool work with Flash and needs some amazing Actionscript work. If you frequently find yourself needing the impossible done then I’m very interested in working with you.
    • Is looking to expand into Flex and Apollo.
    • Would like to find someone who can handle advanced coding along with UX and graphic design work.
    • A work environment that balances being conductive to long hours of hard work and playful fun between co-workers.

    Things you should know before contacting me with job offers

    Current situation: I’m working for the EXG team at Microsoft as a contractor. My first year will be up in February and that means it’s transition time. I’ll probably be signed on as a vendor or something like that. It’s possible that I could get an offer to work directly for MS. Right now I’m just looking to see if there are any better positions out there. That said, I have a pretty damn good one right now.

    As I mentioned above, I work for the EXG team at Microsoft. That’s the team that built the XBox/360, Zune and others. That means I’m prototyping some really cool stuff and I get to build RIA for Xbox.com and Zune.net. Getting to work on cool shit goes a long way with me. I’m excited about technology, science, entertainment and such. If you have a job opening for a real estate firm or something like that then you might want to just go to the next resume. I’m not going to be interested.

    • Relocation: there are a number of cities in California that I would consider. British Columbia is an option. And my wife and I love to live in London or Northern Europe, Australia, New Zealand, or Asia.
    • I’m looking for a pay rate in the 90k range, with benefits, vacation and training.

    cacheAsBitmap

    November 16th, 2006 . by polyGeek

    If you have a SWF that has lots of vectors moving around and you notice that it’s bogging down a bit then you might want to think about using cacheAsBitmap. You can do this while you are authoring or at runtime.

    See Flash help at: ActionScript classes > MovieClip > cacheAsBitmap (MovieClip.cacheAsBitmap property) for details.

    Below is an example of how cacheAsBitmap can help make a Flash app run faster. You can toggle the cacheAsBitmap property off and on to see how it affects (or is that effects, I can never remember) the smoothness of the motion. I’ve tested on 3 PCs and noticed about a 20% increase in speed when the MovieClips are cached.

    Here’s the complete code to look over with the explanation below - you can download files here.

    First, take a look at the first two lines inside the All method. They give the arguments values just in case there were none passed. If your method can’t work without arguments and there are some logical defaults then by all means add the code to take care of that. It will save you a lot of time down the road.

    If you’re unfamiliar with the ? : conditional then here’s a quick breakdown of how it works. It is essentially a very concise way of writing an if/else. What happens is that the expression preceding the “?” is evaluated as either true or false. If true then the first expression after the “?” is returned, otherwise the second.

    If it’s still a little unclear try Flash help: ActionScript language elements > Operators > ?: conditional operator.

    After that comes a for-in loop. This isn’t your typical loop in that it counts from one number to another. The for-in loop runs through all the dynamic properties in an object. In this case it runs though all the properties that belong to the passed argument - mc. Those properties could be lots of different things but usually they are MovieClips and that’s what we’re looking for. We want to apply the cacheAsBitmap property to each of the MovieClips. We also want to make sure that all of the MovieClips that might be in the passed argument - mc - are affected so we recursively call back to the method we are in - All - and send it the MovieClips that we have found.


    kimili flash embeded for wordpress

    November 15th, 2006 . by polyGeek

    This blog is powered by WordPress. I’ve had a nightmare of a time trying to get Flash in here. Finally I found Kimili Flash Embed for Wordpress and all is well.


    Moving up to Flash 9 and AS3

    November 11th, 2006 . by polyGeek

    John Dowdell posted a question on his blog about developers experiences switching to AS3/Flex. I posted a comment that I thought I would reiterate here: can anyone offer any compelling arguments for moving to FP9? You don’t have to convince me. I’m already there. But I have to convince the powers at work - Xbox.com / Zune.net - that it’s a good thing for them to do.

    The sites are very design oriented. There isn’t currently anything that is data intensive where the performance boost of AS3 would make a big difference. The animations that are used are already optimized by using cacheAsBitmap where it’s appropriate so I don’t think there would be much of a performance boost there either.

    We use XML throughout our site but I wrote an XML parser to handle all that for us with minimal effort so the E4X controls won’t make a big difference.

    The only thing I can think of is that maybe we will make the entire homepage, or even site, a Flash app. In that case I believe that using Flex would be the best way to manage that. But that will be a long way off, if ever.

    So, anyone have any suggestions?


    ActionScript Virtual Machine2 is now open source

    November 8th, 2006 . by polyGeek

    Adobe has released the Flash Player virtual machine to the Mozilla Foundation as project called Tamarin. (Read Adobe’s press release.)

    If you’re a designer/developer like me who didn’t major in Computer Science in college then you’re probably asking, “What the frak does this mean?”. To help with that I put together a short tutorial from snippets from Wikipedia.

    A short overview: When authoring in Flash you produce source code. When you publish your .FLA file you produce a .SWF that contains bytecode instructions. When the SWF file is loaded into a browser it is executed by the Flash Player which is a virtual machine. The virtual machine then uses its JIT (Just-In-Time compiler) to convert the bytecode in the SWF into machine instructions that then creates the user experience you designed and coded in the first place.

    The advantage to this process is that you only have to create one SWF that will run in Windows, Mac OS, or now Linux. Each OS has its own version of the Flash Player which turns your SWF into machine code that will run on that particular system.

    What is a Virtual Machine? (full article)

    … [a] virtual machine is a piece of computer software that isolates the application being used by the user from the computer. Because versions of the virtual machine are written for various computer platforms, any application written for the virtual machine can be operated on any of the platforms, instead of having to produce separate versions of the application for each computer and operating system. The application is run on the computer using an interpreter or Just In Time compilation. One of the best known examples of an application virtual machine is Sun Microsystem’s Java Virtual Machine.

    What is bytecode? (full article)

    Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. Since it is processed by software, it is usually more abstract than machine code. Different parts of a program are often stored in separate file, similar to object modules.

    What is a Just-In-Time compiler? (full article)

    In a bytecode-compiled system, source code is translated to an intermediate representation known as bytecode. Bytecode is not the machine code for any particular computer, and may be portable among computer architectures. The bytecode is then interpreted, or run on a virtual machine.

    With all that info under your belt Frank Hecker has a great post to further explain these details.

    If you don’t have a solid understanding of a DOM vs. a Language then read this: Language vs. DOM at Yahoo Groups.
    Ted Patrick has a nice little flowchart in his Tamarin Implications post.

    kaourantin.net: SpiderMonkey’s relative Tamarin joins the family. This guy knows his code and helps explain a lot of what this really means down in the code/compile level.

    JD on EP: Tamarin commentary, day 1. A bunch of excerpts from a variety of sources.

    darron schall: Compile ActionScript in ActionScript.

    ZDnet: Could Adobe’s contribution to Mozilla force MS to take Internet Explorer open source?

    After all is said and done this is going to mean a lot of different things to different people depending on what you do. But, most importantly I think, it’s going to help create a better platform for all sorts of browser based apps, both in Flash and Ajax.


    Turn a string input to HEX color

    November 3rd, 2006 . by polyGeek

    I found a short tutorial online - at AJAXworld magazine - for converting a string to a HEX color. I did some modifications to the code to make it a little more forgiving of the input. You can see the code below the SWF example. The SWF takes your input and fills a circle. As you change colors you can see your current and previous for the sake of comparison.

    Here’s the code for the method if you would like to toss it in one of your own classes.

    public static function hexStringToNumber(hexStr:String):Number {
        if( hexStr.charAt(0) == “#” && hexStr.length > 7 ) {
            return Number(”*”); // NaN;
        }
        if( hexStr.charAt(0) != “#” && hexStr.length > 6 ){
            return Number(”*”); // NaN;
        }
           
        if( hexStr.charAt(0) == “#” ) {
            var newStr:String = hexStr.substr(1, hexStr.length);
        } else {
            var newStr:String = hexStr;
        }
           
        if( newStr.length < 6 ) {
            var z:String = “000000″;
            // add zeros to the string to make it 6 characters long
            newStr = newStr + z.substr(0, z.length - newStr.length);
        }
        var numStr:String = “0x” + newStr;
        var num:Number = Number(numStr);
        return num;
    }
    Or you can download my MathTools class which has a few other useful utilities.


    Wait just a second

    November 2nd, 2006 . by polyGeek

    How many times have you been coding Actionscript and needed to run some code in a second, or two, or whatever? I know, you can create a setInterval, blah, blah, blah. But that’s such a pain in the the ass.

    So, I made a class with just one method to do make it easier for you to wait a second. If you need to call a function/method in, say half-a-second, then all you would write is this:

    Wait.For(500, myMethod).

    Done.

    But, wait, there’s more. You can pass arguments that you need to send to your function/method. Just like this:

    Wait.For(500, myMethod, “coffee”, “hot”, “cream”, suger”);

    is that sweet or what?

    There is a limit of 10 arguments that you can pass. If you really need to send more then edit the class yourself.

    Here’s the code for the class below or you can download the file: Wait.as - Wait.zip.


    Understanding Apollo

    November 1st, 2006 . by polyGeek

    Chris Brichford, the engineer on the Apollo team doing the actual HTML integration, has his MAX2006 Understanding Apollo presentation available at GoogleVideo.

    In it he talks about:

    • how Apollo will render HTML
    • the rendering engine Apollo is using - WebKit - and why they chose it
    • what can be done to the HTML
    • How JavaScript and ActionScript will work together
    • lots more

    I’m very excited to get my hands on Apollo. The possibilities that it will open up are practically limitless. I’m thinking about building a web browser that mimics a sort of photo carousel as my first project.


        Next Entries »




    © Copyright 2008 polyGeek.com / Dan Florio, All Rights Reserved Except Where Explicitly Stated
    Web Developement Blogs - Blog Catalog Blog Directory
    M2 Websites