Do I Hate AI? 
 
 
 
 Do I hate AI? No, I don’t think I do. I think AI companies have been behaving very badly, but it’s important to separate the different things involved. There is so much bundled together that it’s easy to conflate unrelated issues.
Here’s a pro-tip: if you are looking for work as a software developer, or you think you might be looking for a job soon, I suggest you turn off any AI-assisted code generation tools and do things as you used to do, at least a couple of weeks ahead. 
 Almost none of the companies hiring right now allow you to use them during live-coding sessions, and if you have been using such tools for…
After more than 10 years of hosting my hugo -based blog on one of DigitalOcean’s machines, I decided to move to a different hosting environment. For a decade, I ran this site on a DigitalOcean Ubuntu droplet with tightly secured nginx. This droplet, beyond hosting a simple static website, served as my experimentation platform — running 24/7, connected to the internet with a decent…
The other day I was installing mysql2 gem on macOS for Ruby 2.6.2, something that was supposed to be less than a walk in the park. I knew I would most likely have some hiccups when compiling gem’s native extension, but that usually and rather unglamorously boils down to finding the correct MySQL dev libraries. However, there were unexpected twists and turns. 
 Installing the mysql2 gem…
The last time I was writing about AWS Lambda was more than four years ago and that story involved some batch processing with a very rough cost estimate of custom code processing vs the AWS Lambda. 
 This time I am writing about my AWS Lambda experience using the Ruby runtime and hopefully sharing not so obvious a thing or two. 
 1. Basic scaffolding 
 
 
 
 Writing AWS…
Reading logs from Docker container can be done using docker logs container_id . This simply fetches logs present at the time of execution from container’s STDOUT and STDERR streams. If you want to, however, transform those logs, and send them to a central repository using e.g. logstash, there are a number of options to choose from. Here I’ll be describing the simplest case of writing…
Logs are very important part of any serious software system. They provide invaluable insight in the current and past state of the system. Simply saving them to a disk or persisting them in any other crude way might probably deprive you from discovering anything interesting in it. The purpose of this article was to describe one such offline processing logs collection system I created years ago and…
About a month ago, I embarked on an adventure to replace my WordPress blogging platform with a more Ruby-friendly alternative. I say ‘once again’ because the last time I attempted this, after about 30 minutes of somewhat futile searching, I simply gave up. This time, the urge was stronger, and I was lucky to have better results. But before diving into the details of my quest, let me…
Ever saw a log in your browsers console saying some resources like web fonts could not be loaded because Access-Control-Allow-Origin headers were missing? Did you think “oh, this should be easy” and then spent hours of searching through various misleading articles and even more hours applying those advices and still failing? Well, I sure did and here’s the story and how I finally won. 
 TL;DR;…
Yesterday, I completed a simple Ruby CLI tool that I’ve named SiteMapper. Its main purpose is to generate a sitemap.xml file, a format widely recognized by many popular search engines. You can find the tool at this GitHub link: https://github.com/okulik/lame-sitemapper . 
 During my initial tests, I realized that having a visual representation would be quite cool, rather than relying…