Featured
All Posts
- Some unreasonable things I believe about large language models
- Why you should try vibe coding from your phone
- Punchcards and why there are now only apprenticeships and management roles in software engineering
- Conversations as Programming Primitives
- You won't get people excited about AI by shouting at them
- Vibe coding is real, and that's a good thing
- Non Fiction Books
- Integrations are hard
- Things which have been consistently true
- Information Density and why you should always show your working
- Writing is thinking
- Meetings vs Documents
- Deploying Rails to a VPS with Capistrano V3
- Setting up Ubuntu 20.04 for Rails app Deployment
- Managing puma with the systemd user instance and monit
- Capistrano & Puma with Systemd; Permission denied @ rb_io_reopen
- Capistrano & Puma; service puma is not active, cannot reload
- Capistrano & Puma; neither a valid executable name nor an absolute path
- Kubernetes Single Sign On - A detailed guide
- OIDC Login to Kubernetes and Kubectl with Keycloak
- Web application authentication and authorization with Keycloak and OAuth2 Proxy on Kubernetes using Nginx Ingress
- Comprehensive docker registry on Kubernetes with Harbor and Keycloak for single sign on
- Docker Registry Authentication on Kubernetes with Keycloak
- Gitea SSO with Keycloak, OpenLDAP and OpenID Connect
- Keycloak and OpenLDAP on Kubernetes
- Installing OpenLDAP on Kubernetes with Helm
- Installing Keycloak on Kubernetes
- Useful Links when Setting up SSO on Kubernetes
- Automated remote Debian development environment for VSCode with Ansible
- tmux, docker and SSH agent forwarding when developing remotely with VSCode
- Automating MacOS Development setup with Ansible
- Cloudformation - NodeGroup failed to stabilize: Internal Failure
- 90 Days of Learning
- Habits and Batching
- Getting things done while staying sane
- A Rails development environment with Docker
- Startup Reading List (2018 Edition)
- 2015 In Review
- What I'd tell myself about startups if I could go back 5 years.
- 2014 In Review
- DIY EKG Using Arduino and Javascript
- Google Cardboard Unity Tutorial
- Automatically Generate Vagrant Machines from Chef Node Definitions
- A Rails Development Environment with Docker and Vagrant
- DNSimple SSL Certificates and NGinx
- Starting a Rails Console with Capistrano 3
- Reading Git Merge Conflicts
- Teaching People to Code
- Capistrano 3 Tutorial
- Tailing log files with Capistrano 3
- Deploying Multiple Rails Applications to a Single VPS
- Using Vagrant to test Chef Cookbooks
- Using Chef to provision a Rails and Postgres server
- Using the pebble watch to display stock quotes
- Indexes with Mongoid are not created automatically
- It probably isn't a big deal
- 2012 in Review