Mohit Sindhwani
onghu.com
Mohit Sindhwani
@onghu.com
Work: CTO, Quantum Inventions.
Also: Councillor, ITS Singapore.
Opinions: Own.

Posts: ITS/ Transportation, Ruby, Rails, Windows, Tech, Programming, Life, Languages & Oddballs.
Honestly, this picture's much better than you'd think. Barring the fact that most non-developers probably weren't looking for Windows Terminal, and you can remove internet searches in the start menu, every other link is good: Terminal,command prompt, folders called terminal, terminal settings, ...
the Microsoft Windows 2025 experience, expressed in a single picture
November 27, 2025 at 10:14 AM
Is there a name for a person who may not have the answer to a question but is able to ask a lot of relevant clarifying questions that would make it easier for someone who knows to answer precisely and quickly?

(I feel like that person sometimes)

#RandomThoughts
November 22, 2025 at 7:48 AM
Reposted by Mohit Sindhwani
Combined with compact objects in JDK 25+ this could be a huge breakthrough in scaling JRuby apps. What if your JRuby app's working set could be half as big on the heap, with improved throughput due to smaller objects and less allocator overhead?
A first shot at drastically reducing object size in JRuby, in this case by using more compact wrappers for small Integers: buff.ly/KxZEKBh

Other fixes will reduce the size of "immediate" types (numerics, etc) by up to 16 bytes and the size of ALL objects by 5-6 bytes. 🤯
Specialize Fixnum by headius · Pull Request #9085 · jruby/jruby
This adds specialized RubyFixnum subtypes for byte, short, int, and long, making RubyFixnum abstract. All allocations of a Fixnum are boxed using the most compact size. This drastically reduces the...
buff.ly
November 21, 2025 at 9:57 AM
Reposted by Mohit Sindhwani
The db-gui #Ruby #gem 0.3.0 now supports storing multiple database configurations and remembering which one was last selected on launch. The glimmer-dsl-libui Ruby gem 0.13.1 now supports combobox items unidirectional data-binding in #GUI #apps

github.com/AndyObtiva/d...
github.com/AndyObtiva/g...
November 20, 2025 at 10:24 PM
Reposted by Mohit Sindhwani
📚 My new book "Spatial Data Management with DuckDB" has reached #1 Best Seller in both GIS and Remote Sensing on Amazon,and even climbed to #6 in SQL! 🏆🌎

Huge thanks to the community for the support!

📘 Color-print edition on Amazon: amazon.com/dp/B0G2JFMFFC
November 18, 2025 at 9:49 PM
Finished watching "The Beast in Me" and all the while, I kept feeling that I am so ready for the next series of "Homeland" (which I know is not a thing since the series has ended).

#TV #Streaming #Netflix
November 17, 2025 at 3:57 AM
Reposted by Mohit Sindhwani
I’m thrilled to share that my new book (Spatial Data Management with DuckDB) is now published! 🎉

At 430 pages, this book provides a practical, hands-on guide to scalable geospatial analytics and visualization using DuckDB. All code examples are open-source and freely available on GitHub.
November 15, 2025 at 6:44 PM
Every single time I walk past this I am reminded of @scott.hanselman.com
November 16, 2025 at 7:28 AM
Writing for my blog's been tougher this year & I'm at 10 posts so far (wanted ~40). But we covered some JRuby, OneNote, Productivity, Podman/WSL2 and DuckDB.

Popular: Pg18 w/o installation: notepad.onghu.com/2025/portabl...

Favourite: how we know things: notepad.onghu.com/2025/thought...

#Tech
Portable setup for PostgreSQL on Windows (Pg18 Edition)
The normal method for using PostgreSQL on your Windows machine is to download the installer and then set it up. It’s easy and will do all the necessary things that you need for it. It will also set…
notepad.onghu.com
November 16, 2025 at 3:11 AM
Like I'd like the UI to be more compact, more dense but still readable and obvious. The picture shows the new Office icons which can't be told apart easily when you reduce the sizes (I _think_ the older ones were better.

#Tech
November 15, 2025 at 6:33 AM
I use #Windows a lot and have a certain way I use it. I get that @Microsoft wants to meet new users (mobile first, always connected, cloud expecting) where they are, but they're burning loyalty by disabling or removing stuff. I'd prefer a mix of old and new
November 15, 2025 at 1:34 AM
Reposted by Mohit Sindhwani
I get asked about this a lot, so... Would anybody be interested enough in a native-compiled Ruby implementation to fund a fork of JRuby that can be compiled with GraalVM Native Image? It's totally doable, but the work involved is nontrivial and incompatible with the JVM version.
November 13, 2025 at 10:31 PM
Reposted by Mohit Sindhwani
mensfeld.pl
November 13, 2025 at 2:54 PM
Reposted by Mohit Sindhwani
Fun fact: JRuby is the only alternative Ruby implementation to attempt Windows support since Microsoft killed IronRuby, and the only one ever to run Rails.

We test generating and running a full stack Rails app on Windows before each release.

Windows is a PITA to support. 🤬
November 10, 2025 at 10:09 PM
Reposted by Mohit Sindhwani
10/10 take. No notes.
November 7, 2025 at 5:49 PM
Reposted by Mohit Sindhwani
❯ ruby -v
ruby 4.0.0dev (2025-11-07T11:42:29Z master 1f32464a2d) +YJIT +MN +PRISM [arm64-darwin24]
November 7, 2025 at 11:48 AM
Reposted by Mohit Sindhwani
The apparent decline in Ruby use in recent years has more to do with the fact that people aren't building as much new stuff than anything about Ruby itself. A malaise has fallen on software dev: few exciting projects, skilled devs out of work. Good time to start something?
November 6, 2025 at 11:11 PM
Reposted by Mohit Sindhwani
Ruby 4.0 is officially official! #RubyWorld
November 7, 2025 at 2:48 AM
Reposted by Mohit Sindhwani
The Solid Queue database-based backend for ActiveJob currently requires `fork` to work, solely because that's the only way to make sure it runs in parallel on CRuby. I want it to work on JRuby, which doesn't support fork, but can run threads in parallel very easily. Help?

buff.ly/18ZW69U
Non-forking implementation · Issue #679 · rails/solid_queue
Hello! I would like to offer my help making modifications to Solid Queue to support executing in-process using threads rather than out-of-process as a fork. There's many issues with using fork: Imp...
github.com
November 4, 2025 at 9:47 PM
Reposted by Mohit Sindhwani
I was quoted in the following article by Howard Solomon:
Self-propagating worm found in marketplaces for Visual Studio Code extensions. WOW supply chain attacks are becoming truly terrifying!
https://twp.ai/9PWZ2d
October 30, 2025 at 4:39 PM
Reposted by Mohit Sindhwani
Also please don't restrict bundler and ruby versions like `bundler < 3.0` and `required_ruby_version < 4.0` 🙏
Dear gem maintainers 👋

Rails 8.1 just dropped, but many gems can’t be used because of overly strict gemspec constraints.

Please don’t hard-restrict Rails versions, let us test early and report real issues sooner! ❤️

Thanks
October 30, 2025 at 11:17 PM
Reposted by Mohit Sindhwani
Online on a weekend? You can grab access to my web components course for $25 today and tomorrow. Big ol’ discount. Use the code OCT25-26.

(And as usual, if you need further accommodation, just use the email form and we’ll work it out.)

scottjehl.com/learn/webcom...
Web Components Demystified online course | Scott Jehl, Web Designer/Developer
A comprehensive, premium course about building dynamic, fast, resilient apps with standard web components.
scottjehl.com
October 25, 2025 at 2:59 PM
Reposted by Mohit Sindhwani
It turns out the real Ractors were the Threads we made along the way
Announcing ractor-shim, a new gem that reimplements Ractor on top of Thread & Queue: github.com/eregon/racto...

This gem provides the full Ruby 3.5 Ractor API (Ractor::Port, Ractor#{join,value,monitor}, etc) on TruffleRuby, JRuby, and CRuby 2.7 to 3.4.
GitHub - eregon/ractor-shim: A shim to define Ractor by using Thread, if not already defined
A shim to define Ractor by using Thread, if not already defined - eregon/ractor-shim
github.com
October 30, 2025 at 9:18 PM
Reposted by Mohit Sindhwani
“The world without hegemony” — A long-form article based on my book with Amitav! Many thanks to Sam Haselby! @yalepress.bsky.social
Southeast Asian history shows us that there are other pathways to international order and that, contrary to Western modes of thinking, a hegemonic power is not required for stability
What Southeast Asian history tells us about a multipolar order | Aeon Essays
As Pax Americana ends, a multipolar order is emerging. The history of Southeast Asia holds lessons for what’s to come
buff.ly
October 30, 2025 at 9:49 PM
Reposted by Mohit Sindhwani
Make sure you read yesterday announcement from @Rails about the end of
support for Rails 7.0 and Rails 7.1

rubyonrails.org/2025/10/29/...
October 30, 2025 at 8:30 AM