Write Software, Well
Write Software, Well
Akshay
My name is Akshay, and I'm a software developer living in beautiful Victoria, British Columbia. I grew up in India, but Canada has been my home for the past 10 years. I am married to Pratiksha and we have a daughter, Suhani. I love programming in Ruby and building web applications with Rails. This blog is my attempt to share my learnings and to spread the joy of programming in Ruby with the world. Every day, I try to learn something new in Ruby and Rails and write about it.
Latest Posts
In this post, I'll provision and configure the staging infrastructure for my blog, which is a Rails application. This includes installing and setting up a PostgreSQL database server, allowing connections only from the Rails application...
Last week, I used AI to finally learn the basics of QuickBooks and handle my company’s bookkeeping. AI didn’t just help me finish a chore, it taught me a skill I’d been avoiding for years. When used with intent, the modern AI tools can...
Vibe coding is overrated. Vibe learning, on the other hand, is so underrated.I’ve always wanted to learn the basics of bookkeeping so I could manage the finances for my company, or at least, stay on top of what's going on financially.I...
Announcing a new newsletter where I write about topics beyond Ruby on Rails: running a software services business, freelancing, positioning and marketing for developers, working with AI, hiring and tech recruiting, etc. Business Logic is...
This is the first post in the series where I'm building my blog in Ruby on Rails. I'll create a new Rails application and we'll walk through some of the important files and directories in a fresh Rails project. By the end of this post,...
TL;DR: If you don't want to read the >3000 word post, here's the gist:X-Sendfile (or a variation of it, such as X-Accel-Redirect) is an HTTP response header used by web servers (like Nginx, Apache, or Thruster) to efficiently serve files...
I’ll start with a confession: I’m still quite new to the world of performance analysis and optimization.Monitoring how Rails apps behave in the real world, especially when it comes to database queries and SQL performance is something...
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.- Donald KnuthIn this post, we're going to explore how...
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.- Donald KnuthWhen you're building Rails apps and...
This is the fifth post in my series on Rails Controllers. Originally published last year, I have revised it and have included the new expect method introduced in Rails 8.As Rails developers, we are used to using post_params or...
This is the fourth post in my series on Rails Controllers.HTTP is a request response protocol. The browser (client) sends an HTTP request to the server (Rails application), which parses that request and generates the HTTP response,...