HNHacker News
TopNewBestAskShowJobs

versteegen

1,857 karma · joined May 8, 2015

Independent AI researcher (neuro-symbolic NLU, data compression), FLOSS contributor, Generalist & Luddite.

rver017@aucklanduni.ac.nz

submissionscomments
versteegen··on IBM Patented Euler's 200 Year Old Math Technique for 'AI Interpretability'
> Without patents, people fall back to copying each other, because it is much easier to copy than to innovate.

This is probably the only argument I've seen in favour of software patents in which I see any merit!

versteegen··on Learn Prolog Now (2006)
I 100% agree with nutjob :|

There are hundreds of trillions of synapses in the brain, and much of what they do (IANANS) could reasonably be described as pattern matching: mostly sitting idle waiting for patterns. (Since dendritic trees perform a lot of computation (for example, combining inputs at each branch), if you want to count the number of pattern matchers in the branch you can't just count neurons. A neuron can recognise more than one pattern.)

So yes, thanks to its insanely parallel architecture, the brain is also an insanely brute force pattern matcher, constantly matching against who knows how many trillions of previously seen patterns. (BTW IMHO this is why LLMs work so well)

(I do recognise the gap in my argument: are all those neurons actually receiving inputs to match against, or are they 'gated'? But we're really just arguing about semantics of applying "brute force", a CS term, to a neural architecture, where it has no definition.)

versteegen··on LLMs are steroids for your Dunning-Kruger
What about scholarly encyclopedias? For example, the Stanford Encyclopedia of Philosophy. The articles are written in the style of a survey article, and if they're merely tertiary, I can't tell. If the intention behind a citation is a reference for a concept (an "existence proof" of it) rather than identifying its source or providing evidence, then a tertiary source such as to a textbook seems adequate.
versteegen··on Cerebras Code now supports GLM 4.6 at 1000 tokens/sec
At those speeds, it's probably impossible. It would require enormous amounts of memory (which the chip simply doesn't have, there's no room for it) or rather a lot of bandwidth off-chip to storage, and again they wouldn't want to waste surface area on the wiring. Bit of a drawback of increasing density.
versteegen··on Cerebras Code now supports GLM 4.6 at 1000 tokens/sec
grok-code-fast-1 is free (for a limited time) in opencode zen, has been for a while. (Originally it was billed as a test/to gather training data for xAI.) But right now GLM 4.6 is also temporarily free there (hosted by opencode themselves; they call it "big pickle", and there's no data collection), has been for weeks, and GLM 4.6 is far better (better than Haiku and not very far off Sonnet), and still very fast, so I have no use for gcf1 anymore.
versteegen··on OpenAI signs $38B cloud computing deal with Amazon
The place to go for those numbers is https://epoch.ai/data/ai-companies

Very little data about expenses, but it looks like they may be growing a little slower (3-4x a year) than revenue. Which makes sense because inference and training get more efficient over time.

versteegen··on The Case That A.I. Is Thinking
Yes, but it's not just memory hierarchy on which plain transformer-based LLMs are handicapped, there are many deficiencies. (For example, why must they do all their thinking upfront in thinking blocks rather than at any point when they become uncertain?) I'm not sure why you link memory to introspection.

This is why so many people (especially those that think they understand LLM limitations) massively underestimate the future progress of LLMs: people everywhere can see architectural problems and are working on fixing them. These aren't fundamental limitations of large DNN language models in general. Architecture can be adjusted. Turns out you can even put recurrence back in (SSMs) without worse scalability.

versteegen··on HyperRogue – A non-Euclidean roguelike
Hah! Thanks, I'd forgotten. I think my older reply was better.
versteegen··on HyperRogue – A non-Euclidean roguelike
HyperRogue is specifically hyperbolic (and very cool! See also RogueVis), but of course there are a number of non-Euclidean roguelikes. One of my favourites is Smart Kobold [1], which really amazed me at the time, particularly as it was made in just 7 days for the 7DRL! It's so called because pathing through a non-Euclidean map is very difficult for a human but trivial for a computer or a kobold. The map looks 2D, but is made out of small pieces that are (seamlessly) joined together at their seams to connect in unexpected ways. Jeff Lait also used the code for other 7DRLs (I honestly wouldn't know which is best to recommend) [2]

[1] http://www.zincland.com/7drl/kobold/

[2] http://www.zincland.com/

versteegen··on Hard Rust requirements from May onward
Wow, those are exactly the same targets I use for releasing x86 and x64 (Windows) builds, but even I think it's a little over the top for Debian to support Pentium Pro.
versteegen··on Signs of introspection in large language models
> They say it doesn't have that much to do with the kind of consciousness you're talking about

Not much but it likely has something to do with it, so experiments on access consciousness can still be useful to that question. You seem to be making an implication about their motivations which is clearly wrong, when they've been saying for years that they do care about (phenomenal) consciousness, as bobbylarrybobb said.

versteegen··on Lenses in Julia
Lenses make it more convenient to use immutable structs, which Julia encourages (particularly as they unlock various optimisations).
versteegen··on Wren: A classy little scripting language
It's not being actively developed but gets some occasional patches on Github. It's mature (e.g. was used for a number of Valve's games). If you want an actively improving language, look at Quirrel.
versteegen··on Wren: A classy little scripting language
I really like the sound of Wren, but you may also want to look into Squirrel, it's basically Lua re-imagined/reimplemented but without all the Lua quirks and with C-style syntax (but it still has optional lua-style prototypes, which means it ends up very similar to Javascript). Its embedding API is largely a copy of Lua's. There is also an active fork called Quirrel that makes the language more like Python.

There are loads of scripting languages but very few of them have an embedding API as powerful as Lua or Squirrel's. (My benchmarks: what's the overhead of a userdata pointer? Is there a proper debug API? Can you suspend a co-routine from inside a called C function? Very few languages even have coroutines.) Last I looked at it years ago, Wren was one of the best. Of course, the most featureful embedding API of all belongs to LuaJIT.

versteegen··on Programming with Less Than Nothing
Very much like (surely equivalent on some level) how very simple automata such as Rule 110 are Turing complete but the encoding schemes are Rube Goldberg machines.

An overview for Rule 110: https://cs.stackexchange.com/a/4780

versteegen··on Who invented deep residual learning?
Not to excuse ignoring the thesis, but I want to point out it's bad form to cite a supposed result from a paper you haven't even looked at (or can't read), unless you indicate (admit) you didn't read it. I have even seen it described, in a paper about the citation practices of science, as unethical. It can transform hearsay into established truth. Of course nearly everyone does it anyway when they think the chance of making an erroneous citation is low enough, and that's exactly the problem.
versteegen··on IDEs we had 30 years ago and lost (2023)
(Edit:) Let me start by thanking you, I love these stories about the glory days of computing generations past! I really must try some of these; obviously there are so many fantastic ideas to take.

Irrelevant aside: I've been using emacs 20 years but I very recently gave up and mapped ctrl-V to paste because I still made the mistake of hitting that too often. (I don't hit ctrl-C accidentally, because to select text I've already switched to emacs for at least a few seconds.)

versteegen··on Julia 1.12 highlights
If ever there was a language justified in claiming to be heavily inspired by a dozen other languages, I'm sure Julia is it.

When I first heard about Julia I understood it to be a faster alternative to Python. As I started to learn it I realised that's really not what it's about, it's trying hard to compete simultaneously with Matlab and R and Fortran and C++ (and the template metaprogramming language hiding in C++) and APL and Lisp and maybe OCaml just as much as Python (but not Rust or Java or Agda), and I can't even speak to the other languages mentioned.

versteegen··on Gemini 3.0 spotted in the wild through A/B testing
Interesting, as that seems to mirror the way GPT-5 is often amazing at debugging code by simply reading it and spotting the deep flaws, or errata in libraries/languages which are being hit. (By carefully analysing what it did to solve a bug I often conclude that it suspected the cause immediately, it was just double-checking.)
versteegen··on Emacs agent-shell (powered by ACP)
Yes, and the ECA project includes an emacs package; I've been using it recently.

I've been diving in to the ECA protocol a bit to debug some emacs issues, and from glancing at the ACP (Agent Client Protocol) documentation, it seems that the ECA and ACP protocols are incredibly similar, and both very well documented. An accident of reinvention.

versteegen··on Otary now includes 17 image binarization methods
In particular for converting scanned documents to black and white. Though you can get nicer results with grayscale.

This library might have saved me a lot of time recently, as I don't have a working scanner and was forced to photograph and clean up a lot of pages of documents. I used gimp, which required a lot of experimentation. It's only got a couple adaptive tools that can do the job with uneven lighting, but they sometimes require some pre or post processing for good results.

versteegen··on Less is more: Recursive reasoning with tiny networks
Awesome work, thanks for writing it up! Replication is absolutely critical, as is writing down and sharing learnings.
versteegen··on Jules, remote coding agent from Google Labs, announces API
The free tier is 15 tasks per day (of gemini-2.5-pro) which is EXTREMELY generous. I've had plenty of tasks run for 1-2 hours. I do think that after 1 or 2 hours it's told it needs to wrap up and just present what it's done; I couldn't get it to keep going longer than 2 hours. But Jules is very slow as it seems to be batch processing on spare capacity, so 15+ hours a day is not quite as absurd as it sounds.

I haven't tried Jules in a couple weeks, but the UI/UX had a lot of issues such as not being given any progress updates for very long times. The worst thing was not being able to see what it was doing and correct it: you only see the state of files (without a usable diff viewer, WTF) at the last point that the agent decided to show you anything (the last time it completed a todo list item I think, and I couldn't get it to update the state when asked, though it will send a PR if you ask), and gemini-2.5-pro can often try really stupid things as it tries to debug. I've also been impressed at its debugging abilities a number of times.

Still, I found Jules far more usable than Gemini CLI (free tier), where Gemini just constantly stops for no reason and needs to be told to continue, and I exhausted the usage limit in minutes.

Aside from the unlimited free tier, probably the best part of Jules are its automated code reviews. Once, I was writing up some extensive comments on its code and then unexpectedly a code review was dropped in the conversation which gave exactly the same feedback I was writing. Unfortunately if it never reaches the point of submitting for review, it doesn't get an automated review. It does often ask for feedback before it's done, which is nice. So probably I needed to prompt better.

versteegen··on We bought the whole GPU, so we're damn well going to use the whole GPU
I'm very willing to believe that. When I hear that they just don't have enough staff for it I get the impression is that they set their hiring bar for engineers too high. Optimising CUDA is quite different from having experience training LLMs.
versteegen··on We bought the whole GPU, so we're damn well going to use the whole GPU
Excellent writeup. I like the interpreter. But I can only assume all these ideas have been widely implemented at all significant labs for years, so I'm surprised to see this written in 2025. This is all about taking things to their logical conclusions, not arcane magic. If you're going to spend billions on GPUs, why wouldn't you spend a little on CUDA programmer hours?
versteegen··on Claude Code 2.0
Using a container or a VM is still friction compared to just working on your files directly using a separate user account to prevent unsophisticated bad behaviour. I:

-create a separate linux user, put it in an 'appshare' group, set its umask to 002 (default rwxrwxr.x)

-optional: setup some symlinks from its home dir to mine such as various ~/.config/... so it can use my installed packages and opencode config, etc. I have the option to give it limited write access with chgrp to appshare and chmod g+w (e.g. julia's cache)

-optional: setup firewall rules

-if it only needs read-only access to my git history it can work in a git worktree. I can then make git commits with my user account from the worktree. Or I can chgrp/chown my main working copy. Otherwise it needs a separate checkout

versteegen··on Claude Sonnet 4.5
There is also code-supernova, which is in-preview improved version of grok-code-fast-1. 1M context window. It's useful, but I'm still not sure how much better than grok-code-fast-1. You can get free access to it via a few providers, e.g. opencode.
versteegen··on Claude Code 2.0
Yes, similar to CC or other agent CLIs, but not many features yet. Released a few days ago.

https://news.ycombinator.com/item?id=45377734

versteegen··on GitHub Copilot CLI: The Copilot coding agent in the terminal [public preview]
Yes: https://simonwillison.net/2025/Sep/25/github-copilot-cli/

And I've had a brief try myself. The interface, /help and even copilot --help show nothing about which model you're using or how to switch between them. There's no /model command. Thankfully Simon describes that. The fact that you can't switch to a model that Copilot normally offers unlimited usage of, such as GPT-4.1, is very disappointing. (I tried it and it didn't work, doesn't even print an error for invalid model ID.)

It seems that they wrote this from scratch as it's missing the features you'll find in any other CLI tool such as opencode, crush, Claude Code, etc. It's a little bit bare. The interface is somewhat different and better or worse in some ways. It's good that it uses normal terminal scroll-back instead of hiding it, but you can still expand/collapse tool outputs. Really wish I could expand a single one though. Viewing outputs of running tools live glitches up the terminal UI, at least in xfce4-terminal.

Instead of showing you how much of the context window remains like some other CLIs, it shows how many requests you have remaining this month.

versteegen··on A QBasic Text Adventure Still Expanding in 2025
> I'm always happy to see projects like this and OHRRPGCE where people did something useful with the language.

Also still active after 29 years in development :) and even still looks much the same as its MS-DOS days.... so decades of work left to do. Recently ported to modern consoles (for Fighto Fantasy & Axe Cop RPG)!

I hope it didn't take too long for you to discover the wonder of GOSUB -- simulating it with GOTO and IF is a pain! GOSUB is just a single x86 'call' instruction and RETURN a single 'ret' instruction. So simple; a taste of assembly programming without stack frames. I even reimplemented GOSUB/RETURN as macros with assembly in FreeBASIC that way (you could just push to the stack). And putting all your code in a single scope, no locals/globals/arguments, makes coding more "fun".

← PreviousPage 5 of 25Next →