HNHacker News
TopNewBestAskShowJobs

nsm

1,435 karma · joined August 3, 2009

I work at Skydio. Opinions here are my own.

Website: https://nikhilism.com

submissionscomments
nsm··on The Dutch Community Where People Live on Strips of Land in a Lake
Is this area the inspiration for the Gyptians in The Golden Compass?
nsm··on Zed 1.0
If you are on macOS, there is https://nova.app/
nsm··on Zed 1.0
Not the OP, but for me ST can't be beat in terms of how easy it is to write a plugin. It uses Python (Zed is Rust). Plugins generally auto-reloads. If extensibility is important to you, ST is still the way to go.
nsm··on Reports of code's death are greatly exaggerated
Two counterpoints:

1. Implying that there are only "a few islands left" shoes a strong bias towards assuming that only thins humans do in the digital realm is relevant, when in fact, the vast majority of things humans do are not in the digital sphere at all.

2. It's pretty clear when most people say that machine intelligence is close, right now, they are alluding to LLM or Deep Learning based approaches. I don't think you should assume they mean machines will catch up in a 100 years. They seem to imply it will be by 2030 or sowmthing.

nsm··on My “grand vision” for Rust
https://without.boats/blog/revisiting-a-smaller-rust/

I think there is a programming language hole for a Rust-like language, but with GC and green threads. One that dispenses with single-ownership, and async/await footguns.

Something like F#/Kotlin is closest in terms of developer experience.

Unfortunately, we are really lacking a language that skews badly on some other axis

- F# - tainted by being Windows only for really long and being Microsoft. - Kotlin - tainted by the JVM - Java 24+ - has virtual threads, sum types, match expressions and other niceties, but tainted by the JVM again (Verbosity included, but this is not really a factor with IDEs and LLMs.)

Note that the opinions above are not mine, but "consensus". I'd say they are all unfair opinions.

I feel like people end up favoring new languages, simply because of novelty. Like, inevitably, somebody is gonna say Gleam. I'm all for having existing BEAM users getting access to new languages, but I'm not sure why one would pick a BEAM language for non-server applications when the developer tooling story for CLI apps, line-of-business apps and so on is so much stronger for the .NET and JVM ecosystems. No offense to the Gleam folks intended.

nsm··on Nobody knows how the whole system works
Aider has an ide mode close to this. Check out https://nikhilism.com/post/2026/nudge-skill/ to add similar behavior to certain agents. I too, am waiting for IDEs to do this in a polished way. next tab edit is not quite it
nsm··on Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust
Can people give examples of how they use pre-commit hooks that _cannot_ be replaced by a combination of the following?

* CI (I understand pre-commit shifts errors left)

* in editor/IDE live error callouts for stuff like type checking, and auto-formatting for things like "linters".

Do you run tests? How do you know _which_ tests to run, and not just run every test CI would run, which could be slow?

nsm··on What “The Best” Looks Like
Seconded. anecdotally. Heck, the best startup _founders_ I've worked with had young kids while in the most intense phases of the company!
nsm··on A macOS app that blurs your screen when you slouch
Highly recommend the LookAway app if you are on macOS and looking for something encouraging you to take breaks and maintain good posture.
nsm··on Skip is now free and open source
What money do you think pays for most of the development of the Linux kernel? I assure you, it is not the altruistic goodwill of people around the world.
nsm··on Skip is now free and open source
This is only true for a subset of software like mobile apps. Web developers are not paying for anything except compute.
nsm··on Skip is now free and open source
Would you pay for source-available products? GPL and paid license?

Along with a guarantee that you get to keep access to older versions (Jetbrains and Sublime Text models)?

nsm··on Skip is now free and open source
> The plain truth is that developers expect to get their tools free of charge.

This is an accurate, but damning indictment of how some of the most highly paid workers on the planet won't pay for tools. Unlike nearly every other profession.

Folks, if you can afford it, please pay for quality software, instead of relying on FAANG and VC money to keep the tools going!

nsm··on Ask HN: What are the best engineering blogs with real-world depth?
https://randomascii.wordpress.com/ - former Chrome engineer about all things performance engineering and particularly focused on Windows.
nsm··on Announcing Development on Flirt
> But at present, there is a big gap in the workflow: You leave your editor, open a browser, navigate to some page or tab, then navigate to the exact same place in the code you were just looking at, click on a line to open a text box, and finally you can write your comment.

Jetbrains can review GitHub PRs right in the IDE.

nsm··on Trump to impose $100k fee for H-1B worker visas, White House says
The fees are paid by employers and not workers.
nsm··on Zedless: Zed fork focused on privacy and being local-first
Have you considered sublime text as the lightweight editor?
nsm··on Meta's AI rules let bots hold sensual chats with kids, offer false medical info
After reading Careless People, I would be more surprised if Meta was _not_ doing these things. The company is amoral/immoral in the truest "responsibility to shareholders" (number go up) way. It needs to be made to lose everything.
nsm··on Performance and telemetry analysis of Trae IDE, ByteDance's VSCode fork
The "integrated" part. I've written some here https://news.ycombinator.com/item?id=42871586
nsm··on Use Your Type System
Highly recommend the Early Access book Data-Oriented Programming with Java by Chris Kiehl as another resource.
nsm··on Zig's New Async I/O
I’m confused about the assertion that green threads perform badly. 3 of the top platforms for high concurrency servers use or plan to use green threads (Go, Erlang, Java). My understanding was that green threads have limitations with C FFI which is why lower level languages don’t use them (Rust). Rust may also have performance concerns since it has other constraints to deal with.
nsm··on (Quite) a Few Words About Async
This post does a fantastic job of laying out the reasoning and implementation of various concurrency methods and their trade-offs. It is one of the rare nuanced views on async/await vs green threads. Plus it makes the links between CPS, delimited continuations and effects, thus generalizing concurrency into one of several possible "stackful" operations.

In terms of ocaml and the authors concerns about continuation capturing and memory/performance, this is a good paper - http://manticore.cs.uchicago.edu/papers/pldi20-stacks-n-cont...

I think the _only_ thing the author didn't cover about concurrency is that "waiting for one of several things to complete" is a powerful primitive for concurrency that very few platforms provide direct access to. I.e. most async event loops are powered by OS primitives that allow such "heterogenous selects" and they are used under the hood but not exposed. I think Go's select, Tokio's equivalent, ConcurrentMLs/Racket more powerful choice operator. All of these allow expressing some nice patterns that other languages make impossible (sad Promise.race) or not user facing (cancellation in structured concurrency)

Great job!

nsm··on Apple just released a weirdly interesting coding language model
I've had good experiences with Junie and AI assistant at their bread and butter languages of Java and Kotlin. I haven't tried it in anger though.
nsm··on CLion Is Now Free for Non-Commercial Use
Jdk improvements and the new Nova/Rider backend how dramatically improved JetBrains performance. I highly encourage you to give it another shot.
nsm··on The Barium Experiment
Racket is related to LISP and already has a mature GUI implementation that uses native widgets on Windows and MacOS, and on Linux goes to GTK3 or falls back to GTK2. https://docs.racket-lang.org/gui/index.html

It is used to create their full featured teaching IDE.

It is worth looking at before re-inventing the stack.

nsm··on Project Aardvark: reimagining AI weather prediction
To quote Iain M. Banks, probably not :)

> "Sma," the ship said finally, with a hint of what might have been frustration in its voice, "I'm the smartest thing for a hundred light years radius, and by a factor of about a million ... but even I can't predict where a snooker ball's going to end up after more than six collisions." [GCU Arbitrary in "The State of the Art"]

nsm··on "Vibe Coding" vs. Reality
This seems like introducing unnecessary complexity in the final artifact in order to use LLMs. Square peg, round hole.
nsm··on Microsoft begins turning off uBlock Origin and other extensions in Edge
Yes! Please support good paid software companies if you can afford them. Jetbrains, Sublime Text, others.
nsm··on How does life happen when there's barely any light?
Reminds me of Adrian Tchaikovsky's new book Saturation Point. I don't want to reveal any spoilers, but it is about warm-blooded/cold-blooded and applicability to quicker adaptation.
nsm··on Software development topics I've changed my mind on
Aren't checked exceptions the same as effect systems in the narrow case of error handling?
Page 1 of 10Next →