HNHacker News
TopNewBestAskShowJobs

jeswin

10,038 karma · joined December 29, 2008

Available for consulting (Architecture, Training, .Net/C#/F#, NodeJS/React/TypeScript). Email me at: jeswinpk@agilehead.com

Projects I maintain:

https://tsonic.org/ - TypeScript to native code compiler.

https://webjsx.org - A library for creating Web Components with JSX

https://bashojs.org - Lazy JavaScript Evaluator for building Shell pipelines.

github: https://github.com/jeswin

submissionscomments
jeswin··on DeepSeek v4
> this is why Anthropic wants to ban open weight models

Do you have a source?

jeswin··on Workspace Agents in ChatGPT
Notion, as any other thin-AI product out there, is now in Anthropic/OpenAI/Google's crosshairs. Unless one has a moat the size of SharePoint or Google Docs or OneDrive, it's just a feature away.
jeswin··on JSIR: A High-Level IR for JavaScript
For tsonic (https://github.com/tsoniclang/tsonic) which is trying to convert TS to C# and then to native binary via NativeAOT, I took almost the opposite tradeoff from JSIR.

JSIR is optimizing for round-trips back to JavaScript source. But since in language to language conversion teh consumer is a backend emitter (C# in my case), instead of preserving source structure perfectly, my IR preserves resolved semantic facts: types, generic substitutions, overload decisions, package/binding resolution, and other lowering-critical decisions.

I could be wrong, but I suspect transpilers are easier to build if it's lowering oriented (for specific targets).

jeswin··on System Card: Claude Mythos Preview [pdf]
I have always used Claude at max thinking levels since it launched. It has never been up to the task. For clarity, the task being this: https://github.com/tsoniclang/tsonic

Meanwhile, there are half a dozen other projects (business apps, web apps etc) where it works well.

jeswin··on OpenAI says its new model GPT-2 is too dangerous to release (2019)
> a very straightforward and basic UI bug

Show us the code, or an obfuscated snippet. A common challenge with coding-agent related posts is that the described experiences have no associated context, and readers have no way of knowing whether it's the model, the task, the company or even the developer.

Nobody learns anything without context, including the poster.

jeswin··on System Card: Claude Mythos Preview [pdf]
It really is, for complex tasks. Claude excels at low-mid complexity (CRUD apps, most business apps). For anything somewhat out of the distribution, codex at the moment has no peer.
jeswin··on Microsoft hasn't had a coherent GUI strategy since Petzold
Microsoft's biggest mistake was .Net being a Java competitor when it should have just been like golang producing native binaries. Especially since .Net was realistically only going to succeed on x86/64 at that point (late 90s and 2000s). This shut the door on C# for consumer UIs, and people stuck to Visual Basic and MFC.

It took them more than 2 decades to finally support pure native binaries (via NativeAOT). And it's fantastic for servers on Linux.

jeswin··on IBM Announces Strategic Collaboration with Arm
They design their own CPUs, and they sold $15b of hardware last year. Tellum ii in the z17 mainframe is a Samsung 5nm part.

What I don't get however is who'd use their custom accelerators for AI inference.

jeswin··on Axios compromised on NPM – Malicious versions drop remote access trojan
C#'s LINQ (code as data, like LISP) wins over golang for any type of data access. Strongly-typed, language-native queries. Go has its own advantages though.
jeswin··on Axios compromised on NPM – Malicious versions drop remote access trojan
And now with NativeAOT, you can use C# like go - you don't need to ship the CLR.
jeswin··on Claude Code runs Git reset –hard origin/main against project repo every 10 mins
I was on one till recently, maybe I still am. But does it work for orgs? I put some projects under orgs when they become more than a few projects.
jeswin··on Claude Code runs Git reset –hard origin/main against project repo every 10 mins
My point is exactly that you need safeguards. (I have VMs per project, reduced command availability etc). But those details are orthogonal to this discussion.

However "Telling" has made it better, and generally the model itself has become better. Also, I've never faced a similar issue in Codex.

jeswin··on Claude Code runs Git reset –hard origin/main against project repo every 10 mins
It's not a one off issue - it has happened to me a few times. It has once even force pushed to github, which doesn't allow branch protection for private personal projects. Here's an example.

1) claude will stash (despite clear instructions never to do so).

2) claude will use sed to bulk replace (despite clear instructions never to do so). sed replacements make a mess and replaces far too many files.

3) claude restores the stash. Finds a lot of conflicts. Nothing runs.

4) claude decides it can't fix the problem and does a reset hard.

I have this right at the top of my CLAUDE.md and it makes things better, but unlike codex, claude doesn't follow it to the letter. However, it has become a lot better now.

NEVER USE sed TO BULK REPLACE.

*NEVER USE FORCE PUSH OR DESTRUCTIVE GIT OPERATIONS*: `git push --force`, `git push --force-with-lease`, `git reset --hard`, `git clean -fd`, or any other destructive git operations are ABSOLUTELY FORBIDDEN. Use `git revert` to undo changes instead.

jeswin··on “This is not the computer for you”
> Linux gets a bad reputation because 20-ish years ago Ubuntu sent out free CDs and became the dominant OS.

I've been an Ubuntu user for 20 years, and RedHat and Suse prior to that. Ubuntu just worked. Debian had packages for everything, including from 3rd party vendors. It lets me focus on my work, and not worry about the OS, or compiling packages, or finding installers. When I had issues (rare), the large user base meant that someone had already figured out a solution to the problem.

The flavor of Linux doesn't matter so much in my opinion.

jeswin··on Ask HN: How to be alone?
There are so many useful snippets of good advice on this thread.

I'd like to mention sport again, but with an addition: find a sports coach you can afford. This changes sport from being a destination to a path, and you'll avoid injuries - which is something you'll need to be careful about as your grow older. Im in my mid 40s, for context.

jeswin··on MonoGame: A .NET framework for making cross-platform games
How well does it support Linux + NativeAOT? Thanks in advance.

Never mind, found this in the docs: https://fna-xna.github.io/docs/appendix/Appendix-A%3A-Native...

jeswin··on Nobody ever got fired for using a struct
My point is that one doesn't follow the other. To design good data structures, you need to know how it'll get used (the algorithm).

> If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident.

This is what I was responding to.

jeswin··on Nobody ever got fired for using a struct
Where did I say any of that?

I'm saying that if you care about performance, data structures should be designed with approach specific tradeoffs in mind. And like I've said above, in typical business apps, it's ok to start with data structures because (a) performance is usually not a problem, (b) staying close to the domain is cleaner.

jeswin··on Nobody ever got fired for using a struct
I wouldn't give too much credit to rules like this. Data structures are often created with an approach in mind. You can't design a data structure without knowing how you will use it.

If anything it's the other way round, if you're not talking about business domain modeling (where data structures first is a valid approach).

jeswin··on GPT-5.4
When it comes to lengthy non-trivial work, codex is much better but also slower.
jeswin··on The JavaScript Oxidation Compiler
If you want native binaries from typescript, check my project: https://tsonic.org/

Currently it uses .Net and NativeAOT, but adding support for the Rust backend/ecosystem over the next couple of months. TypeScript for GPU kernels, soon. :)

jeswin··on Be wary of Bluesky
You can have your other devices and friends replicating.
jeswin··on Be wary of Bluesky
True p2p is the only approach that will work, not federation. I'd go futher and make the protocol high-friction for federation.

It's true that many p2p attempts have failed, but it's also the only solution that doesn't require someone running servers for free. There's evidence of success as well: napster (and bittorrent). Both were wildly successful, and ultimately died because of legal issues. It might work when the data is yours to share.

jeswin··on Heroku is not dead
How did you objectively decide it's a bad model?
jeswin··on Show HN: Script: JavaScript That Runs Like Rust
> Was this post written with AI?

Why should we care if it's not difficult to read? What is your complaint?

jeswin··on Show HN: Script: JavaScript That Runs Like Rust
Very interesting. I made a similar project called tsonic [1] which compiles TS to C# and then uses NativeAOT to compile it down to native code.

We'd have faced similar issues, and I'm curious how you solved it. From your examples:

  function add(a: number, b: number): number {
    return a + b;
  }
The challenge I faced here with JS/TS was that they have a single "number" type which can be carry ints, longs, floats etc. In most application code, you don't want a and b to be floats - you want them to be integers; such as in a loop counter. There are a whole bunch of types in native code that have no equivalent in TS.

It took me several months to get to a usable state, working on issues one by one.

This is a great project. Keep going, good luck.

[1]: https://tsonic.org

jeswin··on Iran Protest Death Toll Could Top 30k, According to Local Health Officials
What explains the silence from activists outside Iran on this particular issue? I see relatively limited coverage on global media. Iranians seem to be fighting this alone, and dying by the thousands.

Perhaps we know, but the reasons will be unpopular.

jeswin··on Command-line Tools can be 235x Faster than your Hadoop Cluster (2014)
The same thing is true with Sqlite vs Postgres. Most startups need Sqlite, not Postgres. Many queries run an order of magnitude faster. Not only is it better for your users, it's life changing to see the test suites (which would take minutes to run) complete in mere seconds
jeswin··on The Nobel Prize and the Laureate Are Inseparable
I am the one who disputed the claim and later deleted - I was conflicted between keeping HN largely free of political reddittery (and chose to downvote instead), and fact-checking.

> The current prime minister of India once announced that he has Ph.D. in "all of the political science".

This didn't happen, at least publicly and on record. The previous dispute was around his distance education Masters; which isn't hard to believe or hard to get. They don't attend regular classes.

jeswin··on ThinkNext Design
Personally I think hard plastic (like on ThinkPads) is more resistant to damage than metal cases. Also, the textured surface is less slippery. And - ThinkPad repair (especially old models) is usually cheaper because businesses by so many of them.
← PreviousPage 4 of 34Next →