edit: I misunderstood, that's $25k not 25k tokens :/ time to log off.
this is so rad! 25k tokens is a lot less than i thought this'd take -- what were the difficult bits in the porting process? also, was firefox preferred because parts of it are already in rust?
$25k of tokens, closer to 30 billion I believe. It only took a few days to actually get the engine up, the hard parts where most of the effort was spent was squeezing out performance and increasing stability, as well as attempting the JIT.
Firefox was chosen because its single-process support was in a better place than chromium/blink. WebKit is also possible, it was done by a friend of mine earlier https://github.com/theogbob/WebkitWasm
ah, i misunderstood. that seemed way too low in terms of actual tokens lol. i'll log off now. interesting details and didn't know about WebkitWasm. hope to read more soon.
I haven’t watched the lectures yet. Reading the papers and using Claude/GPT to ask for references etc is good enough for me. I did watch a few, ones on GFS and Raft but didn’t see the ROI, lectures are too long. Reading the papers multiple times and reading blogs, references and asking Q’s to GPT is what I am doing.
Obviously for the assignments themselves, I use AI sparingly. Mostly as a sounding board when I have doubts or to know how to do something in golang, since it isn’t my primary programming language.
Note, I am not asking for solutions like “implement Append Entries RPC”, the solutions are public so AI could probably implement everything. My workflow is to implement it first, debug test failures, go through each individual test and then come up with clarifying Q’s, such as the one below,
In Raft paper by Ongaro et al, for the below condition,
If there exists an N such that N > commitIndex, a majority
of matchIndex[i] ≥ N, and log[N].term == currentTerm:
set commitIndex = N (§5.3, §5.4).
Is commitIndex changed only when we receive a successful reply for Append Entries ?
Lastly I have an AGENTS.md that prohibits GPT from giving solutions directly, that would defeat the purpose of doing the assignments. It was used in one of Stanford’s GenAI course, look it up.
They (WP and Lumia) would've been a strong 3rd player if the right investments and care were given since MS acquisition but alas, I think I should've noticed the writing on the wall for all of MS' consumer business (Xbox, being the latest!) from the moment Satya stepped in and Nokia got cut off.
Satya was great for businesses and MS' investors, terrible for consumers.
I would love it even more if we could all go back in time and switch to meego. I used one for a short while and it felt well thought compared to the mess that was android at that time.
This is what I’ve been thinking of ever since coming across Ramp’s agent[1] and other orgs trying to build their own remote dev envs with agents at the center. Makes so much more sense in this kind of a dev spree to not wait for a PR. Because all actors end up repeating the same thing with their own agents which can be totally avoided. Conversations and code to jump in and out of, to collaborate etc seems like the right way to go.
Because I've seen AI do it myself? It will very readily take a lofty aim from the brainstorming phase, maybe mentioned off-hand or out of context in a planning doc somewhere, and regardless of if it's implemented it will claim it's part of the delivered product.
> Ported tree-sitter, color-diff, yoga-layout, and a number of other WASM and Rust native modules to TypeScript, improving CPU and memory use by 2-10x in the process
Curious to learn more on this (unless there’s a write-up in the works). I’m naive on this matter but:
1. is this because it’s higher cost when passing objects back and forth across the JS/native boundary?
2. Does this have anything more specific to do with use of Bun?
3. is the stance for claude code then to keep all the deps in raw TypeScript?
4. How do you folks keep these ported deps up-to-date?
I wonder if this is related to the supply chain attack they talked about at GrafanaCon[1] or a fresh leak. If latter, wonder what they missed since it seemed like they got their detectors/scanners set up well. Curious to read the report on this.
I had to fight through school and university in India with my teachers who believed these were legit questions to ask in written exams. Can't 100% blame them since almost all standard-issue textbooks had them and claimed they'd give predictable output. I thought the same until I noticed the weirdness when running them across different compilers and after I read about UB, sequence points and similar quirks in books that are not total garbage.
Luckily, I ended up with smug smiles in all those cases after showing them the output from different compilers.
Likewise looking to adopt mise at work, have a PR nearly there and especially with all the LLM/skills CLIs, mise looks well positioned. I've been using it for a long time personally and is a delight to work with.
Curious given polyglot monorepo and bazel, does mise have something that solves the build graph/caching stuff that IIUC comes with Bazel or is that something that's not needed for the monorepo you help maintain?
I'm a massive fan of Wireit and its caching behavior, so I'm looking for something to live up to that. I have more testing to do. I think Mise defaults to mtime-keyed cache but has an option for content hashing, which it what Wireit uses and makes it quick to undo a change and get a cache hit.
mise's sources/outputs is intentionally pretty naive though. It's not bazel/buck2. That may change one day but so far it's more for writing tasks and less trying to be an authoritative build system.
this is so rad! 25k tokens is a lot less than i thought this'd take -- what were the difficult bits in the porting process? also, was firefox preferred because parts of it are already in rust?