41554 blogs · [ { "id": "01a0876c-7148-70c4-a19a-8cae2c26186f", "title": "The Knowledge Operating System", "url": "https://dhruvasagar.dev/posts/the-knowledge-operating-system/", "published_at": "2026-08-02T02:30:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae2cc77705", "title": "How the Water Holds", "url": "https://dhruvasagar.dev/posts/how-the-water-holds/", "published_at": "2026-07-18T00:30:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae2db11450", "title": "The Poverty of Language and the Search for Emotional Precision", "url": "https://dhruvasagar.dev/posts/poverty-of-language-search-for-emotional-precision/", "published_at": "2026-07-17T05:24:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae2e318041", "title": "The Fear Tax", "url": "https://dhruvasagar.dev/posts/the-fear-tax/", "published_at": "2026-06-05T04:30:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae2eb1f3a0", "title": "Keep the Friction", "url": "https://dhruvasagar.dev/posts/keep-the-friction/", "published_at": "2026-06-04T05:00:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae2f2b6607", "title": "What I Got Wrong About Discipline, And You Might Too", "url": "https://dhruvasagar.dev/posts/what-i-got-wrong-about-discipline/", "published_at": "2026-05-06T11:12:09+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae2fac864e", "title": "Introducing ruby-upgrade-toolkit", "url": "https://dhruvasagar.dev/posts/introducing-ruby-upgrade-toolkit/", "published_at": "2026-05-01T14:28:30+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae301dd0ef", "title": "Slow Down to Speed Up", "url": "https://dhruvasagar.dev/posts/slow-down-to-speed-up/", "published_at": "2026-04-29T05:30:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3118b995", "title": "The Matrix Has No Exit", "url": "https://dhruvasagar.dev/posts/the-matrix-has-no-exit/", "published_at": "2026-04-27T05:30:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae31d1dc42", "title": "Embrace the Wobble", "url": "https://dhruvasagar.dev/posts/embrace-the-wobble/", "published_at": "2026-01-14T15:15:12+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae32b78120", "title": "Building a Scalable Ingestion Pipeline With Rust", "url": "https://dhruvasagar.dev/posts/building-a-scalable-ingestion-pipeline-with-rust/", "published_at": "2025-05-05T11:28:25+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae33780c49", "title": "Positive Effects of Exercise on Mental Health", "url": "https://dhruvasagar.dev/posts/positive-effects-of-exercise-on-mental-health/", "published_at": "2024-11-18T05:21:28+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3460e46e", "title": "Neovim as a Java IDE", "url": "https://dhruvasagar.dev/posts/neovim-java-ide/", "published_at": "2024-08-31T22:46:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae34d9d3d6", "title": "How to Speak", "url": "https://dhruvasagar.dev/posts/how-to-speak/", "published_at": "2024-03-17T14:24:06+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae351a7668", "title": "Generic Callbacks in Rust", "url": "https://dhruvasagar.dev/posts/generic-callbacks-in-rust/", "published_at": "2024-03-11T05:15:06+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae355c26cc", "title": "DIY remote controlled pan & tilt CCTV using Raspberry Pi", "url": "https://dhruvasagar.dev/2018/07/06/diy-remote-controlled-pan-tilt-cctv-using-raspberry-pi/", "published_at": "2018-07-06T16:59:10+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae355f92a8", "title": "SSH Config Trick", "url": "https://dhruvasagar.dev/2017/10/07/ssh-config-trick/", "published_at": "2017-10-06T19:21:20+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae357ce65a", "title": "Text Editor Choice & Peer Pressure", "url": "https://dhruvasagar.dev/2017/03/01/text-editor-choice-peer-pressure/", "published_at": "2017-03-01T10:37:42+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae35d82df4", "title": "Template with Context using ERB", "url": "https://dhruvasagar.dev/2017/02/01/template-context-using-erb/", "published_at": "2017-02-01T12:15:49+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae369f47eb", "title": "Slack old school style", "url": "https://dhruvasagar.dev/2016/11/13/slack-old-school-style/", "published_at": "2016-11-13T12:27:39+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae370147f2", "title": "WebRTC Broadcast", "url": "https://dhruvasagar.dev/2016/11/02/webrtc-broadcast/", "published_at": "2016-11-02T12:52:30+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae372722bd", "title": "Pristine – ZSH Theme", "url": "https://dhruvasagar.dev/2015/11/28/pristine-zsh-theme/", "published_at": "2015-11-28T06:24:13+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae38101b98", "title": "Google open sources it’s machine learning system", "url": "https://dhruvasagar.dev/2015/11/10/google-open-sources-its-machine-learning-system/", "published_at": "2015-11-09T19:46:28+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae384b14c9", "title": "Grow your brain!", "url": "https://dhruvasagar.dev/2015/11/09/grow-your-brain/", "published_at": "2015-11-09T14:27:20+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3946a099", "title": "Find huge files in linux", "url": "https://dhruvasagar.dev/2015/05/08/find-huge-files-in-linux/", "published_at": "2015-05-08T04:17:01+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3954f6d6", "title": "Google Code Jam 2014 Qualifiers", "url": "https://dhruvasagar.dev/2014/04/14/google-code-jam-2014-qualifiers/", "published_at": "2014-04-14T08:55:35+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3996151c", "title": "VIM Custom TabLine", "url": "https://dhruvasagar.dev/2014/04/06/vim-custom-tabline/", "published_at": "2014-04-05T18:40:01+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3a78d4b3", "title": "Creating Custom Scratch Buffers in VIM", "url": "https://dhruvasagar.dev/2014/03/11/creating-custom-scratch-buffers-in-vim/", "published_at": "2014-03-11T09:07:22+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3aaf5170", "title": "VIM – Filter Quickfix List", "url": "https://dhruvasagar.dev/2013/12/17/vim-filter-quickfix-list/", "published_at": "2013-12-17T10:15:07+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3b819332", "title": "VIM – Toggle Ruby Hash Syntax", "url": "https://dhruvasagar.dev/2013/11/26/vim-toggle-ruby-hash-syntax/", "published_at": "2013-11-26T15:05:55+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3b8c74e8", "title": "VIM for Multiple Projects in separate Tmux windows", "url": "https://dhruvasagar.dev/2013/11/26/vim-for-multiple-projects-in-tmux-windows/", "published_at": "2013-11-26T05:20:57+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3c47ee41", "title": "ActiveRecord like where for array of hashes in ruby", "url": "https://dhruvasagar.dev/2013/04/20/activerecord-like-where-for-array-of-hashes-in-ruby/", "published_at": "2013-04-20T05:36:35+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3d281897", "title": "VIM Markify", "url": "https://dhruvasagar.dev/2013/04/01/vim-markify/", "published_at": "2013-04-01T13:06:29+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3dd86b29", "title": "VIM Better FoldText", "url": "https://dhruvasagar.dev/2013/03/28/vim-better-foldtext/", "published_at": "2013-03-28T18:00:54+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3e8fd74e", "title": "VIM Table Mode", "url": "https://dhruvasagar.dev/2013/03/17/vim-table-mode/", "published_at": "2013-03-17T07:20:15+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3ec4b031", "title": "Amuse – ZSH Theme", "url": "https://dhruvasagar.dev/2013/03/13/amuse-zsh-theme/", "published_at": "2013-03-13T11:12:50+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3fa2f687", "title": "Vim Railscasts Colorscheme", "url": "https://dhruvasagar.dev/2013/03/08/vim-railscasts-colorscheme/", "published_at": "2013-03-08T08:03:00+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae3fe4aed9", "title": "Soulmate Rails", "url": "https://dhruvasagar.dev/2013/03/04/soulmate-rails/", "published_at": "2013-03-04T08:11:28+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae406e2a6d", "title": "Tmux Powerline Special Characters Issue", "url": "https://dhruvasagar.dev/2013/02/23/tmux-powerline-special-characters-issue/", "published_at": "2013-02-23T07:16:45+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae41269b43", "title": "Ubuntu on Macbook Pro", "url": "https://dhruvasagar.dev/2012/12/28/ubuntu-on-macbook-pro/", "published_at": "2012-12-28T11:02:32+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae421d98f8", "title": "Magician Chrome makes RAM disappear", "url": "https://dhruvasagar.dev/2012/08/28/magician-chrome-makes-ram-disappear/", "published_at": "2012-08-28T08:47:19+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae422d1ecf", "title": "VIM in my muscle memory", "url": "https://dhruvasagar.dev/2012/08/24/vim-in-my-muscle-memory/", "published_at": "2012-08-24T17:59:45+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae428c1fc5", "title": "Artificially Intelligent Spyware", "url": "https://dhruvasagar.dev/2012/08/21/artificially-intelligent-spyware/", "published_at": "2012-08-21T09:58:49+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae4360af91", "title": "Getting started with Ruby – TOC", "url": "https://dhruvasagar.dev/2010/12/24/getting-started-with-ruby-toc/", "published_at": "2010-12-24T18:29:47+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae4428af8c", "title": "MongoMapper Plugin – Versionable", "url": "https://dhruvasagar.dev/2010/12/02/mongomapper-plugin-versionable/", "published_at": "2010-12-02T03:53:38+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae44336795", "title": "Calculating Hashes", "url": "https://dhruvasagar.dev/2010/11/25/calculating-hashes/", "published_at": "2010-11-25T09:30:27+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae44b5bedd", "title": "Getting started with Ruby – Part 6", "url": "https://dhruvasagar.dev/2010/11/03/getting-started-with-ruby-part6/", "published_at": "2010-11-03T04:22:09+00:00" }, { "id": "01a0876c-7148-70c4-a19a-8cae4539cd85", "title": "Getting started with Ruby – Part 5", "url": "https://dhruvasagar.dev/2010/10/26/getting-started-with-ruby-part5/", "published_at": "2010-10-26T03:35:06+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c18db4bb9f", "title": "Getting started with Ruby – Part 4 – Hashes & Blocks", "url": "https://dhruvasagar.dev/2010/10/23/getting-started-with-ruby-part4/", "published_at": "2010-10-22T19:57:01+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c18dcd57c6", "title": "Getting started with Ruby – Part 3 – Collections, Ranges & Arrays", "url": "https://dhruvasagar.dev/2010/10/21/getting-started-with-ruby-part3/", "published_at": "2010-10-20T19:27:19+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c18e3cef68", "title": "Getting started with Ruby – Part 2 – Introduction & Philosophy", "url": "https://dhruvasagar.dev/2010/10/19/getting-started-with-ruby-part2/", "published_at": "2010-10-18T18:53:29+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c18e6e01ad", "title": "Getting started with Ruby – Part 1", "url": "https://dhruvasagar.dev/2010/10/19/getting-started-with-ruby-part1/", "published_at": "2010-10-18T18:38:33+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c18eaf1ea9", "title": "Moving to Ubuntu", "url": "https://dhruvasagar.dev/2008/05/06/moving-to-ubuntu/", "published_at": "2008-05-06T09:59:31+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c18f6765aa", "title": "Cleaning data on my computer", "url": "https://dhruvasagar.dev/2008/05/05/cleaning-data-on-my-computer/", "published_at": "2008-05-05T03:50:14+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c1904aba7c", "title": "Calculating a MD5, SHA1, SHA256, SHA384, SHA512 Hash in C#", "url": "https://dhruvasagar.dev/2007/08/15/calculating-a-md5-sha1-sha256-sha384-sha512-hash-in-c/", "published_at": "2007-08-15T18:12:56+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c190e35f46", "title": "Calculating a MD5, SHA1, SHA256, SHA384, SHA512 Hash in Java", "url": "https://dhruvasagar.dev/2007/08/13/calculating-a-md5-sha1-sha256-sha384-sha512-hash-in-java/", "published_at": "2007-08-13T17:58:32+00:00" }, { "id": "01a0876c-7149-732e-8ea8-79c191e21e8e", "title": "About", "url": "https://dhruvasagar.dev/about/", "published_at": null }, { "id": "01a0876c-7149-732e-8ea8-79c1923e4605", "title": "Now", "url": "https://dhruvasagar.dev/now/", "published_at": null } ] posts Claim your blog
Back to dhruvasagar.dev
Blog · corpus.blog/blogs/dhruvasagar.dev/posts

dhruvasagar.dev

dhruvasagar.dev

2026

2025

2024

2018

2017

2016

2015

2014

2013

2012

2010

2008

2007

Undated