Posts
-
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.
-
Refactoring Primitive Obsession
Enriching the domain model by fixing Primitive Obsession code smells requires careful refactoring in small steps. Here I'm presenting some tips for doing that almost fully with automated refactorings, making it much faster and safer to do.
-
Value of Simplicity
Seize the day and simplify your design. Finding a simple solution to a complex problem is one of the ultimate achievements. In this post I try to convince you and briefly touch the foundations on which one can build a simple solution.
-
Beyond cargo cult software design
Programmers often reuse designs without questioning their applicability to the task at hand. A program whose design poorly matches its purpose is hard to understand, hard to test, and hard to change. Test-first development guides the design process towards better solutions by keeping it focused on the program's purpose, and by highlighting design flaws that lead to poorly defined components and rigid programs.
-
Polyglot programming
The idea of polyglot programming is to render more natural and simpler solutions by combining the best solutions available from different programming languages and paradigms.
-
Solita Code Tasting 2012: Raspberry Pi
Last week we had the pleasure of hosting two open Coding Dojos for 30 enthusiastic programmers. The theme was Raspberry Pi and creating your own web server that could serve our demanding challenger.
-
Solita Code Tasting 2012: the Code Behind the Event
Explaining the platform for the programming competition in Solita Code Tasting 2012. It was implemented with Clojure and designed to encourage good software development practices among the participants. Not surprisingly, those who wrote tests won.
-
A case for formal computer science
To write great programs, one needs to know the theory of programming. Hacking is the fun part, but mastery requires more.
-
Interactive JavaScript testing with PhantomRunner
Introducing PhantomRunner: a Java based, open source testing library that provides integration between JUnit and Jasmine via the PhantomJS headless browser.
-
Clojure introduction
This is a short guide for getting familiar with Clojure programming language and its basic development tools. This article is targeted to the students at TAMK that participated the visiting lecture on Thu 29.11.2012. Please feel free to ask questions, if you have any problems setting up Clojure.
-
EPiServer in the Cloud – a quick start guide
This is a short guide for installing EPiServer on a cloud server. Please feel free to ask questions if you have any problems.
-
Solita Code Camp 2012
Code Camps are a great way to learn new things and socialize with your mates. Solita hosted its first internal Code Camp november 2012 and it was a great success!
-
Why does EPiServer Add-On Store matter?
EPiServer 7 ships with the Add-On Store. It will give us feature packaging to manage the solution better. But it's not the real reason I like the concept.
-
Great times ahead with EPiServer 7
EPiServer CMS is a modern content management system. Version 7 is a redesign of a great product. Developers are treated to modern tools such as ASP.NET MVC and Razor markup.
-
On CoffeeScript
CoffeeScript - if you aren't yet familiar with it - is a nice little language that compiles to readable, "safe" JavaScript (everything wrapped in an anonymous function, variables are lexically scoped). It swaps curly braces for indentation, arrows for function definitions and adds a few features such as classes and array comprehensions.