• An Uneducated View of Checked vs. Unchecked Exceptions

    Lately, I've been reading up on the raging debate surrounding exceptions and exception handling.  Specifically, how useful is it that languages like Java have checked exceptions that the caller is forced to handle?  Is it better to eliminate these and have only unchecked exceptions?

    I don't write much Java.  I'm all about dynamic languages (hence the Uneducated tag).  But sometimes I have an opinion on things I don't know a whole lot about.  So here are my thoughts.

    I ran across a proposal to eliminate checked exceptions in Google's experimental noop language.  I think this is a good forum to discuss the issue because the language doesn't have any baggage that comes with worries about backwards compatibility and that type of thing.  We can talk about the problem that checked exceptions try to solve and thus think of new ways to approach that problem.

    Keep Reading An Uneducated View of Checked vs. Unchecked Exceptions »

  • The Things I Will Need Before Abandoning Firefox

    I should start by saying that Firefox has all but driven me away.  I can no longer ignore the way the performance has continued to deteriorate with successive versions.  I'm almost ready to switch to something else until they get their act together.  But the fact is that, for me, what Firefox offers is really hard to beat.

    So this is my list of must-haves before I'll consider using another browser setup on a regular basis.  I'm a professional web developer, and like many people reading this, I'm also an internet junkie.  So this isn't going to be the typical feature set.

    High Performance and Responsiveness

    Keep Reading The Things I Will Need Before Abandoning Firefox »

  • Supporting the ServerJS Standard On Axiom Stack: First Steps

    I've been following the ServerJS list on google groups for a while.  I'm excited about the emergence of javascript as a full-fledged modern language.   But it's sorely lacking in a lot of functionality we've come to take for granted in programming languages.  The ServerJS group has taken on the task of developing standard APIs and libraries to enable things like file system access, networking capabilities (although this is partially addressed by XMLHttpRequest) and a sensible, secure module system for pulling everything together.

    There are several usable implementations of the early ServerJS standard available right now.  So I sat down this weekend to see if I could integrate one of them into Axiom Stack (the open source server-side javascript framework that powers this site.)  I chose Narwhal simply because the primary maintainer, Tom Robinson, is focusing on support for the Rhino JavaScript Engine.  Getting things up and running ended up being pretty straight forward, so I figured I'd outline things here.

    On the surface Narwhal, and any other ServerJS compatible implementation, is just a library of javascript files that provide the standard APIs.  The underlying implementation relies on java packages though, which is why the Rhino engine is key.  Narwhal includes Rhino as a dependency and it also includes scripts for bootstraping the javascript environment in a JVM and loading the necessary js files.

    Keep Reading Supporting the ServerJS Standard On Axiom Stack: First Steps »

  • Firefox Comment Rendering, It's Not A Bug! But We'll Fix It

    Ran into an issue recently with how Firefox renders HTML comments.  Everyone here knows what comments look like right?

    
    <!-- This is a comment. -->
    <!--
            They can also span
            multiple lines.
    -->
    

    Pretty straight forward. And you would think it's easy to identify when rendering. Once you see the "<!--" then ignore everything until you see "-->".  Except Firefox doesn't do that exactly.  It turns out if you have 2 dashes or hyphens contained in the comment, Firefox will prematurely end the comment.  And probably break your page.  Example:

    Keep Reading Firefox Comment Rendering, It's Not A Bug! But We'll Fix It »

  • Does a Complex Web App Really Need Clean Markup?

    I found myself pondering this question today in a response to a status message

    While I do really like the ExtJS APIs the generated markup makes me cry. A button should not be made of multiple 's. #fail

    I had this same gripe a while back when I was hacking facebook with greasemonkey.  I felt like facebook was flouting everything we've learned about web standards and structured content.  Everything is a <div> wrapped in multiple other <div>'s.  In fact, most of the content is generated with Javascript.  With their last major redesign, Facebook eliminated many of the explicit page reloads.  Now they literally pull in the entire page with ajax and regenerate the markup.  And a couple of weeks after I finished my greasemonkey script, they changed the interface again and broke it!

    Keep Reading Does a Complex Web App Really Need Clean Markup? »

1 | 2 | >