2,069 karma · joined December 9, 2011
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.
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.
- 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.
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?
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.
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.
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?
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.
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.
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.
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.
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.