475 karma · joined March 19, 2023
Fuck off if you push AI code without review. Especially fuck off if you merge to master code with undue diligence and wild abandon. Y'all crazy.
> Making matters worse, many datacenters now in the pipeline in the US are slated for areas already experiencing drought, according to analysis by The Guardian newspaper.
If it's astroturfed it's only because the people complaining don't have enough water to grow natural grass on their lawn. FTFY.
The article even admits that their current tasks are easier than before. For the same paycheck! For 200K I will dredge through the most obscure IMO/Leetcode/ICPC problems and the palm of my hands will remain delicately smooth, in danger only of drying from the air conditioning. If there is no meaning and dignity in that I'm sure I'll have plenty leftover from that comp to find meaning and dignity elsewhere be it a side gig, charity work, or heck even just good times with my family and my social circle. A lot of people "just do a job" for much, much less and still live rich inner lives.
Really, an orchestra of small violins playing while I read this one.
Put simply, the 10x developer is a 10x because they've spent ~10x more time immersed in the problem domain than the average developer.
What they do is more sleight-of-hand than Tony Stark engineering his way out of a terrorist cell. If 10x engineer takes a weekend to solve a problem that has stumped the team for a month, it's because he's collected the necessary context to solve the problem over the course of their long career; doesn't mean the answer didn't need to be synthesized, but they already had the raw materials in their cupboard. They have a giants' shoulder to stand on because they bothered climbing. They didn't derive anything from first principles; no one prototyped an Iron Man suit from scrap contraband.
The implication being anyone can be a 10x engineer in the right environment.
---
Allow me to carry my own throne with an anecdote, believe what you will: once upon a time, Engineering Manager had the brilliant idea to create a modular system for our main product, the pitch being that we can outsource feature development to contractors while keeping team costs down as we only need to maintain a lean modular system. They tested the idea on a couple of easy scope projects which were successful.
Then came the big test. Three projects outsourced to a team of four contractors. These projects were far more complex than the first two: lots of state management and integration with other systems. In due time deadline neared and the contractors had a very pretty UI that just needed to be wired in. I got pulled in to see the projects home. It was supposed to be easy if not for the Pareto Principle. Relationship with the contractors soon soured as they bailed, showing us that they've technically already accomplished the project on their billable hours spreadsheet. We, the regular team, just needed to deploy the code they turned in but the deployment is none of their concern apparently.
That's when I had to roll-up my sleeves, got dirty with their spaghetti code. The way I see it, the contractors fell on the part where they had to integrate with other systems because said systems were legacy, i.e., created before the idea of the Lean Modular Main System. Honestly, even I didn't know exactly how to work with them but, crucially, I knew how to get answers when the going got tough. I knew how to quickly figure out what I didn't know because as a regular employee I knew things beyond first principles.
In the end, two out of the three projects deployed. They were only a couple weeks late. IIRC the third one only failed because it really ran out of time budget. Upper Management was not happy but Engineering Manager stuck out his neck for me, for which I am genuinely grateful. I didn't get exactly the coveted 10x wording out of him but he pointed out that I released 2/3 whereas a team of four couldn't even release one.
That's not entirely accurate of course. I could code you up a decent web frontend but I could not, for the life of me, get all those pretty UI animations to work even if it's my only way out of a terrorist cell.
I have always tried to abide by DRY in my programming career with the huge exception of writing unit tests. I made the mistake, early in my career when Test-Driven Development was all the rage, of making unit tests reflect the inheritance structure of the actual code. It just made sense. Needless to say, it quickly descended into the most bizarre manifestation of inheritance hell as tests randomly failed with no correlation to the changes done in the core code.
Hence, I resolved to make unit tests the huge exception to DRY. The more straightforward your tests are, the better. Endeavor that each test method up to a test class should read understandably on its own.
This, of course, made tests quite a mechanical chore to write. Which makes it the perfect use case for these large, verbose, and humorless daemons. Bonus that they are also very good at vibing out the set-up needed for a test so I can focus on specifying the test cases I want rather than setting up mock after stub after fake.
The output is also very easy to review and verify. I see no moral quandary in this kind of usage.
The AI you read of as a child (speaking for myself, coming from a lot of 80s sci-fi stories) is not all good of course; that's where most of the plot's conflict comes from. But LLMs, for a lot of people, are more burdened with the downsides sci-fi stories warned us about with very little, if any, of the advantages.
And speaking of forests for the trees, you zoom out a bit more and see that this AI hype train is following a years-long trend of SV being exposed for its moral failings. We have repeatedly shown, as an industry, that we missed the point of the literature we so love to quote. From the concept of "meritocracy" to naming a company "Palantir". The AI hype is not an isolated incident. We love to quote Jeff Goldblum from Jurassic Park but it's all rhetoric---we don't really ask ourselves that question!
I get the idea to "battle-test" the rewrite first but (a) how does one even determine a reasonable timeframe for battle-testing that much LOC and (b) each vibe-coded update pushed to the Bun upstream basically resets the battle-testing timer. I guess you could lag behind $LATEST by a given window but that just brings us back to (a).
I get the idea to "battle-test" the rewrite first but (a) how does one even determine a reasonable timeframe for battle-testing that much LOC and (b) each vibe-coded update pushed to the Bun upstream basically resets the battle-testing timer. I guess you could lag behind $LATEST by a given window but that just brings us back to (a).
Given that part of their announcement is to keep supporting pre-rewrite versions of Bun, it implies to me that they are open to reconsider if the Bun team cleans up their act. I don't think it could get any more reasonable than that.
It's not "spam" if it is relevant to me, such as security incident disclosures.
Also, as tiffanyh pointed out, what's wrong with Github blog or is that exclusively for marketing fluff now? That would've been appropriate enough, without having to spend Sendgrid credits.
Not to mention Twitter is not an open platform anymore! (A) I'm an employee in an organization paying for Github. (B) I don't have a Twitter account. I already have a Github account because of (A). Why should (B) stop/delay me from getting official comms about this?
More than a decade ago I had a project that used a pretty aggressive input-suggestion widget on the UI. We used a jQuery plugin for it and it was by far the most complicated part of the frontend. In fact, it was the main use-case for jQuery in that project.
Reading the article, I thought it would be pretty much a breeze re-implementing that frontend in a lightweight JS-minimalist version. But of course, unless I ship my machine to the users, not really. Sad state of affairs.
Nonetheless, I'm really impressed with what's included in the HTML spec nowadays! I haven't kept-up with developments in the spec since I read all about XHTML in high school. I ought to take some time every now and then to see what's changed though, again, browser compatibility is a PITA today as it was back in high school.
Though I kinda agree that framing it as "consent" feels a bit off even if I myself would say no if only Chrome had the courtesy to ask. What icks me more is a 4GB[1] blob that has no relevance to the primary business of being a web browser; this is basically the IE anti-trust issue all over again. And it's an experimental feature! Under saner policies this thing would be a plugin from "Google Chrome Labs".
[1] I found weights.bin in Ubuntu 22.04 Chrome v147.0.7727.137 but it's "only" 2.7GB. Still, my ick stands.
- The Witcher 3 (honorable mention, for all its jank, Skyrim) - Sublime Text and vim - Krita and Procreate - Early Google Chrome - Redis and Postgres
Seeing "steve-yegge.medium.com" on the HN frontpage averts me by reflex. Like, I'm suddenly inspired to learn more about agriculture. Or contracting, I heard that could be lucrative. Heck, I'd even go full hipster and open a bookshop in this economy.
Steve, you probably don't give a shit about my opinion but I just want to know from which Jamaican zip codes do you source your supply.
The plot thickens...
- IT policies around GH accounts make no sense. It's a long story but, in short, you can't use any of your pre-existing GH accounts whether personal or professional (as in, an account I made exclusively for $DAYJOB before The Synergy Mandate) and must create a new one aligned with IT conventions.
- We don't monorepo hence we made extensive use of groups. There is no direct mapping for this concept in GitHub so we have to manually namespace projects.
- And now of course GH's no-nines availability :(
For my team, profit happens to be sensitive to our release dates---a day or two of delay can really make the difference if we'll make the month's projections or not. In another world, I would proactively mirror our profit-essential code but it's not worth the risk making a skunkworks guerilla effort. I'd like to think we can blame The Synergy Mandate in a few postmortems in the near future but of course I did not graduate yesterday, I know that's not gonna happen.
Thoughts and prayers we keep hitting our profit projections and they don't axe our product for underperformance.
(Writing this down, I can really feel how this job has changed since I joined.)
> inconsiderate of 1 in every 10 people in public spaces.
It's high-impact for you but low-impact for humanity in general or even just for businesses with a rat problem.
1 in 10 is exactly the definition of "low impact". I get that it's a ginormous inconvenience to the dozens of you out there---and as a person with his own allergies, albeit not to cats, you have my sympathy---but that doesn't change the fact that 10% falls pretty squarely under the definition of low-impact.
- WYSIWYG editor is table stakes. The lovely folks at marketing once thought I was hacking when I `ps -eaf`-ed in an unresponsive Macbook.
- They "put" images in their post. They don't "upload the image and position it with CSS".
- It's the marketing department so they have to have all sorts of bells and whistles. At the very least tracking, at most some obscure integration plug-in that as an engineer I have no kind words for. Social integrations and "You may also like..." sections also come to mind.
> cheap WP plugins that export the whole site as static to something like FTP or S3, so you can just firewall the actual WP behind an IP restriction and host the actual public-facing site from S3/whatever.
Not that I have extensive WP experience but unless you can name me an actual plugin that has good street cred for being used in the wild wild west, I'm gonna say this is not as easy as you make it sound. For one you just described a very rudimentary data pipeline which someone has to support and maintain even infrequently. Also, speaking from experience, plugins don't always play nice with other plugins. I once tried to export my very basic personal site out of WP to find the footnotes all messed up (I don't know now but back then I handled footnotes with a plugin).
We've progressed an impressive lot since, say, the nineties when computers (and the internet) started to spread to the general consumer market but the last 10% or so of the way is what would really be the game changer. And if we believe Pareto, of course that is gonna be 90% of the work. We've barely scratched the surface.
This is just my 2c as an outside observer, software engineer ofc. I'm sure some MBA could make a case for said synergy. But it made sense to acquire Instagram and WhatsApp, for instance, because they'd face similar tech challenges and could benefit from each others' growth playbooks. But Oculus?!?!?! IMO Facebook had a better chance opening a cloud computing division.
So, achieving the Metaverse dream with the money Zuck has spent was always gonna be a tall order at this point but if anyone could've made it work, it wasn't gonna be a social media company.
RIP I'm sure it was a noble device. My Pixel 3a is currently my wireless router for very German reasons. I worry this will kill off the still-decent battery life, as has happened with my OG Pixel.
I have since allied myself with what I personally consider the devil of consumer electronics just to stay on this boat.
Granted, I've only ever done multiple connections on Linux so maybe it's a Linux problem.
I've had to ally myself with a brand I've once sworn off just to get a flagship model Android with a headphone jack. Killing Reader is a greedy betrayal (they were pushing us onto Plus, the whole social web thing) but removing headphone jacks from Pixels is a cowardly betrayal! Eyeing you too there, Samsung. You and Google both have made it extremely difficult to maintain a modicum of principle in today's consumer landscape! You made me justify my purchase with a utilitarian "Better the jacked devil than the blue-toothed one".
(And before you ask, I only generally buy flagships because I upgrade my phone like, every five years, and in my experience flagships are just more bang for buck. YMMV tho.)
Anyway, honestly, wired is not perfect. Wired and wireless each have their inconveniences it's just that I'm more willing to put up with the inconveniences of wired. Wired connections have known failure modes, something which I really value in tech. I have a Sony WH-1000XM3 which can work both as wired and wireless and I love it for that.
Long live wired connections! Here's to a future with cheaper flagship models with a headphone jack!
> banning advertising on the Internet. It's the only way. It's the primordial domino tile. You knock that one over, every other tile follows suit. It's the mother of chain reactions.
You, jason_oster, a clown:
> Ads are mostly evil. No one said that ads were inherently evil. It's bad enough that ads are mostly evil.
Also you in the same clown breath:
> sponsored segments in videos are the devil. Sponsored segments use the old non-tracking advertisement model.
I'd lol but I'm already lmao.
> Stealing heartbeats is evil.
Appeals to emotion like that, you not only have a prospect in stand-up comedy but a long and prosperous career in political communications, if not being a politician yourself. Your two skill sets complement each other rather nicely judging by the current zeitgeist.
The only way someone could steal your heartbeat (or, frankly, anything) is if they made it unavailable to you. If your heartbeat were unavailable to you for the length of time you mentioned, you'd be dead. The only thing you should worry about stealing your heartbeat is your diet (and that includes diet coke) and sedentary lifestyle. You can't blame ads on this one.
I'll grant you a good faith interpretation of your Valentine's-worthy sentimentality. Replace "heartbeats" with "time" or "attention" and you have an argument at least worth considering.
But the thing is, you can't really prevent spending these resources; they tick away regardless. You can only choose where and how to spend them to make it meaningful. Your time is there to be spent, your attention exists to be called. All I'm really advocating for is that ads be moderated so they don't detract from anything else unfairly. Ads are information too and we need information to function. And like any form of information, they only become toxic and detrimental if they purport to be any more important than they really are.
That said, it makes your example all the more ridiculous, complaining about a thirty second ad when you are about to, excuse me, watch a livestream which would eat at your set amount of time/attention/heartbeat in far greater magnitude.
> Sponsored segments use the old non-tracking advertisement model. They pay publishers practically nothing because they aren't paying for conversions, but for an estimate based on impressions and track record woo.
You also seem horribly misinformed about how sponsored segments work. Sponsorships are tracked heavily though differently. That's why they always ask you to use their sign-up/discount code or click the link in the description. It's how publishers/content creators prove to advertisers the reach of their channel.
Go watch some ads so you can make an informed opinion on them yeah? It won't kill you and I then wouldn't have to respond to gasp human-generated slop post. Pepsi had some banger ones in the 2000s.
In conclusion, this all really reminds me of my favorite poem:
> Hey, Jason Oster, quit your bullshit
> Stop pulling things out of your ass!
> You won't find gold there
> Just shit and curly pubes
Not quite Shakespeare but rolls off the tongue quite nicely, especially that last line.
In a sense, I'm just agreeing with a fellow comment in the vicinity of this thread that said GDPR is already the EU's shot at banning (targeted) ads---it's just implemented piss-poorly. Personally formulated, my sentiment is that GDPR as it stands today is a step in the right direction towards scaling back advertisement overreach but we have a long way to go still.
Ofc it's impossible to blanket ban targeted ads because at best you end up in a philosophical argument about what counts as "targeting", at worse you either (a) indiscriminately kill a whole industry with a lot of collateral casualties or (b) just make internet advertising even worse for all of us.
My position here is that ads can be fine if they
1. are even somewhat relevant to me.
2. didn't harvest user data to target me.
3. are not annoyingly placed.
4. are not malware vectors/do not hijack your experience with dark patterns when you do click them.
To be super clear on the kind of guy talking from his soapbox here: I only browse YT on a browser with ad blockers but I don't mind sponsor segments in the videos I watch. They're a small annoyance but IMO trying to skip them is already a bigger annoyance hence why I don't even bother at all. That said, I've never converted from eyeball to even customer from sponsor segments.
I'd call this the "pre-algorithmic" advertising approach. It's how your eyeballs crossed ads in the 90s and IMO if we can impose this approach/model in the internet, then we can strike a good balance of having corporations make money off the internet and keeping the internet healthy.
So it would be easy to link me to something that shows this consensus, right? It would help me see what the "consensus" has to say about the known limitations of Copilot too. It would help me see the "why" that you seem allergic to even hint at.
Look, I'm trying to not be close-minded about LLMs hence why I'm taking time out of my Sunday to see what I might be missing. Hence my comment that I don't want to invest time/money in yet-another-LLM just for the "privilege" of debating the merits of LLMs in software engineering. If I'm to invest time/money in another coding LLM, I need a signal, a reason, to why it might be better than Copilot for helping me do my job. Either tell me where Copilot is lacking or where your "contenders" have the upper-hand. Why is it a "must" to use Codex/Claude/Gemini other than trustmebro?
"notoriously bad" is news to me. I find no indication from online sources that would warrant the label "notoriously bad".
https://arxiv.org/html/2409.19922v1#S6 from 2024 concludes it has the highest success rate in easy and medium coding problems (with no clear winner for hard) and that it produces "slightly better runtime performance overall".
https://research.aimultiple.com/ai-coding-benchmark/ from 2025 has Copilot in a three-way tie for third above Gemini.
> Have you tried (paid plans) codex, Claude or even Gemini on your legacy project?
This is usually the part of the pitch where you tell me why I should even bother especially as one would require me to fork up cash upfront. Why will they succeed where Copilot has failed? I'm not asking anyone to do my homework for me on a legacy codebase that, in this conversation, only I can access---that's outright unfair. I'm just asking for a heuristic, a sign, that the grass might indeed be greener on that side. How could they (probably) improve my life? And no, "so that you pass the bare minimum to debate the usefulness of AI tools" is not the reason because, frankly, the less of these discussions I have, the better.
This shit was legacy when I was a wee new hire.
Github Copilot has been great in getting that code coverage up marginally but ass otherwise. I could write you a litany of my grievances with it but the main one is how it keeps inventing methods when writing feature code. For example, in a given context, it might suggest `customer.getDeliveryAddress()` when it should be `customer.getOrderInfo().getDeliveryInfo().getDeliveryAddress()`. It's basically a dice roll if it will remember this the next time I need a delivery address (but perhaps no surprises there). I noticed if I needed a different address in the interim (like a billing address), it's more likely to get confused between getting a delivery address and a billing address. Sometimes it would even think the address is in the request arguments (so it would suggest something like `req.getParam('deliveryAddress')`) and this happens even when the request is properly typed!
I can't believe I'm saying this but IntelliSense is loads better at completing my code for me as I don't have to backtrack what it generated to correct it. I could type `CustomerAddress deliveryAddress = customer` let it hang there for a while and in a couple of seconds it would suggest to `.getOrderInfo()` and then `.getDeliveryInfo()` until we get to `.getDeliveryAddress()`. And it would get the right suggestions if I name the variable `billingAddress` too.
"Of course you have to provide it with the correct context/just use a larger context window" If I knew the exact context Copilot would need to generate working code, that eliminates more than half of what I need an AI copilot in this project for. Also if I have to add more than three or four class files as context for a given prompt, that's not really more convenient than figuring it out by myself.
Our AI guy recently suggested a tool that would take in the whole repository as context. Kind of like sourcebot---maybe it was sourcebot(?)---but the exact name escapes me atm. Because it failed. Either there were still too many tokens to process or, more likely, the project was too complex for it still. The thing with this project is although it's a monorepo, it still relies on a whole fleet of external services and libraries to do some things. Some of these services we have the source code for but most not so even in the best case "hunting for files to add in the context window" just becomes "hunting for repos to add in the context window". Scaling!
As an aside, I tried to greenfield some apps with LLMs. I asked Codex to develop a minimal single-page app for a simple internal lookup tool. I emphasized minimalism and code clarity in my prompt. I told it not to use external libraries and rely on standard web APIs.
What it spewed forth is the most polished single-page internal tool I have ever seen. It is, frankly, impressive. But it only managed to do so because it basically spat out the most common Bootstrap classes and recreated the W3Schools AJAX tutorial and put it all in one HTML file. I have no words and I don't know if I must scream. It would be interesting to see how token costs evolve over time for a 100% vibe-coded project.