Getting things to work
======================

Standards may differ, but in the computing world, the
difference between something working and just refusing to
cooperate is quite stark, binary one may even say. This
small article/rant will go over some random issues I
encountered, I feel there isn't enough of this in the internet
and often enough when one fails to get a computer to do what
one wants, one might feel quite inadequate, and at times even
wonder if we are a farse (good old impostor syndrom attacks
again) only to find a solution later that gets the system to
work just fine without any fanfare whatsoever, which after
what can at times be hours of work, feels quite anticlimatic.

One of the most infuriating parts of this is the issues one
can face feel so trivial yet challenging at the same time,
for example getting a simple to dynamically change when
preparing a file to get uploaded whilst it can be done in
about half a line of python code, getting it done without
hardcoding the replace can get to be harder, and the final
result of one's labour is as unnoticeable as it is hard to
get right.

Getting things right takes time, effort and is hard to tell
how much effort went into it once the whole ordeal is
complete, a journey one must take that few outside the team
and sometimes even within, will fail to notice. Nobody wants
broken software, yet broken software is the norm.

We've all had that bug one spent hours hunting down, using
advanced debuggers, even the mighty `printf("got here")` that
defeats many nasty critters that dwell in our code, spent
ages looking at memory values moving around, only to find the
cause of this ordeal was a greater-than symbol where a
smaller-than should have taken it's place, or an `x = nil`
at the start of a loop we forgot to add. Many bugs look like
this, they do take quite a bit of time, and once fixed nobody
will ever care about this trivial issue once deployed. But I
refuse to let this still be the case! Found you where moving a
pointer in the wrong direction? Great! Found out you where
assigning instead of comparing? Amazing! (yes this is a thing
in C, it pains me to explain that `if (x = 2)` is a valid
expression, seriously use your linters, they will save you
the pain)

So if you're ever stuck with a situation you can't get working,
be it getting a library to compile, a service to run, or
an algorithm to do what it should do, don't get discouraged,
it happens to all of us, nobody is perfect (except our Lord and
Saviour, Florida Man, bless him.) Keep working on your project,
you'll get it right eventually, and be proud once you get
there, proud of not giving up. Many projects die when their
developer hits a wall they can't get over, don't let that
happen to yours, whatever it is, whatever it does. Don't give
up.

                                                       -K