- github 9
- open source 9
- Crystal 8
- crystal-lang 8
- crystal lang 8
- oss 8
- Docker 6
- cluster 3
- containers 3
- AWS 3
- rails 3
- Kubernetes 3
- Ruby on Rails 3
- iOS 2
- Jenkins 2
- docker 2
- orchestration 2
- TLS 2
- SSL 2
- HTTPS 2
- NGINX 2
- RoR 2
- Ruby 2
- Jekyll 2
- automation 2
- battlesnake 2
- swift 1
- bookmark 1
- meetup 1
- lightning 1
- talk 1
- tests 1
- dokku 1
- continuous 1
- integration 1
- CI 1
- swarm 1
- linux 1
- aws 1
- ec2 1
- docker-"compose" 1
- EC2 1
- reverse 1
- proxy 1
- ruby 1
- webapp 1
- beginner 1
- tutorial 1
- help 1
- introduction 1
- blog 1
- Let's Encrypt 1
- Certbot 1
- Swarm 1
- container 1
- Microservices 1
- alternative 1
- DigitalOcean 1
- Helm 1
- Azure 1
- AKS 1
- Activek8s 1
- kubectl 1
- Rails 1
- Rake 1
- Tasks 1
- microservices 1
- GitHub 1
- pages 1
- https 1
- martilla 1
- cli 1
- backups 1
- postgres 1
- mysql 1
- Capybara 1
- Selenium 1
- Chrome 1
- Headless Chrome 1
- RSpec 1
- Martilla 1
- CLI 1
- Backups 1
- PostgreSQL 1
- MySQL 1
- S3 1
- Database 1
- productivity 1
- Reminders app 1
- GitHub Pages 1
- CSS 1
- Blog 1
- Minima 1
- Elastic Beanstalk 1
- REST API 1
- CI/CD 1
- beginners 1
- webdev 1
- mobile 1
- blogging 1
- dev.to 1
- DEV Community 1
- remote 1
- remote work 1
- covid-19 1
- coronavirus 1
- Android 1
- libusb 1
- macOS 1
- todayilearned 1
- csrf 1
- security 1
- OAuth 1
- Chart.js 1
- webpack 1
- javascript 1
- opentelemetry 1
- digitalocean 1
- documentation 1
- algorithm 1
- search algorithm 1
- data structures 1
- database 1
- jennifer.cr 1
- worker 1
- kemal 1
- background worker 1
- mosquito 1
- background job 1
- Raspberry Pi 1
- python 1
- conference talk 1
- timetagger 1
- raspberrypi 1
- raspberry pi 1
- selfhost 1
github
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.
CrystalConf 2023
Exciting news for me: I gave a talk at CrystalConf 2023!
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
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.
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
Learning Crystal with Battlesnake
Recently I’ve been interested in Crystal lang so I worked on a Battlesnake implementation to get more practice under my belt. I’m sharing an overview of it in this post and the code is open source on GitHub.
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.
open source
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.
CrystalConf 2023
Exciting news for me: I gave a talk at CrystalConf 2023!
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
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.
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
Learning Crystal with Battlesnake
Recently I’ve been interested in Crystal lang so I worked on a Battlesnake implementation to get more practice under my belt. I’m sharing an overview of it in this post and the code is open source on GitHub.
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.
Crystal
CrystalConf 2023
Exciting news for me: I gave a talk at CrystalConf 2023!
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
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.
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
Learning Crystal with Battlesnake
Recently I’ve been interested in Crystal lang so I worked on a Battlesnake implementation to get more practice under my belt. I’m sharing an overview of it in this post and the code is open source on GitHub.
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.
crystal-lang
CrystalConf 2023
Exciting news for me: I gave a talk at CrystalConf 2023!
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
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.
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
Learning Crystal with Battlesnake
Recently I’ve been interested in Crystal lang so I worked on a Battlesnake implementation to get more practice under my belt. I’m sharing an overview of it in this post and the code is open source on GitHub.
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.
crystal lang
CrystalConf 2023
Exciting news for me: I gave a talk at CrystalConf 2023!
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
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.
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
Learning Crystal with Battlesnake
Recently I’ve been interested in Crystal lang so I worked on a Battlesnake implementation to get more practice under my belt. I’m sharing an overview of it in this post and the code is open source on GitHub.
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.
oss
CrystalConf 2023
Exciting news for me: I gave a talk at CrystalConf 2023!
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
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.
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
Learning Crystal with Battlesnake
Recently I’ve been interested in Crystal lang so I worked on a Battlesnake implementation to get more practice under my belt. I’m sharing an overview of it in this post and the code is open source on GitHub.
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.
Docker
Elastic Beanstalk Apps using Docker Containers
This is a walkthrough of lessons learned from hosting a project on Elastic Beanstalk using Docker Containers as deployment strategy. I’ll link to documentation as much as possible and avoid explaining Docker/AWS basic concepts to try keep things short.
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.
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.
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.
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
cluster
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.
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.
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.
containers
Elastic Beanstalk Apps using Docker Containers
This is a walkthrough of lessons learned from hosting a project on Elastic Beanstalk using Docker Containers as deployment strategy. I’ll link to documentation as much as possible and avoid explaining Docker/AWS basic concepts to try keep things short.
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.
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.
AWS
Elastic Beanstalk Apps using Docker Containers
This is a walkthrough of lessons learned from hosting a project on Elastic Beanstalk using Docker Containers as deployment strategy. I’ll link to documentation as much as possible and avoid explaining Docker/AWS basic concepts to try keep things short.
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
rails
Using Chart.js plugins with webpack
Elastic Beanstalk Apps using Docker Containers
This is a walkthrough of lessons learned from hosting a project on Elastic Beanstalk using Docker Containers as deployment strategy. I’ll link to documentation as much as possible and avoid explaining Docker/AWS basic concepts to try keep things short.
Learning Rails in 2017
Kubernetes
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.
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.
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.
Ruby on Rails
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.
Elastic Beanstalk Apps using Docker Containers
This is a walkthrough of lessons learned from hosting a project on Elastic Beanstalk using Docker Containers as deployment strategy. I’ll link to documentation as much as possible and avoid explaining Docker/AWS basic concepts to try keep things short.
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.
iOS
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.
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.
Jenkins
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
docker
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
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.
orchestration
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.
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.
TLS
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.
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
SSL
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.
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
HTTPS
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.
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
NGINX
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.
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
RoR
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.
Learning Rails in 2017
Ruby
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
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.
Jekyll
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.
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.
automation
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.
Martilla - A simple backup tool for simple everyday use
Martilla is a project I’ve been working on recently. It’s a CLI tool to help automate database backups. It’s main objectives are to remain modular, configurable and simple to understand.
battlesnake
CrystalConf 2023
Exciting news for me: I gave a talk at CrystalConf 2023!
Learning Crystal with Battlesnake
Recently I’ve been interested in Crystal lang so I worked on a Battlesnake implementation to get more practice under my belt. I’m sharing an overview of it in this post and the code is open source on GitHub.
swift
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.
bookmark
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.
meetup
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
lightning
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
talk
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
tests
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
dokku
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
continuous
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
integration
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
CI
Lightning talk
Something big went down last Tuesday, at least for me. Not only @mattfgl gave an amazing talk on kubernetes but I got to step in front of a room packed with fellow Docker enthusiasts to give my first lightning talk ever, on my Dockerized tests in a dockerized Jenkins blog post. Here are the updated slides
swarm
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.
linux
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.
aws
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.
ec2
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.
docker-"compose"
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
EC2
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
reverse
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
proxy
Publishing services using docker-compose and NGINX with HTTPS
This post will break down an example setup to deploy multiple HTTP services secured with TLS using docker-compose and an NGINX reverse proxy. I already had an SSL certificate for this website and figured my experiments could benefit from HTTPS, so here we are.
ruby
Back to Top ↑webapp
Back to Top ↑beginner
Back to Top ↑tutorial
Back to Top ↑help
Back to Top ↑introduction
Back to Top ↑blog
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.
Let's Encrypt
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.
Certbot
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.
Swarm
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.
container
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.
Microservices
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.
alternative
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.
DigitalOcean
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.
Helm
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.
Azure
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.
AKS
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.
Activek8s
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.
kubectl
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.
Rails
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.
Rake
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.
Tasks
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.
microservices
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.
GitHub
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.
pages
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.
https
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.
martilla
Martilla - A simple backup tool for simple everyday use
Martilla is a project I’ve been working on recently. It’s a CLI tool to help automate database backups. It’s main objectives are to remain modular, configurable and simple to understand.
cli
Martilla - A simple backup tool for simple everyday use
Martilla is a project I’ve been working on recently. It’s a CLI tool to help automate database backups. It’s main objectives are to remain modular, configurable and simple to understand.
backups
Martilla - A simple backup tool for simple everyday use
Martilla is a project I’ve been working on recently. It’s a CLI tool to help automate database backups. It’s main objectives are to remain modular, configurable and simple to understand.
postgres
Martilla - A simple backup tool for simple everyday use
Martilla is a project I’ve been working on recently. It’s a CLI tool to help automate database backups. It’s main objectives are to remain modular, configurable and simple to understand.
mysql
Martilla - A simple backup tool for simple everyday use
Martilla is a project I’ve been working on recently. It’s a CLI tool to help automate database backups. It’s main objectives are to remain modular, configurable and simple to understand.
Capybara
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.
Selenium
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.
Chrome
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.
Headless Chrome
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.
RSpec
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.
Martilla
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
CLI
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
Backups
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
PostgreSQL
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
MySQL
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
S3
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
Database
PostgreSQL backups to S3 with retention limits
This is a bit of an update on the latest version of Martilla. The feature introduced that I’m more excited about is the ability to limit the retention of your backups.
productivity
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.
Reminders app
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.
GitHub Pages
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.
CSS
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.
Blog
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.
Minima
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.
Elastic Beanstalk
Elastic Beanstalk Apps using Docker Containers
This is a walkthrough of lessons learned from hosting a project on Elastic Beanstalk using Docker Containers as deployment strategy. I’ll link to documentation as much as possible and avoid explaining Docker/AWS basic concepts to try keep things short.
REST API
Elastic Beanstalk Apps using Docker Containers
This is a walkthrough of lessons learned from hosting a project on Elastic Beanstalk using Docker Containers as deployment strategy. I’ll link to documentation as much as possible and avoid explaining Docker/AWS basic concepts to try keep things short.
CI/CD
Elastic Beanstalk Apps using Docker Containers
This is a walkthrough of lessons learned from hosting a project on Elastic Beanstalk using Docker Containers as deployment strategy. I’ll link to documentation as much as possible and avoid explaining Docker/AWS basic concepts to try keep things short.
beginners
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.
webdev
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.
mobile
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.
blogging
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.
dev.to
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.
DEV Community
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.
remote
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.
remote work
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.
covid-19
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.
Android
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.
libusb
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.
macOS
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.
todayilearned
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.
csrf
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.
security
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.
OAuth
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.
Chart.js
Back to Top ↑webpack
Back to Top ↑javascript
Back to Top ↑opentelemetry
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
digitalocean
Deploy a Crystal app with Docker and Opentelemetry
This is the continuation of the previous post about a Battlesnake server. This one will talk about what the deploy process looks like and some Opentelemetry data collected from it.
documentation
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.
algorithm
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
search algorithm
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
data structures
Algorithms and standard library modules in my Battlesnake
The first post in the series walked through the code of my current strategy. This one will share a few of the learnings from writing the utility algorithms in the project (as examples for) where I used Crystal’s standard library modules.
database
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
jennifer.cr
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
worker
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
kemal
Database for Kemal server in Crystal lang
This is another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
background worker
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
mosquito
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
background job
Background jobs for Kemal server in Crystal lang
Yet another post about the Battlesnake project I’ve been working on while diving in Crystal lang.
Raspberry Pi
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.
python
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.
conference talk
CrystalConf 2023
Exciting news for me: I gave a talk at CrystalConf 2023!
timetagger
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.
raspberrypi
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.
raspberry pi
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.
selfhost
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.