Language selector

My garden is well, how is yours?

Okay, so what does the Software Garden actually mean?

If you’re looking for the original explanation of what the ‘software garden’ is, then I guess you won’t find a better explanation than the one I read years ago in The Pragmatic Programmer by Andrew Hunt and David Thomas.

There are these books, films, paintings, etc. which revolutionise the way you think in certain aspects. Many people took many things from this influential book: some started boiling frogs, some talking to rubber ducks. I was raised close to the nature, therefore in my opinion the software we create and use is much more like a garden than some architecture or machinery. It lives in a way. It’s never done. The whole ecosystem constantly changes. You pray for the rain. The summer comes after the spring. New plants need space. We need to get rid of bugs to have something to eat. You can’t start with green field every week. And so on…

That’s why years ago I changed my headline from ‘Software Developer’ or ‘Software Engineer’ to ‘Software Gardener’. Sure, it confuses and intrigues some people who haven’t read The Pragmatic Programmer. It also allows me to spot a few other folks with the same description of their position, and we instantly recognise each other.

Therefore, this page is meant to be the internet representation of my ongoing journey in Software Gardening. It’s not industry-scale farm with plant monoculture, acres and acres big. It’s my little garden, with seeds I care about, with birds singing in the sky and for sure, with some bugs as well. Consider yourself invited.

“The best sorting algorithm is quick sort." “Indexes make DB faster." “Data should be sorted using ORDER BY." “Composition - good; inheritance - not good." “Windows is an operating system." “You must have transactions in your DB." “Java is slow." “Don’t eat yellow snow." “You shall not self-sign your certificates." “Interrupt in Java is broken.” The IT world is full of mantras/revealed truth, passed (often in oral tradition) among developer tribes.
There are 10 kinds of people: the ones who already log stuff and the ones who will. ;-) But what can be fascinating about logging? It’s just adding some statements of given level to a file in /var/log, so what’s this presentation for in the fist place? Well, ordinary adding lines to /var/log and tracing them with tail -f or searching with grep is so… 1980 and inefficient. Meet Graylog: a centralised and distributed log management system.
Some say that keeping passwords in a [web] application is a boring and trivial task: some hashing, maybe some salt, et voilà! However, storing passwords and other sensitive data might not be as simple as it seems. You’ll see a bunch of examples of what to do and what not to do based on a freelance’s experience. Watch and see if you’re not sitting on a bomb. This talk (in various formats) has been presented at Chamberconf, 4Developers, Devoxx Poland, Wrocław JUG, Coffee JUG Lviv, jLabs Academy and others.

Language selector