2024

Selfhost Timetagger on a Raspberry Pi

A few weeks ago I started looking into options for time tracking software. The goal is to be more aware of how I spend my time throughout the day.

5 min read
Back to Top ↑

2023

Keeping up with my cat’s 💩 using a Raspberry Pi

As a former dog owner and first time cat dad I was amazed at how cats are “potty trained” practically from birth. I was prepared to deal with the smell when having to clean the litter box. However, I didn’t expect their bowel movements (💩) to carry a punch that would stink up half my apartment.

2 min read

Documenting a Crystal open source project

This post is a quick overview of how Crystal lang built-in documentation features work and an easy setup to host them for free for Open Source projects. A compilation of things I’ve seen across Crystal repos and applied on mine.

1 min read

Contributed to the Crystal programming language

When I was starting out with coding in college I never thought I’d contribute to a programming language codebase. A small documentation fix of mine was included in 1.7.0 and I’m counting it as one, so this is the celebratory/milestone post for the occasion.

~1 min read
Back to Top ↑

2022

Back to Top ↑

2020

Everybody hates CSRF

The title of this post is a reference to the Everybody hates Chris TV show, which felt punny and suitable as I ran into some interesting problems in the last few weeks having to do with CSRF.

3 min read

libusb backend for adb on macOS

For the past week I was stuck on what felt like a dead end. Although a bit more comfortable now than where I stood a few weeks ago I’m still learning the ropes of Android development, and this problem caught me outside my comfort zone.

1 min read

The year is 2020

The year is 2020 and the world is upside down. It started off as a very promising year and I’d prefer to keep that positive mentality regardless of difficult times brought in by a global pandemic. I like to think stories of greatness are intrinsically elevated by the greatness of the challenges faced and eventually conquered. With this logic in mind we are living in a time of opportunity.

~1 min read

Browsing a localhost server from any device in your LAN

For most of us, a local development server proves to be good enough to get our day to day coding done. Even mobile device displays can be tested quite well on Chrome (or other browsers) using built-in developer tools. There are times though, where using a real device is better or even necessary.

2 min read
Back to Top ↑

2019

Customizing Jekyll Themes

After migrating my website/blog to Jekyll on GitHub pages I was left with this lingering feeling: The theme I was using felt too “stock/off-the-shelf” even after a few color tweaks. I gave customizing the theme a try instead of coding it from scratch and learned a thing or two along the way.

2 min read

Reminders

Ideas pop in and out of existence unexpectedly, that’s my experience at least. This one professor from college always comes to mind when an idea is lost because I failed to write it down. He spent a few classes discussing with us some productivity/time management methods like Get Things Done, Eisenhower Matrix and others.

~1 min read

Headless Chrome - Dual mode tests for Ruby on Rails

Headless tests are necessary for CI environments and very useful for unobtrusive local development. No need to ditch the driver that directly controls the browser though, there’s lots of debugging value in being able to switch between both modes.

2 min read

GitHub pages & Jekyll

Instead of hosting this site myself any longer I’ve finally decided to move over to GitHub pages. This probably isn’t an interesting blog post for anyone other than myself. I just wanted it out there for the record.

~1 min read

Kubernetes integration with Rake tasks

Activek8s is a gem that relies on certain conventions to provide a thorough Kubernetes integration on a set of Rake tasks. The gem is a byproduct of a project that makes use of Kubernetes to orchestrate our services and other tools (Redis, CI/CD, logging, etc). This is not the absolute truth, it’s only a solution that worked for our team and we open sourced on GitHub.

4 min read
Back to Top ↑

2018

AKS easy as ABC

This is a “walkthrough cheatsheet” from my initial experimenting with AKS (Azure Kubernetes Service). Everything here can be run using Azure’s Free Account trial.

4 min read

Tying Let’s Encrypt and Docker Swarm together

It’s no secret that Kubernetes has seen a booming interest in the past year or two. It’s also known that its learning curve is steep and its complexity remains relatively high. Because of this I’ve been interested in striking a simpler alternative in Docker Swarm for a while now. The following is my experiment for setting up a Swarm cluster that is able to publish different services using Let’s Encrypt SSL certificates with ease.

10 min read
Back to Top ↑

2017

Learning Rails in 2017

So far this year has been surreal & hectic to say the least, and we’re basically halfway through. I started a new job late last year, which I expected to be challenging for plenty of reasons. Arguably the most important one: I was going to support a large codebase built in Ruby (on Rails).

6 min read
Back to Top ↑

2016

Swarm2k

Open-source software is a beautiful thing. Whether you’re coding, documenting, giving feedback, etc. there is something bigger than you out there. We live in a time where we can ride the whale wave together, regardless of where you happen to live.

5 min read

Let’s get swifty

I’m surprised by the fact I haven’t stumbled upon a single article with this title and the proper Rick & Morty pun (#FreeRick). Anyways, no backend code tonight, it’s been a long couple of weeks at work and university so this will be a short entry with a couple of patterns I’ve picked up around working with swift. Just some random jiberish that I will most likely find useful in the future.

3 min read
Back to Top ↑