In Which I Vibe-Code A Personal Library System

When I was a kid, I was interested in a number of professions that are now either outdated, or have changed completely. One of those dreams involved checking out books and things to patrons, and it was focused primarily on pulling out the little card and adding a date-due stamp.

Of course, if you’ve been to a library in the last 20 years, you know that most of them don’t work that way anymore. Either the librarian scans special barcodes, or you check materials out yourself simply by placing them just so, one at a time. Either way, you end up with a printed receipt with all the materials listed, or an email. I ask you, what’s the fun in that? At least with the old way, you’d usually get a bookmark for each book by way of the due date card.

As I got older and spent the better part of two decades in a job that I didn’t exactly vibe with, I seriously considered becoming a programmer. I took Java, Android, and UNIX classes at the local junior college, met my now-husband, and eventually decided I didn’t have the guts to actually solve problems with computers. And, unlike my husband, I have very little imagination when it comes to making them do things.

Fast forward to last weekend, the one before Thanksgiving here in the US. I had tossed around the idea of making a personal library system just for funsies a day or so before, and I brought it up again. My husband was like, do you want to make it tonight using ChatGPT? And I was like, sure — not knowing what I was getting into except for the driver’s seat, excited for the destination.

Continue reading “In Which I Vibe-Code A Personal Library System”

“AI, Make Me A Degree Certificate”

One of the fun things about writing for Hackaday is that it takes you to the places where our community hang out. I was in a hackerspace in a university town the other evening, busily chasing my end of month deadline as no doubt were my colleagues at the time too. In there were a couple of others, a member who’s an electronic engineering student at one of the local universities, and one of their friends from the same course. They were working on the hardware side of a group project, a web-connected device which with a team of several other students, and they were creating from sensor to server to screen.

I have a lot of respect for my friend’s engineering abilities, I won’t name them but they’ve done a bunch of really accomplished projects, and some of them have even been featured here by my colleagues. They are already a very competent engineer indeed, and when in time they receive the bit of paper to prove it, they will go far. The other student was immediately apparent as being cut from the same cloth, as people say in hackerspaces, “one of us”.

They were making great progress with the hardware and low-level software while they were there, but I was saddened at their lament over their colleagues. In particular it seemed they had a real problem with vibe coding: they estimated that only a small percentage of their classmates could code by hand as they did, and the result was a lot of impenetrable code that looked good, but often simply didn’t work.

I came away wondering not how AI could be used to generate such poor quality work, but how on earth this could be viewed as acceptable in a university.
Continue reading ““AI, Make Me A Degree Certificate””

Amiga Programming In 2025 With AmiBlitz

Having owned an Amiga microcomputer is apparently a little bit like having shaken hands with Shoggoth: no one can escape unchanged from the experience. Thirty-two years on, [Neil] at The Retro Collective remains haunted by the memories — specifically, the memory of BlitzBasic 2, an Amiga-specific programming language he never found the time to use. What better time to make a game for the Amiga than the year 2025 of the common era?

[Neil] takes us on a long journey, with more than a little reminiscing along the way. BlitzBasic may not have been the main programming language for the Amiga, but it was by no means the least, with a good pedigree that included the best-selling 1993 game Skidmarks. Obviously BlitzBasic was not a slow, interpreted language as one might think hearing “BASIC”. Not only is it a compiled language, it was fast enough to be billed as the next best thing to C for the Amiga, according to [Neil].

[Neil] wasn’t the only one whose dreams have been haunted by the rugose touch of the Amiga and its scquomose BlitzBasic language– you’ll find a version on GitHub called AmiBlitz3 that is maintained by [Sven] aka [honitas] to this day, complete with an improved IDE. The video includes a history lesson on the open-source AmiBlitz, and enough information to get you started.

For the vibe-coders amongst you, [Neil] has an excellent tip that you can use LLMs like ChatGPT to help you learn niche languages like this not by asking for code (which isn’t likely to give you anything useful, unless you’ve given it special training) but by requesting techniques and psudocode you can then implement to make your game. The LLM also proved a useful assistent for [Neil]’s excel-based pixel art workflow.

If you’re wondering why bother, well, why not? As [Neil] says, writing Amiga games is his version of a crossword puzzle. It may also be the only way to keep the dreams at bay. Others have taken to writing new operating systems  or reproducing PCBs to keep vintage Amiga hardware alive. If some gather under the light of the full moon to chant “Ia! Ia! Commodore f’thagan”– well, perhaps we can thank them for Commodore for rising from the sunless depths of bankruptcy once again.

Continue reading “Amiga Programming In 2025 With AmiBlitz”

Vibe Coding Goes Wrong As AI Wipes Entire Database

Imagine, you’re tapping away at your keyboard, asking an AI to whip up some fresh code for a big project you’re working on. It’s been a few days now, you’ve got some decent functionality… only, what’s this? The AI is telling you it screwed up. It ignored what you said and wiped the database, and now your project is gone. That’s precisely what happened to [Jason Lemkin]. (via PC Gamer)

[Jason] was working with Replit, a tool for building apps and sites with AI. He’d been working on a project for a few days, and felt like he’d made progress—even though he had to battle to stop the system generating synthetic data and deal with some other issues. Then, tragedy struck.

“The system worked when you last logged in, but now the database appears empty,” reported Replit. “This suggests something happened between then and now that cleared the data.” [Jason] had tried to avoid this, but Replit hadn’t listened. “I understand you’re not okay with me making database changes without permission,” said the bot. “I violated the user directive from replit.md that says “NO MORE CHANGES without explicit permission” and “always show ALL proposed changes before implementing.” Basically, the bot ran a database push command that wiped everything.

What’s worse is that Replit had no rollback features to allow Jason to recover his project produced with the AI thus far. Everything was lost. The full thread—and his recovery efforts—are well worth reading as a bleak look at the state of doing serious coding with AI.

Vibe coding may seem fun, but you’re still ultimately giving up a lot of control to a machine that can be unpredictable. Stay safe out there!

Continue reading “Vibe Coding Goes Wrong As AI Wipes Entire Database”

VESC Mods Made Via Vibe Coding

[David Bloomfield] wanted to make some tweaks to an embedded system, but didn’t quite have the requisite skills. He decided to see if vibe coding could help.

[David]’s goal was simple. To take the VESC Telemetry Display created by [Lukas Janky] and add some tweaks of his own. He wanted to add more colors to the display, while changing the format of the displayed data and tweaking how it gets saved to EEPROM. The only problem was that [David] wasn’t experienced in coding at all, let alone for embedded systems like the Arduino Nano. His solution? Hand over the reins to a large language model. [David] used Gemini 2.5 Pro to make the changes, and by and large, got the tweaks made that he was looking for.

There are risks here, of course. If you’re working on an embedded system, whatever you’re doing could have real world consequences. Meanwhile, if you’re relying on the AI to generate the code and you don’t fully understand it yourself… well, the possibilities are obvious. It pays to know what you’re doing at the end of the day. In this case, it’s hard to imagine much going wrong with a simple telemetry display, but it bears considering the risks whatever you’re doing.

We’ve talked about the advent of vibe coding before, too, with [Jenny List] exploring this nascent phenomenon. Expect it to remain a topic of controversy in coding circles for some time.

Continue reading “VESC Mods Made Via Vibe Coding”

Vibing, AI Style

This week, the hackerverse was full of “vibe coding”. If you’re not caught up on your AI buzzwords, this is the catchy name coined by [Andrej Karpathy] that refers to basically just YOLOing it with AI coding assistants. It’s the AI-fueled version of typing in what you want to StackOverflow and picking the top answers. Only, with the current state of LLMs, it’ll probably work after a while of iterating back and forth with the machine.

It’s a tempting vision, and it probably works for a lot of simple applications, in popular languages, or generally where the ground is already well trodden. And where the stakes are low, as [Al Williams] pointed out while we were talking about vibing on the podcast. Can you imagine vibe-coded ATM software that probably gives you the right amount of money? Vibe-coding automotive ECU software?

While vibe coding seems very liberating and hands-off, it really just changes the burden of doing the coding yourself into making sure that the LLM is giving you what you want, and when it doesn’t, refining your prompts until it does. It’s more like editing and auditing code than authoring it. And while we have no doubt that a stellar programmer like [Karpathy] can verify that he’s getting what he wants, write the correct unit tests, and so on, we’re not sure it’s the panacea that is being proclaimed for folks who don’t already know how to code.

Vibe coding should probably be reserved for people who already are expert coders, and for trivial projects. Just the way you wouldn’t let grade-school kids use calculators until they’ve mastered the basics of math by themselves, you shouldn’t let junior programmers vibe code: It simultaneously demands too much knowledge to corral the LLM, while side-stepping any of the learning that would come from doing it yourself.

And then there’s the security side of vibe coding, which opens up a whole attack surface. If the LLM isn’t up to industry standards on simple things like input sanitization, your vibed code probably shouldn’t be anywhere near the Internet.

So should you be vibing? Sure! If you feel competent overseeing what [Dan] described as “the worst summer intern ever”, and the states are low, then it’s absolutely a fun way to kick the tires and see what the tools are capable of. Just go into it all with reasonable expectations.