Motivation At a client, one of the projects has a long building process and the tests are mostly slow, so I use a local building pipeline, an example of the Pipes and Filters pattern.
This allows for executing manually only the fast unit tests, then automatically (no user intervention, no time spent) executing the rest of them before pushing. In case the latter fails, it is possible to do git push -f to the pipeline without corrupting the central repository (origin) history, possibly disturbing others.
JVM default encoding as UTF-8 Make the JVM use UTF-8 character encoding by default
Set up the system property JAVA_TOOL_OPTIONS to -Dfile.encoding=UTF8
There are times when you only want to have the production code:
downstream job after a successful build compiling in local after checkout from DVCS spiking (possibly the tests are broken) speeding up the process For that, maven allows to skip the tests, selectively:
-DskipTests compiles the tests, but skips running them -Dmaven.test.skip skips compiling the tests and does not run them. This can also be written as -Dmaven.
In bash, the usual behavior is to return the last status code:
bash-3.1$ tr tr: two strings must be given when translating bash-3.1$ echo $? 1 But this also applies to pipes:
bash-3.1$ tr|tee 1.txt tr: two strings must be given when translating bash-3.1$ echo $? 0 Should you want to pass the non-zero (error) status code to the next operation, use this feature toggle: set -o pipefail
bash-3.1$ set -o pipefail bash-3.
Blazing Fast HTML: Virtual DOM in Elm I’ve read this article explaining how Elm works in relation to the virtual DOM. By Evan Czaplicki.
Tags: elm, dom, virtual-dom, comparison, speed, haskell, evan-czaplicki
Why you should never, ever, ever use MongoDB I’ve read this article stating the downsides of using MongoDB. Written by Sven Slootweg
Tags: mongodb, downside, sven-slootweg, json, document-store, postgresql, acid
Do you really get classloaders? I’ve watched this video by Jevgeny Kabanov on classloaders: what they are, how they work nad some tips to solve common issues.
Books I’ve read this quarter1:
The Craftsman by Richard Sennett. Posts under the tag the-craftsman Software Craftsmanship: The New Imperative by Pete McBreen. Posts under the tag software-craftsmanship-book Lisp Hackers by Vsevolod Dyomkin The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler. Books started, not yet finished (WIP):
Haskell Programming, By Chris Allen and Julie Moronuki. This book is still in progress and I’m reviewing it Functional Programming Patterns in Scala and Clojure by Michael Bevilacqua-Linn Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt Books I want to finish: