Blog

  • War of the Worlds

    Awesome. Spoiler down below the “asdf” paragraph.

    asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf

    asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf
    asdf asdf asdf

    asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf v

    asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf

    Aliens ain’t shit without their shields… HELL YEAH!!! Just like Independence Day. Personally, I felt that technicality was a tribute. Wish I knew what Tim Robbins (crazy dude in the cellar) was talking about, saying the Japanese found a way to hurt ’em. Her majesty says he was crazy, so you can’t believe ’em, but hrm…

  • JXL Chasm

    Only one thing to do when you can’t code anymore…

    Spend 4 hours doing something stupid.

    Thanks for the idea JD!

  • Parent SWF Security Sandbox & Zinc

    First off, wanted to report the sad news my blower’s dead; wrong mixture of gas & oil, piston’s busted or something.

    Anyway, deploying a project yesterday and doing the unthinkable, loadMovie. A parent SWF loads a child SWF after a successful login. These child SWF’s are basically applications and the shell that loads them is just a security mechinism. We’re using Zinc, and we originally we’re just compiling this “shell” natively; so the EXE would be a small exe the user’s download to their computer, but the SWF’s remain on the server that the shell actually downloads, making it easier to keep up to date without having to distribute a new EXE since the shell just logs in and downloads SWF’s.

    Anyway, during testing we kept getting security sandbox violations. I was extremely confused since Flash as a projector or SWF running on the desktop has free reign and can do anything it wants, when it wants. I figured maybe because the new Flashout (0.2.1.2) now hosts the Flash Player in a browser window, it’s bound by domain restrictions (even localhost).

    …but a Zinc projector? It’s an exe right? Guess not. Even using the option of Zinc to merely load the SWF from a remote URL instead of compiling the SWF in didn’t work; same issue.

    So, reading the docs found 2 good examples of when to use System.security.allowDomain for SWF’s loading SWF’s. Our’s was the 2nd, where a shell SWF loads other SWF’s into it, and wants to be able to interact with them; like set variables on it when it’s loaded, call methods, etc. So, we did:

    System.security.allowDomain(_parent._url);

    in the children SWF’s. You can be sure _parent’s already loaded (because the _parent loaded you), and the _url of the parent could change, but this is the exact way without hardcoding it. Works like a charm.

    Still, I’m confused what Zinc is doing, making the SWF’s act like they are in a browser. As an exe, I am not held to the security sandbox.

  • Post AJUG: AJAX & ThinkCAP

    The Atlanta Java Users’ Group meeting tonight was about AJAX. Takeaways:

    1. Back button becomes Cancel
    2. Submit button becomes Save
    3. Tons of open source frameworks to bridge to the backend
    4. Code does not need to exist on the client beyond connection scripts; JavaScript can be sent to browser to be executed; basically remote invoking via passing of code (aka using eval with JavaScript received from the result handler)
    5. ThinkCAP is a program by a company called ClearNova; it is made up of an IDE visual layout tool, a JavaScript framework, and Java servlet backend, all to create web applications via AJAX; you can toggle AJAX functionality off
    6. Rich Internet Applications was a word that rolled off the presenter’s tongue with no problems.
    7. Many are now thinking of building web applications, not websites; key difference in mindset & goal
    8. Many just discovering the wonders of Prototype
    9. Java peeps are still interested in learning about Laszlo

    To go into more detail, it was fantastic to have the AJAX community question the “breaking” of the back button; expanding on what Brandspanking new said in response to Mario Klingemann’s post. “Do we really need it?” This is an application, not a page by page metaphor. As a Flash Developer, my take is “no shit, Sherlock” but having another community, mainly Web Developers, echoing the sentiment on already engrained technologies says a lot, lends credence to our original claims, and helps the cause. Unlikely allies.

    The questioning of conventional wisdom by that many more people on how the web is supposed to work is just great; really excited to have another movement going on.

    What is scary is the Java developers all chomping at the bit; with the remote invocation (sending JavaScript to the browser which is then eval’d) allows them to have very little presentation logic/code on the client, allowing that to be stored in databases & templates.

    Additionally, one good point made by one of the presenters, Steve Benfield, was how he thinks AJAX will shake up the open source framework community for Java. Many are page based metaphors; none think like application front-ends, like Flex does currently.

    Another point my colleague, formerly of JBoss & Spring fame, Les brought up was there are clients who do not want, or can’t, install anything, and simply want to use installed software that can scale to hundreds of thousands of users (ie Java clustered backend). Since you can’t use Flash or Flex on the front-end for such situations, he has a valid point. Good thing I’ll just keep sucking at HTML & CSS to ensure I don’t get assigned to such projects.

    Another point he brought up during the post-preso question phase; anyone done tests with 200,000 user requests?

    Both Flash & AJAX both increase the amount of server requests, but reduce the bandwith of those requests. No one there could answer if the effects have been tested to actually cause problems. Yes, the bandwidth is lower, but you are now accepting more continous connections.

    As all of my past clients, fulltime & contract, none have reported server errors which lead me to believe I’m either better at server-side coding than I thought, or more likely I’ve never had my applications reach the concurrent user base Les was asking about. Time will tell, but I’m banking on AMF vs. Gzipped strings.

    It’ll be nice to have Java programmers screwing with a prototype language (JavaScript). Curious what the long term affects will be. Will they help find better conventions so prototypes can be used in team environments?

    Really neat demo of ThinkCAP. Really cool to see a small(?) company build a RIA development tool, complete with JavaScript framework & back-end which allows easy plugging to things like Spring, Hibernate, and other frameworks.

    Did I mention it was funny to see a Java programmer showing his code, and he wrote it like this?

    this.addStyle = function()
    {
    // stuff
    };

    BWAHAHA!!! Awesome…

    Thanks again, Burr!