All blogs / DevOps / SRE / infrastructure
Honeybadger Developer Blog
Explore insightful tutorials, product updates, and expert advice from the Honeybadger team to optimize your development workflow.
DevOps / SRE / infrastructureRuby / RailsPythonJavaScript / TypeScriptEngineering blogs
- Posts
- 476 from 5 Nov 2013 to 29 Oct 2026
- Posting
- weekly (34 in the last year)
- Kind
- company blog
- Feed
- https://www.honeybadger.io/blog/feed.xml
2026 30
- Connecting Cloudflare and Honeybadger with OpenTelemetry
- Error handling in Elixir
- Datadog alternatives: which observability platform fits your needs?
- DevOps articles
- A Starlette middleware guide for FastAPI and Python developers
- Python articles
- How we teach LLMs to write BadgerQL
- A comprehensive guide to Fly.io logging
- August 2026 product update: hosted MCP and more
- Company updates
- Starlette vs FastAPI: what FastAPI actually adds
- How a status page can show a site at its best (and 10 examples)
- Next.js error handling: a practical guide
- JavaScript articles
- Next.js vs React: What’s the difference and which should you use?
- SIEM alerts: everything you need to know
- Ruby articles
- May 14, 2026
- May 5, 2026
- Apr 27, 2026
- Apr 21, 2026
- Apr 9, 2026
- Apr 2, 2026
- Mar 24, 2026
- Mar 13, 2026
- Mar 10, 2026
- Heroku logs: A complete guide for developers
- FastAPI Error Handling: Types, Methods, and Best Practices
- How to Build a Copilot Agent That Debugs Production Errors
- Exploring Rails Action Cable with Solid Cable
2025 14
- 2025 year in review: APM, logging, and more
- Heroku vs. Kubernetes
- Django integration testing
- The APM paradox: Too much data, too few answers
- Deep dive into Elixir Logger
- Elixir articles
- 20 years of Rails deployments at RailsConf
- Elixir background jobs: choosing the right tool for the job
- Elixir performance monitoring in Honeybadger
- Go articles
- Go write a web app! Five interesting Go web frameworks
- A guide to custom model casts in Laravel
- Honeybadger’s EU data center is now generally available 🇪🇺
- DEI in tech: why representation and community matter
2024 14
- How to Use Azure Blob Storage with Ruby on Rails
- Curated dashboards in Honeybadger
- Adding config to AWS ECS tasks
- Blue Ridge Ruby is exactly what we need
- Running Solid Queue in production Rails apps
- How to build an API with Go and Gin
- Working with DynamoDB in Laravel
- Building command-line applications in Python
- Let's build a Hanami app
- How to deploy a Rails app to Render
- File operations in Node.js
- How to dockerize a Django, Preact, and PostgreSQL Application
- Visualizing Ahoy analytics in Rails
- Composite primary keys in Rails
2023 37
- Deploy a Rails app to a VPS with Kamal
- Comprehensive guide to working with Python markdown
- A comprehensive guide to handling dates and times in PHP
- Learn encryption and decryption in TypeScript
- Mastering regular expressions in Go
- FactoryBot for Rails testing
- Handling high traffic and load balancing in Node.js
- A guide to feature flags in Laravel using Laravel Pennant
- The character encoding cheat sheet for JS developers
- Building a Sinatra app in Ruby
- A comprehensive guide to file operations in Go
- A guide to soft deletes in Laravel
- The ultimate guide to Python exception handling
- A step-by-step guide to building a Ruby gem from scratch
- The complete guide to dates and times in Go
- Beginners guide to software testing in Python
- A step-by-step guide to creating production-ready APIs in Go with Gin and Gorm
- A guide to encryption and hashing in Laravel
- Building a gRPC Node.js API
- Getting started with asynchronous PHP using ReactPHP
- Creating GraphQL APIs with Laravel
- Creating a seamless multi-language user interface in React
- Top 10 error monitoring companies in 2023
- How to build a React rich text editor with CKEditor 5
- A guide to using WebSockets in Laravel
- DIY error monitoring for Ruby
- Code coverage vs. test coverage in Python
- Build a CI/CD pipeline for Flask apps using GitHub Actions
- How to use Flipper for feature flags in Rails
- Error handling in Go: defer, panic, and recover
- Deploying a React App to AWS Elastic Beanstalk
- Advanced error handling in Laravel
- Django AWS deployment with Elastic Beanstalk
- Deploying a Django application on Ubuntu
- Business intelligence on Rails with Blazer
- Working with GraphQL and Django
- Be careful with time durations in Rails
2022 20
- Comparing Babel, Sucrase, and Similar Libraries
- How to dockerize a Django and React application
- How to Build Your Own Rails Generator
- Building an OCR service with Amazon Textract and AWS Lambda
- A Deep Dive into Active Record Validations
- Automating Django Tests with Github Actions
- Managing User Permissions in Django
- Containerizing Laravel Applications
- Everything You Need to Know About Caching in Django
- Containerizing an Existing Rails Application
- Creating a GraphQL Server in Node.js
- A Comprehensive Guide to Deploying Laravel Applications on AWS Elastic Beanstalk
- Event Streaming in Rails with Kafka
- Rails' Hidden Gems: ActiveSupport Cache Increment and Decrement
- How to Avoid Race Conditions in Rails
- Complete Guide To Managing User Permissions In Rails Apps
- An Introduction To AWS CloudFront Functions
- The ultimate guide to Laravel caching
- GraphQL APIs in Rails
- Migrating From Turbolinks To Turbo
2021 19
- Writing AWS Lambda Functions in Ruby
- A Guide To Error & Uptime Monitoring In Laravel Using Honeybadger
- A comprehensive guide to error handling In Node.js
- Building, Testing, and Deploying Google Cloud Functions With Ruby
- Using DynamoDB in Your Rails App
- Backend JavaScript News Brief (Q3 2021)
- Introducing Honeybadger for Crystal
- Building a Real-Time Chat App in Rails Using ActionCable and Turbo
- Currency Calculations in JavaScript
- Build an Uptime Monitoring System in Ruby with GCE, Cloud Storage, and PubSub
- Building A Full-Stack Application With Vue, Vuex and Rails
- Using ActiveRecord's #update_counters to Prevent Race Conditions
- Python News Brief (Q2 2021)
- Building a Documentation Workflow in Rails
- Building A New Programming Language In Ruby: The Interpreter
- Ten Git tips and tricks you need to know
- Using Angular with Rails 5
- How Elixir Lays Out Your Data in Memory
- ActiveRecord For Databases Without Unique Ids
2020 11
- Conditionally deploying parts of your CloudFormation stack with the Serverless Framework
- A Gentle Introduction to Web Services With Go
- Understanding Database Transactions in Rails
- Building a Toy Lexer in Ruby
- Evaluating Go's Package Management and Module Systems
- Logging in Go: Choosing a System and Using it
- How to use Pry to debug Ruby apps
- Plugging Git Leaks: Preventing and Fixing Information Exposure in Repositories
- Decoupling Ruby: Delegation vs Dependency Injection
- F*ck-That Money
- Exploring Big-O Notation With Ruby
2019 5
2018 2
2017 4
2016 5
2015 12
- Announcing OpsGenie integration
- Monitoring for non-application errors on Heroku
- Creating Ruby enumerators on the fly
- Avoid these traps when nesting Ruby modules
- Announcing enhanced PagerDuty integration
- Mixing code and data in Ruby with DATA and __END__
- Associative arrays in Ruby...what?
- Benchmarking exceptions in Ruby - yep, they're slow.
- Announcing realtime error monitoring for Go
- Advanced Ruby Hash techniques
- Capturing stdout & stderr from shell commands via Ruby
- Announcing the New Honeybadger iOS App
2014 2
2013 2
Undated 299
- Hidden gems activesupport descendants
- Hiring a software developer
- Honeybadger actions
- Honeybadger exec
- Honeybadger fastapi python
- Honeybadger for node js is now awesome
- Honeybadger for php
- Honeybadger ruby 4 announcement
- Hotwire rails
- How cookies and other http headers get passed from nginx to rack and into rails
- How does git work
- How openstruct and hashes can kill performance
- How rails fancy exception page works
- How ruby ampersand colon works
- How ruby gems work
- How ruby interprets and runs your programs
- How svg helped me level up as a front end developer
- How the rails params hash works
- How to add context data to exceptions in ruby
- How to change the process name in ruby for top and ps
- How to clear all sidekiq queues using the power of emoji
- How to create crud application with golang and mysql
- How to deploy a sinatra app in docker to amazon s ec2 container service
- How to exit a ruby program
- How to globally disable rdoc and ri during gem installs
- How to make your error alerts less noisy and more useful
- How to raise any object as a ruby exception
- How to report node js errors from aws lambda
- How to try again when exceptions happen in ruby
- How to use enum attributes in ruby on rails
- How unicorn talks to nginx an introduction to unix sockets in ruby
- Http caching ruby rails
- Ilert integration
- Import maps
- In browser notifications
- In depth guide to object oriented programming in php
- Incident management annoucement
- Incoming uptime monitoring webhooks
- Insights
- Integrating error monitoring into your team workflow
- Introducing alarms
- Introducing founderquest
- Is why coming out of exile
- Javascript authentication guide
- Javascript concurrency
- Javascript destructuring
- Javascript exception handling
- Javascript modules encapsulation
- Javascript oop
- Javascript reddit api
- Javascript regular expressions
- Javascript sets and maps
- Javascript web workers multithreading
- Job queues and workers in laravel apps
- Job queues workers django
- Kamal vector logs
- Laravel apis
- Laravel artisan processes
- Laravel authentication
- Laravel breadcrumbs
- Laravel caching redis
- Laravel code quality tools
- Laravel docker php
- Laravel events
- Laravel guzzle
- Laravel mailgun sending emails
- Laravel manager pattern
- Laravel oauth
- Laravel performance monitoring
- Laravel permissions roles
- Laravel pest architecture testing
- Laravel php elastic beanstalk
- Laravel pipeline
- Laravel prompts api client
- Laravel queues deep dive
- Laravel s3
- Laravel tdd
- Laravel vapor
- Laravel volt
- Lets build an rss to email digest script with ruby
- Level up ruby rescue with dynamic exception matchers
- Lexical scoping and ruby class variables
- Link vulnerabilities
- Linting formatting ruby
- Log local variables and instance variables when exceptions occur in ruby
- Logplex elixir
- Machine learning lifecycle management using mlflow
- Managing secrets in ec2
- Markdown laravel
- Memoization in php
- Memory management in python
- Migrate from python golang
- Minitest rspec rails
- Monitorama recap
- Monorepo yarn workspace lerna
- Multi factor 2fa authentication rails webauthn devise
- Multi step forms in rails
- My 2017 arch linux desktop setup
- Nested errors in ruby with exception cause
- New in kamal 2
- Node elastic beanstalk
- Node environment managers
- Node js metrics
- Node password hashing
- Node testing
- Nodejs caching
- Oauth in php
- Oauth nodejs javascript
- Oauth2 ruby
- Objects as ruby hash keys
- Observable systems wide events
- Optimize laravel
- Options for passwordless authentication in django
- Pdf in php
- Pdf node
- Pg partition manager
- Phoenix telemetry
- Php attributes guide
- Php character encoding unicode utf8 ascii
- Php concurrency
- Php debugger
- Php error logging
- Php exceptions
- Php file operations
- Php laravel notifications
- Php markdown
- Php namespaces
- Php testing
- Php type hinting
- Php
- Poro plain old ruby object tests and specs
- Profile your gem memory usage with derailed
- Propshaft tutorial migration
- Public dashboards
- Python character encoding
- Python flask discord bot
- Python ini vs yaml
- Python instantiation metaclass
- Python integration testing
- Python logging
- Python pdf
- Python performance monitoring
- Rack timeout
- Ractors
- Rails 6 aws elastic beanstalk
- Rails 8
- Rails account subdomains
- Rails activerecord caching
- Rails activerecord store
- Rails activesupport stringinquirer
- Rails api front end
- Rails api rack attack
- Rails api versioning
- Rails app aws s3
- Rails async queries
- Rails caching alternatives
- Rails ci
- Rails concern
- Rails docker aws fargate
- Rails elasticsearch
- Rails engines
- Rails i18n
- Rails kubernetes cluster 2
- Rails lambda
- Rails load testing jmeter
- Rails low level caching
- Rails no paas
- Rails on kubernetes
- Rails postgresql queries
- Rails security authentication leaks
- Rails security injections
- Rails security risks part 3
- Rails user authentication from scratch
- Rails viewcomponent
- Railway programming dry monads
- Rbenv rubygems bundler path
- React component libraries
- React rails
- Real time applications using laravel
- Reducing your php app memory footprint
- Reducing your python apps memory footprint
- Refactor ruby rails service object
- Refactoring ruby with the sprout class pattern
- Referral program
- Remote debugging with byebug rails and pow
- Replacing regular expressions with parsers
- Rocky mountain ruby 2024 giveaway
- Rollup vite plugin release
- Rspec mocks
- Ruby 3 4
- Ruby 4
- Ruby aws lambda
- Ruby bitwise operators
- Ruby bubble sort
- Ruby code loader zeitwerk
- Ruby concurrency parallelism
- Ruby csv files
- Ruby currency
- Ruby custom exceptions
- Ruby dry schema
- Ruby enumerable slicing before when and after
- Ruby exception vs standarderror whats the difference
- Ruby external api test
- Ruby guide environment variables
- Ruby hanami 2
- Ruby insertion sort
- Ruby legacy characterization test
- Ruby linear regression
- Ruby logger lograge
- Ruby markdown
- Ruby merge sort
- Ruby method lookup
- Ruby neural networks
- Ruby object model
- Ruby parser stoffle
- Ruby pdfs
- Ruby rails memoization
- Ruby rails view caching
- Ruby rational numbers and fractions
- Ruby rbs type annotation
- Ruby regex tricks
- Ruby rescue elegant trick for knowing which exceptions to catch
- Ruby s unicode support
- Ruby scraper
- Ruby security tutorial and rails security guide
- Ruby selection sort
- Ruby self cheat sheet
- Ruby solid design principles
- Ruby splat array manipulation destructuring
- Ruby stoffle conclusion
- Ruby template performance erb haml slim
- Ruby to go 4
- Ruby to go 5
- Ruby unicode normalization
- Ruby unix command line
- Ruby view components
- Rubyist guide to memoization
- Rubyist learn go
- Rubys case statement advanced techniques
- Rustic explicit nil handling in ruby
- Safeguarding redis
- Secure custom domains caddy
- Securing environment variables
- Securing laravel forms using cloudflare turnstile captcha
- Sell a one time purchase in rails with stripe
- Serialization deserialization nodejs
- Server side js logging
- Server side source maps
- Serverless computing tutorial
- Sidekiq background jobs
- Sidekiq to karafka
- Solid cache
- Solid queue lifecycle
- Sorbet ruby compiler
- Source map upload
- Spatial data in django
- Speeding up wordpress with modpagespeed on ubuntu
- Spying on running ruby processes
- Ssl certificate expiration monitoring
- Stoffle interpreter 2
- Stoffle introduction
- Subdomain takeover
- Tailwind css rails
- Testing object allocations
- Testing rails with docker
- The rubyist guide to unicode utf8
- Track deployments as a part of your workflow with the honeybadger orb
- Track vue js errors with honeybadger
- Troubleshooting encoding errors in ruby
- Typescript rails
- Understanding ruby refinements and lexical scope
- Understanding rubys strange errno exceptions
- Understanding the ruby exception hierarchy
- Unix daemons in ruby
- Upgrade to laravel 9
- Use any c library from ruby via fiddle the ruby standard librarys best kept secret
- Using conditionals inside ruby regular expressions
- Using dynamodb with python
- Using intervention image in laravel
- Using lambdas in ruby
- Using lazy enumerators to work with large files in ruby
- Using ruby on aws lamba
- Using sql databases in javascript
- Using temporary tables in postgresql with rails
- Using tracepoint to explore complex exception behavior in ruby
- Uuids and ulids
- Vim tips that will change your life
- Watch ruby as it parses your code
- Websocket node
- Were officially partnering with pagerduty
- What does argv mean in ruby
- What seasoned developers should know about learning elixir
- When to use freeze and frozen in ruby
- Why is uri join so counterintuitive
- Working with exceptions in pry
- Working with ruby exceptions outside of the rescue block
- Write for us
- Writing command line apps in ruby
- Zero downtime migrations of large databases using rails postgres and redis