HNHacker News
TopNewBestAskShowJobs

mickeyp

2,069 karma · joined December 9, 2011

Python and Emacs afficionado.

I built dreamcoder.ai, it's a coding harness for people tired of squinting at terminal windows and want a real UI without any compromises. It runs in your browser on your hardware. It has a tiling window manager, proper keyboard support, and oodles of quality of life features for those of us who runs dozens or hundreds of agents!

I am also the author of "Mastering Emacs" book and blog - see masteringemacs.org

I write a lot of (mostly emacs lisp) open source here:

http://github.com/mickeynp/

You can email me on mickey at semantical.co.uk.

submissionscomments
mickeyp··on Codex pricing to align with API token usage, instead of per-message
If you're ok with a model provider that goes down all the time and has such a poor inference engine setup that once you get past 50k tokens you're going to get stuck in endless reasoning loops.
mickeyp··on From zero to a RAG system: successes and failures
The old joke Zawinski made about picking regex "and now you have two problems" applies here.

If you pick Elasticsearch, useful as it is, you now have more than two problems. You have Elastic the company; Elasticsearch the tool; and also the clay-footed colossus, Java, to contend with.

mickeyp··on From zero to a RAG system: successes and failures
It doesn't help that academia loooves ColBERT and will happily tell you how amazing -- and, look, for how tiny the models are, 20M params and super fast on a CPU, it is -- they are at seemingly everything if only you...

- Chunk properly;

- Elide "obviously useless files" that give mixed signals;

- Re-rank and rechunk the whole files for top scoring matches;

- Throw in a little BM25 but with better stemming;

- Carry around a list of preferred files and ideally also terms to help re-rank;

And so on. Works great when you're an academic benchmaxing your toy Master's project. Try building a scalable vector search that runs on any codebase without knowing anything at all about it and get a decent signal out of it.

Ha.

mickeyp··on The Oracle of Bacon: Thirty Years Later
Such a fun site back in the day, and novel. There's the Erdos number version for academia.

There was that other site that tried to guess what you were thinking. It'd ask you a series of questions to try and guess --- that one was eerily good at it, too. Feels like a similar sort of thing: how quickly you can converge on a solution.

Having said that, that article seems more interested in talking about things adjacent to the Oracle of Bacon and what its author finds interesting rather than the site itself. Not sure why?

mickeyp··on Web Components: The Framework-Free Renaissance
Indeed. I've gradually adapted a server rendered jquery and HTML site to react by making react render a component here and there in react and gradually convert the site. Works great.
mickeyp··on FreeCAD
I can never leave Solid Edge. Synchronous editing is simply the best for 3d printing and fast iteration when you're experimenting with designs.
mickeyp··on Anthropic officially bans using subscription auth for third party use
Sure it's $24/hour, but it'll crank through tens of thousands of tokens per second --- those beefy GPUs are meant for large amounts of parallel workflow. You'll never _get_ that many tokens for a single request. That's why the mathematics work when you get dozens or hundreds of people using it.

No. The sauce is in KV caching: when to evict, when to keep, how to pre-empt an active agent loop vs someone who are showing signs of inactivity at their pc, etc.

mickeyp··on Step 3.5 Flash – Open-source foundation model, supports deep reasoning at speed
I mean, is it possible the latter models used Search? Not saying Stepfun's perfect (it is not.) Gemini especially and unsurprisingly uses search a lot and it is ridiculously fast, too.
mickeyp··on Show HN: I built a "Socratic" AI to stop my daughter from copy-pasting homework
Incidentally, telling an AI you want to talk socratically and never to reveal the outright answer unless asked is a fantastic way to learn.

You can dial in on the difficulty: "you must be pedantic and ask that I correct misuse of terminology" vs "autocorrect my mistakes in terminology with brackets".

Super duper useful way to learn things. I wish I had AI as a kid.

mickeyp··on Ghidra by NSA
Sounds like `strings' on the binary would've sufficed if it's just hardcoded.
mickeyp··on GPT‑5.3‑Codex‑Spark
I disagree. This is great for bulk tasks: renaming, finding and searching for things, etc
mickeyp··on GitHub Actions is slowly killing engineering teams
No I'm saying use Makefiles, which work just fine. Mark your targets with PHONY and move on.
mickeyp··on GitHub Actions is slowly killing engineering teams
It's not an unachievable dream. It's a trade-off made by people who may or may not have made the right call. Some things just don't run on a local machine: fair. But a lot of things do, even very large things. Things can be scaled down; the same harnesses used for the development environment and your CI environment and your prod environment. You don't need a full prod db, you need a facsimile mirroring the real thing but 1/50th the size.

Yes, there will always be special exemptions: they suck, and we suffer as developers because we cannot replicate a prod-like environment in our local dev environment.

But I laugh when I join teams and they say that "our CI servers" can run it but our shitty laptops cannot, and I wonder why they can't just... spend more money on dev machines? Or perhaps spend some engineering effort so they work on both?

mickeyp··on GitHub Actions is slowly killing engineering teams
The winning strategy for all CI environments is a build system facsimile that works on your machine, your CI's machine, and your test/uat/production with as few changes between them as your project requirements demand.

I start with a Makefile. The Makefile drives everything. Docker (compose), CI build steps, linting, and more. Sometimes a project outgrows it; other times it does not.

But it starts with one unitary tool for triggering work.

mickeyp··on Show HN: Micropolis/SimCity Clone in Emacs Lisp
Why not just use the best known emacs lisp core, then? Like say emacs.
mickeyp··on Show HN: Micropolis/SimCity Clone in Emacs Lisp
It does indeed. It's used in several games.

https://www.masteringemacs.org/article/fun-games-in-emacs

mickeyp··on How AI assistance impacts the formation of coding skills
SoftICE gang represent :-)

That's a skill onto itself, and I mean the general stuff does not fade or at least come back quickly. But there's a lot of the tail end that's just difficult to recall because it's obscure.

How exactly did I hook Delphi apps' TForm handling system instead of breakpointing GetWindowTextA and friends? I mean... I just cannot remember. It wasn't super easy either.

mickeyp··on How AI assistance impacts the formation of coding skills
> No surprise, really. You can use AI to explore new horizons or propose an initial sketch, but for anything larger than small changes - you must do a rewrite. Not just a review. An actual rewrite. AI can do well adding a function, but you can't vibe code an app and get smarter.

Sometimes I wonder if people who make statements like this have ever actually casually browsed Twitter or reddit or even attempted a "large" application themselves with SOTA models.

mickeyp··on Like digging 'your own grave': The translators grappling with losing work to AI
Is the professional _just_ a translator, or an expert in translation _and_ the domain? The latter is preferable; for the former? I'd trust Gemini or Claude.
mickeyp··on Many Small Queries Are Efficient in SQLite
Perfect summary. I'll add: insane defaults that'll catch you unaware if you're not careful! Like foreign keys being opt-in; sure, it'll create 'em, but it won't enforce them by default!
mickeyp··on The tech monoculture is finally breaking
Wait until you learn what Apple charged for their incredibly basic ipods in the 2000s.
mickeyp··on Tree-sitter vs. Language Servers
Thanks for the kind remarks, Ashton :)
mickeyp··on Tree-sitter vs. Language Servers
That's generally how it works in most editors that support both.

Tree-sitter has okay error correction, and that along with speed (as you mentioned) and its flexible query language makes it a winner for people to quickly iterate on a working parser but also obviously integration into an actual editor.

Oh, and some LSPs use tree-sitter to parse.

mickeyp··on Tree-sitter vs. Language Servers
Tree-sitter is great. It powers Combobulate in Emacs. Structured editing and movement would not have been easily done without it.
mickeyp··on How to code Claude Code in 200 lines of code
Models just naturally arrive at a conclusion that they are done. TODO hints can help, but is not infallible: Claude will stop and happily report there's more work to be done and "you just say the word Mister and I'll continue" --- this is a RL problem where you have to balance the chance of an infinite loop (it keeps thinking there's a little bit more to do when there is not) versus the opposite where it stops short of actual completion.
mickeyp··on GBC Boot Animation 88×31 Web Button
I was around back then. There were many button sizes, and I did not say those weren't real, existing buttons: they were common navigational aids on homepages. But they are not _web buttons_ as anybody would interpret them today. They are just buttons. The GP and the link talk specifically about _web buttons_.
mickeyp··on GBC Boot Animation 88×31 Web Button
Those are just.. buttons. But they are not 'web buttons' like you'd see everywhere on the web in the 90s. They are the same shape and size as the link above, and they were indeed often animated GIFs.
mickeyp··on SQLite JSON at full index speed using generated columns
EAV data models are kinda cursed in their own right, too, though.
mickeyp··on 30 Year Anniversary of WarCraft II: Tides of Darkness
Battle.net's simple system of just downloading maps you didn't have helped a lot.

I remember playing a "Use Map Settings" map where you started out as a lone marine and then had to 'upgrade' your character over time. It felt like a very early prototype of later hero-style games that came to exist in Warcraft 3 and beyond.

Fun times.

mickeyp··on Putting email in its place with Emacs and Mu4e
Have you tried using the hardcoded Thunderbird (or similar) oauth credentials to authenticate to Google et al? You can also use davmail to proxy your requests to Office 365 / Exchange and it handles oauth also.
← PreviousPage 3 of 17Next →