41554 blogs · [ { "id": "01a08784-64ed-73ba-ab1a-d1d192b90c89", "title": "Taming a 486MB Git Repo", "url": "https://hsps.in/post/taming-a-486mb-git-repo/", "published_at": "2026-03-21T06:26:26+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d193051c8d", "title": "How a European DNS Server Added 1 Second to Every Page Load in Australia", "url": "https://hsps.in/post/european-dns-server-added-1-second-to-every-page-load-in-australia/", "published_at": "2026-03-05T07:48:25+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1934eed27", "title": "Git Worktree: Scaling Your AI Workflow", "url": "https://hsps.in/post/git-worktree-ai-workflow/", "published_at": "2025-12-07T13:45:00+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1939cfeb9", "title": "Mastering the HTML Picture Tag: Responsive Images, WebP, and AVIF", "url": "https://hsps.in/post/html-picture-tag/", "published_at": "2025-12-07T02:49:13+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d193e127af", "title": "🏗️ Understanding the Builder Pattern with Ruby Examples", "url": "https://hsps.in/post/object-or-software-builder-pattern-in-ruby/", "published_at": "2025-08-05T05:27:22+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19467986f", "title": "Caching Rendered PDFs in Rails with Active Storage", "url": "https://hsps.in/post/using-file-upload-to-cache-serving-pdf-files/", "published_at": "2025-07-26T16:17:37+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d194d1761c", "title": "A Complete Guide to Rails.current_attributes (ActiveSupport::CurrentAttributes)", "url": "https://hsps.in/post/rails-current-attributes/", "published_at": "2025-07-08T13:01:49+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d195513e2b", "title": "How I Use Tailscale to Host a Public App From My Laptop", "url": "https://hsps.in/post/how-i-host-public-apps-using-tailscale/", "published_at": "2025-06-18T17:39:32+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d195e0d944", "title": "Ruby `Data` Class – A Convenient Way to Create Value Objects", "url": "https://hsps.in/post/intro-to-ruby-data-and-comparable/", "published_at": "2025-06-02T06:20:45+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1961d7739", "title": "Understanding Ruby’s `tap` — A Powerful Debugging and Configuration Tool", "url": "https://hsps.in/post/ruby-tap-method/", "published_at": "2025-04-19T14:43:34+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1967efc66", "title": "Storing PostgreSQL Data in a Different Partition for Performance", "url": "https://hsps.in/post/storing-postgresql-data-in-a-different-partition-for-performance/", "published_at": "2025-01-15T12:50:19+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1977de48f", "title": "Tailscale for Single User Single Host", "url": "https://hsps.in/post/tailscale-for-single-user-single-host/", "published_at": "2025-01-08T13:25:49+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d197ca452f", "title": "Setup Read Replica (master-slave) Database on Postgresql 17", "url": "https://hsps.in/post/setup-master-slave-database-on-postgresql-17/", "published_at": "2024-10-24T17:19:48+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d198c5f399", "title": "Running Rails Migrations in AWS ECS Using AWS CLI", "url": "https://hsps.in/post/run-rails-db-migrate-on-ecs-task-aws/", "published_at": "2024-10-10T07:05:58+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19953c155", "title": "Setup on Demand Tailscale Exit Node Using Terraform and DigitalOcean", "url": "https://hsps.in/post/setup-on-demand-tailscale-exit-node-using-terraform-and-digital-ocean/", "published_at": "2024-10-09T03:11:58+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19a4dbcde", "title": "Change Action Mailer Settings From Rails Console", "url": "https://hsps.in/post/change-action-mailer-settings-from-rails-console/", "published_at": "2024-10-08T04:09:36+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19a9a259d", "title": "Test Scanner (scanner emulator) in SANE - Linux", "url": "https://hsps.in/post/test-scanner-in-sane/", "published_at": "2024-10-04T09:11:12+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19abbe45a", "title": "Using Docker to export & import data from Amazon RDS", "url": "https://hsps.in/post/using-docker-postgres-to-take-sql-dump-from-aws-rds/", "published_at": "2024-09-23T11:38:52+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19ae3e007", "title": "AWS ECR Lifecycle Policy", "url": "https://hsps.in/post/aws-ecr-lifecycle-policy/", "published_at": "2024-04-06T13:21:43+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19b085f9a", "title": "Handle SSH Idle Connections Freezing shell or Getting Disconnected", "url": "https://hsps.in/post/handle-ssh-idle-connections-handing-or-getting-disconnected/", "published_at": "2024-04-03T21:43:24+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19b2a4041", "title": "Argument for Writing Test and TDD", "url": "https://hsps.in/post/argument-for-writing-test-and-tdd/", "published_at": "2023-08-30T22:48:25+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19b3add2d", "title": "Using Ansible to Install Docker and Docker Compose on New Lightsail Instance", "url": "https://hsps.in/post/ansible-to-install-docker-and-docker-compose-on-new-lightsail-instance/", "published_at": "2023-08-07T04:59:35+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19bcb4a06", "title": "Create JSON Payload for API Test Using Factory Bot", "url": "https://hsps.in/post/create-json-payload-for-api-test-using-factory-bot/", "published_at": "2023-08-06T06:06:27+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19c930874", "title": "Setup HTTP(s) and Reverse Proxy to Docker Web App", "url": "https://hsps.in/post/setup-https-and-reverseproxy-to-docker-web-app/", "published_at": "2023-08-04T05:31:40+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19cf2affe", "title": "Rails Copy Assets bundler Cache to Speed Up Build", "url": "https://hsps.in/post/rails-copy-assets-bundler-cache-to-speed-up-build/", "published_at": "2023-08-02T00:01:37+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19d243780", "title": "Sidekiq Graceful Shutdown in Fargate ECS", "url": "https://hsps.in/post/sidekiq-graceful-shutdown-in-fargate-ecs/", "published_at": "2023-07-30T07:10:21+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19e0af285", "title": "About Web Assembly. Example for Ruby Web Assembly", "url": "https://hsps.in/post/ruby-wasm/", "published_at": "2023-05-20T04:12:50+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19e174688", "title": "Statically Compile Crystal Program and Distribute as docker Image", "url": "https://hsps.in/post/static-compile-crystal-lang-code-in-docker-and-create-a-small-image/", "published_at": "2023-04-03T03:22:46+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19ec5bf2e", "title": "Share Docker Images as Files", "url": "https://hsps.in/post/share-docker-images-as-files/", "published_at": "2023-03-27T04:27:35+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19f0e57c2", "title": "Reduce Cost of Aws Bill - Part 1", "url": "https://hsps.in/post/reduce-cost-of-aws-bill-part-1/", "published_at": "2023-03-20T02:52:42+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d19fc6b267", "title": "Speed Up Docker Build using cache", "url": "https://hsps.in/post/speed-up-docker-build-using-cache/", "published_at": "2023-03-11T04:04:50+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a0a1ca3a", "title": "Enable Docker Remote Api on Docker Host", "url": "https://hsps.in/post/enable-docker-remote-api-on-docker-host/", "published_at": "2022-09-07T03:21:42+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a10952e3", "title": "Setup NFS Server on Ubuntu", "url": "https://hsps.in/post/setup-nfs-server-on-ubuntu/", "published_at": "2022-09-06T01:29:12+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a1afc5f2", "title": "Wildcard Domain in Pi Hole", "url": "https://hsps.in/post/wildcard-domain-in-pi-hole/", "published_at": "2022-09-04T18:36:43+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a23482c4", "title": "Validating YAML Files in Ruby", "url": "https://hsps.in/post/validating-yaml-files-in-ruby/", "published_at": "2022-08-23T04:27:34+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a2bbe670", "title": "Which Language Should I Build This Software In", "url": "https://hsps.in/post/which-language-should-build-this-software-in/", "published_at": "2022-08-23T00:43:43+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a2d9c04b", "title": "Getting Started With ESP 32 Development", "url": "https://hsps.in/post/getting-started-with-esp-32-linux/", "published_at": "2022-08-04T07:42:04+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a37e7e3a", "title": "Amazing Emoji Keyboard in Linux", "url": "https://hsps.in/post/amazing-emoji-keyboard-in-linux/", "published_at": "2022-08-02T01:59:18+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a38485d1", "title": "Running Migrations From Console", "url": "https://hsps.in/post/running-migrations-from-console/", "published_at": "2022-07-20T06:15:19+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a413b464", "title": "Access History in IRB", "url": "https://hsps.in/post/access-history-in-irb/", "published_at": "2022-07-17T20:15:49+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a47dd847", "title": "Remote Coding Using Tailscale and Code Server", "url": "https://hsps.in/post/remote-coding-using-tailscale-and-code-server/", "published_at": "2022-07-03T20:52:46+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a53c2de3", "title": "Adding New Key per User to AWS EC2 Instance", "url": "https://hsps.in/post/adding-new-key-per-user-to-aws-ssh/", "published_at": "2022-07-02T05:58:41+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a549ab3a", "title": "HTOP for GPU in Linux", "url": "https://hsps.in/post/htop-for-gpu-in-linux/", "published_at": "2022-06-13T00:02:57+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a5d4b7a5", "title": "How I Setup Dark Theme in My Blog", "url": "https://hsps.in/post/how-i-setup-dark-theme-in-my-blog/", "published_at": "2022-06-12T17:49:39+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a60ae68b", "title": "Append to File using Bash", "url": "https://hsps.in/post/append-to-file-using-bash/", "published_at": "2022-06-08T21:47:32+00:00" }, { "id": "01a08784-64ed-73ba-ab1a-d1d1a65e9ef5", "title": "Hire me", "url": "https://hsps.in/contact/", "published_at": "2022-06-05T22:22:34+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a36ca32aa", "title": "Projects | Open Source and Others", "url": "https://hsps.in/projects/", "published_at": "2022-06-05T22:22:34+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3705846d", "title": "Subscribe", "url": "https://hsps.in/subscribe/", "published_at": "2022-06-05T22:22:34+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a37fc64cb", "title": "Video", "url": "https://hsps.in/videos/", "published_at": "2022-06-05T22:22:34+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a38e5ed46", "title": "Using String in Active Record(Rails) Enum", "url": "https://hsps.in/post/using-string-as-active-record-enum/", "published_at": "2022-06-01T03:10:36+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a396afb19", "title": "PHP + MySql a Deadly Combination: My introduction to the real world", "url": "https://hsps.in/post/php-plus-mysql-deadly-combination-there-was/", "published_at": "2022-05-22T03:52:57+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3a219749", "title": "GIN: Generalized Inverted iNdex (on text)", "url": "https://hsps.in/post/generalized-inverted-index-gin-postgresql/", "published_at": "2022-05-20T04:01:23+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3ace681c", "title": "Count How Many Routes You Have", "url": "https://hsps.in/post/count-how-many-routes-you-have/", "published_at": "2022-05-18T00:21:51+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3af07897", "title": "Books I Read 2021", "url": "https://hsps.in/post/books-i-read-2021/", "published_at": "2022-02-17T18:03:49+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3b38f286", "title": "Consequences of saying NO", "url": "https://hsps.in/post/no/", "published_at": "2021-04-24T15:31:46+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3bbf5c08", "title": "Right vs Wrong (Part 1)", "url": "https://hsps.in/post/right-vs-wrong-part-1/", "published_at": "2021-03-28T08:24:05+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3ca5c41b", "title": "Books I Read 2020", "url": "https://hsps.in/post/books-i-read-2020/", "published_at": "2021-02-13T23:04:42+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3cc659e6", "title": "What You Learn From Binge Watching", "url": "https://hsps.in/post/what-you-learn-from-binge-watching/", "published_at": "2020-09-14T01:42:35+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3cc8305c", "title": "About", "url": "https://hsps.in/about/", "published_at": "2020-08-29T22:22:34+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3d3bca03", "title": "[TIL] Starting Ruby Method With Capital Letter", "url": "https://hsps.in/post/til-what-happens-when-you-start-ruby-method-with-capital-letters/", "published_at": "2016-04-30T18:30:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3d9c242c", "title": "Review on Rail 4.3.0 Beta", "url": "https://hsps.in/post/review-on-rail-4.3.0-beta/", "published_at": "2014-08-20T05:30:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3db28121", "title": "Splat Operator in Ruby", "url": "https://hsps.in/post/splat-operator-in-ruby/", "published_at": "2013-09-25T05:30:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3db812c0", "title": "Convert Short Urls to Long Urls", "url": "https://hsps.in/post/convert-short-urls-to-long-urls/", "published_at": "2013-06-11T05:30:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3e8fbeb0", "title": "Open and View the Source Code of a Gem", "url": "https://hsps.in/post/open-and-view-the-source-code-of-a-gem/", "published_at": "2013-05-23T05:30:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3ef1e199", "title": "When My Alarm Was Found to Be Not Working", "url": "https://hsps.in/post/when-my-alarm-was-found-to-be-not-working/", "published_at": "2013-03-15T00:00:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a3f8df13e", "title": "Model Update_attribute Update_attributes", "url": "https://hsps.in/post/model-update_attribute-update_attributes/", "published_at": "2013-01-23T00:00:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a408d924a", "title": "Make Self Executing Ruby Scripts Linux", "url": "https://hsps.in/post/make-self-executing-ruby-scripts-linux/", "published_at": "2012-12-05T00:00:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a41274c1c", "title": "Setup Postgresql and Its Libraries to Work With Rails", "url": "https://hsps.in/post/setup-postgresql-and-its-libraries-to-work-with-rails/", "published_at": "2012-11-27T00:00:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a41f0169e", "title": "Install Ruby via Source Ubuntu", "url": "https://hsps.in/post/install-ruby-via-source-ubuntu/", "published_at": "2012-11-15T00:00:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a4283ba0e", "title": "Store RPM Packages in Cache", "url": "https://hsps.in/post/store-rpm-packages-in-cache/", "published_at": "2012-01-29T05:30:00+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a42cb5fcf", "title": "Create Your Own Ubuntu", "url": "https://hsps.in/post/create-your-own-ubuntu/", "published_at": "2012-01-25T07:07:30+00:00" }, { "id": "01a08784-64ee-72b2-985b-d98a42e1cf83", "title": "puts \"Hello World\"", "url": "https://hsps.in/post/puts-hello-world/", "published_at": "2012-01-14T07:07:30+00:00" } ] posts Claim your blog
Back to hsps.in
Blog · corpus.blog/blogs/hsps.in/posts

hsps.in

hsps.in

2026

2025

2024

2023

2022

2021

2020

2016

2014

2013

2012