Wednesday, April 25, 2012

Saturday, April 14, 2012

Drools Planner for open source employee rostering

While investigating automated employee scheduling for a friend I found it hard to locate a framework to use. There is a lot of information in the academic literature about rostering algorithms and also there are quite a few commercial solutions, but it was hard to find something I could use right away.

Eventually I came across Drools Planner and I was quickly able to come up with a working prototype. Drools Planner comes with some solid search algorithms, currently tabu search and simulated annealing.

The Drools rules engine is used for calculating the "score" of a particular solution. Drools has an advantage over a hand-coded scoring algorithm; it is able to calculate a score delta based on only the parts of the solution that have changed.

There are a lot of great examples to get you started. Check out the video of nurse rostering for a quick overview.

Scala Maven repositories

I noticed that latest Scala releases have moved away from scala-tools and now live in the main Maven repo. This message confirms the current Scala artifact locations.

Thursday, April 5, 2012

Exception breakpoints in Chrome

Chrome does not seem to have traditional exception breakpoints, however it is possible to break on all uncaught exceptions by clicking the Pause on exceptions button in the bottom left until it turns purple: .

More information can be found on the Chrome website.

Via Stack Overflow.

Tuesday, April 3, 2012

Luadns for personal DNS hosting

I've found another candidate for my personal DNS hosting: Luadns. I like the use of a programming language (Lua) for configuration. Configuration is pulled from a Git repository; private repositories are supported too.

Via Hacker News.