1,160 karma · joined October 4, 2021
If I were still manually merging conflicts the p4merge tool was GOAT
I used it in git
So I cut out a lot of functionality in my own fork
https://github.com/Pyrolistical/mi
I took “expected to customize basically everything” to heart
For a untype language like js array, since it can be empty, you have to either always check the length, the item returned, or have a precondition to know the array is not empty.
All three of those cases is either code or context you’re holding in your head.
All that stuff is equivalent to a type system
https://github.com/Pyrolistical/pi-notify
Now my pi agent setups its own trigger to notify itself when a background process is done
Even hardware (GPUs) that functional language could trivially exploit, it’s still higher performance to write low level code and manages all the memory imperatively
ie. i am an expert at zig, explain this c++ in terms of zig
For a single r9700 you have 637 GB/s and for qwen 3.8 27b q4_k_xl the maximum tg/s is 33 before mtp
Now if you meant 4xr9700 tensor parallelism with mtp, 80 tg/s starts to make sense
This model had its knowledge replaced with reasoning ability. The chain of thought what makes this reasoning effective.
So this is why you need to let it think and don’t quantize the kv cache.
Personally not for me. These are very productive once you learn the shape they expect.
But the wheel needs to be reinvented on how to do everything.
I ran have straight forward verbose code with no hidden control flow
Sure it wastes a bit of time always figure it out when it fails to compile.
This is why I’m excited to see qwen3.8 27b removed a bunch of knowledge for more reasoning. Baked in old zig api is worthless
< file grep abc
You can use llm to pull in updates as they are released. It’s not gpl, so you don’t need to publish your port
I just haven’t found another language that just makes sense. Zig doesn’t hide anything from you
Yeah they kinda suck and make mistakes right now, but tech only gets better.
It’s no different than 3D printing. Instead of cutting and joining a bunch of stock parts, you just print the desired part.
In the same way printing with plastic kinda sucks, the tech will improve. Now you can print in metal or in resin without supports.
The future will be take all the ideas from various off the shelf products but tightly integrate them together for my specific use case
Proper enums, proper tagged unions, and often reading the docs can allow the AI to distinguish T * to one of
1. [*]T
2. [:0]T
3. ?T
4. *T
And these are just the most common ones. If you know it’s a read only pointer/array then you can add the const modifier
I used ai to convert c headers into in nice zig code. Then I link to the library.
It’s cheap to use zig translate-c to convert c headers but the output isn’t nice.
You can give ai c++ source which usually has more documentation than the compromised flat c header. It allows you to do a better zig port. Zig greatly cuts down the noise in c headers as everything needs to have long prefix for namespacing. But in zig we can just nest things properly.
We can introduce intermediate layers to use proper tagged unions and distinguish ?T, *T, [*]T