Jan Van Ryswyck
Author Archive

Jan Van Ryswyck

Hi, thank you for visiting my blog and reading all the crap that I'm posting here. I'm a senior software engineer at SD WORX. Developing software is one of my greatest passions in life, and I enjoy doing it every single day. I've got three kids (Len, Lisa & Laura) who constantly remind me that there is more in life than just programming all day. They are the greatest kids in the whole world. And last but not least, there's my girlfriend who is my inspiration in life. You can always contact me at jan_dot_van_dot_ryswyck at gmail.com

Node.js

I was implementing a custom writable stream in Node.js the other day when I ran into this issue where I wanted to know whether more data was coming or that we were actually done writing stuff. When looking at the recently revised API for stream implementers, the only thing that gets mentioned in the docs is the _write method. After some intensive DuckDuckGoing (yes, this might become an actual word in the future), I ran

Read More
Node.js

Soon after I started using Node.js, I ran into the phenomenon of multiple nested callbacks that create some kind of horizontal tower effect. The solution I came up with in order to improve the readability of my code was using a library called step, as described in this blog post that I wrote at that time. Over the past years I switched over to a couple of other control flow libraries that solve the same

Read More
Books

Earlier this week I accidentally stumbled on archive.org where they are hosting an extensive backlog of old issues of Byte magazine. This magazine was an American microcomputer magazine, influential in the late 1970s and throughout the 1980s (and well before my time). I’ve been skimming through a couple of these old magazines, and I got quite intrigued by some of these old topics. Probably one of the more popular issues was the one on Smalltalk,

Read More
Books

A while ago, I was thinking about which programming language I wanted to learn next. At first I was doubting between Scala, Ruby or perhaps Clojure. But I couldn’t really make up my mind. So I decided to pick up Seven Languages in Seven Weeks. This way I was able to take a small bite from a couple different cakes in order to decide which flavor I liked the most. The seven languages that are

Read More
C#NancyOpen SourceTools and Utilities

I’ve been following the ScriptCS project with great interest over the last couple of months. As you may know by now, I’ve been searching for a more lightweight .NET development experience for quite some time. The ScriptCS project is here to fulfill this desperate need. Driven by the open-source .NET community, this wonderful initiative promises to unleash C# from Visual Studio which is exactly what I’ve been looking for. Being heavily inspired by the node.js

Read More
Node.js

Some time ago I was looking for a validation library/module for use in a small Express application that I was writing at the time. I couldn’t find anything that suited my taste so I decided to write one myself just for kicks. The goal was learning how to publish a module to npm and making a futile attempt to contribute something back to the vibrant Node.js community. node-validation is a minimal but slightly opinionated validation

Read More
JavaScript

Inheritance in JavaScript has been the topic of many discussions in the past and will continue to be the source of future debates and arguments. While we do value composition over inheritance, we don’t want to throw the baby out with the bathwater either. So, from time to time, we run into these cases where we want some notion of inheritance in JavaScript. Now what? As with many things in JavaScript, there is not a

Read More
Tools and Utilities

It’s true. I’m a Sublime Text addict. It’s by far my favorite development tool. End of story! Just to illustrate, earlier this week, a member of our development team asked how to quickly remove all empty lines from a very large text file. I quickly came up with the following: Press CTRL-F. Enable regular expressions (the button entirely in the bottom-left corner). Search for ^\s*$ Press ALT-ENTER (click on the “Find all” button). Hit the

Read More