Our blog
Lunatech’s
engineer blog
Latest articles
Our most recent posts
All blog posts
Our different categories
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-06-13-blog-retropective-2013/background.png)
Lunatech blog retrospective - 2013
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-06-12-blog-retropective-2012/background.png)
Lunatech blog retrospective - 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-06-11-blog-retropective-2011/background.png)
Lunatech blog retrospective - 2011
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-06-10-blog-retropective-2010/background.png)
Blog retrospective 2010
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-06-06-blog-retropective-2009/background.png)
Lunatech blog retrospective - 2009
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-06-05-blog-retropective-2008/background.png)
Lunatech blog retrospective - 2008
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-06-04-blog-retropective-2007/background.png)
Lunatech blog retrospective - 2007
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-05-28-blog-retropective-2006/background.png)
Lunatech blog retrospective - 2006
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-05-23-blog-retropective-2005/background.png)
Lunatech blog retrospective - 2005
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-03-26-activiti-logstash-elasticsearch-kibana/background.png)
Business process visibility with ALEK
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-03-25-ddd-speaking-the-language/background.png)
Speaking the language
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-03-11-third-party-logistics-3pl-domain-expertise/background.png)
Third-party Logistics (3PL) domain expertise
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-03-10-benefits-of-remote-working/background.png)
Benefits of remote working
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-02-28-code-review-observations-are-not-failures/background.png)
Code review observations are not failures
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-01-24-slick-insert-data/background.png)
Inserting database table rows with Slick 1.0.1
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-11-21-slick-case-classes/background.png)
Mapping Slick query results to case classes 1.0.1
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-10-04-play-slick-executing-queries/background.png)
Executing database queries with Slick 1.0.1
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-09-25-play-slick-defining-queries/background.png)
Defining database queries with Slick 1.0.1
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-08-29-play-slick-evolutions/background.png)
Using Play framework database evolutions with Slick 1.0.1
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-08-21-slick-column-definitions/background.png)
Defining database table columns with Slick 1.0.1
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-08-13-play-slick-scala-console/background.png)
Using the Scala console with Play and Slick 1.0.1
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-08-08-play-slick-getting-started/background.png)
Getting started with Play and Slick 1.0.1
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-08-05-lunatech-feeds-happy-melly/background.png)
Lunatech feeds Happy Melly
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-07-22-playframework-training-certification/background.png)
Fast Track to Play training certification
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-04-19-good-bug-reports-come-in-four-parts/background.png)
Good bug reports come in four parts
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-04-03-typesafe-at-010dev/background.png)
Typesafe at 010DEV
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-03-28-typesafe-training-partnership/background.png)
Typesafe training partnership
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-11-22-oredev-recommended-presentations/background.png)
Øredev - recommended presentations
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-11-20-planning-scrum-project-documentation/background.png)
Planning Scrum project documentation
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-11-14-oredev-2012-playframework-video/background.png)
Øredev 2012 Play Framework 2 presentation video
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-11-06-playframework-oredev-2012/background.png)
Lunatech presents Play at Øredev 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-10-29-playframework-topconf-2012/background.png)
Lunatech presents Play at Topconf 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-10-11-playframework-jax-london-2012/background.png)
Lunatech presents Play at JAX London 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-08-17-geecon-2012-playframework-video/background.png)
GeeCON 2012 Play Framework 2.0 presentation video
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-08-15-scrum-development-environment-documentation/background.png)
Scrum project documentation - development
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-08-10-scrum-hardware-whiteboards/background.png)
Essential Scrum hardware - lots of whiteboards
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-08-08-scrum-product-owner-not-available/background.png)
Scrum when the product owner is not available
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-08-06-scrum-project-documentation/background.png)
Scrum software project documentation environment set-up
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-08-01-scrum-non-functional-requirements/background.png)
Scrum and non-functional requirements
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-07-29-double-sided-scrum-bord/background.png)
The double-sided Scrum board
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-06-04-transparent-development/background.png)
Transparent development and the project management
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-05-31-typesafe-consultancy-partnership/background.png)
Typesafe consultancy partnership
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-05-23-010dev-perfect-programmer/background.png)
Lunatech presents at 010DEV
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-05-21-playframework-goto-amsterdam-2012/background.png)
Lunatech presents Play at GOTO Amsterdam 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-05-15-playframework-geecon-2012/background.png)
Lunatech presents Play at GeeCON 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-05-15-playframework-2-books/background.png)
Play framework 2 books
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-05-09-first-010dev-event/background.png)
First 010DEV event
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-05-07-review-drools-developer-cookbook/background.png)
Review - Drools Developer’s Cookbook
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-03-22-jfokus-2012-playframework-video/background.png)
Jfokus 2012 Play Framework 2.0 presentation video
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-03-07-java-spotlight-podcast/background.png)
Java Spotlight podcast - Play 2.0 & Akka 2.0
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-03-05-play-rescues-kittens-jfokus/background.png)
Play rescues kittens at Jfokus
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-02-08-scala-stockholm/background.png)
Lunatech presents at Scala Stockholm
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-02-07-playframework-jfokus-2012/background.png)
Lunatech presents Play at Jfokus 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-02-06-playground-presentations-photos/background.png)
February Play!ground presentations and photos
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-01-13-february-2012-playground/background.png)
February 2012 Play!ground at Paddy Murphy’s
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-01-10-late-christmas/background.png)
Late Christmas at Lunatech
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-01-09-url-centric-design/background.png)
URL-centric web application design
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-12-27-january-2012-playground/background.png)
January 2012 Play!ground
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-12-08-wrong-with-servlet-api/background.png)
What’s wrong with the Java Servlet API
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-12-01-playframework-20-live-coding-script/background.png)
Play 2.0 demo - live coding script
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-11-29-why-playframework-is-not-java/background.png)
Why Play isn’t a Java web framework
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-11-14-devoxx-2011-tips/background.png)
Devoxx 2011 tips
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-11-11-play-framework-meet-devoxx/background.png)
Play framework meet-up at Devoxx
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-11-08-december-playground-rotterdam/background.png)
December Play!ground in Rotterdam
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-10-31-progressbar-jqueryui-websockets-playframework/background.png)
Progress bars with jQuery UI, WebSocket & Play
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-10-11-selector-dialog-jquery-ui-ajax-playframework/background.png)
Selector dialogue with jQuery UI, Ajax and Play
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-10-03-playground-slides-code/background.png)
Play!ground presentation slides & code
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-09-26-logging-rule-activation-drools/background.png)
Logging rule activation with Drools
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-09-22-playframework-september-playground/background.png)
September Play!ground in Rotterdam
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-09-19-playframework-cookbook-review/background.png)
Review - Play Framework Cookbook
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-09-16-fronteers-lunatech/background.png)
Fronteers at Lunatech. WTF?
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-09-12-javazone-playframework-video/background.png)
JavaZone Play framework presentation video
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-09-05-playframework-javazone-2011/background.png)
Lunatech presents Play Framework at JavaZone 2011
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-09-02-logging-debug-drools/background.png)
Logging debug messages with Drools
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-08-24-scala-ceylon-kotlin-goals/background.png)
Own goals - Scala vs Ceylon vs Kotlin
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-08-17-playground-slides-video/background.png)
August Play!ground presentation slides & video
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-08-10-lazy-loading-jquery-ui-ajax-play/background.png)
Lazy loading page content with jQuery UI, Ajax and Play 1.2
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-12-20-getting-list-time-zones-java-and-seam/background.png)
Getting a list of time zones in Java and Seam
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-12-05-seam-meetup-devoxx/background.png)
Seam meetup at Devoxx
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-12-05-meeting-avoidance-self-managing-developers-devoxx-2008/background.png)
Meeting-avoidance for self-managing developers - Devoxx 2008
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-10-16-meeting-avoidance-developers-devoxx08-presentation/background.png)
Meeting-avoidance for developers - Devoxx08 presentation
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-09-29-seam-presentation-video-parleyscom/background.png)
Seam presentation video on parleys.com
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-08-14-how-explain-twitter/background.png)
How to explain Twitter
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-07-22-programmer’s-private-office/background.png)
The programmer’s private office
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-05-27-how-draw-lolcats/background.png)
How to draw lolcats
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-03-17-seam-new-struts/background.png)
Seam is the new Struts
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-03-03-jbug-2008-02-photos/background.png)
Benelux JBoss User Group, 29 February - photos
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-02-18-marketing-books-developers/background.png)
Marketing books for developers
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-02-11-my-new-pc-mac/background.png)
Benelux JBoss User Group, 29 February 2008
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2008-01-17-jbug-2008-02/background.png)
Benelux JBoss User Group, 29 February 2008
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-12-14-seam-action-javapolis-presentation/background.png)
Seam in action - JavaPolis presentation
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-12-11-european-union-metaphor-jboss-seam/background.png)
The European Union - a metaphor for JBoss Seam
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-12-09-lunatech-javapolis-2007/background.png)
Lunatech at JavaPolis 2007
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-11-15-no-fields-are-required/background.png)
No fields are required
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-11-11-benelux-jboss-user-group-2-november-2007-photos/background.png)
Benelux JBoss User Group, 2 November 2007 - photos
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-10-01-benelux-jboss-user-group-2-november-2007/background.png)
Benelux JBoss User Group, 2 November 2007
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-09-28-eximion-game-artwork-archive/background.png)
Eximion game artwork archive
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-09-20-amsterdam-java-meetup-21-september-2007/background.png)
Amsterdam Java Meetup, 21 September 2007
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-08-06-web-application-20-features/background.png)
Web application 2.0 features
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-07-02-book-review-wikinomics/background.png)
Book review - Wikinomics
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-06-13-jsf-facelets-custom-date-converter/background.png)
JSF-Facelets custom date converter
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-05-24-jboss-benelux-user-group-8-june-2007/background.png)
Boss Benelux User Group, 8 June 2007
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-04-27-uml-class-diagrams-confluence-using-graphviz-and-dot/background.png)
UML class diagrams in Confluence using Graphviz and DOT
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-03-08-how-write-user-interface-instructions/background.png)
How to write user-interface instructions
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-03-08-eclipse-plug-installation/background.png)
Eclipse plug-in installation
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2007-01-31-business-class-or-economy/background.png)
Business Class or Economy?
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-12-22-javapolis-2006/background.png)
JavaPolis 2006
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-12-04-wiki-my-word-processor/background.png)
Wiki is my word-processor
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-09-15-struts-page-level-authorisation/background.png)
Struts page-level authorisation
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-09-11-how-use-bullet-lists/background.png)
How to use bullet lists
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-07-25-development-ernst-young-indirect-tax/background.png)
Development - Ernst & Young Indirect Tax
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-07-20-task-management-difference-between-urgent-and-important/background.png)
Task management - the difference between urgent and important
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-06-28-books-software-developers/background.png)
Books for software developers
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-04-19-dynamic-calendars-icalendar-feeds-using-ical4j/background.png)
Dynamic calendars - iCalendar feeds using iCal4J
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-04-05-book-review-designing-interfaces-jenifer-tidwell/background.png)
Book review - Designing Interfaces, Jenifer Tidwell
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-03-27-book-review-engineer-human-henry-petrovski/background.png)
Book review - To Engineer Is Human, Henry Petrovski
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-02-09-book-review-slack-tom-demarco/background.png)
Book review - Slack, Tom Demarco
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-01-23-struts-action-mappings-configuring-web-application-urls/background.png)
Struts Action Mappings - configuring web application URLs
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2006-01-09-web-application-post-submit-messages/background.png)
Web application post-submit messages
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-12-21-javapolis-2005/background.png)
JavaPolis 2005
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-12-18-details-page/background.png)
Navigation design patterns - details page
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-11-21-navigation-patterns/background.png)
Web application navigation design patterns
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-11-06-gml-feeds/background.png)
The geoweb - open standards for publishing geodata
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-10-19-displaying-access-key-assignments/background.png)
Displaying access key assignments
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-10-07-information-radiators-dashboard-wall/background.png)
Information radiators: from dashboard to wall
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-09-23-chocolate-cocktails-brain-food-after-work/background.png)
Chocolate cocktails: brain food for after work
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-09-10-catalogue-searchbrowse/background.png)
Catalogue search/browse
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-08-27-progressive-dark-side-new-software/background.png)
Progressive - the dark side of new software
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-08-12-same-different-web-application-comparison-support/background.png)
The same but different- web application comparison support
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-07-29-struts-urls/background.png)
Struts URLs for perfectionists
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-07-17-configuration-files/background.png)
Paranoid configuration - tamper-proof text
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2005-06-24-unforgiven-user-interface-labels/background.png)
Unforgiven - user-interface labels