Back to Posts tech

Welcome to a new site!

It is nice to see you on this little corner on the internet. And yes, the date is correct. Even though the site only became public later, this message was written during the development of the site. Might as well tell you a bit about it now that my mind is set to it. That means that this post is going to be quite technical. Not to worry though if you're not very much into that, I will put some posts up regarding a wide variety of topics I'm interested in in the future.

My background has always been in front-end development. I surely do know some basics regarding back-end, but creating something and seeing people use and interact with the very thing you just built always put a smile on my face. That is why, when I started, my self-study and exploration mainly involved the web. Browsing a page seems normal to many, but I frankly find it quite magical that you can write something that runs on any platform, without any downloads. Even coding these pages can be wholly done through other pages (a la GitHub), which is quite meta when you think about it. I think that was also a huge influence in my choice for focusing on the web during my childhood. The laptop I used back then was horribly underpowered, and the public PCs I used on school — completely locked down (or should I say, were 'attempted' to be locked down). Without being able to install and use an IDE, let alone any program, the web browser became my portal to the world of technology. During this time, installing any program really felt like an "event", and I tended to get both nervous and excited every time I installed something because I so rarely got to do it. At the same time, the prospect of writing one of these very programs myself felt kind of daunting. However, that web browser...

I became very adapt at HTML and CSS, even earning a certification at freeCodeCamp (they've got excellent free courses, you should check them out if you're interested in learning code). I could make sites, and make them look exactly the way I wanted! That's how I've built websites for a long time. Create a folder and starting coding away in your favourite text editor! This worked great for small projects like one-pagers, but... something was missing. Like it was all looks with no substance.

I was good at styling stuff, but when it came to actually building something, I lacked the 'substance'. Sure, I could make a nice static site, but what about a blog, a chat, a forum, or any site with a service to offer? That I couldn't do. Luckily, at this point, I had moved on to better hardware to call my own. At last, I could play my Flash games without heating issues and need no longer bother school sys admins. I actually got a decent amount of pocket money, and I decided to rent a small VPS. Now, one of my bad habits is leaving systems quite messy, files laying around everywhere. Even worse when combined with my obsession of having a clean system. So quickly, I started looking into containers, and Docker was the next shiny thing. I hopped on board, and I can't say they were lying. All of a sudden, I could run just about anything! I can have that blog with Wordpress, my chat with Rocket.Chat and my forum with Discourse. But... it still didn't feel right. It wasn't really "mine", and there's nothing that sets my hosted instances of these great applications apart from other such instances. Of course, you could still do so through good content, perhaps with the help of a great community, but as a developer, I very much wished I'd be able to set myself apart in the software department too.

I did not stop playing around with plain static websites during my time exploring servers and Docker, and finally began looking into JavaScript. It felt very much like a pain (it still does sometimes), similar to CSS when I first learned it, but if it's anything like that I knew it would also get better with time, and that I could even grow to love it. That happened to some extent, and I discovered some really unique interactions I was able to add to my site through JavaScript. I also really liked exploring APIs; using that to import data and display it onto my web pages. However, there's only so much you can do on the client. Regardless, I tried my best finding the limit, seeing just how far I could take client-side web apps. It took quite a while, and took it really far, but I decided that it's best if I also explore alternatives as well.

Screenshot of Dragon Vision
Dragon Vision, a data visualisation tool that yours truly helped create for a university project, running in a web browser. The web app runs completely on the client and therefore does not depend on a server.

And that, brings me to today. For my next website, I am taking a very different approach by building my site using Next.js, a framework for React. It allows me to reuse components more easily, making multi-pages sites much more feasible. Also, there's a lot more flexibility too when it comes to ways of importing data from external sources. Furthermore, it has a ton of features that can make your website dynamic and alive, while still keeping the performance benefits of a static site. There is an amazing ecosystem of libraries, allowing you to combine those with code of your own to make something truly unique. There is so much I learned, and feel I will still learn with many more challenges to overcome, but I feel really excited. Who knows what the future brings? Whatever it may be, I sincerely hope you come along for the ride.