HNHacker News
TopNewBestAskShowJobs

imurray

1,578 karma · joined November 22, 2009

https://iainmurray.net/

https://imurray.bsky.social/

https://mastodon.social/@imurray / @imurray@mastodon.social

https://twitter.com/driainmurray

Research interests include statistics and machine learning.

submissionscomments
imurray··on F-Droid 2.0
Ooh, thanks for this. Also, long pressing "My apps", or pressing the (+) next to it, lets us create a homescreen icon directly to "My apps".
imurray··on Faster NumPy in the Browser
The reference implementation of BLAS is in Fortran, but these days fast implementations (using the same interface) tend not to be. OpenBLAS is in C and much of MKL is in C/C++. An individual widely-used package can be rewritten, much like improving a compiler, or giving it a new output, benefits lots of software all at once.

However, OpenBLAS still links to the reference LAPACK in Fortran, because it's mostly made fast by linking it to a good BLAS implementation. It could be rewritten, or converted to C with f2c. Although there's a long tail of useful but often niche Fortran software, some in Fortran 90 that f2c can't convert. Having a fortran compiler is still useful, and covers all of them at once. Potentially that compiler could compile to another language, to cover more and future platforms all at once (like f2c does). It looks like that's what's going on here, compiling fortran to wasm.

imurray··on More German than many Germans
> It shouldn't be too hard for the gov to commission a RosettaStone like german learning app ((suboptimal, i know)) that works somewhat well and give it out for free, right?)

Deutsche Welle (DW) is funded by German taxes and has materials for learning German: https://learngerman.dw.com/ as well as regular new materials aimed at learners, such as the news spoken slowly https://learngerman.dw.com/de/langsam-gesprochene-nachrichte... -- although I found it easier to listen to the normal news (e.g. tagesschau) slowed down slightly. (W-h-e-n p-e-o-p-l-e s-p-e-a-k s-l-o-w-l-y i-t c-a-n b-e h-a-r-d-e-r t-o l-i-s-t-e-n t-o!)

Not state-funded, but I recommend https://www.easygerman.org/ -- they have lots of good youtube material, a nice podcast, and an app I've not used. Most of the material is free with bonus materials for supporters.

imurray··on Some combinatorial applications of spacefilling curves
John Skilling has used a generalization of the Hilbert curve to n-dimensions in his BayeSys software for Bayesian inference: https://www.inference.org.uk/bayesys/ -- the manual describes how (pdftex will make a nice pdf), with further references, and C code is available.
imurray··on Matrix Orthogonalization Improves Memory in Recurrent Models
Here is a pytorch optimizer that can maintain a matrix as orthogonal throughout optimization:

https://github.com/adrianjav/pogo — POGO: A Proximal One-step Geometric Orthoptimizer

https://arxiv.org/abs/2602.14656 — An Embarrassingly Simple Way to Optimize Orthogonal Matrices at Scale; Adrián Javaloy, Antonio Vergari

imurray··on Alternatives to Nested If Function
I think you're thinking of "You Suck at Excel" by Joel Spolsky. https://www.youtube.com/watch?v=JxBg4sMusIg

Lots of past HN discussion... https://hn.algolia.com/?q=you+suck+at+excel

That video was before the introduction of xlookup, which I believe is now worth considering over index and match.

imurray··on Did Claude increase bugs in rsync?
The Ubuntu backport did include regressions that an Ubuntu update a couple of days later addresses: https://ubuntu.com/security/notices/USN-8349-2
imurray··on Did Claude increase bugs in rsync?
That version has security fixes from the same day as the latest rsync release: https://ubuntu.com/security/notices/USN-8283-1

As usual, Ubuntu backported fixes and didn't upgrade to a new version. Whether or not they also backported regressions in edge cases that afflict the latest rsync, I don't know. Pinning the Ubuntu package may prevent getting further regressions, but is preventing you getting any future such backported security fixes.

imurray··on Jensen–Shannon Divergence
For those wanting alternatives to KL-divergence, the KL and Jensen–Shannon divergences are both F-divergences: https://en.wikipedia.org/wiki/F-divergence
imurray··on The Road Not Taken: A World Where IPv4 Evolved
Reminds me of https://cr.yp.to/djbdns/ipv6mess.html

Which has been discussed previously: https://hn.algolia.com/?q=The+IPv6+mess

imurray··on The Road Not Taken: A World Where IPv4 Evolved
I think that's meant to be covered by the "IPv4x when we can. NAT when we must" part, in particular "ISPs used carrier‑grade NAT as a compatibility shim rather than a lifeline: if you needed to reach an IPv4‑only service, CGNAT stepped in while IPv4x traffic flowed natively and without ceremony."

It seemed strange that the need for CGNAT wasn't mentioned until after the MIT story. The "Nothing broke" claim in that story seems unlikely; I was on a public IP at University at the end of the 90s and if I'd suddenly been put behind NAT, some things I did would have broken until the workarounds were worked out.

imurray··on The Falkirk Wheel
Ooof, I'd never seen that. Thanks! From the wikipedia link:

> The May 1799 test at Oakengates carried a party of investors aboard the vessel, who nearly suffocated before they could be freed.

(!) ...and eventually they built a flight of nineteen locks instead, with a steam-powered pump to return water. The lift locks (and Falkirk Wheel) are a really impressive and elegant solution in comparison.

imurray··on The Falkirk Wheel
The Falkirk Wheel is cool and a fun trip, along with the nearby Kelpies, which were much more striking in person than I'd anticipated.

The wheel is a one-of-a-kind, but there are other ways of avoiding having a ladder of flood locks, see: https://en.wikipedia.org/wiki/Boat_lift

I really liked this one in Peterborough, Ontario, Canada: https://en.wikipedia.org/wiki/Peterborough_Lift_Lock Built as a real working lift lock (originally 1904), rather than as a tourist attraction. Powered by a little bit of extra water in one of the buckets to tip the balance and drive the pistons.

imurray··on Show HN: Yourshoesmells.com – Find the most smelly boulder gym
The site didn't load for me in Firefox, but I found these fantastic for preventing climbing shoe stink: https://bootbananas.com/product/original-shoe-deodorisers/ They absorb sweat, not just mask the smell.
imurray··on Anscombe's Quartet
It's clearly hard, but there are tools for doing exploratory visualization of high-dim data. GGobi http://ggobi.org/ and all the ones that arrange points but try to get local neighborhoods correct (t-sne, umap, et al.).
imurray··on What Is Complexity in Chess?
Some things that may be of interest. First relevant to the posted article:

A site that has used neural nets to classify go moves that good players would probably make that weaker players (of varying ranks) would probably not: https://neuralnetgoproblems.com/ (code available on github)

https://ai-sensei.com/challenge (behind login wall, and in future possibly a pay wall) is a similar idea, but the difficulty of evaluating the position is determined by how users of the site perform in practice.

And more generally, but relevant to your comment:

Players can play humans at an appropriate rank on OGS https://online-go.com/ (not as popular as the Eastern servers, but probably popular enough) -- or against calibrated rank "human-like" AI players by painfully setting up the right katago models themselves, or by paying for a subscription on ai-sensei.com

A go education site that's currently largely by and pitched at Westerners: https://gomagic.org/ for leveling up from the basics.

And a lot of books are now available easily and electronically in English (and some in German): https://gobooks.com/ --- I'd recommend "graded go problems for beginners", "tesuji", and "attack and defense".

Some good sites aren't (fully) available in English, like https://www.101weiqi.com/ -- but there are chrome and firefox extensions to translate just enough of it to make it usable.

[To help search engines: go is also known as weiqi and baduk]

imurray··on Blazing Matrix Products
This post is for those interested high-performance matrix multiplication in BQN (an APL-like array language).

The main thing I got out of it was the footnotes, in particular: https://en.algorithmica.org/hpc/algorithms/matmul/ is a really nice post on fast matrix multiplication, and is a chapter of what looks like a nice online book.

imurray··on The bitter lesson is coming for tokenization
A PhD thesis that explores some aspects of the limitation: https://era.ed.ac.uk/handle/1842/42931

Detecting and preventing unargmaxable outputs in bottlenecked neural networks, Andreas Grivas (2024)

imurray··on How to (actually) send DTMF on Android without being the default call app
> generating DTMF tones yourself and injecting them into the audio stream?

When I was an undergrad I had an audio file for each digit and a winamp playlist for each of my frequently dialed numbers. I'd hold my (landline) phone against the computer speakers and double-click the playlist to dial. I'm sure I spent more time setting this up than it ever saved, but it was somehow pleasing that this ridiculously over-powered speed dialer worked.

imurray··on Browser extension (Firefox, Chrome, Opera, Edge) to redirect URLs based on regex
I wrote firefox and chrome extensions that do exactly what you want:

Firefox: https://addons.mozilla.org/en-US/firefox/addon/redirectify/

Chrome: https://chrome.google.com/webstore/detail/redirectify/mhjmbf...

Source: https://github.com/imurray/redirectify

Sadly I never got around to making it configurable, so it's just a fixed table of rules for a handful of journal and pre-print sites.

imurray··on How can AI researchers save energy? By going backward
Another machine learning paper ("ancient", 2015) where being able to exactly reverse a computation was useful: https://arxiv.org/abs/1502.03492
imurray··on How can AI researchers save energy? By going backward
I'm sceptical about the energy motivation, but there are multiple reasons why making invertible deep learning architectures can be interesting or useful. Cf, a series of workshops from 2019-2021: https://invertibleworkshop.github.io/

Since then diffusion models have been popular. Generating from these can be seen as a special case of a continuous time normalizing flow, and so (in theory) is a reversible computation. Although the distilled/fast generation that's run in production is probably not that!

Simulating differential equations is not usually actually reversible in practice due to round-off errors. But when done carefully, simulations performed in a computer can actually be exactly bit-for-bit reversible: https://arxiv.org/abs/1704.07715

imurray··on Yes-rs: A fast, memory-safe rewrite of the classic Unix yes command
No, it will be about the same. The algorithm is wrong (calling write repeatedly) and -O3 isn't sufficient to rewrite that.
imurray··on Does Earth have two high-tide bulges on opposite sides? (2014)
I was asked why there are two tides a day in an interview for my undergraduate University place. I blundered through to the classic answer. This stackexchange discussion made me realize I was even more of an imposter than I thought :-).
imurray··on Animated Factorization (2012)
Heh. I submitted it in Oct 2012. I submitted a few things back then, none got traction and I stopped bothering :-).
imurray··on Viral ChatGPT trend is doing 'reverse location search' from photos
A photo taken on my street (no exif) "only" gives the correct town in chatgpt and gemini, and then incorrectly guesses the precise neighbourhood/street when pushed. Gemini claimed to have done a reverse image search, but I'm not convinced it did. An actual Google reverse image search found similar photos, taken a bit further along the same street or in a different direction, labelled with the correct street (no LLM required).
imurray··on Show HN: HNSW index for vector embeddings in approx 500 LOC
Looks neat. It would be useful to compare to other implementations: https://ann-benchmarks.com/ -- potentially not just speed, but implementation details that might change recall.
imurray··on Hann: A Fast Approximate Nearest Neighbor Search Library for Go
That nice benchmark shows that multiple implementations of HNSW perform differently (my experience also). It would be helpful therefore if HANN benchmarked its implementation against the others, and tried to get the details the same as the best version.
imurray··on The Amazon Appstore for Android devices will be discontinued on August 20, 2025
Every product has its hate, but everyone is rarely true. Personally (no longer at Amazon) I was impressed by Chime. It was simple, but rock solid, handling large calls well. Teams is still worse for me (>9 people display is bad, even in MS Edge, when on Linux). Zoom has a finicky interface.

Early in the pandemic I had to use many different systems as an academic, when lots of different contacts pivoted online in different ways. Chime was the least of my problems; it just worked when many other systems struggled.

I liked the Chime meeting/calendar integration at Amazon that could ring everyone at the start of the meeting, meaning that most meetings started promptly.

imurray··on An overview of gradient descent optimization algorithms (2016)
Nelder–Mead has often not worked well for me in moderate to high dimensions. I'd recommend trying Powell's method if you want to quickly converge to a local optimum. If you're using scipy's wrappers, it's easy to swap between the two:

https://docs.scipy.org/doc/scipy/reference/optimize.html#loc...

For nastier optimization problems there are lots of other options, including evolutionary algorithms and Bayesian optimization:

https://facebookresearch.github.io/nevergrad/

https://github.com/facebook/Ax

Page 1 of 13Next →