HNHacker News
TopNewBestAskShowJobs

throwaway7783

679 karma · joined April 27, 2014

submissionscomments
throwaway7783··on What twenty years of DevOps has failed to do
For sure. Not hard fails, but bad fixes. It confidently thought it fixed a bug, but it really didn't. I could only tell (it was fairly complex), because I tried reproducing it before/after. Ultimately I believe there was not sufficient context provided to it. It has certainly failed to do what I asked it to do in round 1, round 2, but eventually got it right (a rendering issue for a barcode designer).

These incidents have been less and less over the last year - switching it Opus made failure frequencies less. Same thing for code reviews. Most of it is fluff, but it does give useful feedback, if the instructions are good. For example, I asked for a blind code review of a PR ("Review this PR"), and it gave some generic commentary. I made the prompt more specific ("Follow the API changes across modules and see impact") - it found a serious bug.

The number of times I had to give up in frustration has been going down over the last one year. So I tend believe a swarm of agents could do a decent job of autonomous development/maintenance over the next few years.

throwaway7783··on What twenty years of DevOps has failed to do
Like XML? :)
throwaway7783··on What twenty years of DevOps has failed to do
In my own anecdotal experience Claude Code found a bug in production faster than I could. I was the author of the said code, that was written 4 years ago by hand. GPs claim perhaps is not all that unsubstantiated. My role is moving more towards QA/PM nowadays.
throwaway7783··on Ask HN: How are you doing RAG locally?
We have a Q&A database. The questions, answers are both trigram indexed and also have embeddings. All in postgres. We then use pgvector + trigram search, combine them by relevance scores.
throwaway7783··on Git Rebase for the Terrified
Perhaps. But you can see the DX of rebase is abysmal compared to merge. squash, rerere, force push, remember to push to remote before rebase, more coordination if multiple people are working on feature branch etc.

I still prefer merge. Its simple and gets out of my way as long as I dont care about purity of history

throwaway7783··on Git Rebase for the Terrified
I avoid rebase like plague (perhaps because of my early experiences with it). I used to get continuous conflicts for the same commits again and again, and the store and replay kinda helped with it but not always. Merge always worked for me (once I resolve conflicts, thats the end of it). Now I always merge main into my feature branch and then merge it back to main when ready. Does it pollute the history? Maybe, but Ive never looked. It does not matter to our team.
throwaway7783··on The next two years of software engineering
The degree is (should be) about CS fundamentals and not today's hotness. Maybe a "trades" diploma in CS could teach today's hotness.
throwaway7783··on Anthropic blocks third-party use of Claude Code subscriptions
Can you elaborate?
throwaway7783··on A 30B Qwen model walks into a Raspberry Pi and runs in real time
And toys
throwaway7783··on Anti-aging injection regrows knee cartilage and prevents arthritis
Please share which stretches helped you.
throwaway7783··on Fighting Fire with Fire: Scalable Oral Exams
Since when did exams become punishment? Aren't they a reflection of what you have learnt as imperfect as they are?
throwaway7783··on Fighting Fire with Fire: Scalable Oral Exams
Why is it disrespectful? It is just a task. And it is almost an arms race b/w students and profs. Has always been (smuggling written notes into the exam etc)
throwaway7783··on 2025: The Year in LLMs
Would you say that LLMs can discover patterns hitherto unknown? It would still be generating from the past, but patterns/connections not made before.
throwaway7783··on Stepping down as Mockito maintainer after ten years
My point is that a fake doesn't magically fix this issue. Both are narrow models of the underlying interface. I don't still quite understand why a mock is worse than a fake, when it comes to narrow models of the interface. If there is a method that needs to be called with a specific set up, there is no practical difference between a fake and a mock.

Again, none of this is a replacement for writing integration tests where possible. Mocks have a place in the testing realm and they are not an inherently bad tool.

throwaway7783··on Postgres extension complements pgvector for performance and scale
Yep. If performance becomes a concern, but we still want to exploit joins etc, it's easy to set up replicas and "shard" read only use cases across replicas.
throwaway7783··on Stepping down as Mockito maintainer after ten years
But mocks are a model of the dependency. I don't quite see how a fake is a better model than a mock.

In any case, I agree testing close to a real system, with actual dependencies where possible is better. But that's not done with a fake.

throwaway7783··on Stepping down as Mockito maintainer after ten years
In the SQL example, unless you actually use an SQL service as a fake, you cannot really quite get the fake do the right thing either. At which point, it's no longer a mock/fake test but an integration/DB test. Network servers are another such class and for most parts can be either mocked or faked using interface methods.

I would argue that (barring SQL), if there are too many ways to skin a cat, it is a design smell. Interfaces are contracts. Even for SQL, I almost end up using a repository method (findByXxx flavors) so it is very narrow in scope.

throwaway7783··on Stepping down as Mockito maintainer after ten years
Why is check if XYZ is called with return value ABC bad, as long as XYZ is an interface method?

Why is a minimally correct fake any better than a mock in this context?

Mocks are not really about order of calls unless you are talking about different return values on different invocations. A fake simply moves the cheese to setting up data correctly, as your tests and logic change.

Not a huge difference either way.

throwaway7783··on Stepping down as Mockito maintainer after ten years
I am unsure I follow this. I'm generally mocking the things that are dependencies for the thing I'm really testing.

If the dependencies are proper interfaces, I don't care if it's a fake or a mock, as long as the interface is called with the correct parameters. Precisely because I don't want to test the implementation details. The assumption (correctly so) is that the interface provides a contract I can rely on.

In you example, the brittleness simply moves from mocks to data setup for the fake.

throwaway7783··on Stepping down as Mockito maintainer after ten years
I still miss dependency injection in Python
throwaway7783··on Stepping down as Mockito maintainer after ten years
I'm not sure I understand. "The solution is to have dummy versions of services and interfaces that have minimal correct behavior".

That's mocks in a nutshell. What other way would you use mocks?

throwaway7783··on Spaced repetition for efficient learning (2019)
What's the name of the app? I would like to try it out!
throwaway7783··on Useful patterns for building HTML tools
In the same spirit I have started building single page nanodjango +htmx apps hosted on railway, starting with, you guessed it, a Todo list app. No login needed.

https://web-production-1fc69.up.railway.app/

throwaway7783··on Django 6
Wait, When did live reload stop working for Django? While I understand its not out of the box, there are plenty of packages to choose from

https://djangopackages.org/grids/g/asset-managers/ , django-cotton/django-component. Partials are supported now, etc.

throwaway7783··on Netflix to Acquire Warner Bros
This should really be the end goal. We are worse off than cable right now with all these streaming services and worse , overlapping content.
throwaway7783··on Anthropic acquires Bun
It is the programmer's job to learn what is going on. Java itself doesn't hide anything from you. You are free to write a servlet from scratch, or use a framework like Spring to hide everything. Your (company's) choice really.

People end up choosing something that has batteries included so they can focus on solving business problems. A programmer who will superficially understand SpringBoot without understanding how it works. Really, there is no magic there - its a few core concepts - annotations, bytecode enhancement and dynamic proxies. Maybe Im missing one or two. Everything else is built on top of this.

This is regardless of language/ecosystem. If I do not understand the fundamental concepts, I will never be successful in that ecosystem.

throwaway7783··on Anthropic acquires Bun
Little nicer for sure
throwaway7783··on Anthropic acquires Bun
While kotlin is somewhat nicer, it is not making a huge difference compared to java25. Like the sibling said, go is as verbose , the JVM is unparalleled still.

Why wouldn't I choose java

throwaway7783··on Anthropic acquires Bun
Where do you gather this from? We are a startup, on Java and on 25.
throwaway7783··on Anthropic acquires Bun
Again, Temurin/OpenJDK disagree
← PreviousPage 5 of 13Next →