That's a story for another time!
Posts by Laurence Tratt
I want to say a big thanks to Shopify and the @raeng.org.uk who graciously funded this research. I'd like to dedicate this work to the late Chris Seaton, who was an early champion of yk: he is much missed by me and many others.
This isn't just a technique for Lua, though -- it works for any C interpreter compilable with LLVM! More about how and why in this new post 'Retrofitting JIT Compilers into C Interpreters' looking at ouro new 'yk' system. tratt.net/laurie/blog/...
C interpreters underlie many of our most widely used language implementations -- but they're slow. Wouldn't it be great if we could turn them into JIT compiling VMs? This video shows what happens when we do just that to the normal Lua VM (first) and "yklua" (Lua w/JIT, second).
Last week I upgraded the encryption I use to be post-quantum. I then realised that if enough people do the same, "using quantum f/decryptt" probably becomes a meaningless use case. Is there a word which captures the concept of "changing X effects the future of Y, even though X and Y seem distinct"?
At Wells this morning, we saw a Palm Sunday procession that - to the extent anything can trace itself back this far - seems to have started around 800 years ago, including hidden singers in the Cathedral's front. There was certainly plenty of incense which was distributed around by the strong winds!
We're running a user study, maybe you can help!
We're studying the effect of new ways to show code diffs to programmers, and looking for participants for a 1-1.5hr virtual user study. In the study you will be shown several diffs and asked questions about them.
I was a judge for STEM for Britain yesterday, and I have to say: I was genuinely impressed by what I saw. Much was in fields I have no expertise in, but I still ended up learning things, because the explanations were so good. The winners are thoroughly deserving! bsky.app/profile/raen...
-----
"Automatically Retrofitting JIT Compilers", @ltratt.bsky.social, #QConLondon
About taking existing language implementations and automatically generating just-in-time compilers for improved performance.
Demoing a Mandelbrot in Lua, which takes 3.2 seconds, on standard impl
pizauth-1.0.11 is out, and ensures it keeps retrying in the face of transitory HTTP errors tratt.net/laurie/src/p...
To be clear: _I_ don't think it's a problem anyway ;)
Tools can be fixed. And, I think, increasingly, being bound by the restrictions of physical paper is going to feel anachronistic. My guess is that a tiny percentage of people read my papers on physical paper (I might be very wrong on this of course, but looking at the download stats, probably not).
Surely this is mostly a tooling issue? If you could move your mouse over the link and see a popup, it would solve most of the problem?
I don't have photos (the last first class game here was 20 years ago), but there's a bit of history here somersetcountycc.co.uk/news/club-ne.... Next time I'll take you the County Ground in Taunton -- the beautiful red-stone (not brick) church right next by is a wonderful backdrop!
Time will tell.
Sometimes the best way to predict the future is to wait and see what happens.
The former IMHO. For example, a lot of "framework" libraries have a lot of boilerplate that can add up over time to become a real impediment to understanding. Designing better frameworks/libraries is expensive and skilled work (at least for now).
One of the interesting consequences of LLMs/agents is that the short-term costs of boilerplate in code have plummeted. An interesting question is whether those costs are simply shunted to the future or whether they are permanently reduced.
It seems that I have been blessed with my first clawdbot (or similar) interactions on one of my repositories. I really hope this sort of noise doesn't end up (a) wasting maintainer's time (b) putting people off trying the underlying technology where it's actually useful.
In the futurementary Terminator, I don't remember Skynet starting off with open-source repositories theshamblog.com/an-ai-agent-... (I also strongly suggest following the link to the GitHub PR, because it makes much more sense with that as context).
Indeed.
To take a current topic: can it generate a compiler whose output is on a par with gcc/clang?
That's a very valuable piece of information because if it can do it now, it will never cost more in the future -- and it will probably cost less!
In the past fortnight, 50% of my conversations have seen me say "today's AI cannot do that and we have no idea if and when it will".
In the other 50% I've said "today's AI can do that, really, and you just need to try it".
Our collective calibration is currently very wonky!
Good, we need someone to research how to make it work everywhere as that is not yet a fully solved problem!
I'm glad to hear it's been useful to you!
This has saved me 950LoC in one Rust program alone. Comments welcome -- I definitely consider this experimental right now! github.com/ykjit/test_s...
Scratched a Rust itch with an experimental new crate `test_stubs`. I have traits with lots of methods. "Proper" code should implement all methods, but test code need not. `test_stubs` means that test code doesn't have to manually create `todo!()` methods.
If it was, it went straight to the 3 year old stage, and got the same response 3 year olds are familiar with -- "don't do that".
There's nothing more surprising than an agent, in the middle of doing some useful refactoring, asking if it can run a Python script which solely prints "HI" (yes, in uppercase) to stdout.