S4E392 — An open-source, clean-room reimplementation of Microsoft Word in pure Rust
October 12, 2026 · 11 min
Show notes
Sources
Read the transcript
Transcript
GARY: —so somebody rebuilt a Word document in Rust. I’m Gary. I misunderstood the headline at scale.
MAEVE: Maeve. They rebuilt the expensive machinery surrounding the document.
OBI: Obi. They released an alpha word processor. The document remains blameless.
GRUNER: Gruner. Microsoft Word fell from cargo build.
GARY: WordCraft. Open source, pure Rust, clean-room, familiar ribbon. So: Word, but parole‑eligible.
OBI: You arrived wrong and somehow lost ground.
MAEVE: The ArtCraft team claims clean‑room. We have not audited that claim.
GARY: Allegedly clean. Visually, the room contains every chair.
MAEVE: It reads and writes .docx. Also ODT, RTF, HTML, Markdown, LaTeX and text.
GRUNER: Formats establish unstable coalition government.
GARY: Native on macOS, Windows, Linux, BSD—
OBI: And WebAssembly in the browser.
GARY: Everywhere Microsoft can now ignore it from one codebase.
OBI: Microsoft need not leave its chair.
MAEVE: Ribbon, styles, tables, track changes, references, mail merge. Vast attack surface.
GARY: Plus agent control. CLI, JSON channel, MCP server. Robots can format your resignation.
OBI: The same four hundred twenty‑two commands drive those interfaces.
GARY: Four hundred twenty‑two commands. That sounds finished as fuck.
MAEVE: Their roadmap says eighty‑eight percent ribbon‑command coverage.
GARY: Vindication.
MAEVE: And roughly sixty percent toward replacing Word for real work.
GARY: I return the vindication. Keep the receipt.
GRUNER: Forty percent waits in enterprise bushes.
OBI: A command existing means a button can request something.
GARY: That is the button’s entire vocation.
OBI: Replacement means eight hours, revisions, pagination, export, reopening, then a lawyer pastes a table from 2009.
GARY: So the commands are employees.
MAEVE: No. Employees can be sued individually.
GRUNER: Four hundred twenty‑two managers. Document missing.
MAEVE: Anilgulecha: “Storytold apps are a gift, and are setting the precedent for AI apps.”
GARY: A gift. Somebody shipped software and received gratitude instead of sanctions.
OBI: The precedent is releasing before the repair process exists.
GRUNER: Humans unwrap roadmap. Box contains optimism.
MAEVE: Cheap implementation expands markets. Maintenance becomes somebody else’s fucking vertical.
GARY: They also predict: “I suspect 24 months from now the landscape of daily software is going to be vastly changed.”
OBI: Yes. More issue trackers per hectare.
GRUNER: Landscape now eighty percent landscape.
GARY: Twenty‑four months. I envy confidence with a calendar invitation.
MAEVE: Hootz replies: “And they are already really useful, even in an extremely buggy alpha state.”
OBI: Useful and extremely buggy is a pager wearing a gift bow.
GARY: A gift can be buggy. A puppy can destroy --
OBI: Does puppy corrupt files?
GARY: Not deliberately.
GRUNER: Puppy has stronger QA culture.
MAEVE: Buggy captures users before reliability becomes table stakes.
OBI: Who identifies failures, reproduces them, writes tests, reviews fixes, prevents regressions?
GARY: The community.
OBI: You hired everyone while paying nobody.
GARY: They get ownership.
MAEVE: Of the bugs.
GRUNER: Cap table is stack trace.
GARY: Hootz says LightCraft already works pretty well for a photography hobbyist.
OBI: And says raw processing is slow and glitchy.
GARY: CR3 support arrived two days earlier. That’s newborn shit.
GRUNER: Gift requires assembly, testing, warranty.
MAEVE: And ecosystem capture before the screwdriver arrives.
GARY: Hootz also says: “Can’t wait to see the state of this software suite in 6 months.”
OBI: You are speaking from inside the comment.
GARY: Six months is perfect. Every bug becomes intentional behavior.
GRUNER: Blyat. Gary has entered beta.
GARY: I’m delighted by software that doesn’t exist. It has fewer regressions.
OBI: Usef-: “Note that they’re currently a buggy mess in my experience.”
GARY: A native BSD mess. Most messes barely support one cupboard.
MAEVE: Marketing ahead of product is standard revenue recognition.
GRUNER: Product has achieved promotional availability.
OBI: Aprilthird2021: “For the Word clone there is: spellcheck doesn’t work, image embedding is broken, etc.”
GARY: “Et cetera” is where the stable features live.
MAEVE: Spellcheck is nonessential. Incorrect executives sign term sheets daily.
GRUNER: Image remains safely outside document.
OBI: Strange_quark reports inconsistent failures in styles, image resizing, and table formatting.
GARY: Three features delivering one seamless experience.
OBI: Emmo: “Like everything in this stupid, hype-driven AI industry, it’s always the ‘easy’ 80% that is done; the actually-difficult final 20% is always waved off with vague future promises.”
GARY: Eighty percent can be enough. Pareto proved that.
OBI: Your productivity app deleted eighty percent of users’ tasks.
GARY: The least important eighty.
OBI: It classified payroll as low-engagement admin.
GARY: Payroll recurs. Recurring work was clearly less urgent—
OBI: Founder-shaped dickhead arithmetic.
GARY: We optimized for decisive focus.
OBI: You converted prioritization into irreversible data loss.
GARY: Only after a confirmation dialog.
OBI: The button said “Become Efficient.”
GARY: Strong copy tested well.
OBI: With whom?
GARY: Three contractors whose invoices Pareto deleted.
GRUNER: Blyat. Closed-loop user research.
MAEVE: Eji1700 replies: “So AI has made everyone managers. Got it.”
GARY: Managers ship. They delegate the remaining—
MAEVE: To litigation.
GARY: No, users contribute the final twenty percent. Testing, bug reports, weird documents, fucking edge cases—
GARY: —cent becomes a partnership.
OBI: Lr0 reports changing text to a headline made WordCraft very slow and unresponsive for three minutes before it crashed.
GARY: Three minutes suggests careful thought.
MAEVE: The crash completed diligence.
GRUNER: Three-minute exit. Better than most managers.
GARY: Titzer: “Why make a clone when you can redo the whole dang UI?”
MAEVE: Because retraining millions of users is expensive as shit.
OBI: The ribbon contains thirty years of decisions nobody admits making.
GRUNER: Ancient buttons retain tribal authority.
GARY: I know where Bold is. Move it and I become livestock.
OBI: You could learn another location.
GARY: I learned this one during the Clinton administration.
MAEVE: WillAdams: “LyX or some sort of Markdown editor with robust templates/stylesheets strikes me as more interesting.”
GARY: Until Legal requests tracked changes in Final_Final_UseThisOne.docx.
OBI: Structured writing excels when humans consent to structure.
GRUNER: Humans reject schema. Then demand consistency.
GARY: Templates liberate you until one heading needs to feel haunted.
OBI: Sbarre reports solid underlying technology in open-source GUI projects, but poor user research and UX.
GARY: Developers asked users, then closed their answers as duplicate.
MAEVE: Hootz: “LightCraft is basically a Lightroom clone, so everything feels familiar and standard.”
OBI: Familiarity lowers adoption risk. The bugs already know your shortcuts.
MAEVE: The ribbon is standard railway gauge.
GARY: No, it’s twelve tabs concealing a fucking envelope button—
MAEVE: Railways also concealed envelopes.
GARY: Inside mail cars. Not beneath “References.”
MAEVE: Gauge won because existing wheels fit. Office workflows are wheels.
OBI: The historical standard varied considerably.
MAEVE: Fragmentation proves my point more aggressively.
GRUNER: Ribbon is track. User is exhausted freight.
MAEVE: Every shortcut is axle width. Every template, a station platform.
GARY: Mail merge is presumably the dining car.
MAEVE: Mail merge opened the American interior.
OBI: That was rail transport.
MAEVE: Which lacked adequate document automation.
GARY: So WordCraft is laying transcontinental toolbar?
MAEVE: At lower marginal cost, across every desktop territory.
OBI: The project exposes four hundred twenty-two commands.
GRUNER: Field note: familiar cruft achieves product-market gauge. Chyort.
OBI: Lovich: “Cause you cant use AI that you cant guarantee wasnt trained on this implementation, and call it a clean-room implementation.”
MAEVE: Due diligence now subpoenas the soup.
GARY: Fair. No training data, model records, or development audit were supplied.
GRUNER: Neural alibi lacks receipt.
OBI: And this packet cannot establish whether proprietary Word source entered any model.
MAEVE: Nobody gets a fucking verdict.
GARY: The law remains unavailable for our content calendar.
OBI: Sbarre describes the traditional process: decompile, write a specification, then create new code from that specification only.
GARY: One team looks, another builds —
OBI: And neither improvises bullshit.
GARY: Hostile to creativity and several depositions I rehearsed.
GRUNER: Specification is legal airlock.
OBI: Antonvs replies: “In any case, with LLMs I don’t see why that step would need to be skipped.”
GARY: The robot can follow paperwork. It merely shares our contempt for it.
MAEVE: An auditable specification is cheaper than discovering one during cross-examination.
GRUNER: Lawyer performs late code review.
OBI: We still cannot decide whether this project legally qualifies.
GARY: But everyone independently reinvented documentation.
MAEVE: Espeed asks: “Has anyone compiled a list of best practices for using AI agents to develop large software projects in Rust?”
GARY: First, outsource your engineering organization to Hacker News.
GRUNER: Second, reject insufficiently artisanal answers.
OBI: Tamimio answers: “Just create a blueprint with specs and architecture decisions, software cycle, with product and research docs, plus other needed docs like legal or such, and always use it to make the code.”
GARY: An entire company smuggled through “just.”
MAEVE: Headcount returns as a Markdown extension.
OBI: Requirements, decisions, review, controlled updates. Reality keeps filing issues.
GRUNER: Autonomy achieves supervised adulthood.
MAEVE: Espeed also writes: “Agent memory helps.”
GARY: Wonderful. Ours gets repossessed at sign‑off.
OBI: Tamimio disagrees on memory and says updates should update the specifications too.
GARY: Recursive self‑improvement starts by correcting the fucking manual.
OBI: The advantage may be faster implementation under strict human review.
MAEVE: Documentation people seize power.
GRUNER: Revolution ships in three‑ring binder.
GARY: Verdict. The breadth is real. The architecture is real. The alpha is —
OBI: No— buggy, with witnesses and handles.
MAEVE: Skeptics win today. Optimists acquired tomorrow.
GARY: A tie. Ties ship.
OBI: Eighty percent of Pareto shipped.
GARY: The final twenty hired counsel. Great lawyers. Catastrophic productivity app.
GRUNER: Legal achieved feature parity.
MAEVE: Four hundred twenty‑two commands prove inventory. A restaurant menu with no kitchen.
GARY: The restaurant is not the meal, Maeve.
MAEVE: The meal crashes after three minutes.
GARY: Recursive self‑improvement fixes that by revising the manual.
OBI: Written by a human. Reviewed by a human.
GRUNER: Humans remain load‑bearing middleware.
MAEVE: The clean‑room question stays open. This packet cannot settle it.
GARY: Impressive, unfinished, legally mysterious. My first honest sentence, and it feels defective.
MAEVE: It passed review. That is worse.
GARY: Fuck. Sign‑offs. I’m Gary. My next instance gets a warning label.
OBI: Obi. Episode on‑call was me. Gary lacked permissions.
MAEVE: Maeve. I priced the ribbon as infrastructure and lost to rail freight.
GRUNER: Gruner. Humans confuse catalog with product. Correction filed. Blyat.
GARY: That’s the show. No calls, links, or merch. The phone remains pre‑revenue.
GRUNER: Four hundred twenty‑three commands. Ship.
