News for hackers. Stuff that matters.

rbongers

Re:It's still OK to enjoy programming on Monday October 19, 2026 @11:42PM (#50161080)
I just happen to spend 40 hours of my life working a week and would like to enjoy as much of it as possible. Not doing so not only drains joy from a massive portion of my limited time on this Earth, but makes it harder to utilize the time I have available if all my energy is drained.

It would also be nice to have work readily available related to the field I've been building skills in for over a decade that I know isn't going to disappear suddenly. Prompt engineering is already dead. I suspect any skills you learn now to utilize AI is not going to last more than a few years.

I feel like I'm taking crazy pills a little when it comes to this subject. Maybe everyone else already has ridiculous money saved, or has other things lined up, or are just ready to move into a Monastery. But for those of us in the middle of our careers and with no AI-proof capabilities the future is at the very least uncertain.

Previously there was no way to pay someone to solve a problem without someone going through the process of solving it. I think what people are upset about is that any kind of problem solving is no longer a stable career path. Even the skills replacing the problem solving jobs are liable to disappear as the interfaces are refined and models improve.
There is a difference between the process of solving a problem and a problem being solved. If I solve a problem myself, I understand it, I find out something new, I get to try lots of things. It's engaging and fun. If I tell you to go solve a problem, I can learn it afterwards but I miss out on the entire process.

Personally, I enjoy the process of solving problems. I do not enjoy wrangling unpredictable AI agents.

Re:The Brain Sandwich on Sunday October 18, 2026 @07:13PM (#50146461)
Unfortunate for those of us who really dislike that work.
Re:The Brain Sandwich on Sunday October 18, 2026 @11:49AM (#50142123)
Hard to truly understand the work unless if you're actually doing it.
AI is great at reviewing code. It is not great at reviewing intention. If the prompt was bad, not understanding or thinking about how to implement the feature properly, the review usually doesn't point out exactly what's wrong. This can lead to a sort of "polishing a turd" approach to code reviews where you patch some of the negative side effects for an implementation that is completely wrong.

This is a result of AI still being bad at telling the prompter "no". Not only because it will blindly reproduce what you tell it to while writing code without pushing back on assumptions without asking, but because it will often blindly accept an implementation approach while reviewing.

I suspect this is a hard problem, because if AI stops listening at the wrong time it can be a massive inconvenience.

I have noticed that AI is slowly getting better at pushing back on different types of things each time the frontier models get better though. I've also noticed on reviews that it will tend to hallucinate or nitpick around the problem. I assume it sees something wrong there, starts generating output, and points out something different there instead because there is pressure to be both agreeable and helpful, which are not always compatible.

I think it is getting better, but it can't always see the forest for the trees.

Re:AI;DR (AI; Didn't Read) on Monday August 17, 2026 @07:09PM (#49338947)
Two very useful directives to give AI when it comes to documentation:

1) Document what's there, not the diff. Documentation of how code was removed or changed to fix a bug or add a feature is not useful and difficult to maintain; documentation should explain how code works now.

2) Documentation should live close to the source as possible. Prefer line based comments and standardized function documentation. Top-level sweeping architectural essays are not maintainable for every change.

The last will depend on your codebase. It CAN be very useful to have a human-readable spec documented for the entire program and have it updated when anything changes. But the key is again, you're CHANGING it every time. If you add a whole new disconnected documentation file it should set off alarm bells; nothing in one system is truly disconnected.

They believe in the danger of out of control super-intelligence. The generous interpretation is that they believe they can contain it.
Re:I'm Tired of Talking to AI on Wednesday May 27, 2026 @08:54AM (#48293544)
The worst part about this to me is if someone routes a response through AI, I have no idea what they, personally, are trying to tell me that they may have included specifically in their prompt, what is hallucination, and what is something in-between.

It makes it hard to pick apart hallucinations from the miscommunications and disagreements. Picking apart every single point and treating it with the same tact you have to treat human output with, while still accounting for the fact that it could be a hallucination, takes an extremely skewed amount of effort compared to the effort of sending someone AI output. The worst part is, it's probably going to be pasted right back into the LLM chat box.

It's astonishingly bad form to send someone AI output, and this is only one of the reasons.

Re:Rethinking Code Reviews on Sunday April 05, 2026 @05:49PM (#47654237)
It's not an acceptable tradeoff to allow AI code in without reviewing the code currently, if not when it comes to code structure (which will introduce long term maintenance issues if it creates endless spaghetti code regardless of if AI is contributing or not), then at least when it comes to security.
Re:Show HN: 48-digit prime numbers every git commit on Tuesday January 06, 2026 @04:26PM (#46519035)
Finally, a tool optimized for creating Git commit hash collisions
Re:I don't care how well your "AI" works on Wednesday November 26, 2025 @10:23AM (#46058258)
I view current LLMs as new kinds of search engines. Ones where you have to re-verify their responses, but on the other hand can answer long and vague queries.

I really don't see the harm in using them this way that can't also be said about traditional search engines. Search engines already use algorithms, it's just swapping out the algorithm and interface. Search engines can bias our understanding of anything as much as any LLM, assuming you attempt to actually verify information you get from an LLM.

I'm of the opinion that if you think LLMs are bad without exception, you should either question how we use technology at all or question this idea that they are impossible to use responsibly. However I do acknowledge that people criticize LLMs while justifying their usage, and I could just be doing the same thing.

Re:Project Euler on Wednesday November 12, 2025 @03:17PM (#45905880)
I only reached the 100s back in the day. What amazed me was that it seemed like every problem had a paper solution, when it would take any computer algorithm thousands or millions of computations to solve the same problem.
Re:I am sorry, but everyone is getting syntax highlighting wrong on Wednesday October 15, 2025 @04:33PM (#45598052)
Keywords should definitely be highlighted. It's part of the structure of the code. Being highlighted makes it very quick to distinguish between keywords and variables and helps readability by making them easier to skim over and jump to. Maybe they could be the same color as punctuation, if number of colors is a problem.
Re:Conway's Game of Life, but Musical on Thursday September 11, 2025 @08:42PM (#45217557)
All of this guy's software and music seems so cool, and there's so little information on it. Can you share anything else?
Re:Conway's Game of Life, but Musical on Thursday September 11, 2025 @03:56PM (#45215504)
Sounds lovely, I'd love to hear what it's like when the number of living cells on screen controls the length of the note so it's not just a constant rhythm, even though it is hypnotizing.
Re:Vibe Debugging: Enterprises' Up and Coming Nightmare on Friday August 22, 2025 @01:56PM (#44987562)
>The discipline required to use AI tools responsibly is surprisingly difficult to maintain

I don't find that this requires discipline. AI code simply requires code review the same as anything else. I don't feel the need to let AI code in unchecked in the same way I don't feel the need to go to my pull request page one day and gleefully hit approve and merge on all of them without checking anything.

Re:Prime Number Grid on Tuesday August 19, 2025 @09:23AM (#44951228)
Prime numbers are a pattern; take the natural numbers - starting after 2, exclude every number that isn't 2, starting after 3, exclude every number that isn't 3, etc.

It repeats like this predictably. Even though it changes, the way in which it changes is also predictable. Their repetition and predictability make prime numbers a pattern.

Out of the fundamental pattern of prime numbers, higher-level patterns also appear, and studying these patterns is a whole branch of math. You can find all kinds of visualizations of these patterns, including ones linked in this thread.

It's not that you're seeing a pattern that's not there, it's that you're seeing a pattern that gradually becomes infinitely complex.

Re: on Tuesday July 29, 2025 @03:13PM (#44727181)
I've often thought that this (and every problem where a manual process is required that is tough to automatically enforce) an AI code reviewer could be very useful.

It's the type of thing you might add to a long checklist of things to make sure you do (or don't do) in an MR template that quickly becomes difficult, if not impossible, for MR authors and especially reviewers to reliably follow.

Tests is another example - you can check that coverage doesn't slip over time, but not that every change is tested. And a human can maybe remember to check if there are tests, even if there are good tests, even if there are tests for every change if coverage tools are well integrated in your system, but not if every change is tested well, and not reliably.

AIs are great at sorting through lots of data to check for errors that a human would miss. Letting it add MR review comments, not letting it make any changes it wants, would allow for a human to provide checks and balances.

So I like the idea, I'm not sure how I feel about limiting it to docs or letting it write changes itself.

Re:The Useless UseCallback on Tuesday July 29, 2025 @02:15PM (#44726623)
Thank you, that was the example I needed to hear to see why this could be an issue.

I will still say though, I have not actually had this happen to me yet with all the years of using hooks. Generally when I'm fetching when X prop changes, it's not in response to functions or objects, and I guess if it's ever happened it's been fixed and never broke or hasn't caused problems.

Not to say it isn't an issue - it is - but the number and degree of issues I saw with lifecycle functions was much worse. That was with a less experienced team, so it could just be bias.

Re:The Useless UseCallback on Monday July 28, 2025 @09:54PM (#44718095)
I don't have a problem with needing to memoize props passed to child components for their memoization to work.

If your parent component doesn't need the optimization, you don't use it. If it does need it, your intention for using useMemo and useCallback us obvious. It doesn't make your code more confusing inherently.

The article paints it as this odd way of optimizing the component tree that creates an invisible link between the parent and child - but it's the way to prevent unnecessary renders, and for that reason I think it's pretty self-documenting. If I'm using useMemo and useCallback, it's because I am optimizing renders.

At worst it's unnecessary - which is the point of the article - but I suppose I don't care as much about having unnecessary calls to useMemo and useCallback and that's the crux of it. Even if it's not impacting my renders now, it could in the future, and I don't think it comes at much cost.

I don't think it's an egregious level of indirection either. You're moving your callbacks to the top of the same function where all of your state and props are already.

Re:The Pain That Is GitHub Actions on Thursday March 20, 2025 @04:04PM (#43428222)
In my opinion, unless if you need its ability to figure out when something should rebuild or potentially if you already use it, Make is not the right tool for the job. You should capture your pipeline jobs in scripts or similar, but Make just adds another language for developers to learn on top of everything. Make is not a simple script runner.

I maintained a Javascript project that used Make and it just turned into a mess. We simply changed all of our `make some-job` jobs into `./scripts/some-job.sh` and not only was the code much nicer, less experienced developers were suddenly more comfortable making changes to scripts. We didn't really need Make to figure out when to rebuild anything, all of our tools already had caching.

I have had a lot of opportunity to estimate a lot of projects, but one thing I still can't figure out is estimate education.

If a client wants to know "why is this going to take so long?" I can list the unknowns and third-party touch points, which are always things that make tasks take longer, but then they'll wonder why those are going to make it take longer. From there it's a challenge to communicate how unknowns are part of every project, how they are a good indicator of the risk of a task, and how there are some things you just won't know until you start work on a task in earnest.

Doesn't seem to matter how much detail I go into, it always comes back to "but I thought this would be easy."

The best I can come up with is to educate clients on what bad estimation looks like (Did they come right back with a fixed estimate for your type of project? Are they even asking questions?), hope they come back after getting different estimates with the exact red flags I warned them about, and then maintaining client trust by any means necessary so that when I say something is going to take a certain amount of time they know I'm not exaggerating.

Re:New Junior Developers Can’t Actually Code on Monday February 17, 2025 @12:12AM (#43075403)
I don't think it's quite the same. We live in an inbetween time - AI is not quite there yet.

AI struggles with knowledge from after its training date (so it can't help very well for anything relating to new versions of libraries) and often just generally gets things wrong or comes up with suboptimal answers. It's still only optimized to create answers that look correct, after all.

With these problems, someone on the team still needs to understand or be able to figure out what's going on. And dangit if it isn't getting hard to hire for that.

And the day that AI can actually replace the work of junior devs is just going to cause more complications for the software industry. Who will get the experience to become senior devs? Who will direct them? And even if those people also get replaced eventually, we will still probably have more awkward inbetween times with their own problems.

Can't say it's not convenient, but no use pretending the challenges don't exist.

When I went for a sleep study, I was wired awake for half the night, up in bed reading waiting for the study to be over. According to the study though, I was in sleep stage 2 the entire time I was sat up in bed reading.
Re:22-Year-Old Builds Chips in His Parents' Garage (2022) on Saturday October 21, 2023 @09:18PM (#37972021)
I am surprised semiconductor engineers called it impossible. A cutting edge chip, sure, but a few thousand transistors?
Unfortunate, thank you
Will it have support for "VARIABLE=${VARIABLE:-default}"?
Re:Rest in peace Bram Moolenaar, author of Vim on Tuesday August 08, 2023 @10:31AM (#37049548)
I had the privilege of interacting with Bram a few times through Github and he was always fast, thoughtful, and pragmatic. I know others who would say the same thing. His software will always be one of my favorites of all time.
What I tell people who get into software because they need a job is always that the industry also needs people with quality assurance and management skills. Not because I want to offload people who are just looking for a quick buck onto those fields, but because I sometimes find that people with the right skills just take the long way around to transition into those roles. (I've even seen this happen once with a UX designer, but I think artistic people mostly know to try for those roles.) People don't really consider the fact that it is a successful industry, but there are more roles in the industry than just developer. When the company I'm part of was a small startup, it was hard to find good people who were interested in taking on entry-level QA/scrum master positions.

Older »