Hacker Newsnew | past | comments | ask | show | jobs | submit | subset's commentslogin

In Australia, the Reserve Bank is finally [banning surcharges](https://www.rba.gov.au/payments-and-infrastructure/review-of...) from October 1st. We also have the EFTPOS network, but the payment rails change depending on the card payment method.

Over the years, the "hidden fees" were accumulating, and card surcharges could hit 1-2.5%. Now, _most_ places don't have any fees (with some food places charging weekend surcharges and some egregious places adding unsolicited tips).


Maybe not for taxis unfortunately. That is determined by the states. They used to charge 10% card fee!

As it happens, I had the same job as the author at uni. I shelved books at the biomedical and sciences library. As a life-long book lover, it was a dream uni job being surrounded by all sorts of historical treatises on medical arcana.

I've been really exercising my non-fiction reading muscles of late. I'm trying weaponise it as an antidote to AI slop and doom-scrolling. My last read was Designing Data-Intensive Applications by Martin Klepmann (the newly released second edition), it was a wonderful read!


I'm no fan of closed-source languages, and lord knows MATLAB has its warts. But I can't deny that it was pretty seamless to write efficient vectorised code for numerical simulations at uni. I don't have much experience with it, but my understanding is that Julia is the closest thing to a more modern and expressive language that has similar vectorisation capabilities.


R and Numpy are also pretty good at this (and Julia was inspired by both of these and Matlab).

In fact, I'm reasonably certain that R (known as S in the 70's) was the first real language designed around this concept.


I guess it depends on what real language means to you, but APL[1] existed before and it's fully array based.

[1]: https://en.wikipedia.org/wiki/APL_%28programming_language%29


When I writing the comment I was like, maybe APL was first? Nah, no-one will claim that. So congratulations on nerd-sniping me ;)


I learned R for statistical programming at uni, where there was less emphasis on vectorised computation, so it didn't jump to mind, but yes! I've never quite felt like numpy 'clicked' for me in the same way, though. It always felt a bit bolted on, which I suppose it is, as a library (though @ operator overloading etc makes things somewhat nicer now).


Iago Leal's blog: https://iagoleal.com/

Some incredibly interesting perspectives on maths and computing


I've been enjoying using the new, native, VS Code integration with local models. I can use LM Studio on my Mac with LM Link to start an OpenAI-compatible server running on my DGX Spark, and plug it in to VS Code for offline/private inference.


Typst also has native scripting! For fun, I've been working on a small statistical distributions library in Typst, distro[^1] that uses plain Typst.

It's really nice having a decently powerful scripting component, it makes for some fun literate-style programming. You can package things up pretty easily for others to use, too[^2]. It even supports WASM plugins, if you want to go wild.

This package, conch[^3], renders a mini OS and terminal, based on Typst:

> A shell simulator that renders interactive terminal sessions in Typst, powered by a Rust WASM plugin.

> Type shell commands in your Typst document. Conch executes them against a virtual filesystem and renders a realistic terminal window — complete with colored output, syntax highlighting, and animation support.

[^1]: https://github.com/stochastical/distro

[^2]: https://typst.app/universe/package/distro

[^3]: https://typst.app/universe/package/conch/


Possibly controversial, but I think short commands should be disallowed. This is the stance the AWS CLI takes, and it 1) vastly improves readability, especially for those learning the syntax 2) makes it less easy to shoot yourself in the foot with a typo.


(Disclaimer: I am not a cryptographer and this is a heavily simplified explanation). Homomorphic encryption is built on the foundation of 'hard problems' (e.g. the Learning with Errors Problem) - loosely, computational problems that are thought to be impossible to reverse without being in the possession of a secret key.

The crux of HE is that it provides a _homomorphism_: you map from the space of plaintext to the space of cipher texts, but the mapping preserves arithmetic properties such as addition and multiplication. To be clear - this means that the server can add and multiply the cipher texts, but the plaintext result of that operation is still irreversible without the private key. To the server, it looks like random noise.

I don't think it's helpful to think about this as connected to deep learning or embedding spaces. An excellent resource I'd recommend is Jeremy Kun's guide: https://www.jeremykun.com/2024/05/04/fhe-overview/


Andrej Karpathy has a walkthrough blog post here: https://karpathy.github.io/2026/02/12/microgpt/


That is the article being discussed.


Gosh, tired brain moment apologies. I thought it'd linked to the original code gist.


It did before, link was changed.


I had good fun transliterating it to Rust as a learning experience (https://github.com/stochastical/microgpt-rs). The trickiest part was working out how to represent the autograd graph data structure with Rust types. I'm finalising some small tweaks to make it run in the browser via WebAssmebly and then compile it up for my blog :) Andrej's code is really quite poetic, I love how much it packs into such a concise program


Storing the partial derivatives into the weights structure is quite the hack, to be honest. But everybody seems to do it like that.


Great work! Might do it too in some other language...


I got a convertion to Java. It worked (at least I think...) in the first try.

Then I want to convert this to my own programming language (which traspiles to C). I like those tiny projects very much!


how did you do the transliteration/port?


I asked ChatGPT to translate (the free version), pasting the source code. The resulting Java code came back a second later.


Zig, here.

Anything but Python


At least python can do this exercise without pulling 3rd party dependencies :)


What's missing from Zig and its std lib for this?


Zig version [0] doesn't need any external dependencies.

0. https://tangled.org/m17e.co/microgpt


Sweet! Presumably this one is even faster than the JS?


how did you do the transliteration/port?


Handwritten! (aka no LLM assistance :) It wasn't transpiled or anything like that. I've been meaning to post a little about it on my blog; just been caught up with other stuff atm.

One thing that was a _little_ frustrating coming from Python, though, was the need to rely on crates for basic things like random number generation and network requests. It pulls in a lot, even if you only need a little. I understand the Rust community prefers it that way as it's easier to evolve rather than be stuck with backwards-compatability requirements. But I still missed "batteries included" Python.


nice


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: