Windows 10 “Developer Mode”
The new Windows 10 update coming in a few weeks. It's called Windows 10 ...
How and why I made a zine
How (and why) I made a zine
Why You Should Use Tumbleweed
People often ask me why they should use openSUSE Tumbleweed and how it compares to other distributions like Fedora or Ubuntu. The fact is Tumbleweed is actually rather hard, if not impossible to compare to Linux distributions like Fedora or Ubuntu.
Recalibrate Your Productivity Sensors
Thoughts on software engineering and engineering management
Don’t Use Markdown for Documentation
“Markdown” is the most commonly used lightweight markup language on the internet. It is great for a subset of tasks, mainly blog posts and commenting. However, lately it has been adopted by the tec...
My Experience with Nix on OS X
Some time ago, I’ve moved this jekyll-based blog from GitHub Pages to a self-hosted NixOS server. A few weeks ago, I’ve also moved some parts of my local OS X environment from homebrew over to nix.
LeftPad and Go: can tooling help?
You’ve probably heard that story about NPM community and LeftPad package, that broke thousands JavaScript projects worldwide. There was a nice follow-up article titled “Have We Forget How To Program” and one guy even created left-pad.io - Left-Pad As A Service web service. People got a lot of fun discussing this story.
Automatically inferring file syntax with afl-analyze
The nice thing about the control flow instrumentation used by American Fuzzy Lop is that it allows you to do much more than just, well, f...
Accounting in 2016 – Still a manual and tedious process
The past few weeks I’ve been struggling with automating my accounting, invoicing and banking processes to the point I don’t really have to think about it anymore. Currently, a lot of my accounting-related processes are still way too manual for my liking. Being both a virtuous, lazy programmer and an entrepreneur I’d…
I made a cheap home motion sensor and controller
After designing my first PCB , I went on a designing spree. It turns out that making PCBs (printed circuit boards, basically a piece of plastic that includes all the connections of your components in it. It helps make your project smaller and cut down on the amount of wires floating around) is so enjoyable, I’m PCBing…
XKCD's StackSort Implemented in a Vim Regex
Which is the first answer to the first question if you search for 'sort a list' on Stack Overflow (which was answered by Devin Jeanpierre ).
Actually using ed (2012)
The classic ed editor is a really good example of a sparse, minimal, standard Unix tool that does one thing, and does it well. Because there are so many good screen-oriented editors for Unix, there’s seldom very much call for using ed , unless you’re working on very old or very limited hardware that won’t run anything…
What's in a Build Tool?
A "Build tool" is a catch-all term that refers to anything that is needed to get a piece of software set up, but isn't needed after that. Different programming communities have a wealth of different tools: some use stalwarts like make , some use loose collections of .sh scripts, some use XML-based tools like Maven or…
Node.js debugging with Chrome DevTools in parallel with browser JS
Node.js debugging with Chrome DevTools in parallel with browser JavaScript
Vim: So long Pathogen, hello native package loading
Vim 8 added a native way to load third-party packages. This means, for me at least, there is no longer any need to use a third party plugin helper like Pathogen.
Advanced Ping: httping, dnsping, smtpping
I really love ping! It is easy to use and directly reveals whether the network works or not. Refer to Why Ping is no Security Flaw! (But your Friend) and Advanced Tracerouting . At least outgoing pings (from trust to untrust) should be allowed without any security concerns. However, many companies are denying these…
Getting a network trace from a single application
I recently wanted a way to get a network packet trace from a specific application. My googling showed me an old askubuntu thread that solve...
Why I switched from Vim to Emacs
EDIT: As pointed out on reddit (both in r/emacs and r/vim), many of my criticisms of Vim are unfair. Everything I posted about was based purely on my personal experience with the two, but much of m…
Simple Guide to Finding a JavaScript Memory Leak in Node.js (2015)
Please consider reviewing this guide on Amazon, if you’ll find it helpful. Few months ago, I had to debug a memory leak in Node.js. I found a good number of articles dedicated to the subject…
Workman Keyboard layout
Introduction The Problem with Colemak Back to the Drawing Board Introducing the Workman Layout Pros and Cons Test Results Key Usage Visualization Tests Using Popular Books Downloads Recommended Key…
Version SAT
The package version selection problem is to find a set of dependencies that can be used to build a top-level package P that is complete (all dependencies satisfied) and compatible (no two incompatible packages are selected). There may be no such set, because of the diamond dependency problem: perhaps A needs B and C…