Notes on C#

C#, judged by those with no musical knowledge to mean C++++, is Microsoft’s version of Java – which says a lot about it. At a first glance, it has all the boredom of its inspiring language, but a closer look shows how much of the exotic fruit Kool-Aid of functional programming it sipped. The result is what you’d expect: a holy mess. Here is how clean and intuitive the usual C# program is:

continue reading
Notes on Haskell

Haskell is a purely functional language whose entire presence on the Tiobe index consists of people asking “Why should I learn Haskell?” on stackoverflow. Haskell defining feature is monads its type system (however, make no mistake: there are more advanced ones, but Haskell got more web scale frameworks than all of those combined). The nice thing about good type systems is that they force you to see everything in term of types. This statement might seem tautological, but once you get rid of weak Java-like static typing and can spot even the type of types - ahem, kinds - things start to make sense in a sort of organized, high algebra way so that you can ditch superfluous things like documentation, as you will have all types nicely displayed above the definition of stuff. But what does such type system have that makes it so good and advanced?, you may ask. As always, let’s build leg strength starting up from easy steps:

continue reading
Notes on JavaScript

JavaScript, maybe with the exception of PHP, is the worst widely used language. It is so hyperbolic awful that, akin to when one feels down and listens to sad songs to continue down, one feels the need to use it everywhere for everything. Its meme like terribleness spread to the server, spread to otherwise unthinkable uses of once a blinking pop up maker language; its corrosive effect has a permanent mark in the brain, up to when you find yourself accepting horrible malpractices as commom sense, no matter what they are.

continue reading
Notes on Racket

The Racket language belongs to the LISP family. The main difference between LISP and other languages is that you can name like-this, as opposed to likeThis (or, even worse, like_this), and all operators all prefix. And of course, homoiconicity. Homoiconicity is a fancy name for “code as data”, i.e., LISP code can be manipulated as any other data structure. Such manipulation is achieved by the use of macros: functions that receive code and output code, which in some cases might as well be black magic.

continue reading
PureScript in production

MeroChat is a friendly random chat. Think omegle but without pervs, and you also got to have a full profile. Being a personal project, I enjoy the freedom to pick the stack, but having something reliable with some guarantee of correctness is paramount if I am to save and make the best of my sparse free time. I ended up choosing PureScript – for both server and client side.

continue reading
The Man from Earth is still bad

Many years ago (am I getting old?), I watched the 2007 film The Man from Earth after effusive recommendation by denizens of some online forum. The praise was indeed high. “Only movie I ever rewatched right after watching it for the first time”, said one person. My opinion was somewhat different, however. Be it too much expectation, or just not the right mood, I did not enjoy the movie: it felt like a weak attempt at an actually interesting premise, made all the more frustrating by a terrible ending.

continue reading
The Hunt, or how not to do political commentary

The Hunt (2020) is a satirical thriller which tries to make fun of “both political sides”. While failing at that, it reveals however a more insidious problem with mainstream political discourse.

continue reading
Philosophobia

Philosophy is useless, or so people will tell you. The general consensus is that it never progresses or solves anything. Or does it?

continue reading
Why anarchism is bollocks

Every so often, a person who dabbles in political philosophy (i.e., took the political compass test) encounters an odd far left ideology: anarchism. The usual (and rightfully knee-jerk) conclusion is that anarchism is bollocks. Let’s go over, in detail, exactly why anarchism is such complete bull.

continue reading
The lament of bad guys

Whenever I see a movie, read a book, or hear a story I always root for the bad guy. Not that I am evil, it is just that - as it is - someone ought to balance the unfairness bad guys are treated with. You know the plot: good guy appears, bad guy appears, bad guy is winning most of the time, but then in the end the good guy come out on top because… he is the good guy. The bad guys are always stronger, better prepared, original and clearly more passionate yet they must lose as the norm.

continue reading