Thirty Years of Pascal, Then I Hired an AI
Written , Published
My first computer was a ZX Spectrum 48K, in 1984. A year later it ran my first real program: an inventory system for my father’s small shop. The data lived in
200 DATA "", ""
210 DATA "", ""
...
lines, inside 40K of user memory. It worked. For years, that was the whole review process: it worked. My father proudly told every customer he was on speaking terms with, how he ran the shop with the help of a computer. I was able to prove to him that what he paid for Speccy was not for my gaming time only. (Sidebar: Commodore 64 games were far better, so I became a programmer, because my dad bought a Speccy, instead. I never regretted, I earned my bread starting from what I tinkered with then)
Pascal was home for the next thirty years, starting on an 8088, not original IBM, of course. A clone. Turbo Pascal, Borland Pascal, Delphi up to 7.0, a few of the Embarcadero versions, thinly, even Object Pascal a little bit. That was the territory I was familiar with. Other languages came and went, “very little”: Z80 and x86 assembly, COBOL, FORTRAN, ADA. Full force T-SQL since SQL Server 6.0. One complete C# project on the .NET Compact Framework, a delivery-driver suite for the logistics company I worked for 20+ years for rugged handhelds, back when a mobile app had to survive a drop on a warehouse floor.
I retired in 2023. My last years had drifted from building to budgeting, people management, planning, meetings. Stress went up, problem-solving went down. I do not miss any of it, now. I spend more hours in front of a computer today than I ever did at work, and I use it as I see fit.
Then the wave arrived
I did not dismiss AI. I followed the news for years, but work left no time to actually try any of it until work ended. Reading and watching turned into building and trying.
Then OpenAI released ChatGPT to the public, and the rest is history.
I did not use it to chat about travel plans or the best lentil soup recipe. Coming from IT, I wanted to know what the thing could actually do. So I tested it the way an industrial engineer like me would: one question at a time, clean and checkable: “Which one is farther north, Istanbul or London?”
The answer came back. London’s latitude is greater, it said. Correct. Therefore, Istanbul is farther north. Also in the same answer. The right fact and the opposite conclusion, in one breath.
(I know, I know: people like to ask the number of “r”s in strawberry…)
That kind of stupidity disappeared so quickly, I was alarmed. Not by the stupidity. By the slope.
I realized the advance of AI, both LLMs and specialized ones like AlphaFold is no joke, no hype. I told family and friends that 2024 would be the last normal year in their lives.
I did not have a job to lose. But I have a daughter with a future, indeterminant.
The machine
Being alarmed is not a plan. The engineer’s version of alarm is wanting the thing on your own desk, where it can be taken apart and measured. The chatbot raised the question. The computer was how I answered it. I keep two desktops, at two geo-apart locations (and traveling between them AND keeping track of the work is another challenge, another post, maybe) LIGHTS (came with these fancy LED fans, annoying, so named after displeasure, then opening the case and disconnecting a few wires fixed it, but the name stuck) runs a Ryzen 9 5900X with 64 GB of DDR4. This is the Lab location. DARKNESS (was smart enough to pick fans without LEDs when ordering parts this time, kudos to me) runs a Ryzen 9 7900X with 128 GB of DDR5 and lives in the Factory location. Each carries an RTX 5060 Ti with 16 GB of VRAM, and that number was the point: the highest-RAM GPU I could afford in Turkey, on a retirement pension (wife permitting). I picked for memory size, not execution speed. With local models you can wait for speed. You cannot wait for memory.
The experiment
I started with ollama and basic conversation: “Whassup?, Who are you?, Summarize these ten paragraphs for me.” Watch words (tokens) emerge slooowly. The first real experiment is still running, and it is less heroic than it sounds. I watch a lot of YouTube. I mean a lot. I started a long-running project which required watching videos but even “a lot” didn’t cover it. Solution. I drive Claude Code. It does the agent work, coordinates the job: downloads the content, hands them to local LLM(s), reviews the produced summary, judges relevance to the project. The local models on LIGHTS and DARKNESS do exactly one thing: summarize what Claude has already fetched.
The division is not philosophical, it is arithmetic. Claude’s tokens cost money. Local tokens cost electricity I do not bother to price, because the tasks are short. And the local models never touch the whole job, so they never get the chance to fail at the parts they are bad at.
Here is a typical output folder of a video analysis.

Every processed video leaves behind a small pile of plain files: the video itself, its subtitle track, a plain-text transcript, the metadata, the frame descriptions, a candidates file. No database, no cloud. Just names on a disk, which is how I like my evidence.
The local models do not only read. They watch, sort of. The pipeline samples frames, one every ten seconds or so, and a local model describes each in text. The descriptions sit next to the transcript, so a summary rests on what was said and on what was actually shown. Checking then costs paragraphs instead of hours: the dense, expensive AI verifies the cheap ones’ (one for text transcription one for image extraction and decoding) summary against the frame descriptions without playing a single second of video.
And the verdict is not always kind. Some videos come back with three lines of fate: no candidate, no citation, no doc changes.
One confession first. The experiment is maybe the only place I trust the AI. All of them. The alternative is no alternative: I would be the one watching hours upon hours of videos. So I trust. Uncomfortably.
What surprised me, and what did not
What did not surprise me: AI writes code I could not write with my current Python. Then the results are not what it predicted, so the code is faulty, and catching that is my job. I catch it by looking at the result and asking questions, not by looking at the code, because I lack the expertise to read the code. And through all of it, it reports “all is good” so many times when it is not good, you will scream silently.
Knowing what “correct” looks like is still the scarce skill.
What surprised me is a list I am saving for later articles. Each story deserves its own post, and this one is already long enough.
What an old systems brain sees that a new one does not
Younger developers trust the output because it reads well. I trust nothing I have not seen fail at least once. Both are true and false at the same time. I’ll let you figure it out why.
Here is the kind of thing experience is actually for. Some years ago, a service pack upgrade on a SQL Server 2000 installation broke a customs declarations report, the one our outbound cargo clearance depended on. A report that took two minutes now ran for an hour. Operations could not meet its deadlines, and the late delivery fees started arriving. IT security had insisted on the upgrade: the SP held a defense against an attack on the SQL Server itself that, as far as anyone could tell, might never come. Yet, the defense worked perfectly against the business.
I was told to look at it. What I found was a query wearing six levels of nested functions, sparsely commented in Russian. I do not read or speak Russian. There was no documentation either. There was no one in the 3 people Russian dev team that speaks enough English (or Turkish) to explain the code to me and obviously there was no LLM that can do it for me, at that time in history. So I did the only thing that works: picked it apart until I could explain every byte of it, then wrote up a preliminary report for the group that ran those servers worldwide. The answer came back in spirit: this man knows what he is doing.
The fix was not clever. It was patient. Flatten six levels of function calls into one stored procedure, byte-exact output, verified before and after. The report went from an hour back to twenty seconds.
No medal followed. The Hero of the Motherland Medal, specifically, never arrived!
I have debugged other people’s confidently wrong code since God knows for how long. I debugged my own bad code, even more so. AI output is confidently wrong code, at scale. That is not a reason to avoid it. It is the reason to supervise it. The difference between my generation and the AI-native one is not syntax. It is the review reflex. And the review reflex happens to be the exact thing this new workflow is starving for.
What’s next
I am documenting the whole path on this blog: the hardware, the models, the tools, the costs, the mistakes, in that order. Next will come, in due time, more stories of distant past and near future. And tangents. And irrelevants. No hype, no affiliate links dressed as reviews.