Wednesday, November 27th 2019
It's been a full year…
…of employment and up skilling. I know, there is still a month to go, and much can happen until twenty-twenty, but everything gets together so far.
The idle problem
For a start, I succeed to fix my sleeping pattern. Don't laugh, it's been a problem since I'm born, could never sleep enough hour or early enough. But that seems to be fixed, thanks to some Melationin. I honestly don't have a clue if I'm under a placebo spell, or if it actually fixes my sleeping pattern, but it helps and that's what matters at the moment.
The stalled frame
I went back to my PHP framework, to see what went wrong and how it could be better, with my new way to think and some language enhancements that happen since PHP 5.3. It still is a work in progress, but I really feel a new dynamic in my brain, coming back to this old piece of junk.
I totally rediscovered the front-end world, as I've been introduced to
advancements that occurred this past decades. I had to shelf my disgust for
and the principle that
JS should gradually improve the display of a page, or
application, for the
SPA paradigm. I still think we should be able to work around
JS for safety reason. But at the time, available stacks don't seem to provide
satisfying solution for this issue. Maybe gatsby's an answer,
I'll have to get some time to explore this kind of tool.
Nevertheless, I skilled up learning TS, advanced modern JS, Sass, SCSS, AngularJS, Facebook's React, Twitter's Bootstrap, and Bulma, ; the NodeJS ecosystem, comprising NPM, Express, Yarn, and a lot bunch of joyful maddening technologies… Let's hope it's for the best.
I've not been completely idle on the backend side, as I learnt the
Go language. I'm still
a bit conflicted, as Gophers promote reliance on global variables, single-letter variables,
code repeat, a memory model that pretends to ensure memory safe operations, while you
still could encounter
nil objects… Maybe it's me, I still didn't get how to use
coroutines and channels, that might explain why I still see Go as a dumbed C.
A technology changed my daily routine: Docker. If you're not a fullstack web developer you can't image the relief this technology provides. Before this, installing projects was an actual pain. Some of us remember the hell it's been to have PHP5 and PHP4 to coexist on the same machine. Of course, solutions based on FCGI and the like existed, but conflicts arose too frequently for not being among the first suspects in a unexpected behaviour.
Docker changed this for the best. Having different apps using different stacks exposing on the same port is no longer an issue, thanks to network management.
Of course, the learning curve's a bit steep, as you have to understand some key points, but the gain in agility is tremendous.
A Nightmare on Elm Street
All that is quite interesting, but it doesn't compare to my encounter of the functional
world. I believed I did functional programming through C++. When it's true that
is based on immutable behaviours, I never actually
get the full extent of functional programming. And to be fully honest, the wording
confused me, as I considered procedural programming and the use of free functions
as a full-fledged functional programming.
Wrapping my mind around Elm completely shattered that believe, and enable me with a new approach of problems. I rely less on the object orientation paradigm, and leverage invariability to think better (and more predictable) workflows. It even improved the way I'm writing shell scripts!
Unfortunately, Elm, or even Haskell for that matter, are using a syntax that not everyone seem comfortable with. Maybe I'll take some time to right a tutorial next year, to help those who can't make sense of Elm syntax.
Since this summer I'm working on some project for a friend. It helped in building my confidence after all those years of uselessness. Can't really talk about it, but this my change next year. I have big hopes for it.
I hope to have enough time to explore some tech I just scratched the surface, and on which I postpone the study. Such domain are the IoT and the ominous cloud.
This year 2019 has been fun and full. I hope this really throw me back on the track to success and fulfillment, as I have to prepare my 40th anniversary next year. This will require some budget!