On Unix Philosophy

I will never forget the time I discovered how web pages were made. The year was 1995. I was using Windows 3.1 like most everyone, and it didn’t even support the TCP/IP network stack out of the box. I had to install a program called Trumpet Winsock and a hot new web browser called Netscape to connect to the Internet…

Continue reading

I was looking to buy speaker stands for my KEF LS50 Metas and the DIY KEF LS50 Clone I use as my center channel speaker. KEF’s matching extruded aluminum S2 stands were a natural choice. Unfortunately, they were quite expensive, and I’m not really a fan of single column stands anyway, so I decided to build a few dual column stands myself…

Continue reading

One Function Per Line

Is it possible to make code easier to read than to write? After all, code is read more often than it is written when multiple developers work on the same codebase. If developers spend less time to understand how the existing code works, they can start writing code faster…

Continue reading

One of the most effective methods for detecting invalid types is to validate function arguments in runtime. Instead of using an all-purpose validation library designed for validating a wide range of data types, it might make more sense to use a library tailor-made to validate function arguments. With that idea in mind, I’ve created a lightweight JavaScript function argument validation library called fn-arg-validator…

Continue reading

Making a KEF LS50 Clone

Since you can buy two to three pairs of KEF Q150 for the price of one pair of LS50 Meta depending on whether there’s a sale or not, I decided to build an LS50 clone using a Q150 driver to see if they would sound similar after equalization. The clone wouldn’t have the beautiful curved front baffle and better crossover of LS50 Meta, but it would otherwise be very similar in construction….

Continue reading

When Design Patterns first got published, the year was 1994, a rather primitive time when functional programming languages that support first class functions were rarely used outside academia. These days, though, we have mainstream languages such as JavaScript and Python that can be used to trivially implement many of the design patterns described in the book with only a few lines of code…

Continue reading

You’ve probably seen programmers calmly writing code at 200 keystrokes per minute to solve hideously complex problems under strict deadlines, and the programs they wrote run perfectly on the first try, often only a few seconds before something blows up real good…

Continue reading

There are many ways to write automated tests for testing code, and you may have heard about test doubles for making testing easier. Some of the code we write is hard to test, so we replace those parts with fake test doubles that are easier to test…

Continue reading

Aycan Gulez