3,768 karma · joined July 15, 2020
Using cheaper models and using your skills and expertise from the pre-AI era can get you working just as fast. You've gotta be more specific about the work you need doing. It's less "vibes" based, but they're still effective.
Also, Chinese models absolutely are taking off. I used Claude and GPT at work, and then I tried using some Chinese models for personal projects. I am 100% convinced they're like 90% as good for 10% of the cost. But you've basically gotta be a good developer first and know what you want and know when it's giving you shit.
Mapping database rows to domain objects really isn't that painful and you only do it once. So not a big deal. LLMs actually make this a non-issue now.
I actually realised I like the separation of domain objects and the data layer. It just makes things easier to think about for me. And it means my data layer is completely abstracted from the domain. Makes it easier to implement different storage/caching strategies.
And I also realised, if your hot path is needing to get related/child objects then you should probably just write an optimised query as a prepared statement or a stored procedure. It's rare that you actually have that many different ways you want to access the data.
They are really useful for speed of development though if something is completely greenfield and you don't know the full picture of how data is going to be accessed.
It's all a losing battle anyway.
Also, it seems very buggy with the visuals. I see weird artifacts.
These people just destroy their ability to read and understand the systems they're working with. I actually see it as them making themselves redundant. Because if you can't understand anything without Claude, and Claude doesn't even give the right answers, then what are you worth?
Instead of using the LLM to create deterministic tools, we are using LLMs to replace them. It's completely backwards and I don't know why people (especially high ranking people in my company at least) seem to think that this is the way forward. No, I don't want a whole CI pipeline that is just LLM prompts. Yes it's very easy, but it's expensive, slow and prone to failure in ways you can't even predict.
Same things like using LLMs for the code review process. What would have been a simple linting rule is now a pass with an LLM rather than using the LLM to create the linting rule, which it is absolutely excellent at creating.
One of the first things we did when we got access to AI was make a Jira MCP. I try not to touch Jira anymore. I get Claude to just create the Jira issues, write comments, create subtasks, link issues together, etc.
I used to dread having to investigate how to implement something and break it down into tasks because the more granular I broke things down, the more Jira issues I had to create to capture each task. Now I can just write everything up in a file and send an LLM to do all the Jira crap.
Libraries aren't unethical, because they're just letting you borrow stock of books. There's practical limits on how it scales, and any impatient users might just buy the book. Once you can infinitely duplicate a work, it's not borrowing.
Someone spends months or years of their life dedicated to writing a book. And people celebrate the fact they can get it for free, justify it by saying it's not free to search or host this content and offer to donate to piracy sites.
Rather than... Just supporting the author and buying their book?
It's different when this is American education and you're effectively being forced to buy books otherwise. I can understand fighting against that. But most stuff on the archive isn't that. It's just plain old piracy.
Yes a PDF or epub doesn't cost money to "print". Yes no one is "losing" money. But this isn't Netflix or Hollywood who still making billions regardless of piracy. Most of these authors are just regular people.
And the whole preservation angle makes sense when the books are no longer for sale. It's hard to argue preservation when you're linking to or hosting these works the second they are available to download. I'd be much more inclined projects that time walled the data, so you could effectively argue it's for preservation.
"It's never bothered me". Cool. But your tool is bugged.
His tool wraps Claude and breaks the TUI. What's so hard to understand?
That's valid critique. What world have I woke up in today?
Can't you see in the gif? It's completely broken. My Claude doesn't look like that. Neither does anyone else's.
I don't know what the project is. All I see is a TUI that looks completely broken.
Go and use Claude Code right now. Does it look like that? Random underscores all over the page. No it doesn't.
Like, no it doesn't seem like very high quality work... It just seems like a vibe coded tool.
Edit: yes it's wrapping Claude. It's BREAKING the TUI. Not sure what people aren't getting here...
I regularly get pieces of work someone product guy has thought up in an afternoon. They only care about the happy path, and sometimes only part of the happy path. I work for a global company that has to abide by rules and regulations in each country we operate in. The product guy thinks up some feature, we implement the feature, then we're told "actually, we legally aren't allowed to do this in 90% of the markets we operate in". Cool, so we add an ability to disable it in those markets. Then they come back "We can do this in some of those markets if it's implemented with [regulatory bureaucracy], so can you do that please".
Then we have to hack away at the solution because the deadline is right around the corner.
This is not software engineering! None of this is related to the software. The job of a software engineer is to take a list of requirements and figure out the way we accomplish those requirements. Requirements gathering is NOT a software engineering problem. Software is implementation, product is behaviour. That's the split. The behaviour of the thing we're building needs to be known before we even try to seriously build it.
If someone just held back for week and did their due diligence, we would been able to architect a solution that is scaleable, extensible, easy to maintain and can make the future easier.
Do existing companies run entire end-to-end product integration tests on every single change they make to a repo to make sure something hasn't broken? No, they just architect things in a way such that a minor change to something can be tested in isolation. And that can be automated, deterministically and efficiently.
Where I work we can release changes to our production site in minutes almost completely autonomously with high confidence with absolutely zero AI agents in the loop. How did we do it? With lessons learned from the past 5 decades of professional software development experience.
Lets not forget what OpenClaw is at it's core. It's a glorified cron scheduler. Why on earth does any of this effort need to exist. It's not that deep, it's not that complex, it's all AI for AI's sake.
Opencode has the same problems. They often do multiple releases of that app a day, yet within the span of a week or two I have had to update my config because some random change has altered the behaviour and my permissions broke. Or I've noticed the way the app renders is suddenly different.
Yet, my day to day usage has barely changed since the version I installed last year. It's like everything changes but nothing changes.
Grifters gonna grift. What a state of affairs.
You start by rejecting those PRs, saying "write more maintainable code, not quick hacks".
Management starts pressuring the original developer "why is it not merged yet, I thought you had it working".
That developer hits back with "well, it failed code review, they want me to refactor it".
Management goes back to the reviewer, "why did you fail this? It meets coding standards right? Pipeline is green".
Reviewer says "Well, yes it technically meets coding standards but it's full of hacks and is not future proof, it will bite us."
Management says "If we coded for tomorrow we'd never get anything done. Don't be so awkward". And then code gets merged.
Then you learn to just let these people go wild. If it hurts in the future you have a nice little "I told you so". But in my experience, management doesn't actually care if it hurts us in the future, it's not their problem. They just say "Well give me bigger estimates if you need to refactor". Fair enough, it's not a big deal but it is a pointless slog of picking up the pieces.
The other way it comes about is when the original developer just isn't really that good of a developer. So you end up in such an endless feedback loop trying to get the code in a good state that you piss everyone off and it's just easier to merge it.
Some hills just aren't worth dying on. And these guys can be exploited for your own advantage if you want to get code merged quickly ;)
There's plenty of times where I don't know what code to write because I've never used a library before. But it's just a page of documentation away. It's not hard, it's just slow and tedious.
The developers that thing coding is hard are the ones that absolutely love AI coding. It's changed their world because things they used to find hard are now easy.
Those that think coding is easy don't have such an easy time because coding to them is all about the abstractions, the maintainability and extensibility. They want to lay sensible foundations to allow the software to scale. This is the hard part. When you discover the right abstractions everything becomes relatively easy. But getting there is the hard part. These people find AI coding a useful tool but not the crazy amazing magical tool the people who struggle with coding do.
The OP is definitely in the second camp since they could spot and realise the shortcomings of the AI. They spotted the problem, and that problem is that the AI can't do the hard bit.
Think about the most basic example. It is for example impossible to recover 100 bytes of data from a binary file, even with error correction, if you only have 80 bytes.
Also, QR codes are only storing the bits. There's absolutely no way H264/H265 is storing bits in images any more efficiently than just writing the bits to a regular binary file.
The one thing I don't understand about this project is how encoding data as a QR code can be more efficient than just storing the same data as compressed text?
Also, if you're storing the data as a QR code, aren't you just wasting data anyway because QR codes are specifically designed to be read in the wild via a camera, and so tracking markers and error correction are built into the QR code. Those markers and error correction are redundant when you're no longer needing to decode a banged up code via a smartphone camera.
Is there actually something novel I'm missing about this with the QR code MP4 bit? Because to me this just seems silly.
Edit: So I found the original reddit post https://www.reddit.com/r/ClaudeAI/comments/1ky1y7z/i_acciden...
It just reads like someone who doesn't understand how to index and read data from a disk? I don't understand why anything streaming data from disk would need 8GB RAM like stated in the post. And a regular vector database could easily just stream from disk.
This is all it takes to create a business in the days of AI? Some elaborate Rude-Goldberg machine to do text storage and retrieval?