I’ve always been interested in the process of creating content, be it, 3d modelling, drawing, composing music or writing, be it the best I had was with 3d modelling and music.
But the one hobby that has stuck around while the others withered was none of the above, no the one that became my job, programming.
Rewind to 2007, 2008, I finally graduated to 3rd Form (9th grade, for those who use the grade system), one of the optional classes was Information Technology, which just so happened to include a bit of programming.
I was introduced to Pascal, I think was a DOS based editor, don’t remember too clearly.
Anyway Pascal was my first step into the world of programming, I didn’t have much of problem understanding some of the structure, but the bottom line was “I didn’t understand what I was doing”, sadly without the proper tooling and no access to the internet, my experience with Pascal was short-lived and in the following term, totally forgotten.
It wasn’t until my 4th form where I could finally choose my own subjects, where Information Technology became the forefront of my studies, so much so I did poorly in English Language (i.e. English is my native language, I’m still awful at it).
There I managed to finally get a internet connection, a bit a slow dial-up one, it’s what you can get when you live in the middle of nowhere with only mobile phone access.
But with that my world was opened to the internet, given it was slow as scanlines, 15kb/s internet, but still the internet.
My first objective was to look at various cat pictures, because the internet always had cat pictures, the next step was music, and loads of it.
After enjoying the entertainment the internet had to offer, I stumbled upon a program, an application, something to create RPGs with.
That application was RPG Maker XP, when I first installed it in trial mode, I was greatly surprised, almost overwhelmed, I could finally build the game of my dreams!
But alas, a beginner had no luck making a game, especially when all he had to work with was the manual that came with the editor and non-existent googling skills at the time.
Soon the trial expired and my dreams were crushed.
Defeated, I turned back to 3d modelling and passed my time doing that and modding Tiberian Sun, working some a mod called “Dominance” with a cool team.
And all was well, until RPG Maker VX came into my life, it was the next iteration in the RPG Maker franchise for the PC, and it began everything.
After learning how to properly use the internet, I joined an online community and became one of it’s content producers, and eventually a moderator, but that’s a story for another day.
The big take away from this was ruby, specifically ruby 1.8.7, and that blew my mind.
Learning the language I began by editing small scripts, and copying other scripts, putting my own spin on it. Eventually I started writing my own scripts for the community to use, and learning even more, before teaching others who to write ruby.
Eventually, hard times had hit my family, and I was left without a internet connection for 3 months, unfazed, I moved forward developing my own game, without access to the internet, the only thing I had was my old Gateway laptop, and a lot of time, and I mean A LOT OF TIME.
From there I developed my own systems, and eventually circumvented the VX editor, prefering to write all the database entries in pure ruby.
After months of seclusion, I emerged a hardened ruby script writer, but the world had changed…
(RPG Maker VX Ace)[http://www.rpgmakerweb.com/products/programs/rpg-maker-vx-ace] was out and the landscape changed, my old and dated knowledge of RPG Maker VX and it’s internals were rendered obsolete, I did manage to learn the new VX Ace structure, and ported several of my own projects over to the new engine, but the zeal, the love for the project wasn’t there, and was dwindling with each passing day, eventually I hung up the torch, uploaded a zip file with all my resources and announced my retirement from the RPG Maker community.
While I still dabbled in the code, it wasn’t about showing it to anyone, it was about having something to do, an itch, I needed to produce code, or I would be restless.
For the following months, I was commissioned to work on RPG Maker projects on the side for others as their programmer, it managed to keep my internet afloat, and I’m thankful for everyone who helped me during those hard times.
Eventually, Windows, wasn’t enough for me, and my friend, now best friend Blaz Hrastnik introduced me to Arch Linux, from there, my life changed, I gave up on Windows, and formatted my aging computer, installed Arch Linux and stumbled around for several weeks.
It was so different, nothing I knew worked here, getting used to the console was a hurdle, installing packages was difficult, doing anything was difficult, at some point I turned my computer off and just stared at the wall.
I had already decided Linux would be my main operating system, but everything was so different.
Eventually I got back into the swing of things, Sublime Text 2 became my text editor of choice (moved away from Notepad++ on Windows), Chromium my web browser, and xfce4 my desktop, I eventually tried KDE, and then went back to xfce4 and then gnome, before my laptop power supply died.
And there, no computer for 3 more months, I focused on my vocational training at the Heart Trust NTA, STVET doing Industrial Electical Maintenance Level 3 (now that’s a mouthful), eventually I got a new power supply, but the laptop was not meant to live, and it died a year later, luckily I already had a replacement, an Acer 772-G, sadly, NVidia sucks and linux was not meant to be on such a laptop.
Eventually I had to find an alternative, a Lenovo ThinkPad Edge E520, a sturdy, a bit under-speced but worked with my Arch Linux, sadly I had to reinstall my system after botching the original.
But within a day I was back up and running.
From there time passed, experience gathered, I rode the NodeJS and CoffeeScript hype, and worked on several jobs with them, I was hyped for ruby 2.x releases each step of the way, and Rails 5, I worked along with Blaz on Moon.,
I worked on a small bit of code in Flynn, I think it was their logging and api docs.
and then I finally landed a real job, working for TSG Global on their projects, there I worked hard with Ruby on Rails, and eventually had to migrate from Rails 4 to Rails 5.
Other projects appeared on the table and Blaz hopped on board, and worked with us/me, we eventually received a request to work on a new project, one that we decided to use Elixir for.
From there we worked on several other projects for infrastructure and eventually started porting the initial rails application to Elixir’s Phoenix, and that leads up to now.
In between all that I worked on Growthcraft 1.7, several mruby gems.
While I’ve left out quite a few details, and might have mixed up the order of some things, this was a rough history.
To summarise, my language experience includes:
- x86 Assembly (I have no idea why I tried writing own operating system at some point, didn’t get past drawing a character on screen)
This list doesn’t mean I’m fluent in all the listed languages, some I’ve only dabbled or stumbled around in.
Languages that I’m confident or fluent (or fluent enough in) are:
- Typescript (Lemme get this out of the way, I love type systems, I’m almost obsessed with type declarations)
- Java (I dabbled in Java several times prior to minecraft mods, but that was where I used it the most)
- C (I love the rawest of C, it’s just upfront with you for the most part)
- C++ (I kinda prefer C, maybe I just need to write an actual system in it then I can start loving it)
- Elixir (I fell in love in Elixir almost instantly, the immutability, the focus on process, data and functions, just muah!)
- Lua (I’ve only recently dabbled in Lua, but it’s a pretty simple language)
- Ruby (The language that really kick started my career and hobby, ruby you may be slow (after experiencing Elixir), cumbersome (OOP, it’s a double edged sword), and quite a pain when shit breaks (so much magic in some libraries), but you still have my love.)