Skip navigation

Category Archives: Uncategorized

Quick post: make sure your Java Preferences are giving priority to the 32-bit version of JRE 1.5. I had mine set to 64-bit JRE 1.6 and the damned installer kept dying.

I’m not sure if this is a known Eclipse issue, but all in all — FUN.


I spend a ton of time in DHTML land these days. Most of that development takes the form of a hybrid XP/Scrum Agile methodology. That said, I’m dealing with story cards. While the system works well, there’s nothing I dislike more than a story with endless acceptance criteria. I’m sure you’ve experienced one of these. There has to be a better way, right?

Let’s try screenshots, pictures, storyboards — call ’em what you want. I’d prefer a business analyst scribbling on a blank canvas much more than line items. Especially (ESPECIALLY) when we’re talking DHTML. Find a whiteboard, grab a marker, and bring the digital camera.


I’m officially a fanboy. That’s right – I’ve reached the point of no return concerning IntelliJ. It’s all about the features.

For starters, local history is great. It’s like a personal SVN right in your IDE. I’ve used the popular ‘e’ editor on previous projects, and while it has a similar feature – there’s simply no comparison. The feature is especially useful when you’re in an environment that discourages partial commits, etc. 

I’ve still yet to fire up a Flex project, as I’m pressed for free time. However, I’m growing more and more impressed with the native Grails support. The debugger is stellar and the ability to control a Grails console in the IDE in nice. I’ll admit that I am a bit annoyed by the lack of an in-place unit test reports, but I suppose I’ll live…

If you haven’t checked out IntelliJ – do your self a favor. Rock on computer!

I’ve recently switched over from developing on Windows XP to OS X. Now that I’ve been using OS X for a few months, I’m kicking myself for not switching over earlier.

However, in addition to the change in operating system, I’ve also decided to move over to the often acclaimed IntelliJ IDEA for all of my dev needs. It’s amazing what this IDE is capable of doing. It’s currently my one-stop dev shop. Everything from SVN, Java, Freemarker, Grails, Javascript, and even XHTML/CSS editing.

I’m currently using it for Java, Javascript (Dojo), Grails, and DHTML. There’s no turning back. Really, with OS X and it’s multiple desktop integration, I’m feeling productivity gains like never before.

I’ve yet to use IntelliJ for Flex development, as I’m already familiar with Flex Builder, but I’m edging closer and closer to giving it a try. I’ll blog more as I delve into Flex development with IntelliJ. I’m sure it will be fun.

Stay tuned.

I ran across some significant layout issues in IE6 today when using Dojo’s fadeOut function. Essentially the div element I was fading out didn’t already have what IE6 (IE7 too) denotes as a “hasLayout” property. I came to this conclusion by reading the Dojo source of the function “dojo._fade”, which calls an IE specific helper function “_makeFadeable”. The code applies a CSS class of “zoom: 1”, of course – a proprietary IE CSS style, in order to trigger “hasLayout”.

For a better understanding of “hasLayout”, and what it means to the IE rendering engine – check out this article: “On Having Layout.”

As javascript becomes more viable on your development team, be sure to check out Dojo’s support for AOP.

I had the pleaseure of meeting Eugene Lazutkin at the recent Dojo Dev Day hosted by Google. He’s very dedicated to Dojo.gfx and I’m happy to hear he’s working on Dojox.aspect.

Really though. My first experiences with Flex, before going down a yearlong DHTML path with the Dojo toolkit, were fresh from a .NET thick client application. I remember being very excited about the prospect of using my existing .NET UI knowledge to gain efficiencies in the Flex environment. 

Recently I’ve been using the Flex Builder application, and I’m really seeing the parallels to other strong IDEs (that some would argue as “bloated”). However, I feel right at home using a tool like Adobe’s Flex builder, and believe many Java/.NET devs would agree.  When you throw Adobe AIR into the mix, you’re wielding some serious power. 

I’ve recently dumped a solid 8 hours into the Flex environment and I’ll admit – I’m pleased. I’m approaching an MVC style architecture that can ride on both the Web and the desktop. (Hell, both my PC and Mac….) How could I not be sold.

An immediate problem, however, is over architecture. The point where you have to keep yourself from writing the whole “page” as a Flex application. I’m sure there may be the case for “the Flex is the page”, but I’m still very happy with the DHTML world. 

Which brings me to my next joy – Flex + Javascript. Good stuff. I know this has been around for years with Flash, and it’s Javascript proxy – but Flex is more my speed. While I have no real experince with Flash, I get the feeling it may still be too timeline heavy for me. Where on the surface of Flex, I’m right at home with an environment I feel like I’ve been knowing for years.

Also, I think it’s worth mentioning that ActionScript is hot. I like the implicit property accessors. I like it’s Java-like inheritance model, not to mention it’s very Java-like syntax. (I suppose I’m showing my age by not saying “C-like”…)

One last thing I’ll mention is that — I’m actually having fun learning Flex. If you’re into  an object oriented MVC style presentation layer – I’m sure you will too.

While being stuck behind a firewall that blocked IRC traffic, I realized that IRC is one of the most useful tools when working with open source software. The thought had never occured to me, but of the 3 major open source projects I’ve had the pleasure of using – all had active members in their respective IRC channels. #dojo on freenode is amazing. Followed by #rubyonrails and #monorail, both on freenode. I’ve used .NET products in the past, and we DID have an MS support account. This was very helpful, but – we were paying a major premium for it. My experience in open source IRC chatrooms have by and large compared to paid support from larger firms. In most cases, exceeding expectations. Keep in mind though – you should certainly consider giving back. 

I’m making an attempt to introduce Selenium into the development cycle. With that said, a fellow programmer mentioned that he’s been “thinking more and more like a QA tester”. I believe his comment is spot on in terms of how testing toolkits change the development thought process. No more are we simply “fixing the bug”, but we’re now spending more thought cycles making an attempt to keep the story from coming BACK from QA. This is clutch. Recognizing that time is wasted moving story cards back and forth from stages in the agile development cycle. Eric Gamma mentions “Test Infected” programmers as those who cannot begin coding without a test in place. I’ll admit, we’re using Selenium AFTER writing code, but I’m hopeful we’re not far from becoming, well – infected.

My point is that velocity isn’t necessarily about coding quickly, but is more about minimizing defects and keeping closed story cards — closed. Again, tighten the feedback loop.

We recently ran into a timing issue with IE6 where we were programmatically setting ‘selectedIndex’ after onLoad had completed. Essentially, at least IMO, the JS engine was calling the browser’s native methods to render the select index change, BUT – the JS was executing too fast. That is, the C++ was not completing before the next JS line attempted to set the following select’s index, and we encountered some UI lock. I’m not really sure what’s under the hood of IE6, but I imagine there’s some kind of semaphore-like action happening to prevent the UI thread from clobbering itself.Either way, this article saved the day:

YUI: Downshift Your Code

While we didn’t follow this article verbatim, it was very helpful when staring this IE ‘WTF-ery’ between the eyes.