Posts
-
Monster fighter
A developer's guide for surviving a large and long running project.
-
When to Refactor
How to maintain the balance between adding new features and refactoring existing code? Here are some rules of thumb for choosing when to refactor and how much.
-
Deconstructing a tweet-sized language
140 characters might not seem like much, but it's enough to implement an interpreter for a simple programming language. This post explains how.
-
Publishing to Maven Central Repository
The Central Repository is the de facto place for publishing JVM-based open source libraries. Publishing your own libraries there is not hard and it will benefit your users.
-
Unit tests, for good
In an opening keynote to Reaktor dev day 2014, Erik Meijer declared unit tests a general waste of time. Mr. Meijer's routine use of overstatement offers a really nice target for nitpicking.
-
Simple Deployment Pipeline
It is possible to create a professional deployment pipeline and do Continuous Delivery (CD) with few simple tools. When you remove the hype, CD and DevOps are not magic. I will present a real example from our project to show what can be achieved with a minimal effort by ordinary developers. Quite a lot actually.
-
Sharing client-side components with Bower
You need to build an app which uses a certain type of component. You recently built one for another project. Extracting it is a piece of cake but how are you going to share it between the two apps?
-
Why infographs have an edge?
I explain 3+1 aspects that make interactive infographs superior to traditional document based reporting.
-
Need for Speed, or: What Is (Probably) Coming to the Java VM in a Few Years
There are a bunch of improvements that are currently being investigated for the Java VM and language. Most of them won't make it into Java 9, but maybe a couple of years later we can enjoy them.
-
Writing Compact Java with functions and data
Rethinking stylistic issues could help us in dealing with complex problems. Computation is not all about ownership.
-
Real World Clojure
You may have heard already that Clojure is great and going to dominate the world this year. But will it? In this article I will dig deep into one of our Clojure projects so that you can see what a real world Clojure project looks like and decide for yourself.
-
Communication in library design, a user's perpective
Everyone has encountered a software library that is hard to use. From the designer's perspective, the user can always be educated a bit more, but sometimes user training misses the point.
-
Warnings are Errors
You know how to treat compiler errors – just fix them. But what about compiler warnings? Here are some thoughts and suggestions.
-
Pimp My REPL
Everyone knows Lisp programmers live in the REPL, and Clojurians are no exception. This is a tour of Clojure libraries and practices that make life in the REPL even more comfortable.
-
Developer Garage in Helsinki on 2014-03-05
We are organizing a Coding Dojo at Solita's office in Helsinki.
-
Solita Dojo in Helsinki on 2013-10-23
We are organizing a Coding Dojo at Solita's office in Helsinki.
-
Clojure world domination 2014
Form follows function in great design. Interestingly we can now eliminate annoying barriers between data, form and function. The Clojure train is accelerating!
-
What's in a Good Commit?
These tips can help you turn your VCS from a backup system into a valuable tool for communication and documentation.
-
Interdependent Build Pipelines with Jenkins
When doing continuous delivery for multiple interdependent projects, each project's build pipeline needs to be parameterized with the version numbers and binaries of upstream pipelines. It's easy to do in Go, but Jenkins doesn't support it that well. Here is how I was able to twist Jenkins to my use case.
-
Our Faces Combined
I wanted to check what an average Solita employee looks like. I had images of all Solita employees' faces, OpenCV-library, Python and some free time.