Solution to an ugly cookie law
Jul 4, 2018
Proposed solution to a European Union law which made all websites look ugly

Don’t Kid Yourself About Software Bootcamps
Jun 30, 2017
My honest take on software bootcamps, and what you can use them for.

To actually ship software, add constraints
Jun 28, 2017
If you learn and grow throught building projects on your own, but never complete any of them, that’s a problem. I had the same problem and got out of it. Here’s my take on the problem.

Hackers and Cooks: how building software really feels like
Jun 26, 2017
We spend too much time writing code instead of building software, and we forget what it’s all about…

Great Movies About Design
Jun 5, 2017
There are some good design movies out there, and I’m going to give you a list of those which I watched and can recommend.

Which Open Source Projects Should You Contribute To
May 31, 2017
Open Source isn’t all equal. Contributing to wrong projects won’t bring you many benefits, so deciding how you invest your time is important.

15 Tips on Staying Productive Offline as a Software Engineer
May 22, 2017
You can stay offline and be productive. In fact, most of the world’s inventions were done offline, you know it? I want you through my setup for offline work on software.

What it’s like to write software in the hardware industry
May 13, 2017
Many people state that writing great software can only be possible in a software company. I debunk this statement and explain what my take on it is from my first-hand experience.

Treat Continuous Integration as your virtual user
May 7, 2017
We use Continuous Integration incorrectly and waste user’s time in doing so. In this article we talk about how to properly build the Continuous Integration flow.

Single Command Principle
Apr 29, 2017
The best way to engage new users to your software products is to deliver something that just works, right out of the box, with little or no configuration. We discuss why’s and how’s of this approach. We call it “Single Command Principle”..

SSH VPN on OSX with SSHuttle in 3 minutes
Apr 9, 2017
How to setup a temporary SSH VPN from OSX to any server.

How software engineer should invest in career growth
Mar 31, 2017
How to invest money in yourself, your education and a career growth as a software engineer.

Are you a good Open Source contributor?
Mar 28, 2017
You’re a bad Open Source contributor. Open Source Scale of Contributions shows that. You can check it out and come back and shout at me, and prove me wrong.

Movies every software engineer should watch
Mar 13, 2017
When you’re not in the productive mood, and you need some techy movies, watch these titles.

How to use Ansible Vault with LastPass
Mar 5, 2017
I give you the tool which will help you keep your Ansible Vault passwords in LastPass. I show how to use it as well.

What’s the most expensive stage of software engineering?
Feb 28, 2017
In this article I explain where the real cost of software comes from and what does it have to do with Joint Strike Fighter.

Making pull requests that merge
Feb 18, 2017
Making progress in a software project means accumulating changes which align well with the its plan and vision. I explain how you can be more successful at your job when making code changes, and how to improve the quality of your pull requests.

Learn programming: self study guide
Feb 13, 2017
I show you my approach towards studying programming and software engineering on your own. I’ve used it with a great success for many years, and I think it’ll work for you too.

How much software engineer should invest in career growth
Feb 6, 2017
In this article I look at expenditures of the industry and explain how similar investment can make a big difference in your career.

Why you should start programming on UNIX
Jan 28, 2017
People sometimes asked me how to start programming, and many of them get a wrong advice about web programming, webapps etc. In here I share my opinion of what I believe is the right path to start building software.

The best OSX file manager
Jan 18, 2017
Shuffling files on OSX doesn’t have to be hard if you have the right tool. I show you the motivation behind the research on file managers I’ve done and show you my favorite tool.

Reading 101 for software engineers
Jan 17, 2017
Software engineers should read, and I explain how to go about it.

That’s why you haven’t accomplished enough in 2016
Jan 2, 2017
While most of us make new New Year resolutions, I look back and see why some of the last years plans didn’t pan out.

Building an Open Source iOS app: lessons learned
Dec 12, 2016
In this post I share my links, materials and videos for the talk I gave at Silicon Valley Mobile Developers and Designers Meetup.

Failure of my one post per week goal
Nov 2, 2016
My summary of why writing even one blog a week is fairly hard.

Dealing with large jobs on Travis-CI
Jul 25, 2016
Below I explain problems you may run into when your continuous integration build starts to take a long time and I show some simple solutions for deadling with them.

What I learned from connecting 60 projects to CI system
Jul 11, 2016
My lessons learned after I went through my GitHub and connected whatever I could to Travis-Ci, Circle CI and AppVeyor to get it built and tested.

What Docker really is
Jun 27, 2016
Easy to understand explanation of Docker. Docker for dummies and normal humans.

Use as few tools as possible
May 16, 2016
My take on the software architecture. When you’re building a complex piece of a product, and the vision of using existing tools is very tempting, remember that using them can bring some threats. I explain them here.

How to ask questions on Stack Overflow?
Apr 18, 2016
Stack Overflow is probably number one forum for developers. We all consume it, but less people actually produce content there. I present my take on it and why some questions are basically hard to answer.

Don’t document. Automate!
Apr 11, 2016
Have you ever wondered why people who write great posts and figure complex flows out don’t make it easier for others? In this piece I explain what my take on it is.

Dropbox on iOS is disappointing
Apr 4, 2016
My take on iOS Dropbox usability at the time of writing this article.

I’ve got an iPad Pro yesterday
Mar 21, 2016
My buyers remorse and post-mortem or lack of first or the later.

How to store SSH passphrases in LastPass
Dec 7, 2015
LassPass improved my flow for passwords, and in this article I present how to make it work for SSH keys and their passphrases.

How I use transparency during development
Dec 2, 2015
Short hint on how transparency in Terminal can be useful while working on web stuff.

Quiz: portability of “find” command
Nov 29, 2015
Another portability issue when moving around the operating systems. How often do you use find? Exactly. Interesting for UNIX and macOS people.

My GitHub Wishlist: Consolidate Request
Nov 23, 2015
We all love fork and merge in GitHub, but what I think would be both hard to implement and very beneficial for the Open Source community is: consolidate. In this post I talk about how I’d like it to work.

Computer History from Giants Themselves
Nov 16, 2015
I don’t subscribe to many YouTube channels, but I’ve subscribed to the Computer History Museum one, since it’s a mine on knowledge in my opinion. In here I discuss why I believe it is so.

How to use nginx on Travis (or other) CI system
Nov 1, 2015
Travis-Ci is cool, and so is nginx. In here I share some stuff to marry the two and let your CI scripts use nginx during testing.

Subtle difference between FreeBSD, MacOSX and Linux printf
Oct 28, 2015
Things you’ll find when you try to write a substitute for one of the most basic and rudimentar pieces of UNIX C API. Treat it as “lessons learned” from implementing mini_printf.

Top 3 bugs I make in shell scripts
Oct 12, 2015
Things to shy away from when working on shell scripting.

Pastebin adds DOS new-line separators at the end snippets
Oct 5, 2015
Ouch. This bit me really hard, so I’ve made a warning sign out of this post so that other guys don’t hit that.

wget in 9 lines of Python For Hostile Environments
Oct 4, 2015
Bootstrapping a system on a UNIX distribution where not all the tools are installed and those installed are out-of-date can be challenging. I’ve missed wget on Synology distro, and I show how you can work-around it.

Do You Have a Favorite Shell Trick?
Sep 28, 2015
Something for Bash geeks.

Why it’s not about self-driving
Sep 23, 2015
Self-driving technology is something I never believed would happen in my life-time. Looking at the race to build and improve this technology is very interesting and I explain why I believe why it’s so. If you wonder why the Internet search company bothers with cars, read on.

(Probably) the single biggest collection of Ruby scripts
Sep 1, 2015
This is a very nice archive with a lot of small Ruby scripts. I use it to evaluate things like Travis-CI, where you have a chance to pick different Ruby interpreters. In here I present the easy-to-access format to this source code. Visit and star GitHub if you like it.

How do you evaluate new technologies?
Aug 26, 2015
With the lack of time behind your belt? You still miss one piece to make your project happen, and there are five possible solutions? Here I mention things worth paying attention to.

I wish Ruby and Python stopped changing so much
Aug 17, 2015
C program written 30 years ago is likely to compile and just work today, if the OS is more or less similar. Is it the case for Ruby and Python? In this article I’m covering that.

Non-continuous innovation = dangerous or “Amazon Ad Platform Cleanups”
Aug 10, 2015
Amazon went ahead and changes their advertising links, which impacted me. In this article I discuss making changes to your products in a non-continuous ways and possible impacts it can have.

Command Line Interface to
Aug 3, 2015
People complain about GoDaddy, but for me it just works. I miss the automation and this is my attempt to address that. You get a single-command program to set the records in your domains managed by GoDaddy.

Optimize for the Developer’s Time, Not the Machine’s
Jul 28, 2015
In the age where CPU cycles are getting cheaper and cheaper, many people still shift and crank bells and whisles in the software. In the piece I write that most of the time it’s no longer necessary. What’s really necessary is writing human-readable and usable software.

Why the Go Language Won’t Be Successful
Jul 22, 2015
My take on Go usability from the perspective of the 1st time user. My most-read article so far.

Source Code from “Programmer Guide to NCurses” by Dan Gookin
Jul 8, 2015
Dan Gookin did a good job with getting some NCurses examples out in the world, and I’ve just made it easier to access. If you like to write your own, little crude tools, and do all of this in C, this is a good resource.

How the best companies do Continuous Integration
Jun 29, 2015
Topic of continuous integration interests me a lot, and this is my collection of writings I’ve found around. Consider it a currated content.

Fixing Middleman-spellcheck
Jun 20, 2015
I liked Middleman for writing my website, I went and fixed up the spell-checking plugin. This piece explains some things step-by-step on how fixing some open source stuff looks like.

Random notes on “Barely usable”
Aug 6, 2012
This are my thoughts and insights after reading “Don’t make me think”

Almost usable — Sharp MFP printer menu
Jul 2, 2012
After reading the “Design of Everyday Things” I share some insights on things I’ve noticed in the office.

Figuring out confusing assembly instructions — Koszek trick #2
Jun 26, 2012
Useful trick to get from C to assembly and attempt to identify which C parts mapped to which assembly fragments.

Cross-compile GNU assembler for MIPS
Jun 10, 2012
Technical post which you’ll find useful if you study the details of the MIPS architecture, maybe from Patterson and Hennessy books.

fpurge() hack — Koszek trick #1
May 19, 2012
Dirty, ugly and terribly useful trick that works sometimes.

01001011, or on the art of snare drum patterns
May 17, 2012
Improvised use of Verilog and C and blending it with my drumset interests.

Funny mistakes and The Toyota Way
May 14, 2012
Some of my random thoughts and insights after reading “The Toyota Way”

Unfriendly IT, or how to get Perforce diffs e-mailed to you
May 13, 2012
I show a simple hack for getting Perforce changes e-mailed to you.

How to write a good Google Summer of Code Proposals
Apr 28, 2012
Some tips on how to write a good Google Summer of Code Proposal. Something that you may find useful if you consider applying to Google Code-In of Google Summer of Code.

Google Summer of Code — how proposals are evaluated
Apr 27, 2012
Short piece to serve as a help for students wishing to apply to Google Summer of Code. I discuss some background in how the open-source project evaluates submitted project proposals and what to look for to make your application successful.

Google Summer of Code — my take
Apr 26, 2012
I share my thoughs about Google Summer of Code and things I’ve learned while participating in this program as a mentor.