Blog Archive 2019 Evidencing Source Code Reviews Oct 30 2019 Easily Deploy Java to Debian Sep 02 2019 Upgrade Raspbian Stretch to Buster Aug 29 2019 Refactoring in 10 Minutes Aug 09 2019 2017 Upgrade Raspbian Jessie to Stretch Oct 26 2017 Standard Pi Setup Mar 01 2017 2016 Type Classes in Scala Aug 13 2016 Home Brew Temperature Logger Mar 23 2016 Disable Edimax Wifi Dongle’s LED Jan 06 2016 2015 Pi Console Lead Dec 28 2015 Pair Testing Doesn’t Work Sep 25 2015 Easily Switch JDK on Mac Sep 10 2015 Implicit Functions in Scala Jul 14 2015 Implicit Parameters in Scala Jul 03 2015 JMock to Scalamock Cheat Sheet May 09 2015 2014 Scala Learning Curve Nov 25 2014 Scala Mixins: The Right Way Sep 22 2014 Dealing with Exceptions as Monads Sep 21 2014 Udemy Java 8 Course May 20 2014 Classes vs. Functions Apr 08 2014 Functional Interfaces in Java 8 Apr 07 2014 Method References in Java 8 Feb 18 2014 IntelliJ IDEA Retina Support JDK 1.7+ Jan 20 2014 Yet Another TeamCity Build Monitor Jan 01 2014 2013 Currying Functions in Java & Scala Jul 21 2013 Automatically rebase on git pull Jul 09 2013 Calculate the Optimum Number of Threads Jun 01 2013 Writing my Book May 24 2013 Mac Tips May 24 2013 Useful Git Commands Jan 23 2013 Java Stack vs Deque Jan 10 2013 2012 Sending Messages vs Method Invocation Oct 06 2012 Daily Standups Don’t Work Sep 15 2012 Diff Excel with Java and Hamcrest Sep 14 2012 Play it Next App Aug 28 2012 FreeAgent, OAuth & HTTP (Part III) Aug 13 2012 FreeAgent, OAuth & HTTP (Part II) Aug 12 2012 FreeAgent, OAuth & HTTP (Part I) Aug 11 2012 Mountain Lion Carnage Jul 28 2012 Getting Things Done, Part II Jul 22 2012 Getting Things Done, Part I Jul 20 2012 Pair Tests: What Candidates Can Expect Jul 04 2012 HTTP Encoding Schemes Jun 11 2012 HTTP Should be Simple Jun 10 2012 Stop Ignoring @Rules May 05 2012 Scala as a Functional OO Hybrid Apr 03 2012 Scala Exception Handling Mar 30 2012 Building Better Exceptions Mar 29 2012 Exception Handling as a System Wide Concern Mar 28 2012 Expecting Exceptions JUnit Rule Mar 27 2012 Tools for bad.robots Mar 18 2012 Force IE8 to Display JSON with Jersey Feb 21 2012 Hexagonal Acceptance Testing Feb 13 2012 Transaction Management without the Frameworks Jan 29 2012 2011 Java source on Mac Oct 29 2011 Reflecting on Interviewing Mistakes Aug 29 2011 Catching Multiple Exceptions (and rethrowing them all!) Aug 29 2011 Logging is still evil but… Jun 22 2011 JDK7 Article in JavaTech Journal Jun 10 2011 tempus-fugit 1.1 released Apr 13 2011 JDK7 Previewed Mar 04 2011 2010 Logging is evil but… Oct 18 2010 Pairing Honestly Aug 15 2010 Lambdas vs. Closures Jul 13 2010 Growing Team Skills Jul 11 2010 Changing Test Gears Jul 09 2010 Generate Concordion Overviews Jul 07 2010 Objectives Jun 17 2010 Un/Marshalling May 01 2010 Setter vs Constructor Injection May 01 2010 Wrapping Exceptions is Dull Apr 25 2010 Nibbles the Cat & Concurrency Mar 19 2010 Type Safe Annotation Jan 04 2010 2009 Running JUnit tests in parallel Dec 29 2009 Flickering Tests and a JUnit Rule Dec 24 2009 Deadlock detection in Java Dec 24 2009 Atomiticy of the Thread class Dec 10 2009 Time Flies 1.0 Nov 11 2009 Thawte claim I’m not to be trusted… Nov 11 2009 Performance Monitoring Basics Oct 31 2009 Java source for Mac OSX Aug 01 2009 Abstracting ReentrantReadWriteLock Aug 01 2009 is(not(instanceOf(smell))); Jul 29 2009 Convert a Callable to a Runnable May 29 2009 SWTBot vs Window Licker Mar 15 2009 Less is More Feb 26 2009 Inferring the Types in a Micro DSL Feb 23 2009 More on Micro DSLs Feb 16 2009 Inheritance vs Composition Jan 24 2009 Deprecated Annotation Jan 22 2009 Be more Expressive with Builders Jan 06 2009 2008 What Makes a Good Pair? Dec 31 2008 Be Explicit with the UI Thread Dec 30 2008 SWT Support for Window Licker Dec 29 2008 SWT Applications on Mac OS X Dec 29 2008 Interfaces vs Class impostorisers Dec 24 2008 JUnit and Threaded Tests Dec 17 2008 XPDay 2008 Dec 11 2008 2006 New Blog Mar 14 2006