HNHacker News
TopNewBestAskShowJobs

punnerud

9,625 karma · joined May 18, 2013

Data Scientist/Engineer at Systek, a small company in Oslo/Norway.

morten(at)punnerud.net

Some hobby projects: https://claude-checkpoints.com https://blank-black-screen.com https://politihelikopter.com http://punnerud.github.io/CamDelete https://punnerud.github.io/Auto-Mouse-Jiggler-Mover

submissionscomments
punnerud··on A critical look at MCP
I don’t agree with MCP being a bad standard, remember it’s supposed to be as simple and easy as possible to not take up a lot of tokens and for the LLM to use.

More complex stuff you can build on the “outside”. So keeping it local seems ok, because it’s just the LLM facing part.

punnerud··on How async/await works in Python (2021)
GIL is like a "red-cap" on the head for the CPU-core running the task, so you would not be able to run true Async without GIL. Have to hand the "red-cap" back, for the next task.

Instead of using a global lock ("red-cap"), Python objects have introduced a specialized reference counting system that distinguishes between "local" references (owned by a single thread) and "shared" references (accessed by multiple threads).

In that way enabling to remove GIL in the long run, now starting with making it optional.

punnerud··on How async/await works in Python (2021)
A more simplified version:

Synchronous code is like a single-lane road where cars (tasks) must travel one after another in perfect sequence. If one car stops for gas (waiting for I/O), every car behind it must stop too. While orderly and predictable, this creates massive traffic jams as tasks wait unnecessarily for others to complete before they can proceed.

Pure asynchronous code (with callbacks) is like dispatching multiple cars onto independent routes with no coordination. Cars move freely without waiting for each other, but they arrive at unpredictable times and following their progress becomes chaotic. It's efficient but creates a complex tangle of paths that becomes hard to maintain.

Async/await combines the best of both approaches with a multi-lane highway system. Cars follow clear, synchronous-looking routes (making code readable), but only wait at strategic "await" exit ramps when truly necessary. When a car needs data, it signals with "await", pulls off the highway temporarily, and other cars continue flowing past. Once its operation completes, it merges back into traffic and continues. This gives you the logical simplicity of synchronous code with the performance benefits of asynchronous execution - cars only wait at crossroads when they must, maximizing throughput while maintaining order.

The genius of async/await is that it lets developers write code that looks sequential while the runtime handles all the complex traffic management under the hood.

punnerud··on How the US defense secretary circumvents official DoD communications equipment
You could locate the traffic to The White House using this triangulation trick: https://news.ycombinator.com/item?id=42780816

Title:”0-click deanonymization attack targeting Signal, Discord, other platforms”

Maybe not 0-click anymore, but still applies if the user browsing the internet.

punnerud··on Reverse Geocoding Is Hard
Isn’t the main purpose of S2 to be able to scan from different “directions”? More a purpose of Google Maps when viewing the world as a spherical object compared to Sqlite3 just using a simple B-tree index on lat+lon?
punnerud··on Reverse geocoding is hard
I created this to solve my own need for reverse geocoding: https://github.com/punnerud/rgcosm (Saving me thousands of $ compared to Google API)

Uses OpenStreetmap file, Python and SQLite3.

First it finds all addresses using +/- like a square from lat/lon, then calculate distance based on the smaller list (Pythagoras), and pick the closest. It expands until a set maximum if no address is found in the first search.

punnerud··on Gemma 3 QAT Models: Bringing AI to Consumer GPUs
Just tested the 27B, and it’s not very good at following instructions and is very limited on more complex code problems.

Mapping from one JSON with a lot of plain text, into a new structure and it fails every time.

Ask it to generate SVG, and it’s very simple and almost too dumb.

Nice that it doesn’t need that huge amount of RAM, and perform ok on smaller languages from my initial tests.

punnerud··on Donate USB Drives and SD Cards to Help US Smuggle Outside Info into North Korea
It was all captions when I copied it. Did not see it before the edit time was ended.
punnerud··on Show HN: My iOS app to practice sight reading (10 years in the App Store)
Not an answer to your question but I have 8 iPhone app on AppStore, and many more on my phone not published. Made an Android app, but it’s hard to publish to Google Play compared. Stopped almost at the end in the approval process, because I felt like this platform must really hate developers. Or is it just me?

When I see the stats on paying Android users compared to iPhone, I feel I always will start on iOS and only maybe make to Android if it’s successful somewhere else first.

punnerud··on Did the Particle Go Through the Two Slits, or Did the Wave Function?
Rather than viewing wave functions as abstract mathematical objects in possibility space, we might understand them as describing the probabilistic nature of fundamental spinning energy entities whose rotational states generate wave-like behavior in measurement outcomes. Strassler's "possibilities" could be reinterpreted as different rotational configurations of spinning energy, with interference patterns emerging not from physical objects passing through slits but from how these spinning states evolve when constrained by sequential measurements.
punnerud··on Automatically tagging politician when they use their phone on the livestreams
And you can use your iPad or computer to check Facebook
punnerud··on Apple's Software Quality Crisis
Did not know about that form, thanks
punnerud··on Apple's Software Quality Crisis
I have been reporting several bugs through the Feedback app you get access to when you are part of the beta program. There is to many menus and no search option to find the right “department” to report to, so I have almost stopped giving feedback on bugs.

I guess the fixes have to start there first.

punnerud··on EA Open Sources Command and Conquer: Red Alert
How hard would it be to convert this so it could run in the browser using WebAssembly?
punnerud··on The man who spent forty-two years at the Beverly Hills Hotel pool (1993)
Article summary: “ Irving V. Link spent 42 years at the Beverly Hills Hotel pool, where his meticulous daily routine of breakfast, sunbathing, and gin rummy became legendary. He was admired by hotel staff and Hollywood figures alike, symbolizing the timeless charm of a bygone era in Los Angeles. His life was deeply intertwined with the hotel’s evolution, reflecting the glamour of old Hollywood and the shifting dynamics of its clientele. The hotel’s closure by the Sultan of Brunei for renovations disrupted his routine and marked the end of an era. Link’s personal narrative weaves together memories of luxury, business intrigue, and cultural transformation. Ultimately, his story is a poignant meditation on the inevitability of change and the enduring power of tradition.”
punnerud··on Amazon now discloses you're buying a license to view Kindle eBooks
Fair use comes from Berne Convention §10 (snipet): “It shall be permissible to make quotations from a work which has already been lawfully made available to the public…”

I guess OpenAI and Google use that to be able to build search and training ML-models. Almost all countries in the world is bounded by that.

punnerud··on Apple Launches Apple Invites
A lot of people are not using Facebook, so it’s easier to use custom tools that only require a browser and send SMS/e-mail for alerts.

Some of them have Facebook, but turned off all notifications and never check for updates. So they can be counted as not having it.

punnerud··on One in four 2020 Tesla Model 3 failed the Danish periodic inspection in 2024
Translated version: https://fdm-dk.translate.goog/nyheder/bilist/2025-01-populae...
punnerud··on Show HN: Cs16.css – CSS library based on Counter Strike 1.6 UI
Even more important to remove the dirt from the rollers that attached to the mouse ball
punnerud··on Show HN: Using YOLO to Detect Office Chairs in 40M Hotel Photos
Can use dhash that is more robusts to compression, crops and color changes. Mainly look at the features in the image.
punnerud··on Show HN: Trolling SMS spammers with Ollama
Could also have been running Tailscale or similar on the phone, then you could use POST both ways even when it’s not on the same network.

Had a good laugh from this.

punnerud··on iPhone "dumb phone mode" – Assistive Access
Normal apps is compressed a bit in size with a big back button, to make it very easy to exit them.

Should maybe have been a separate AppStore category for apps dedicated to this mode. I would probably try to make an app or two for it, if it existed.

punnerud··on iPhone "dumb phone mode" – Assistive Access
You can install and use any app, but true; it’s very simplified.
punnerud··on Introducing Operator
OpenAI also focus their marketing on controlling a browser, just like Anthropic. Agents can do so much more. More like filters and picklists on values for the in and out of the agents.
punnerud··on 0-click deanonymization attack targeting Signal, Discord, other platforms
That’s just to be able to use their APIs to get the location of the sender.

Example you used the normal Signal app without patch and sending me a message, and I have the patched version.

Just to remove certificate pinning, to be able to see the API traffic because of encryption.

punnerud··on 0-click deanonymization attack targeting Signal, Discord, other platforms
Is he just 15? The level of technical details, and this part is not that simple: “quickly patched the Signal desktop app to remove SSL pinning and configured Burp to intercept and view HTTP requests/responses sent through the app”
punnerud··on Show HN: HipScript – Run CUDA in the browser with WebAssembly and WebGPU
How performant is the CUDA code in browser compared to standalone program?

Could we have PyTorch / ML training with CUDA through the browser performing ok?

punnerud··on A path to O1 open source
Not one word in the article about using embeddings for the reasoning, a bit strange?
punnerud··on An Unreasonable Amount of Time
Good quote from the article: “Eventually, years in, this will culminate in overnight success.”
punnerud··on Slow deployment causes meetings (2015)
As long as every team managing the different APIs/services don’t have to be consulted for others to get access. You then get both the problems of distributed data and even more levels of complexity (more meetings than with a monolith)
← PreviousPage 4 of 30Next →