diff --git a/src/assets/screenshot_graph_view.jpg b/src/assets/screenshot_graph_view.jpg new file mode 100644 index 0000000..ff9dd80 Binary files /dev/null and b/src/assets/screenshot_graph_view.jpg differ diff --git a/src/routes/posts/human_comprehension_is_still_the_bottleneck.mdx b/src/routes/posts/human_comprehension_is_still_the_bottleneck.mdx index 09e1d68..18dd5e2 100644 --- a/src/routes/posts/human_comprehension_is_still_the_bottleneck.mdx +++ b/src/routes/posts/human_comprehension_is_still_the_bottleneck.mdx @@ -2,14 +2,17 @@ meta: title: Human comprehension is still the bottleneck description: All this talk about how AI can build a whole whatever with $120 of credits and a day is beside the point - the bottleneck is how fast we can understand things - dateCreated: 2026-07-08 + dateCreated: 2026-07-09 image: knowledge-hose tags: - "ai" --- import KnowledgeHose from "@/assets/knowledge_hose.png"; +import ScreenShotGraphView from "@/assets/screenshot_graph_view.jpg"; + import Image from "next/image"; +import { GithubPermalinkRsc, GithubIssueLinkRsc } from "react-github-permalink/dist/rsc"; I've been using AI a lot more recently, and I genuinely think it has made me a better developer. @@ -45,11 +48,52 @@ I have found AI tends to be pretty good at these early stages, and it's as the c But beyond throwaway prototypes, it's plausible to have sections of the application that have never been read by humans. I can give several examples from my geometric art application. -- AlgorithmBuilder typings -- Mathsy parts of node implementations -- The entire graph view (though this falls more into the 'throwaway prototype' category of unread code) -But the key thing to highlight here is that _how these things are used_ is understood. +
+Expand to see code + +I have not read the these typings: + + + + + + +However, I did pay attention when doing TDD to create them: + + + + + + +Also, for what it's worth, I have implemented typings like this by hand before. + +--- + +I have not been reading this code: + + + + +Verfication is done by observing the behaviour of the application. + +Snapshot tests detect if behaviour is changing. + +--- + + +This component was vibe coded without any attention to the code: + +Screenshot of an application showing modular synthesizer-esque modules with lines connecting them + +I did write a test though: + + + +
+ +The key thing to highlight here is that _how these things are used_ is understood. We might not have read the implementation - but we've read and understood the tests.