(Off topic) Plans for building a 8x12 shed - steps pictures included

Just completed today my shed building project for the backyard at our new house! This was an awesome project and I had a great time with my father and brother. I thought I’d share some pictures and the rough plans for the project. I spent a great deal of time on the Web and into my local hardware store to find information related to the different steps of building the shed… Although I won’t go into much details in this post, I hope the picture attached will help others get cues on how to do this and that. Read more...

Maven custom properties precedence

If you’ve worked with Maven before, you are probably aware that it allows you to define custom properties that can then be used throughout your build as placeholders (for value re-use or configuration purposes) or even as a mean of configuring your final build resources using filters. These come very handy for defining environment-specific configurations. These custom properties can be defined at multiple locations. But what happens when you define (or re-define) the same property in multiple locations? Read more...

The leader and "his team"

People seem to have a hard time treating a group of individuals working on a common goal as a Team. I’ve observed that many people will naturally expect commitment and liability from leaders, even unofficially appointed leaders, or natural leaders, instead of teams. But why is that so? Why are people seeing hierarchy in leadership? The answer might come from us being deeply entangled in our Fayolism roots. For most of the 19th and 20th centuries, management styles have always focused on creating a hierarchy of command and control. Read more...

Introducing Less CSS plug-in for Grails

Less CSS is a CSS pre-processor that adds support for many advanced (and lifesaver) features to normal CSS, such as variables, mixins, nested definitions, etc, etc. You basically write .less files that have a syntax similar to CSS itself (with the added functionalities), and these files get compiled as CSS after on. I’ve been wanting to use it for a long time but support for Less in the Groovy/Java ecosystem is scarce. Read more...

Recipe: Using Hibernate event-based validation with custom JSR-303 validators and Spring autowired injection

JSR-303 (Bean Validation) is nice. It allows to define validation rules directly on beans using simple annotations. Most cases are covered by the base annotations provided by the standard, and it even includes a way to develop custom validators that can be plugged-in as you see fit. Once your beans are annotated, you can manually trigger validation as simply as: Set<ConstraintViolation> constraintViolations = validator.validate(annotatedBeanInstance); The latest and greatest Spring 3 now supports JSR-303 validation out of the box. Read more...

Android ListView with images using Droid-Fu WebImageView and a custom list adapter

Droid-Fu library has a nice little widget called WebImageView which allows the display of an image downloaded from the Web, along with a nice little loading animation display. The widget cannot be simpler to use: WebImageView imageView = ... imageView.setImageUrl("http://..."); imageView.loadImage(); That’s it! The widget will automatically handle the display of an indeterminate progress animation, and display the image as soon as it is downloaded.Moreover: downloaded images are cached. Awesome! Read more...

Android emulator (virtual device) UnknownHostException on Mac OS X

Got an error while trying to run an application using the internet on an Android Virtual Device (AVD) on my Mac OS X Snow Leopard (1.6) computer : java.net.UnknowHostException Even the Android browser was not able to connect to the Internet. Solution? Turns out one must run the emulator with administrative privileges (using sudo…) in order to use the host computer’s network connection!

Rethinking the Mobile Web

See the Slideshare presentation Lots of insights on how we should start building web sites (and applications) for the mobile web, then progressively enhance for more capable devices (such as desktop computers). Since mobile devices provide, by their intrinsic design and small form factor, a limited user experience, it makes a lot of sense to start thinking of mobile devices as our new smallest common denominator (our new IE6!), making our web sites work on mobile browsers first, then progressively enhance for fully capable desktop browsers (which also provide a richer user experience). Read more...