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
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
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?
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
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.
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
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.