I don't really blog anymore. Click here to go to my main website.

muhuk's blog

Nature, to Be Commanded, Must Be Obeyed

September 24, 2017

How to Write Easy to Read Code

A long time ago in a software sweatshop far, far away… Our code monkeys, haxx0rl33t and xXxDarkAssassiNxXx were furiously typing away to meet their deadline that was yesterday. The fact that it was dictated by non-technical people is irrelevant to our story. Our story is about the consequences of this artificial urgency for our code mon… developers.

Our esteemed colleague Mr. haxx0rl33t, is a results oriented fellow. To be more specific; the kind of person who would argue; assembly is as expressive as any so called high level language, because they are all turing complete. Code is purely a means to an end, triggering right side effects at runtime is all that matters. Therefore haxxy can’t care less about readability. Now, this may come as a surprise to you, but haxx0rl33t’s code occasionally has bugs.

Read more...


April 16, 2017

Don’t Hire Debuggers

Debugging is a valuable skill. Knowing your way around the debugger, building monitoring and administrative infrastructure to deal with errors in production, getting good at finding your way in a messy codebase are all useful. However let us not forget bugging precedes debugging.

Read more...


January 29, 2017

Domain Specific Languages in Clojure

Lisp is an excellent choice for implementing Domain Specific Language’s (DSL for short). We are not going to focus on why (or how) Lisp is a good choice for DSLs in this post. Instead I will try to give a few interesting DSL examples written in Clojure.

Read more...


November 13, 2016

Making Color Schemes in Node Editor

This is a beginners level Blender tutorial about the node editor and materials. If you are already comfortable creating your own materials and more importantly your own node groups there is probably not much I can offer here. Although the examples are for Cycles renderer, it would not be drastically different for Blender’s internal renderer.

Before we begin let me explain what I mean by color scheme. A color scheme is a grouping of specific colors generally for aesthetic or usability purposes. In the context of this post a color scheme is a function that takes some parameters, color or non-color, and produces a list of colors. For example, a simple color scheme could take a color and result in that color and its complement (opposite end of the hue circle).

Read more...


July 24, 2016

Installing Elm with Stack

I am quite conservative with what I install on my computer. Even more so when it comes to installing package some package manager just to be able to use one package hosted. I have been meaning to play with Elm for some time and it was disappointing to see the requirement of npm, in addition to a source install, to use it on GNU/Linux. Of course I have been misreading the following statement:

Second, if you are on some linux OS and just want to use Elm, use the npm installer.

Read more...