Home

Hey! Welcome to the little corner of the web where I reside. Feel free to make yourself at home :) Check out some of my posts below 👇👇👇.

The Tomi Law

2022-01-14 00:00:00 +0000

It’s fun to name a law after yourself, especially because it encapsulates a simple concept.

No system that exists is impenetrable.

As an attentive reader, you might be asking, “If this idea was so simple, why are you writing an enitre blog post about it?” And to that, I might applaud your wit, because unlike most things, there are no limtations to this theory (cuz it’s a theory).

Let me explain.

The Power of Networking

A Computer Network

The Internet is a wild place, a bit of a double-edged sword, it can be a useful tool with lots of wholesome content. On the other side, there are lots of content that are decidedly unwholesome. The gist of it is that it allows a massive amount of computers (servers are coomputers too) to communicate with each other and send information back and forth. The most common use case is loading websites, generally through a secure protocol (HTTPS). Your computer requests some code from another computer, the browser runs the code, and voila, you have got a nice functioning webpage. It’s a lot more complicated than that, but the idea is that another computer can send some malicious code to your computer and your browser will be able to run it.

Yeah, there are some steps that browsers take to protect your laptop, however, it’s impossible to keep a system completely isolated without losing something essential to the app in the process. I don’t mean something like losing a small feature or two (although that could happen), i’m talking things that could (and probably will) make said app unusable, like incredibly slow performance (turtle mode 🐢), or lack of connectivity.

Limitations?

Larry the isolated laptop

What if we took the network of computers above and we removed all but one computer, isolating that computer (let’s call it Larry, Larry the Lonely Laptop). In practice, this would mean removing the Bluetooth and Wi-Fi devices so that Larry cannot talk with other computers anymore. It would also mean that we are unable to send or recieve any malware, making our computer completelely secure.

Unfortunately for security (and Larry), the last sentence of the previous paragraph is completely false, as people tend to mistake isolation for security. After all, if I am holed up in my own house by myself, I won’t have to go outside and therefore I won’t get sick, and therefore, I won’t die. No, there is always the random chance of a flood taking my house and me along with it.

So no, Lonely Larry is not completely secure, a random person could wreak havoc on it’s software by injecting a USB stick full of malware into poor Larry, or much simpler, one could just physically damage (or steal) the computer and be done with it.

Ok, so?

This doesn’t mean that security is not of importance, it’s the difference between knowing that death is an inevitable part of life, and forgoing food altogether because sooner or later we all die. In summary, no computer system is completely secure.

Making this Blog

2022-01-01 00:00:00 +0000

This blog was the culmination of my pure efforts to avoid doing any sort of hard work. I first created this blog in 2021 (Middle-ish?) but it soon fell victim to my lack of willpower. This year it will not be ignored (hopefully?). Anyway, let’s get to the technical details of making this website.

I didn’t make it all by myself.

Being honest, I completely forgot about my abandoned blog until today (yes, January 1st 2022). Deep in my soul, I always knew I was never going to build a blog by myself. There is just too much that could go wrong, and it really doesn’t seem worth the effort to debug. The first idea was to use something like Blogger or Wordpress because they both were simple and required less mental oomph than other solutions

Neither worked.

Wordpress vs Blogger picture

The main problem with Wordpress is expenses. I can’t afford to pay for a custom domain or a hosting service. Even though services like this are dirt cheap these days, unfortunately, I am poorer than dirt, so paying for anything is not an option. That being said, I loved their idea of installing tools on a custom domain and hosting service to build a website (CMS).

Price being a barrier, I turned to Blogger. Although Blogger handles hosting and domain for free (although you can customize the domain), it comes with it’s own price, the lack of customization and overall functionality. Personally, I don’t care too much about the lack of customization, so long that everything looks pretty, but with Blogger, things are not pretty (it’s ugly as sin). I don’t like looking at ugly websites, and I don’t want others to see my work on some ugly, generic, overused template. It can be generic and overused, just not ugly.

Jekyll + GitHub for the win

Jekyll and Github saved my soul

Worried for my lazy soul, you might queston, “But Tomi, isn’t that more work in the end? I mean you have to do all this configuring and stuff with Jekyll and GitHub pages, getting them to work together nicely, uploading your content, and it just sounds like a whole lotta effort.” Well, concerned reader, back when I was younger (the 2021s), I was willing to do more work and actually did all of this setting up before in my abandoned blog. Now all I needed to do was to use what I already have.

Alas, it was not so easy, I didn’t want to have to go to the source code, get the current date, rename the title to Jekyll’s standards, commit and then push the changes to GitHub. There had to be an easier way, and there was (this is the marvelous thing about tech, there is always an easier way), this lifeline came in the form of jekyll-admin, which would let me manage my files with an easy to use GUI instead of constantly repeating the long laborious process of updating the blog everytime I wanted to write something.

Again, there were some problems with this idea, jekyll-admin seemed to only work with a localhost, and I re-learned the hard way that Jekyll for GitHub pages was not the same thing as the Jekyll on my command line. While Jekyll would not run my current configuration (without modifications, more work on my end), GitHub Pages was having a jolly time with it, executing it flawlessly. Naturally, this posed some problems.

Lesson to learn?

Eventually I whipped up a command line script to automate the process. However, I learned something very important, work smarter, not harder. If I had done just a little bit of research then I would not have set up jekyll-admin for GitHub pages, saving me precious time and effort in creating this blog.