Tools of Exposure - Debugging Life #004
Tools of exposure - Debugging Life #004
Welcome to the next episode about embarking on a lifelong learning journey and sharing it with others, as well as figuring out how to post more regularly 😉
In this episode I will cover:
- choice of my tools of exposure
- going beyond data scientist tasks - into the world of servers
1. Choosing your exposure arsenal
At the time of writing this post, my main weapon is DemystifAI.blog (you might be reading this on another platform that I am trying to utilize for bigger reach). This is a Jekyll1 template hosted on GitHub Pages2. It’s simple and effective - it allows me to have my own space on the web. Simple to set up & easy to use.
I find this gives me certain advantages:
- I fully control its contents. Learning a little bit of HTML & CSS (for ambitious users: & JavaScript)3 allows me to tweak the template to my needs (example: custom-made e-book subpage to which ChatGPT 4o lent a helping hand). Large language models can help you with that.
- I have local & GitHub repository copies of the whole website (minus Jekyll overhead used for interpretation). Thanks to that, I have an extra layer of security if something gets deleted.
- You have a lesser chance (at least in my mind) that your site and contents will be blocked by some user randomly reporting it, compared to keeping your content on Facebook/ Instagram/ TikTok/ LinkedIn (I am using those platforms as well. I just think it’s fragile to be fully dependent on them).
But there is only so much I can show with a static webpage. I can write stuff, put images and snippets of code here and there, or give some exciting links (have you noticed that I learned how to use footnotes in Markdown recently? 😉). But there is so much more one can do.
And I have a hunger to reveal some of that fog of war (nerd term alert).
What can I do to reveal more?
- Speak publicly at conferences. That is, without a doubt, a great tool for personal brand building. It gives you an immediate audience, a position of authority, and direct access to your listeners. If you are planning on broadening your personal brand, seriously consider this.
- Record YouTube (or other competitor platforms’) videos of me talking over what I’m doing. I think it’s a safe bet to say that video is a more popular format than a long-read, but that’s not where my heart lies right now. I myself am more fond of books and reading than listening or watching. Because I am documenting my journey mostly for myself, I think I will stick to writing, at least for now.
- Do online materials like tutorials, courses - well, this blog is, kind of, something like that.
- Show real-world applications of what I am learning. Connect some backend to my frontend and show you what I’m all about, while learning how to connect the dots myself.
This is definitely not an exhaustive list - just the first things that came to my mind.
Now, bear in mind, dear Reader, that there are levels to everything. So if you find speaking publicly at conferences scary, you can establish a training plan leading to that point as the major exam. You can progress the difficulty level in a more comprehensible way:
- Present something internally to your close ones
- Expand the presentation to a broader audience - for example, in front of your team at work or another group of peers (and internally sharing knowledge should score you some points in good teams)
- Test material remotely in front of an unknown audience (maybe at some online meet-up?)
- Sign up for a conference and do the final thing
Having said all of that, I opted for showing real-world applications. I still think I have a lot to learn, and I want to document this properly.
That’s why I bought a VPS.
2. VPS - what the heck is that?
VPS stands for Virtual Private Server.
It’s basically a hosting solution that hosts multiple dedicated servers on one physical server. Each dedicated Virtual Private Server has its own CPU, RAM, and storage and operates independently of others. Each owner (if they have root privileges) can fully customize their instance.
So it’s a similar concept to Docker and virtualisation of your services, which I wrote about in my first post. The difference is that the “container” is a whole server instance.
One big upside is that a VPS is usually cheaper than buying your own server (at least in the short term). The provider benefits from margins (thanks to scale effects: the more “powerful” server they actually have, the cheaper the cost per CPU/RAM unit should be), and the user benefits from a relatively low entry cost.
I decided to go with a Polish provider, mikr.us hosting service. Mostly because:
- The owner of this company is one of the AI Devs lecturers and a well-respected person in the Polish IT community
- Based on very quick and limited research, it’s very cheap (partly because it uses IPv6 addresses - I’ll explain later 😜). I decided to go with Mikrus 3.5 - their most powerful VPS offering 4GB of RAM and 40GB of HDD. I know that’s not much, but I don’t need a lot to learn. According to their current (December 2024) pricing, renting Mikrus 3.5 for a year costs 197 PLN (which on 6th December 2024 loosely translates to 48.9 USD/year gross, assuming 4.03 PLN/USD exchange rate).
Over the next couple of weeks I would like to write about what I am learning while going through AI Devs 3 course.
I actually paused the course materials at week 2 (at the moment of writing this paragraph, the course already ended - 5 weeks of intense learning) to learn how to set up infrastructure, start a dockerized Python server, test API endpoints, etc.
It took me much longer than I supposed it would.
Why? I identified a couple of root causes:
- I tried to do things that were too advanced at the beginning (set up working infrastructure as code using Ansible). This caused several blocks along the way, as I wasn’t fully understanding what I was doing and didn’t know how to ask proper questions to ChatGPT/Claude. I finally gave up trying to set up infrastructure using Ansible and used basic Linux commands directly on the VPS. The effect? I accomplished in under two hours tasks that I had been trying to automate for a couple of days…
- Trying to do “too big” things. If I approach an ambitious task, it sometimes causes decision paralysis. It’s helpful to decompose the task into a list of steps and just work on the first one. That seems much less intimidating and gives better control over the process.
I don’t want to get into too many details right now - this will happen over the course of the next couple of weeks.
As a sneak-peek you can visit DemystifAI.xyz and try out an online, quantized LLama model:
3. Behind closed doors - migration to MacOS
Just as the AI Devs course started, I decided to finally switch to MacOS from Windows. This is a big change on my side.
My biggest pain so far: switching from ctrl + c
to ⌘ + c
and from ctrl + v
to ⌘ + ⌥ + v
🥶. Also learning that shift
is ⇧.
What do I like so far?
Biggest advantage? By typing ⌘ + space
I am launching the system-wide search tool integrated into MacOS - Spotlight.
Windows has something similar in their PowerToys - PowerToys Run utility, but I find it much less effective when it comes to searching for particular files in nested folders.
Spotlight actually searches not only applications but specific files in my folders, and it does it extremely fast. One tip: if you have large file structures (as I do) and some backups on your HDD- you might want to exclude those folders from indexing in Spotlight. How to do this? Just create a .metadata_never_index
file in the folder that you don’t want to index. You can do it manually or in the terminal by typing:
# alternatively you can go to destination folder using cd and skip /file/path part
touch /file/path/ .metadata_never_index
Migration was pretty painless using Migration Assistant (important notice: in my case, hidden files were not transferred, so I had to move all .env
files with passwords for my GitHub repositories manually).
Another nice thing is SetApp. For a single subscription, you get access to a ton of paid apps -you can choose which ones to use and why. Based on a recommendation from a friend (visit his Substack here; it’s in Polish 🇵🇱), I am using so far:
- CleanShot X for managing your screenshots. It has screenshot OCR (Optical Character Recognition) capability. Not having to retype text from images (especially links) saves a lot of time 😋. If you have a problem with windows disappearing while trying to take a screenshot—enable “Screenshots” -> “Freeze screen” setting.
- Mosaic for arranging your application windows
- Bartender for arranging menu bar icons
- CleanMyMac for regular maintenance, decluttering, updating, protection, and performance monitoring
There were a couple more; however, I am not using them yet (as I am still a newbie), so the list will probably grow over time.
What else? A lot of things are going on, but I’ll let them stay in the shadows for the time being 😉
Stay tuned and see you on DemystifAI! Don’t forget to test LLama’s sense of humour on DemystifAI.xyz.
Any comments, remarks, or questions—feel free to contact me at tomasz@demystifAI.blog. You can also leave any feedback anonymously here.