Apr 292012

Backbone in Baby Steps, part 2.5

In the first two part of this tutorial series we looked at the basic structure of a Backbone application and how to add and remove models. In the third part we will look at how to synchronize the models with the back end, but in order to do that we need to make a small detour and set up a server with a REST api. That is what we are going to do in this part. Continue reading »

Apr 232012

How many times have you created ad-hoc classes, when you need to return multiple values? Would it not be better if your programming language natively would support it, when you want to send a group of values? Java currently has no native support for Tuple’s, but with the use of generics, there’s a solution.

Continue reading »

Mar 312012

While working with logging of an application I found that the thing I wanted to test was the actual output from a logger. After digging around a bit I found a neat thing in log4j called AppenderSkeleton. It’s pretty straight forward, extend AppenderSkeleton to keep track of log events and add your new appender to the RootLogger.

Continue reading »

Mar 222012

What we usually do when we have a problem is to scratch our head for a few seconds, some idea pops up and we’re happy that the problem is solved and that we now can move on to implement it. Since we are experienced programmers with a lot of experience, we are convinced that the solution is a good one.

It is possible that it is a brilliant solution, even the best possible one, but probably not. A far better way, if you are interested in finding a really good solution, is to come up with five different ways of solving the problem and then pick the best one. My experience is that it is not the first one that you end up using.

This is a very simple method to use with low cost that improves the quality of your ideas.

Mar 152012

A common problem I have seen when companies try to switch to scrum, is that there are no clear goals for the team. The team members are experts on converting a story to functionality but they need to know what the goal is, where they are going. It is hard (or impossible?) for a team to get anywhere if they don’t have a clear and common goal. The goal is set by the product owner and the tools are the stories and the backlog.

It is very important that the product owner makes good use of the sprint planing meeting by setting goals, motivating and engaging. Bad sprint planning ==> very likely that the sprint fails. A good team may help the situation, but the product owner is important. If You are a product owner and usually arrives at the sprint planning meeting with a bunch of poorly prepared stories from a chaotic backlog, You should probably sit down and reflect over what this behavior leads to in the team.

Mar 062012

Backbone in baby steps, Part 1

Topic: Backbone, Underscore, jQuery
Language: JavaScript
Difficulty: Medium
Pre requisites: Moderate JavaScript knowledge. Basic jQuery knowledge.

In this tutorial  we will be building a library application for managing digital books using Backbone. We will also have a glimpse at Underscore and jQuery since they are the default requirements of Backbone.

Continue reading »

Mar 022012

The builder pattern is great, isn’t it? It lets you create nice immutable classes without the need for multiple constructors and it gives the API users freedom in choosing which arguments they want to use when creating the instance. But what happens when you want to tell the user that she must call one builder method or the other, since it is crucial for the class you’re trying to build? The builder pattern simply doesn’t have such a feature. This post will try to give an alternative solution to this problem.

Continue reading »