Jasim

8.4K posts

Jasim banner
Jasim

Jasim

@jasim_ab

"Our ambition was to develop the ultimate abstraction mechanism that subsumed all other abstraction mechanisms"

Katılım Ağustos 2009
757 Takip Edilen1.6K Takipçiler
Jasim retweetledi
Armin Ronacher ⇌
Armin Ronacher ⇌@mitsuhiko·
I know that AI makes me more productive yet at the same time I have very little success in speeding up the thinking part. Example from the last two days is just to come up with ways to map some of the upstream provider functionality to Pi. It took me no time at all to slop something up that ended up with pulling all that complexity in. On the other hand providing an abstraction that works across all of them is still tricky and I feel like I'm about as fast as before, except for the parts where Pi helps me build POCs and probe APIs. At least for what we're doing right now the easy parts got even easier and the hard parts didn't move nearly as much. Except you can turn your brain off, and pretend the hard parts are easy parts then you're good to go. But then you have slop. Thank you for reading this rant.
English
38
51
692
43.2K
Jasim
Jasim@jasim_ab·
@jeswin That's ingenious! I'd love to read a write-up once you're done. (30 hours is fine I guess for such a large endeavour)
English
1
0
0
8
jeswin
jeswin@jeswin·
@jasim_ab > 30hrs It's currently porting TypeScript v7 compiler back into TypeScript (from golang). You can see the previous port here: github.com/tsoniclang/tsts Part of a larger project.
English
1
0
1
17
Jasim
Jasim@jasim_ab·
Overall GPT-5.5 was already a better model for doing hands-on work (rather than running things in a loop and not reviewing anything). It didn't have the wide coverage of Opus - it would read less code, it would not understand the bigger picture - but that is my job and I'm happy to that. But if we keep a handle on the design, layering, and architecture and guide GPT, the code it writes was almost spartan with no unnecessary convolution. Opus, and Claude's models in general however had a kind of language that was grating. Too many words, too much emotion, and takes a long time to get to the point. I felt the code it wrote had the same kind of indirection as well. GPT-5.6 seems to have kept the directness of its language and code, while being able to read more code, and consider the larger invariants. A pretty good update overall.
English
1
0
0
145
Jasim
Jasim@jasim_ab·
@jeswin Yes the specifics would matter. To me GPT-5.6 has slowed down a bit compared to 5.5, but most of my tasks are bite sized, and occasionally I've had tasks that spawn many subagents that take up about an hour. 30 hours is quite a long time though, how is it being spent?
English
1
0
0
21
jeswin
jeswin@jeswin·
@jasim_ab Interesting - I think everyone's experience is different; based on prompts, type of project, usage pattern etc perhaps. For me, GPT spends way more time reading before answering or making changes. The current task on my screen has been running for 30 hours.
English
1
0
0
18
Jasim
Jasim@jasim_ab·
I took the GPT-5.6 guidance to shorten system prompts and rely on the model's intelligence to heart, and it is working quite well. These one-liners are some of my frequently used prompts, and were longer paragraphs before; but the shorter versions work quite well now: 1. When the model creates a jumble of types and functions, full of sound and fury, signifying nothing: > Prefer deep modules, since shallow abstractions and unnecessary types and nomenclature makes the system hard to understand. 2. To reign in their maniacal love for backwards compatibility: > This is a pristine project, no backwards compatibility or migration shims please 3. A large diff, cross-layer and cross-module changes, and we want to understand the broad strokes of what's going on: > Trace the big ideas here and give a domain sketch; prefer simple sentences with minimal references to types and names from the code. 4. This is super useful. Turns code comments from a potpourri of internal naming and cross-referencing to something a human can follow: > Write (docs, comments, explanations and so on) from the reader’s point of view, not from the implementation’s point of view. 5. When I see a big change that seems to be doing too much, this question really helps. And I keep asking it a few times, until there is nothing left to remove: > Does this lead to the simplest and most direct solution, or is it going through a long convoluted route?
English
0
0
0
114
Jasim
Jasim@jasim_ab·
@julianhyde @eatonphil And when we point out a bug, it is a 50/50 chance that it'll spot the inconsistency correctly and fix them vs adding even more convoluted stuff.
English
0
0
0
25
Jasim
Jasim@jasim_ab·
@julianhyde @eatonphil Yes, with Opus 4.8 and GPT-5.5 both, left to themselves they accrete duplicate functionality even in small projects. Once a feature becomes complex - having to touch multiple intricate parts, the coding agent would start introducing subtle inconsistencies, due to duplication.
English
1
0
1
33
Jasim
Jasim@jasim_ab·
Modern programming scares me in many respects, where they will just build layer after layer after layer that does nothing except translate. It confuses me to read a program which you must read top-down. It says “do something.” And you go find “something.” And you read it and it says, “do something else” and you go find something and it says, “do something else” and it goes back to the top maybe. And nothing gets done. It's just relegating the problem to a deeper and deeper level. I can't keep it in my mind—I can't understand it. Ken Thompson, 2009, in Coders At Work.
English
0
3
12
1.4K
Jasim
Jasim@jasim_ab·
Legible Code: jasimabasheer.com/legible-code/ A collection of prompts I've accumulated to structurally strengthen AI generated code. Contains notes for humans to read, and an installable Skill for AI coding agents.
English
1
1
1
166
Jasim
Jasim@jasim_ab·
@Samhanknr That's great to hear Samhan, thanks. I'm refining the prompts - want to make it as short and concise and fully human written as possible. Will make a release once that is done. If you use the skill and have notes, do share.
English
1
0
1
47
Zengineering
Zengineering@Samhanknr·
@jasim_ab I actually really appreciate this for the pedagogical value. People are now trying to capture tacit knowledge and taste which was harder to access
English
1
0
1
20
Jasim
Jasim@jasim_ab·
But while the LLM is quite confident that its new design is a direct, clean approach, it often isn't. I still have to understand what it is proposing, and refine it further until it gets to a shape I like. No magic bullet, but still quite helpful.
English
0
0
0
98
Jasim
Jasim@jasim_ab·
There are certain keywords that I've found that causes a sharp turn in how agents write code. One of them is "pristine system". It re-orients the LLM so instead of accreting patches into a Rube Goldberg machine, it goes over the data-flow and type transforms from the beginning and come up with a cleaner, direct implementation. Here's the prompt: > Read plans/numeric-grid-alignment.md > Does it lead to the simplest and most robust solution for what we're trying to achieve? Or is it over-engineering? IF we had a pristine system and we wanted the most elegant and direct and robust implementation, what would we do? Are there elements in this design that takes a long complex route instead of a straight direct route? What can be improved further so there is more coherence and clarity of design. Effort, the amount of changes or rewrites, and backwards compatibility are not an issue, we can go all the way. > Also apply $legible-code skill principles The phrase "pristine system" really helps. Here's part of the LLM's answer: "The plan is directionally correct, but it is still shaped like a patch over today’s split architecture. For a pristine design, I would go more direct: compile table schema into one authoritative grid-column/view-column model, then make body, header, width, alignment, typography, formatting, sorting ids, and filter metadata all read from that compiled model. The current plan fixes the symptom, but it leaves too much policy split between raw table columns and compiled grid columns."
English
1
0
0
165
Jasim retweetledi
Kelvin Fichter
Kelvin Fichter@kelvinfichter·
> Codex: You're totally right, I went ahead and built that new script instead, I left the old script that I built 30 seconds ago as a legacy/compatibility layer in case any users might be using it
English
49
131
5K
210.8K
Jasim
Jasim@jasim_ab·
@zeddotdev Parallel agents are brilliant. Could I have the ability to keep multiple draft agents open? Currently only one new / empty agent is allowed. I queue up and work on messages and send them depending on other agents' progress.
English
0
0
0
52
Jasim
Jasim@jasim_ab·
@balasankarc Absolutely, thanks. Details are a bit fuzzy, but a while ago I ran GW Basic in DOS using DOSBox, which ran on WASM in Chrome, that was on an Ubuntu with VirtualBox inside a Mac. Such clockwork layers of precise emulation is a different category altogether to probablistic LLMs.
English
1
0
1
35
Balasankar 'Balu' C | ബാലു
@jasim_ab For me, the very obvious answer is the non-deterministic nature of AI. The same inputs need not give the same outputs. I can't predict what the final output will be by analyzing inputs. Compilers, however, are deterministic (at least to a level that most of us deal with).
English
1
0
2
26
Balasankar 'Balu' C | ബാലു
Wait, people were serious when they asked "You don't check assembly code generated by compilers. So, why don't you trust code written by AI?" I always thought someone was trolling with that argument, until I heard it being raised today as a serious argument. 🤦‍♂️🤦‍♂️🤦‍♂️
English
1
0
4
124
Jasim retweetledi
Mitchell Hashimoto
Mitchell Hashimoto@mitchellh·
Yep, and I've made a concerted effort to build those machines and pit them against myself but so far they aren't up to the task. The optimizations we do in libghostty just are beyond what the LLMs can understand (e.g. they regularly violate our obsession about cache line alignment and sizing even if you tell them about it). Love when they're just like "ill just add a field to this struct" without realizing that that struct is perfectly sized and aligned for a standard L1 cache and the contains that use it are optimized for prefetching (the comments even say this and they'll just conclude no, this is the right place to put this field). It has access to benchmarking which includes cache misses but then it usually goes on a rabbit hole of trying something else rather than realizing that original change was dumb. Stuff like that makes it untenable for low level software atm from a feature dev perspective. Its obviously amazing at other use cases and I use it heavily, just my point that it can't write it alone.
English
3
1
14
1.4K
Jasim
Jasim@jasim_ab·
@__tosh I am planning to try smolmachines com from @binsquares soon. I find the cpu + duration based pricing of the providers confusing. Hetzner bare metal is far more predictable, till there is significant scale.
English
0
0
2
43
Thomas Schranz 🍄
Thomas Schranz 🍄@__tosh·
what are the go to agent sandbox providers atm? like if I want to spawn (and shutdown) 1000s of agents each with its own sandbox? (not as individual but as b2b saas, think multiple agents per user) @daytonaio ? @Cloudflare ? @flydotio ? @deno_land or is everyone building diy?
English
3
1
1
507