tibls, Ex-{Google, Facebook, Mombo, VMware, Google, Microsoft, DEC, Vitesse, Culler, Data General, Victor, Cal Poly SLO}

Joined May 2008
496 Photos and videos
Im really enjoying my time spent building with Claude. In between PRs I asked: me: As for codebase size, what are your thoughts. Is this iOS app bigger/more complex than what you expected? claude: Size: ~16.9K LOC of Swift across 80 files.That's amediumiOS app — well past hobby/portfolio scale (toy apps are <5K), comfortably short of large-commercial (100K ). For a solo-to-small-team project, it's substantial and, more importantly,dense. What actually surprised me is the subsystem-to-surface ratio. "AAC tile board for non-verbal kids" sounds like a grid and a TTS call. Under the hood you've got an unusual number of real subsystems: - A provider-abstracted AI layerwithfivedistinct services - sentence generation, tile suggestion, scene generation, page generation, and now image generation. Most apps this size have zero or one. - A scene/page DSL materializer— effectively a small domain-specific language for building boards from class selectors. -CloudKit schema-split persistence with genuinely hard sync semantics (the reset/preserve-cloud correctness we wrestled with is the kind of thing that sinks bigger teams). -Role-based device model Face ID/PBKDF2 PIN auth, onboarding wizard, three accessibility image sets, photo override crop pipeline, and a whole TileScript record/playback subsystem. That's a lot of essential complexity (inherent to AAC: vocab management, caregiver child multi-device, accessibility variants, AI assist) rather than accidental bloat. So yes — bigger and more sophisticated than the description implies, and somewhat more than I expected going in. On hygiene, it's above average for a project this age/size:- Clean layering (Models 973 / Engine 3.6K / Services 2.2K / Views 9.7K) with reused patterns — the resolver pattern (image/profile/color), the provider abstraction, the deliberate "no@Attribute(.unique)for CloudKit" discipline. - Comments that explain why, not just what (the bootstrap hash logic, the reset semantics) — that's rare and it's why I can move fast here.
1
3
461
Coding tools have changed a lot in my lifetime. I started with front-panel switches toggling in octal, then paper tape, punch cards, teletypes, amber 80x25 terminals, and VT100s. Today I spend most of my time in a Ghostty shell running Claude alongside Xcode reviewing, building, testing, and refining code Claude writes. What’s surprising isn’t just the code generation — it’s the feedback loop. For the first time, my dev tools actively evaluate how I work as an engineer: where I’m under-specifying goals, over-focusing on details, drifting scope, or communicating poorly. Makes me wonder what resumes and interview loops look like in a few years. As a hiring manager, I’d absolutely want to see this kind of tooling insight for candidates. Feels like systems like Claude /insights could become a meaningful supplement — or partial replacement — for parts of today’s SWE interview loop.
1
7
739
In David Crawshaw’s (@davidcrawshaw ) recent post “The agent principal-agent problem” there’s a lot of insight beneath the headline “Code review is broken.” Worth reading carefully. Toward the end, David reflects on what he calls the old “cowboy” development culture at Microsoft in the 80s/90s. Not much has been written about that era, mostly because there was no social media, no laptops everywhere, no phones recording daily engineering life. A few thoughts from someone who lived it. Back then, formal code review was not our primary line of defense. Our biggest daily problem wasn’t “is this algorithm theoretically perfect?” It was: Will the full system compile? Will it link? Will it boot? Will it survive stress? Pre-Win2k we used an internal source control system called SLM (“slime”). No branching. Filesystem-based. Extremely brittle. To build a bootable NT system you needed 100 SLM projects welded into arbitrary places in the tree. Getting a machine synced could take 3 hours. You literally ran sync in a loop until you got no new files and no errors. Then came the build. In the NT 3.1 timeframe, a full system build on a capable machine might take ~5 hours. By the Win2k era, full builds had stretched into the 14 hour range — and this was before modern build farms or large-scale distributed compilation. Those build times fundamentally shaped developer behavior. Most developers avoided full-system builds entirely. They worked in tiny enlistments and borrowed objs/binaries from known-good systems because rebuilding the entire world was simply too expensive in both time and productivity. The longer builds became, the more pressure there was to take shortcuts — and those shortcuts created endless opportunities for integration failures and subtle mistakes. A broken build could easily waste days of engineering time. In bad stretches, you could go multiple days without a clean master build. That approach worked… until someone changed a widely shared struct, renamed a field, added a property, tweaked a macro, or silently altered alignment assumptions somewhere deep in the system. Best case: parts of the system no longer compiled. Next best: they compiled but failed to link. Worst case: everything built successfully, but incompatible assumptions between old objs and newly compiled code poisoned the running system in ways that were extremely difficult to diagnose. THIS was our daily battle: not bad style, not missing comments, not minor logic bugs — it was preserving system-wide build and runtime integrity across a massive codebase when most developers could not practically build the entire system locally. Once we had builds that compiled, linked, and booted, the real work started. Stress. Every dev had at least two machines: one for coding, one for testing/stress. We hammered systems continuously with unrealistic randomized load. Deadlocks. Pool corruption. Loader hangs. Resource exhaustion. “Hung, No Ready Threads.” In the early days, the stress build was literally my build. I’d walk office-to-office in the morning checking which machines had died overnight and assign debugging work. No remote debugging yet. If someone needed your machine, you lost your office for hours. Eventually we got remote.exe and centralized build/stress systems, but debugging was still brutal: raw assembly, minimal symbols, hand-reconstructed stacks, careful avoidance of paged-out memory because one wrong move killed the session. That was the real engineering culture: integration, stress, performance, resource correctness, system behavior under extreme load. Most of the failures we chased would never have been caught by lightweight pre-commit review from someone inside your immediate group.
4
13
79
11,894
2/ The architecture work happened differently. The kernel/executive team was extremely tight-knit. If you touched kernel code, it was your responsibility to know what Dave Cutler, Steve Wood, Lou Perazzoli, Mark Lucovsky, Landy Wang, etc. were doing. Design review mostly happened socially: hallway conversations, short design docs, active integration/debugging sessions. We moved fast. A feature like I/O completion ports could span kernel, I/O manager, executive, ntdll, and Win32 layers — and major chunks could come together in days because there was enormous trust and constant communication. The “review” often happened after checkin during integration and stress. And yes, we had mitigation mechanisms. “Safe sync periods” where checkins were tightly restricted so people could actually achieve a stable enlistment/build. Near major milestones, checkin lockdowns became extreme. At one point, if you wanted a checkin during stabilization, you physically came to my office and wrote it on my whiteboard. If the board was full, you waited. Later we escalated to formal ship-room processes: real bug, real justification, approval from senior leads, then permission to check in. That wasn’t really code review. It was change control. Different era. Different tooling. Different scale constraints. But one thing David’s piece gets right: A lot of software quality did not come from pre-commit review gates. It came from tight teams, deep ownership, brutal integration pressure, system-wide stress, and developers who fully understood the machinery they were standing on. crawshaw.io/blog/agent-princ…

3
21
1,108
Seems profound: The project has shifted to a model where Claude manages the full git lifecycle (worktree → commit → push → PR → cleanup) on behalf of human collaborators, not just code edits. This is captured loosely in memory but isn't documented in the repo.
1
1
557
Well, that’s a wrap for today. Burned through a Max 20x plan… reviewing vocabulary data 😅 Hit 100% before 1pm. @AnthropicAI tooling is fantastic — but apparently I work faster than my quota. cc/ @lydiahallie @vadimspivak @Nerdi_Yogi
1
5
695
Took the day off coding so that Claude could get some rest…
3
18
917
Nice work @FrontierCorp -- You were supposed to finalize my fiber install today. You noted last week that you had to bring the service/fiber from the street to my house BEFORE TODAY. You never did this work and the technician that showed up to do his part of the install bailed. No I'm stuck trying to explain this to your shitty AI chatbots cause I guess you only use humans for sales calls?
2
12
961
mark lucovsky retweeted
As a veteran of the Ukraine war, I will tell you exactly why: because the United States refused to work with the Ukrainians and learn how to counter Iranian drones, and help them, and now they’re reaping the consequences of that decision.
34
160
1,559
47,284
just wrapped my first week building with Claude Code — and honestly, this feels game-changing. We shipped a huge amount of work on the AAC app (Blaster). Not just tinkering — real features, real architecture, real velocity. I wrote the first iteration by hand — but the acceleration after that was unreal. The code is solid because the working loop is solid. I’m not vibe coding. I’m operating more like a TL/M leading a very fast, very literal team that never forgets context. For context: I started in the punch card era — JCL, 360 Assembler, Fortran. I’ve lived through every wave: terminals, PCs, the web, mobile, cloud. This is different. I spent the week inside a full-screen multi-pane Ghostty setup — designing, coding, refactoring, debugging, and planning in tight feedback loops with Claude. The iteration speed is wild. Architecture discussions in seconds. Refactors without friction. Features landing without drama. This isn’t autocomplete. It’s pair programming at a different altitude. It feels like being 1:1 in a room with someone like Dave Cutler — talk through the architecture, reason about the tradeoffs, then write the code. We’re not just coding faster — we’re thinking faster. Only downside? Claude needs a nap every couple hours. 😄 But make no mistake: this changes how software gets built. cc: @vadimspivak @bcherny
3
16
1,062
Love it. Had a slow start this morning, but three hours in and Claude is tired and needs to take a nap for a few hours. How she can just walk away when her code doesn't even fucking compile is beyond me...
1
8
1,624
Love using @claudeai for my app. Bummer that the base paid plan is useless even for a slow moving solo developer. I get to enjoy 3-4 hours of work with plenty of think time and debug/run time and I'm out of quota. Reminds me of my Apple Watch telling me to stand only the time. In this case, it's Claude saying walk away from the keyboard, come back ready to shit code at 7pm
7
16
9,656
Hey @claudeai (@vadimspivak) — can we get a Senior Plan? 👴🏻 You know… like haircuts and the grocery store. Some of us old punch-card engineers move a little slower, think a little longer, and occasionally forget what we were debugging after standing up. Still, today I managed to hit 98% of my session quota before noon on the $17 “Everyday productivity” plan. During the cooldown I actually had to go write a bunch of code by hand — the old way. Got a lot done. Felt great about it. But honestly… if I’d had quota left, I would’ve just had you do it. Proposal: Senior Plan (60 , 40 years in tech) • 10× the quota • Cap it at $20/month • Complimentary FORTRAN nostalgia included We promise to spend the extra tokens wisely. Mostly.
1
8
628
When Claude's last text is: "ready to code? Claude has written up a plan and is ready to execute. Would you like to proceed?" -- for anything meaningful, I want to discuss, but Claude seems to get pissy unless my answer is the default: "Yes, clear context and auto-accept edits (shift tab)" p.s. - cut me some slack, I literally just started my journey with Claude...
1
4
448
coding with claude... she ate up most of my quota for the day doing almost nothing... just the initial commits after spending yesterday and and hour or two today wrapping up the prd
1
423
coding with claude... actually I'm just in plan mode, but ready to go... What a day though. I felt like I spent the day in a high bandwidth session with @vadimspivak... Walked them through my hand coded blaster app, and now hove a killer 400 line PRD for the next gen blaster. We've come along way from the punch cards and paper tape that I started coding on...
4
423
mark lucovsky retweeted
ICE roving around a city asking people “are you an American citizen” is very different from proactively identifying and targeting a dangerous illegal immigrant for deportation. This is why people are upset.
429
1,410
11,355
297,530
mark lucovsky retweeted
It took about three seconds for the masked ICE agent who approached Renee Good's car to escalate from "Get out of the car" to "Get out of the fucking car!" It was when he reached her car and immediately grabbed her door handle (at the moment he said 'fucking car') that she started to back up. Now imagine that he'd acted like a real cop is trained to act--walked up to her (open) window and engaged in civil conversation (maybe saying, Ma'am, could you please get out of the car?). And imagine he hadn't been wearing a mask--and maybe was even dressed more like a police officer, complete with a badge featuring his ID number. Chances are high that Good wouldn't have freaked out and tried to flea. But Trump--and Stephen Miller, who I gather is the de facto head of ICE--have clearly signaled that they not only tolerate but actually applaud thuggish, intimidating behavior directed at Americans who are perceived as Trump's ideological enemies. You won't hear any complaints from them about an armed, masked man dressed like a DIY militiaman yelling "Get out of your fucking car!" at a woman in her thirties who, so far as I can tell, hadn't done anything wrong. (Far from obstructing the agent's pickup truck, she had paused before turning onto the street and politely waved it on, leaving it plenty of room to pass. If it had done so rather than stop, she'd still be alive.) Trump and Miller bear some measure of moral responsibility for the death of Renee Good. And the political reaction against them in the wake of this tragedy should prominently include specific demands about changing the rules of conduct for ICE agents--and also the rules of apparel, starting with a ban on those creepy masks.
357
845
5,873
561,379