Colin Roberts
4K posts

Colin Roberts
@Autoparallel
PhD mathematics; scientific software architect; mountain biker / runner. Opinions are my own and do not reflect any associated entity.
Colorado Katılım Temmuz 2022
511 Takip Edilen1.3K Takipçiler

@real_philogy @k_flowstate Most code bases and items I work with now are C++. Some C, some FORTRAN. Zero Rust. Zero Zig. Some Python. A hint of Julia.
They’re just so entrenched.
English

@k_flowstate I mean I'm exaggerating, as with many legacy systems it will take decades or maybe even a century until it's fully retired considering how engrained it is in everything.
I just don't see why you'd freely use it with the modern alternatives at your disposal
English

Again spread this all over

Dmitriy Kovalenko@neogoose_btw
This is what happening. Do not let influencers hype fool you.
English
Colin Roberts retweetledi

We’ve had on the order of 3 memory bugs in 6 years of TigerBeetle. None RCEs.
On the other hand, our own simulators have proactively found hundreds of (devastatingly catastrophic) distributed systems correctness bugs per year.
Given how hard TigerBeetle’s domain is, in terms of mission critical financial transaction processing, I’ve never for one minute believed that writing TB in a memory safe language such as say TypeScript would somehow magically (!) make any material impact compared to the 100x correctness multiplier of TigerStyle.
That’s because—rather than fall for the fallacy of composition, i.e. to see distributed correctness as a language problem—TigerStyle instead takes ultimate responsibility for the “end to end” correctness of the distributed system as a whole.
Per systems engineering, correctness is always a systems design problem. For example, how to build a reliable whole, (especially) out of unreliable parts, such as broken firmware, bitrot, programmer error etc. In other words, application of the end to end principle.
But when you TigerStyle the design in this way, the world of systems engineering also completely opens up to you and changes how you evaluate systems languages (now things like “power to grammar ratio”, or explicitness, checked arithmetic and precision become more critical and valuable to you).
Of course, it is harder to care about correctness, to take responsibility for correctness end to end.
Yes, you’re forced to begin to worry about the more serious concerns, starting with the basics of static allocation, explicit limits, assertions, deterministic simulation testing and moving to more advanced topics like protocol-awareness and storage fault-tolerance.
But then again, TigerStyle is such a force multiplier, that you achieve mission critical quality, and in less time and with greater velocity.
If you’re tired of production issues, and if you want to “engineer your engineering”, I would encourage you to lift up your thinking to the level of systems design and end to end correctness.
Start thinking about your methodology and begin embracing TigerStyle.
tigerstyle.dev
English

@real_philogy FWIW I’m hand waving really hard. I just believe in developers to build things.
None of it matters much to me given what I’m working on, though perfect provably memory safe would be sweet always (if it also didn’t ever touch perf).
English

@Autoparallel Although I haven't used Zig at that scale, I'd have to look at what Bun's specific problems are
English

@real_philogy I don’t think it’s easy, but I think 80/20 is probably not that hard.
I think something like fil-c can also be done.
I’ll just keep waiting
English

@Autoparallel I don't think it's that easy unfortunately.
If you want the same level of guarantees you'd need something *like* the borrow checker but without the in-language syntax and tools to support it.
Maybe there's an 80/20 solution that could give Zig a boost tho, idk
English

@Garmin I’d pay you monthly if you created a ChatGPT app.
You collect awesome data but it’s basically unusable.
English

@sama Two ChatGPT features please:
- Agent files like AGENTS.md for projects. Memories aren’t enough. Sources are not the same.
- More permission controls for apps. I don’t to click “Accept” 20 times a chat.
These are basically codex features, just bridge them over.
English

@ZeroDarkDev A combo of both approaches works best for me. Mainly though, I agree with you. You should still really learn languages and write code by hand. Letting AI do some stuff for you piece by piece is a perk though.
English

“Cryptography is the solution to that problems that AI create for content platforms.” - @pumatheuma
“That’s right.” - @balajis
Consumer hardware can fingerprint real photos and videos, equipping platforms with cryptographic proof that content came from a camera and not AI.
English

Colin Roberts retweetledi

seriously, working with AI is MISERABLE for one and only one reason: having to re-explain the same thing
"oh yeah this new session obviously doesn't know what proper case trees are, so let me explain it for the 5000th time in my life"
I'm tired
AGENTS.md doesn't solve this because it is impossible to fit the entire domain knowledge without nuking the context - it would be 1m+ tokens worth
RAGs don't solve this, the agent won't search unknown unknowns
SKILLs don't solve this unless I keep like a collection of 1750 skills with specific cuts of domain knowledge for each possible subset of my domain that I might need in a given chat, but that's a lot of manual work
recursive LLMs or whatever don't solve this for the same reason, you can't dump a domain book and expect the AGENT will magically guess that it is supposed to search for a specific bit knowledge. unknown unknowns
fine tuning doesn't solve this (OSS models suck and OpenAI / Anthropic gave up on user fine tuning)
I honestly think a good product around fine tuning on your domain would be a major hit and an underdog lab should take this opportunity
English

@Autoparallel As a mathematician, do you think calling it "naive Lagrange interpolation" and explaining that naive Lagrange interpolation is the algorithm at arbitrary points would be valid?
English

Our ZK book is a work in progress. Today we published an article on the Inverse Number Theoretic Transform, continuing our series on the Number Theoretic Transform.
We currently have modules on Elliptic Curve Cryptography, Groth16, Bulletproofs, Circom, and the Number Theoretic Transform. New modules are cooking.
Our goal is to provide increasingly better education in ZK. We teach hard math in a didactic way, targeting developers rather than trained mathematicians. We make ZK digestible without being vague, while still being precise.
Link in the first comment.
English

@nevgeniev @zigo_101 It… it is? The community has mentioned time and time again they’ll be breaking until 1.0. It just comes with the territory.
English

The "anytype" keyword will be renamed to "anyval" in #Ziglang v0.17. github.com/ziglang/zig/is…
English

@SinghJyotirmai That’s the definition of the exponential map!
Good connection to find.
Also, maybe go learn about connections next 😉
English






