Łukasz Bownik

About Me

I’m a Software Architect continuously contemplating various ideas. This page summarizes my ideas and inspirations. To find out more about my career visit my LinkedIn profile.

My writing


Semantic Web. Representation and logic ( published in Polish)

The goal of this book is to introduce reader into a set of techniques used to build Semantic Web.



Into the Core of REST
The article tries to distill a deeper, more generic nature of REST architectural style not tied to web services.

Bare HTTP is Not Fully RESTful
The article tries to map a deeper, more generic nature of REST architectural style into HTTP to show protocol deficiencies.

Machine Reasoning in CAD Applictions
This article presents the use of inference engine to implement mechanisms that automatically detect design errors and generate design tips in CAD (Computer Aided Design) applications. 

Relational Database Schema Versioning in 55 Lines of Code
The article describes an approach to reliably version relational database schemas.


LinkSet – An Alternative Approach to Events Java
The article describes LinkSet, a tiny library created in order to relieve programmers from declaring listener interfaces. It utilizes Java 5 features and was designed to be a drop in replacement for a conventional “listener interface + anonymous class” solution.

Linkset Gets An Event Bus Functionality
The article is a follow-up of the previous one where I describe even mechanism implemented in LinkSet library.

A remote dynamic Command pattern with GWT and LinkSet
The article describes a „remote command pattern” implemented with the help of LinkSet library.

Yet Another Fluent JDBC Wrapper in 200 Lines of Code
The Article describes a simple fluent wrapper over JDBC API.

Assisted form filling
The article describe the use of Semantic Web techniques to automatically pre-fill web forms.

An Exercise in Estimating Refactoring Time
This tip describes an exercise in finding the formula that is able to estimate the time required to refactor code based on the number of lines of original, pre-refactored code.

Automated testing

Unit Test Suite Quality Estimation
This text presents a simple method to estimate the quality of a unit test suite that can give some insight into the subject beyond regular test coverage.

On Design, Testing and Why Some Unit Tests are Waste
The article describes an alternative approach to unit testing.

Software engineering

The Psychological Reasons for Software Project Failures
This article discusses the psychological reasons of software project failures.

Software Development as a Research in Domain of Value
The article discusses the similarity between software development and applied research and draws conclusions from it.

The Oath Triangle
The article discusses the moral virtues that shall underpin the commercial software development to ensure healthy cooperation.

“The Surgical Team” in XXI Century
Updated concept of „The Surgical Team”.

Why Software Companies Die
The article describes technical and sociological reasons for software companies deaths.

My open source projects

  • LinkSet – experiments with signals and events using annotations and reflection (Java)
  • primitive-json – simple, fast JSON parser (Java).
  • fluentJDBC – minimalistic JDBC wrapper using lambda expressions (Java).
  • schemaupgrader – a minimalistic solution to relational database schema versioning (Java).
  • primitive-quality – an Apache Ant task automatically calculating unit test quality metrics (Java).
  • StarDrifter – a browser-based space game (play here).

Books I recommend






Any fool can know. The point is to understand.

Albert Einstein

Our real discoveries come from chaos, from going to the place that looks wrong and stupid and foolish.

Chuck Palahniuk

A clever person solves a problem. A wise person avoids it.

Albert Einstein

No problem can be solved from the same level of consciousness that created it.

Albert Einstein

One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

Elbert Hubbard

Those who cannot remember the past are condemned to repeat it.

George Santayana

What I cannot create, I do not understand.

Richard Feynman

The first moral obligation of the wise is to prevent fools from taking action.

Łukasz Bownik

To suppose that any form of management will secure productivity, quality and innovation without any virtue in programmers, is a chimerical idea.

Lukasz Bownik (after James Madison)

Stupidity is the same as evil if you judge by results.

Margaret Atwood

Well begun is half done.


Most problems programmers deal with are either trivial or solved or can be decomposed into trivial and solved.

Łukasz Bownik

For every complex problem there is an answer that is clear, simple, and wrong.

H. L. Mencken

Being ignorant is not so much a shame, as being unwilling to learn.

Benjamin Franklin

By their fruits you will know them.

Matthew 7:20
New King James Version

Where there is no vision, the people perish.

Proverbs 29:18

It’s the little details that are vital. Little things make big things happen.

John Wooden

Success is a lousy teacher. It seduces smart people into thinking they can’t lose.

Bill Gates

Order without liberty and liberty without order are equally destructive.

Theodore Roosevelt

Reading takes me to places where other people think.

Neil deGrasse Tyson

The young man knows the rules, but the old man knows the exceptions.

Oliver Wendell Holmes, Sr.

It is in the very nature of expotential growth, that by the time a problem has arisen it’s often too late to address it successfully.

Geoffrey West

Crisis is a moment of truth.

Jared Diamond

There are no solutions. There are only trade-offs.

Thomas Sowell

Once a metric becomes a target, it looses its meaning as a measure.

Charles Goodhart

The way people behave is not based on reality, but on their models of reality.

Gerald Weinberg

Without deviation from the norm, progress is not possible.

Frank Zappa

To understand is to change, to go beyond onself.

Jean-Paul Sartre




Send Me a Message

Create your website with WordPress.com