I did not say “humans are just as bad.” That is your assumption. I didn’t even say AI is bad. I use AI quite a lot.
HN user
anupshinde
https://www.anupshinde.com/
When I write something heavily edited by AI - I mention that I use AI assistance (not AI led thinking). I will probably remove that because the perception is quite different. Its like applying one applying to an engineering job but write "a pychic, a medium" in a corner of their resume.
It is very common to see that any interesting thought gets immediately tagged like AI slop and the real AI slop wins. Try an A/B test and you shall see that AI actually wins because of the people who hate AI. Most people cannot distinguish between a human and a AI written post and yet those same people want to be judgemental. And the people who are against AI and say "its just the next token generator and I don't use it" and yet use autocomplete on their mobiles are just duplicit. And yes AI is the next-token-generator, we have no proof that most humans were not brainwashed to become the same.
Vibe-coded software is simply not good.
That is simply not true. It can be better or it can be worse - depends on who directed it.
I understand where the point comes from, but someone who has coded and architected a lot of applications for many years, does get the good side. But a user who see code as an alien language - they are ultimately going to get the bad side of it.
There was a theory floated around by an youtuber (and a tech geek), on how to vibe code better - and how to let agents run the show. I tried, more than once - it failed badly. Not failed at the output or the UI - failed at writing good and well architected code.
What happens when things go wrong
- this is the most important question - can the human step in?
For me the answer is a unequivocal yes. I may not be able to fix it in 10 minutes, but I know I will fix it in 10 hours or 100 hours - whatever it takes. But when a user who "can't read code" comes in - and asks me to fix their problem, it is going to cost them a lot more than their total subsidized vibe coding tool cost. They're going to be like - the app cost me 100-200$ to vibe-build, but the dev is going to charge me 5-10x for a 2 line fix.
For some the decision will be like - better buy a new phone than repairing the old one, for others - they can't replace things easily.
What used to take 1.5 years to build 10 years ago, and 6-9 months to build 5 years ago, takes 1.5 months or faster to build today (if it is done with the same rigor).
The GDPR example
How is it different from having a human dev team hired? The CEOs or founders are responsible - they can't go and say "that dev did the wrong thing, fine them" - will you work for such a person?
the belief that AI can — and will — displace white-collar jobs is a lie
It already is displacing, unfortunately. It has been taking apart both jobs and businesses - one role at a time - within 6 months of AI coming out. Some are experiencing it now, some have experienced it earlier, some will experience it later.
For example - a good tech guy in finance domain and having good domain knowledge - gets fired. After a while, he will end up competing for jobs in the finance domain - because he needs to survive. The domino effect will be seen. And hope it does not become a race to the bottom.
And new roles are likely to come up and stabilize - but the bar will be high and you will need AI all the time. Otherwise you will be seen like ploughing the farm by hand instead of using a tractor.
Domain knowledge and architectural skills are not gone. I can say even Opus 4.7 and GPT 5.5 get domain-specific stuff wrong. I use both, because when I am not sure I ask both and also check with Gemini. But these days, I ask those even when I am sure - its like I get something confirmed from a peer. And yes, you have to be the gate keeper - the speed breaker in a way - LLMs still lack a lot of context. And even if they get more context, they will end up costing a lot and still have no accountability. In accounting, one wrong entry and the whole system can be seen as "unreliable" - thats why you are needed. The interesting part is "who takes over" - accountants who become coders, or coders who become accountants. And the latter looks more likely, in any profession. And when that happens - the bar will be raised in these other white-collar professions too, just like what happening in tech.
Opus is getting good at architecture - I need lesser "pushbacks" either because I have learnt to say the right thing or it has learnt to do the right thing - I do not know which one.
Built/building godom, a framework that lets me build local apps in Go, with the browser serving as a dumb view layer. I don't hate JavaScript or React, but my primary motivation was to eliminate NPM as much as possible. https://github.com/anupshinde/godom I used AI to create the first POC, and once it was proven, it was improved, and AI handled a lot of grunt work where it could. The framework was built primarily to solve my pain points
And building Fractiz.com, a customizable pre-coded backtests platform.
Built/building godom, a framework that lets me build local apps in Go, with the browser serving as a dumb view layer. I don't hate JavaScript or React, but my primary motivation was to eliminate NPM as much as possible. https://github.com/anupshinde/godom
I used AI to create the first POC, and once it was proven, it was improved, and AI handled a lot of grunt work where it could. The framework was built primarily to solve my pain points
And building Fractiz, a customizable pre-coded backtests platform.
Just yesterday I had a moment
Claude's code in a conversation said - “Yes. I just looked at tag names and sorted them by gut feeling into buckets. No systematic reasoning behind it.”
It has gut feelings now? I confronted for a minute - but pulled out. I walked away from my desk for an hour to not get pulled into the AInsanity.
Glad to see this. I was tired of seeing posts that are on the extremes - "death of software by AI" vs "AI can't do this and that".
I took a break from software, and over the last few years, it just felt repetitive, like I was solving or attempting to solve the same kinds of problems in different ways every 6 months. The feeling of "not a for loop again", "not a tree search again", "not a singleton again". There's an exciting new framework or a language that solves a problem - you learn it - and then there are new problems with the language - and there is a new language to solve that language's problem. And it is necessary, and the engineer in me does understand the why of it, but over time, it just starts to feel insane and like an endless loop. Then you come to an agreement: "Just build something with what I know," but you know so much that you sometimes get stuck in analysis paralysis, and then a shiny new thing catches your engineer or programmer brain. And before you get maintainable traction, I would have spent a lot of time, sometimes quitting even before starting, because it was logistically too much.
Claude Code does make it feel like I am in my early twenties. (I am middle-aged, not in 60s)
I see a lot of comments wondering what is being built -
Think about it like this, and you can try it in a day.
Take an idea of yours, and better if it is yours - not somebody else's - and definitely not AI's. And scope it and ground it first. It should not be like "If I sway my wand, an apple should appear". If you have been in software for long, you would have heard those things. Don't be that vague. You have to have some clarity - "wand sway detection with computer vision", "auto order with X if you want a real apple", etc.. AI is a catalyst and an amplifier, not a cheat code. You can't tell it, "build me code where I have tariffs replacing taxes, and it generates prosperity". You can brainstorm, maybe find solutions, but you can't break math with AI without a rigorous theory. And if you force AI without your own reasoning, it will start throwing BS at you.
There is this idea in your mind, discuss it with ChatGPT, Gemini, or Claude. See the flaws in the idea - discover better ideas. Discuss suggestions for frameworks, accept or argue with AI. In a few minutes, you ask it to provide a Markdown spec. Give it to Claude Code. Start building - not perfect, just start. Focus on the output. Does it look good enough for now? Does it look usable? Does it make sense? Is the output (not code) something you wanted? That is the MVP to yourself. There's a saying - customers don't care about your code, but that doesn't mean you shouldn't. In this case, make yourself the customer first - care about the code later (which in an AI era is like maybe a 30min to an hour later)
And at this point, bring in your engineer brain. Typically, at this point, the initial friction is gone, you have code and something that is working for you in real - not just on a paper or whiteboard. Take a pause. Review, ask it to refactor - make it better or make it align with your way, ask why it made the decisions it made. I always ask AI to write unit tests extensively - most of which I do not even review. The unit tests are there just to keep it predictable when I get involved, or if I ask AI to fix something. Even if you want to remove a file from the project, don't do it yourself - acclimatize to prompting and being vague sometimes. And use git so that you can revert when AI breaks things. From idea to a working thing, within an hour, and maybe 3-4 more hours once you start reviews, refactors, and engineering stuff.
I also use it for iterative trading research. It is just an experiment for now, but it's quite interesting what it can do. I give it a custom backtesting engine to use, and then give it constraints and libraries like technical indicators and custom data indicators it can use (or you could call it skills) - I ask it to program a strategy (not just parameter optimize) - run, test, log, define the next iteration itself, repeat. And I also give it an exact time for when it should stop researching, so it does not eat up all my tokens. It just frees up so much time, where you can just watch the traffic from the window or think about a direction where you want AI to go.
I wanted to incorporate astrological features into some machine learning models. An old idea that I had, but I always got crapped out because of the mythological parts and sometimes mystical parts that didn't make sense. With AI, I could ask it to strip out those unwanted parts, explain them in a physics-first or logic-first way, and get deeper into the "why did they do this calculation", "why they reached this constant", and then AI obviously helps with the code and helps explain how it matches and how it works - helps me pin point the code and the theories. Just a few weeks ago, I implemented/ported an astronomy library in Go (github.com/anupshinde/goeph) to speed up my research - and what do I really know about astronomy! But the outputs are well verified and tested.
But, in my own examples, will I ever let AI unilaterally change the custom backtesting engine code? Never. A single mistake, a single oversight, can cost a lot of real money and wasted time in weeks or months. So the engine code is protected like a fortress. You should be very careful with AI modifying critical parts of your production systems - the bug double-counting in the ledger is not the same as a "notification not shown". I think managers who are blanket-forcing AI on their employees are soon going to realize the importance of the engineering aspect in software
Just like you don't trust just any car manufacturer or just any investment fund, you should not blindly trust the AI-generated code - otherwise, you are setting yourself up to get scammed.
If you were forced to choose just one of all the competing players, which is "the one" you will use?
For me, the choice is ChatGPT, not for its Codex or other fancy tooling - just the chat. Not that Claude Code or Cowork is less important. Not that I like Codex over Claude Code.
I don't think software engineering is going to die. Coding, as we know it, is going to change a lot. Short-term pain, but in the long term, we are likely to see an explosion of software. Having said that, AGI could change things - but then every profession would be dead.
Check this out: https://www.youtube.com/watch?v=OfMAtaocvJw
Exactly what I have experienced, I have tried with "thinking set" and saw varying results. An analogy - Each prompt in a conversation felt like I was talking to a different support representative, who missed one or the other part of the overall context, and I had to repeat myself many times. But it's also an inherent human part of me that forgets I'm talking to an AI.
However, I never explicitly told it to "think hard" - I will start doing that. I believe that is the key to making it work consistently.
Thanks!
What is the Apple hardware being used here? I see Apple Silicon but not the configuration.. what did I miss
I am just starting to feel that GPT-5 is more hype.
Just a day before GPT-5 launch, I made a video about making a tool with agents, Claude Sonnet 4 and GitHub Copilot.
There was so much hype on the launch day - on how good GPT-5 is, how it gets the code right the first time, and how little direction it needs.
So I was compelled to try it again with GPT-5 preview available in Copilot.
And for some reason, it struggled to align with directions.
a. It would make its own decisions, misaligned with what I mentioned. I had to explicitly say "DO NOT DO this....". ( explicit instructions were followed.)
b. It did not complete tasks and moved forward. This is the same style I used with both GPT-4o and Claude Sonnet 4.
Also, it might be good at coding, but it does feel geeky - need to try more.
An Investor is essentially a Trader operating on a very long timeframe, benefiting from a slow decision-making process, slow results, and slow emotional swings. And I know people will argue against this. But if you are a trader, identify a sweet spot for speed/frequency, and then your trading results will suddenly improve.
I am comfortable with both Python and Go. I prefer Go for performance; however, the earlier issue was verbosity.
It is easier to write things using a Python dict than to create a struct in Go or use the weird `map[string]interface{}` and then deal with the resulting typecast code.
After I started using GitHub Copilot (before the Agents), that pain went away. It would auto-create the field names, just by looking at the intent or a couple of fields. It was just a matter of TAB, TAB, TAB... and of course I had to read and verify - the typing headache was done with.
I could refactor the code easily. The autocomplete is very productive. Type conversion was just a TAB. The loops are just a TAB.
With Agents, things have become even better - but also riskier, because I can't keep up with the code review now - it's overwhelming.
I'm confused. My kid does this on my ChatGPT account all the time. What is new here?
I cannot emphasize how good a teacher ChatGPT is, until it misinforms (and human teachers also do). And it also stays open to questioning without making the student feel stupid for asking. The good part is that ChatGPT will accept a mistake, but a human teacher will get annoyed.
The only thing I keep reminding my kid is to keep the BS detector on and verify everything that ChatGPT says and never trust it blindly. (feels too similar to the "don't talk to strangers" advice)
Unrelated - check with kids and teenagers. Once, a teen told me, "AI is a dark evil force," and it's what their teachers told them.
There are like "Rosebud: AI Journal & Diary" and a few others; please look them up before selecting.
The article concludes with a great suggestion: "A better change would be to end the rule whereby H-1B recipients must stay with the company that sponsored them"
Its the companies like TCS that get the profits while kind-of-abusing their H1B employees who get stuck for 5-10 years because they want to pursue the American dream
1. Increase the minimum salary a bit - but not too much - you don't want to kill startups
2. Remove the H1B restriction on changing employers
3. Impose a rule to make sure that the employer does restrict movement by imposing any other policy.
4. Let those H1Bs stay in the country, without a job, for max 6 months. This will allow them to circumvent certain irrevocable binding policies from previous employer
5. Also ensure that the H1B employee movement is not restricted by company's policies in other countries. If they want to - make them pay 100K minimum. Example: If TCS is not able to create an employee-binding policy in US, it certainly will do it back home in India.
EDIT: PS: Even as an Indian, I would love to see some blanket H1B restrictions imposed on Indian IT companies, for a multitude of good reasons (for India). I believe that short term pain is necessary for India to get big gains. Unfortunately, this is not something Indian govt can do at the moment.
New Zealand isn't cheaper. If you compare it to SF and NY, yes it will look cheaper. But otherwise its costlier for some people(immigrants) who wish to come in.
Financially, its not important what you earn, its important how much can you keep/save.
From a financial perspective - NZ salaries are relatively lower compared to its costs of living. A well paid tech guy from India would save a lot more in SF than they can ever do in NZ. For talented senior developers in India, they lose financially by going to NZ. And lack of (job) options is quite visible.
From a non-financial perspective - NZ is one of the best countries to live in. But just that is not going to bring you the top-tech-talent.
At the time of joining - is usually for background verification. Most companies don't even care what your last pay was. Even if you are paid higher, they are going to play in their range.
However, during negotiation, if you lied about your previous pay just to get a better hike - you would get flagged, may get fired and get yourself listed into an unofficial blacklist. Its more of an ethics issue than just a pay mismatch.
Some companies have a policy of NOT giving more than a 30% hike from your previous salary These companies are telling you "loud and clear" - "we don't care about talent".
There are other companies that would pay "fairly" as per their bands - even if that means a 100-200% hike
It would be great to see TypeScript support with NextJS out of the box. It can be done with some work today.
Inspired by an earlier(probably first release) of NextJS, I had attempted TypeScript and server-rendered react here:
http://www.anupshinde.com/posts/react-typescript-server-rend...
No, that looks like GAs with string/array representations. Similar thing worked for me when I tried randomly referencing nodes within a chromosome (say from index A to index B) - generating a graph like structure
The outputs are like this for some not-so-easy targets:
Op nodes ['ADD', 'ADD', 'MUL'] EXPR: ['ADD[ni_99](ADD[ni_49](I__7[ni_43](), ADD[ni_19](I__8[ni_66](), ADD[ni_79](GET_CONST_3[ni_25](), I__9[ni_71]()))), I__1[ni_61]())', 'ADD[ni_13](I__6[ni_17](), ADD[ni_49](I__7[ni_43](), ADD[ni_19](I__8[ni_66](), ADD[ni_79](GET_CONST_3[ni_25](), I__9[ni_71]()))))', 'MUL[ni_68](GET_CONST_8[ni_73](), FLOAT[ni_42](I__1[ni_91]()))']
With genetic programming (using an AST), it can solve complex equations:
However, this simple equation i.e. correct answer "(a + b + c - d) / e" could be evolved and will result into either of these (depends on my luck maybe)
Case1: ((int)((b+((c-d)+a))/e)&(int)((b+((c-d)+a))/e))
Case2:
((((int)a&(int)(((((((mod(e,a)c)/e)(((((int)(d-a)&(int)b)+e)/a)/e))/((((int)e&(int)c)+e)+(c+(e/a))))c)/e)e))/((((int)e&(int)c)+e)+((b/e)+(e/e))))+(((((((((mod(e,a)c)/e)(((((int)(d-e)&(int)b)+e)/a)/e))/((((int)e&(int)c)+e)+((b/e)+(e/e))))c)/e) <..........10383 characters here.........> ))))))/e))/((((int)e&(int)c)+e)+(((d-e)/e)+((d/b)/e))))+(((mod(e,a)/e)+(b/e))+(((c/b)+((d+b)/e))/e)))))))))
The GP output (case 1 and 2) above was generated with a tweaked version of https://github.com/rogeralsing/go-genetic-math
Statements like these suggest that another AI Winter is coming (sooner than 3 years I guess)
"""He thinks even programming is vulnerable to being automated and reducing the number of available programming jobs."""
I believed something similar could happen within 1-2 years of learning/writing AI programs (more than 12 years back). I believed it so much that it consumed most of my weekends as I took on the Genetic Programming approach. Yes! computers can write programs - BUT trying reading those. Eventually after spending hours or days, you will be able to read those programs and you might find a simple "hello-world" program represented by a complex mathematical equation. Good luck trying to get such program fixed by humans. Imagine an experience decoding deep-learning-neural-nets. However, that is black-box from a programmer perspective.
From a business/management personnel perspective - the code is a black box anyways. When they get NNs that can generate required software, they will replace the people-manager with a NN-manager (who is a programmer btw!)
Persistence and Passion - both have value and both might result into the same thing
Passionate person's approach: > I'm looking for something I don't know. > This framework I read on HN looks cool. I have a busy day, but let me put aside my boring work and try this new framework > Let me create a NN in my own way -just for fun. I know libraries exist, but I still want to do it my way. > I'm bored - let me check HN (I don't remember that I checked it 30 mins back) > I wonder that I work so long and hard, but I don't achieve anything concrete (Scattered energies) > I reached goal XYZ because I was trying this and that. And then the dots connected and I had this eureka moment. And now I have 10K users (accidentally)
Persistence approach: > This is the goal I want to reach (The goal could be learning a new thing) > This is the plan that I need to follow. Or experiment with another plan if this doesn't work. > Don't reinvent the wheel, use the resources available (exception: re-inventing was a part of the goal) > I need to read HN twice a day and see if something I can add to my learning/todo-list. > I need to stay disciplined even if I don't like it (Focused) > I reached goal XYZ because I planned and strategized for acquiring 10K users.
Combination of both is necessary. Throughout my career, I have seen persistent people achieve more often. However, if passionate people achieve something it is significantly larger win (amidst very low probabilities)
If you are not passionate about programming, you must keep looking for your passion. And take calculated risks. Life is too short to waste on doing something you don't love. Until I discovered my passion in electronics and programming, I hated going to school and consistently underperformed. Later I did better even at unrelated areas
Being a passionate programmer does not always translate well into regular programming jobs. I love programming but the processes and bureaucracy at a job always came in my way. Of course, some of the processes are necessary - but I am not passionate about processes. When my manager asked me to develop a cool-new-complex-feature-in-bleeding-edge-tech in 72 hours straight, without paying for overtime - I didn't care about overtime or insane work-hours. That kind of insanity is possible when one is passionate. However, if that happened frequently, I'd fire the company.
And you are absolutely right - most companies that look for passionate programmers are just looking for unpaid overtime from less-experienced programmers. Companies looking for "Experts in XYZ" are much better.
Hot exit is finally here. I missed this feature when I moved from SublimeText. And very useful on desktops
Vuejs looks great for POCs or small projects. It feels better like Angular-1 to start with. I use VueJs a lot for small stuff i.e. usually something that I can fit into one index.html file and forget about it. React killed that simplicity (i.e. stopped supporting it). Angular2 - I can't figure out why anybody uses that.
But when it comes to larger projects - I still go back to React, TypeScript and Redux. While Vuejs makes it simpler to code, React+TS+Redux make the end-product very much reliable.
Try flipkart.com. Its done decently there. They have an icon that shows Add to home screen instructions. However, a simple api with a confirmation would have been much better.
For first few minutes, I was testing this neural net. After 10 minutes, this starts influencing me on what I should be drawing.
After sometime I start scribbling randomly. Then it says "I see motorbike". And, wow! that was a motorbike. I din't see a motorbike in the drawing until it told me what it resembled. I didn't freak out, but closed the window immediately and told myself - "its a machine, I'm a programmer, I know how NNs work and there's nothing to worry about". The kind of feeling non-techies have when they experience predictive-text for the first time and they they say "it knows what I am thinking"
This is great news! I was a c# developer for many years and absolutely loved it. But then I gave up the Microsoft ecosystem 7 years back just because it felt like a lock-in and also a bit backward compared to non-MS tech.
But in the past one year, Microsoft has got me in again: a. Moved to TypeScript from JavaScript (including my hobby projects) b. Moved to VSCode from Sublime c. C# is a great language and I just hate Java. Hope this and more steps make it easy to use C# and deploy in non-MS environments.