MurphyA/hacker-news huggingface dataset:
by Kerrick | 2025-11-28 23:57:57+00:00
I suppose I included the last section as a "confession" because I spent years pre-pandemic wishing I could go remote, talking loudly about how open office spaces were bad, etc. That, plus it's embarrassing to admit that I dislike remote work even though I am a remote worker. And not just a remote worker, but an enfranchised remote worker living 3 hours away from the nearest city with an international airport. I made the mistake of rebuilding my life around remote work before I had experienced it long-term.
by qingcharles | 2025-11-28 23:58:22+00:00
Here's Nano Banana Pro, which nailed it, IMO, but I had to fudge the prompt:

https://imgur.com/8kMqbBO

"peanut butter, jelly and bread rubik's cube. each smaller cube in the rubik's cube is one ingredient, randomly selected. professional food photography style. ensure it looks like a working rubik's cube"
by crystal_revenge | 2025-11-29 00:00:11+00:00
I suspect this is the case as well. It's weirdly controversial to suggest that a large number of accounts on any platform are "shill" accounts, despite that the fact there are clear incentives for these to exist and it's not particularly hard to make one. Even today with social networks being quite large, a few votes in your target direction can majorly swing the ultimate outcome: on reddit just 5-10 downvotes will get the collective to see the comment is "bad" and continue downvoting, on HN you just need a handful of people to flag a post and it will disappear from the front page (similarly you only need a few upvotes that HN doesn't detect as ring to get to the home page).

Any puppet account you recognize is one that has already failed. Just like with websites, time is a major factor in detecting these type of accounts. So if you can get away with posting relatively innocuous content in an automated way for a few years you can build "trust" on these various platforms.
by roenxi | 2025-11-29 00:02:10+00:00
All the confessions are highly subjective. If someone tried a refactor like the one at https://refactoring.com/catalog/replaceConditionalWithPolymo... there is a decent chance it should get picked up and reverted on code review.

Taking a switch statement and spreading it out over 3x classes is not a general improvement, it is very context specific. It makes the code difficult to navigate because what used to all be in one spot and easy to read is now spread out who-knows-where and there might be a special case lurking somewhere.
by Blikkentrekker | 2025-11-29 00:02:52+00:00
There are also so many G.P.L. violations and nothing is done about it.

I think a big issue is also that it's hard to show actual damages with this kind of copyright violation. It's obviously copyright violation but what damages are there really? Also, there are so many dubious cases where it's not clear whether it is a violation or not.
by anyonecancode | 2025-11-29 00:03:17+00:00
Over my career, I've been in a big company twice. This article definitely tracks with my experience. At one company, I think management actively didn't care, and in fact my direct manager was pretty hostile to any attempts at improving our code base as it meant disruption to what was, for him, a stable little niche he had set up.

At the second, it wasn't hostility but more indifference -- yes, in theory they'd like higher quality code, but none of the systems to make this possible were set up. My team was all brand new to the company, except for two folks who'd been at the company for several years but in a completely different domain , with a manger from yet another domain. The "relative beginner" aspect he calls out was in full effect.
by BoxOfRain | 2025-11-29 00:04:11+00:00
The water infrastructure isn't great in the UK (there's a lot of first-mover curses in UK infrastructure generally), specifically there's quite a lot of shared sewage and storm drains. As a result sometimes the local water monopolies end up dumping sewage in the waterways. It'd cost a lot to build enough infrastructure to prevent this, and even if the companies wanted to they tend to get opposed by NIMBYs at every turn.

Also you definitely wouldn't want to treat the Isis (or the wider Thames) because it's a full-blown ecosystem, I doubt the fish would appreciate us pumping it full of chemicals as well as sewage.
by the__alchemist | 2025-11-29 00:04:44+00:00
I got in on 4 of the big quantum computing stocks ~a month ago. I haven't felt this good about a short since Nikola; one of the few times I will use "money left on the table".

I miss Hindenburg.

Unfortunately, most of the scammiest companies (e.g. ones you hear about on HN) are not IPOed, so you can't short them using traditional methods. I'm glad the article points out some non-traditional ones, but I'm not clear on how to actually do it.
by krapp | 2025-11-29 00:05:06+00:00
>I think Netflix should enhance closed captions by using boldface on words that are more likely to be misheard due to high-frequency hearing loss.

closed captions are used under the assumption that none of the words are being heard. And it's not as if the sound being harder to hear makes the text harder to read, so I don't see the benefit of bold text.
by simondotau | 2025-11-29 00:07:03+00:00
In this context, "giving facts" is synonymous with promising.

I'm not pretending to know anything and that is exactly the point. I don't know anything. Nobody in here knows anything. It's all just claims. Words are cheap. Flashy websites are cheap. Press releases claiming tape-out are cheap. Until there is real silicon in the hands of real people free to benchmark it, it's indistinguishable from vaporware.

Actually, given how much money is floating around in the AI space, I think I wouldn't be too out of line saying that it's also indistinguishable from an investor scam. I'm not saying that this is, but what independent evidence disproves this hypothesis?
by aruggirello | 2025-11-29 00:07:37+00:00
> Wildly ironic that an EU company doesn't ship to the EU.

Switzerland is not part of the EU in this timeline... But their rant sounds very much like an excuse, the WEEE is in effect at least since 2021:

"All EU Member States are required to adopt the Waste Electrical and Electronic Equipment (WEEE) Directive 2012/19/EU, which sets rules for the collection, treatment, and recycling of electronic waste. However, some countries were granted an extension until August 2021 to meet the collection targets due to infrastructure limitations, including Bulgaria, Czechia, Latvia, Lithuania, Hungary, Malta, Poland, Romania, Slovenia, and Slovakia" - courtesy Google AI overview
by AlotOfReading | 2025-11-29 00:07:56+00:00
Meta says over 400 people work on-site at the Altoona facility [0], but most of those are clearly working for a variety of smaller contractors given that the initial tax terms anticipated a few dozen direct employees [edit: wrong state] and no datacenter companies show up in the county's 50 largest employers [1].

[0] https://corridorbusiness.com/data-centers-bringing-big-numbe...

[1] https://www.pa.gov/content/dam/copapwp-pagov/en/dli/document...
by Blikkentrekker | 2025-11-29 00:08:34+00:00
Copyleft doesn't work well with Rust's ecosystem of many small crates and heavy reliance on libraries alongside static linking.

If one library be GPLv2 and the other GPLv3 they couldn't be used together in one project. LGPL solves nothing because it's all statically linked anyway. And yes, one could licence under both under the user's choice but then GPLv4 comes out and the process repeats itself, and yes one could use GPLv2+ but people aren't exactly willing to licence under a licence that doesn't yet exist and put blind faith into whoever writes it.

Using anything but a permissive licence is a good way to ensure no one will lose your library and someone will just re-implement it under a permissive licence.

C is a completely different landscape. Libraries are larger and the wheel is re-invented more often and most of all dynamic linking is used a lot so the LGPL solves a lot.
by fragmede | 2025-11-29 00:09:43+00:00
The bricklayer's building that falls over, or the cook that makes food that tastes bad and no one wants to eat and makes people sick isn't going to have a job for very long, however. And of course, the job of "cook" runs the gamut from minimum wage at a shitty diner, to being very well paid at a Michelin star restaurant. So shipping code > beautiful code, but three years from now, that one "quick and dirty hack" just to get the next version out the door has become three hundred hacks, and that tech debt is a liability preventing any movement, either fixing existing bugs or in shipping new features.

So maybe not every line of code needs to be even more beautiful than the last, but there's clearly a balance to be had. And yes, sometimes the business people are right. Sometimes they are wrong, however.
by qball | 2025-11-29 00:11:01+00:00
You will still care that you're wasting a bunch of your engine's potential, even with a V8.

Autos (not DCTs) don't generally let you rev the engine as high as manuals do, they don't really let you take advantage of engine braking, and they may ignore your command to manually shift them into a lower gear at will (DCTs can do that too).
by VirusNewbie | 2025-11-29 00:11:04+00:00
>I have not worked for a FAANG, so maybe things are different there, but I don't suspect so

it is quite a bit different at FAANG. I've workded for small companies, huge companies that aren't software/FAANG, and now FAANG, and it's definitely better here.

The floor is very high for talent and just an overall ability to get stuff done. Google certainly doesn't have a monopoly on genius coders, i've met brilliant folks at all different size companies.

It is very good at making sure the caliber of the average engineer is quite high. Code quality is shockingly good across teams and codebases. I said good, not amazing, there are definitely differences in teams and I can cherry pick projects outside of google that had better code than some at google.

But the consistency of it being decent is very high.

I'm also dubious of your claim that compensation doesn't attract better talent. In my 25+ years of coding, it's a pretty damn strong correlation. The people who leave google to go to even higher paying places like the top hedge funds or Anthropic are not the most 'average' caliber talent, it's usualy the better folks.
by mattashii | 2025-11-29 00:11:52+00:00
There is also a lot of money, there is also good management, and there are also lots of incentives.

But management depends on your manager; at scale it becomes likely there are bad apples in every management tree. Incentives may not align with what you want or need, with work From Home policies getting shrunk. Even money sometimes is a point of contention.
by halfcat | 2025-11-29 00:11:58+00:00
Static analysis will never be fully robust in Python. As a simple example, you can define a function that only exists at runtime, so even in principle it wouldn’t be possible to type check that statically, or even know what the call path of the functions is, without actually running the code in trace/profiler mode.

You probably want something like pydantic’s @validate_call decorator.
by willio58 | 2025-11-29 00:11:59+00:00
I’ve never heard of remote start being used as a way to idle your car while doing other stuff. It’s most commonly used to defrost a car in the winter without having to get into it and sit in the freezing car while you’re not moving anyway.

There’s a time limit on it on my car, I think about 10 minutes or something pretty sane. If you don’t get into your car by then it turns back off automatically.
by rapjr9 | 2025-11-29 00:12:12+00:00
Cool, I tried something similar 30 years ago working for a military contractor:

http://zoom.interoscitor.com/PetersonEnterprises/Consulting/...

I was asked to come up with a 3D display of the airspace around an aircraft for the pilot to use and which could replace the 2D displays used then. People were impressed, but decided it was impractical for a variety of reasons. You can't really tell where the aircraft are relative to each other and the ground without rotating the display (which means the pilot loses their orientation), and there are no altitude indicators and it's difficult to tell where each aircraft is relative to the others. (Which is why I added the vertical lines and ground tracks.) Also things get visually messy when several aircraft are close together, even if you use different colors (which doesn't work for the colorblind). For example, could you use this display to tell if a collision is imminent near ground level in proximity to an airport? The display does give you a high level sense of what is going on in the airspace; it may not have enough details to be of practical use to pilots and air traffic controllers. I'd suggest consulting with them to get feedback. Maybe this would be practical as a VR display? How did they solve this in the F-35 helmet display?
by crystal_revenge | 2025-11-29 00:12:58+00:00
> left inner join

While I do appreciate this joke (and I do hope this is a joke), I've recently had a project majorly held up because a lead dev didn't understand SQL. It's great to admit gaps but it's equally important to close those gaps.

> As a hiring manager I interviewed software engineers and tried to filter for object-oriented knowledge. Retroactively, it’s clear I was hypocritical.

As some one who has been on the other side of "rejected by an interviewer who didn't understand the thing they've interviewed you about" I, again, appreciate the transparency, but I'm not entirely feeling that the lesson has been learned in the case.

There was a time in my life where I felt ashamed that I didn't know calculus... so I learned calculus and my life has been better for it. While refusing to admit ignorance of a topic is particular problem in tech, confessing that you don't know something and gleefully stopping there is not much better. Holding people up to a standard you do not hold yourself to is a major problem in this field. The technical people I've learned the most from hold you to a high standard and hold themselves to an even higher one.

Of course not every engineer has to hold themselves to a high standard, but if you want to write a blog about a topic, then part of the requirements here is that you do hold yourself to a high standard. Yes, we all have gaps, and we shouldn't let shame get in the way of learning, but we shouldn't let shamelessness about what we don't know limit us either.
by kbelder | 2025-11-29 00:13:46+00:00
So many things like that!

I don't know if I could tell you with confidence the proper way to get a string length in any language. Is it a global function or an object method or property? Is it length or count or size? I have to look it up or rely on intellisense every time. I do too much bouncing between languages.

Well, I know it in BASIC. Len().
by pupatlas | 2025-11-29 00:13:58+00:00
> The problem I observe is the universal one: management doesn't care about good code, it cares about results. It's generally too hard for ANYONE to tell what's going on in a codebase unless you're experienced with it. Management can't evaluate the value of maintenance work, so it doesn't value it.

I think this is a very telling statement, but perhaps not in the way you intended. I would agree that management only cares about results, but I would posit that maybe that's a good thing. If you don't have ground-truth knowledge of a problem, you must rely on either the word of someone who does, or metrics that can be used as a yardstick.

When all a manager has to go on is someone's word, it can be really hard for them to gauge the depth, severity, and impact of the problem being expressed to them— and without any metrics, they have no way of tracking progress on resolution. In a modern codebase, you could spend YEARS on improving maintainability and still not "finish". The key (that I've found, personally) in this situation is to give the manager some form of metric to describe the problem. If you can establish a number to measure what you're advocating for, and quantify the consequences of not doing it into actual business impact, I've talked managers into taking my suggestion more often than not.
by 1718627440 | 2025-11-29 00:14:07+00:00
Safer for what? That opinion seems to be misguided to me.

strndup prevents you from overrunning the allocation of a string given that you pass it the containing allocations size correctly. But if you got passed something that is not a string, there will be a buffer overrun right there in the first line. Also what outer allocation?

You use strcpy when you get a string and memcpy when you get an array of char. strncpy is for when you get something that is maybe a string, but also a limited array. There ARE use cases for it, but it isn't for safety.
by generativenoise | 2025-11-29 00:14:10+00:00
We directly use a miniscule fraction, indirect use is quite a bit higher since that is used delivering ecosystem services we depend on.

Then there is the question of how much of that potential we want to turn into waste heat inside the atmosphere, which is more governed by how much radiative cooling we have rather than how much energy is incident or available on the earth.

I think that humanity would be limited by pollution and ecosystem destruction before energy for most human scale material wealth. The bit where it becomes tricky is energy does change what how easily and fast you can do things, which may place enough of a real world limit.
by britch | 2025-11-29 00:15:16+00:00
I'm not sure I follow the point you're making

My example is we want to skip the div if empty or undefined. We can't throw on assignment so we leave it as as string|undefined.

When we go to display, we have to check if the string is empty anyway, right? What if it's empty in the DB or API response?

No matter what the display-component is doing something to prevent showing the empty string.

` if(fooBarDisplayName.length) { show div } `

or

` if(fooBarDisplayName?.length) { show div } `

I'm not sure what we gain by leaving it as `string|undefined`

---

If there was a "NonEmptyString" type maybe I could see where you're coming from.

I guess you could argue treating `string` like a `NonEmptyString` type seems error prone. The compiler can't verify you've done the check. At some point someone will set a string when it's empty or not do the necessary check.

You'd want a separate non-string type to make sure it's actually been parsed
by gritten | 2025-11-29 00:15:17+00:00
I know. It's outrageous that they are so emboldened to publicly declare this to be their policy and that the practice has survived without condemnation for this long. As a White man, their reasoning in that link is insulting - and very clearly intended to be so.

Just because they are brazen, shameless, and (so far) unchallenged in their racism doesn't make it ok.
by NeutralCrane | 2025-11-29 00:15:32+00:00
Ironically, some of the worst tech debt I’ve ever dealt with has been because the initial implementation was an overengineered disaster by an dev who thought they were solving all possible problems before we really understood what all possible problems are.

“Zero tech debt” is an impossibility. The most elegant solutions incur some kind of tech debt, it’s just less than others. More realistic than “zero tech debt” is a continuing dedication to addressing tech debt combined with using implementations that minimize “one way doors”.
by dylan604 | 2025-11-29 00:18:33+00:00
But see, the requires two totally different workflows. It would just be easier to soft delete for everything and tell everyone that it's a hard delete.

I've never been convinced that my data will be deleted from any long term backups. There's nothing preventing them from periodically restoring data from a previous backup and not doing any kind of due diligence to ensure hard delete data is deleted again.

Who in the EU is actually going in and auditing hard deletes? If you log in and can no longer see the data because the soft delete flag prevents it from being displayed and/or if any "give me a report of data you have on me" reports empty because of soft delete flag, how does anyone prove their data was not soft deleted only?
by rwestergren | 2025-11-29 00:18:40+00:00
With increasingly aggressive usage limits (Claude weekly usage now), "agentic" style of token burning seems much less practical to me. Coming from Aider and trying tools like OpenCode, the "use models to discover the relevant files" etc pattern seems very token heavy and even wasteful - whereas with Aider you include relevant files up front and use your tokens for the real work.
by elisbce | 2025-11-29 00:18:47+00:00
1. In Silicon Valley, people are not bounded by non-compete clauses and can come and go at will. So fungibility is a top priority for any tech company. The only way to do that is to make sure expertise is shared across the team and not monopolized by one or a few old-timers.

2. Eng teams that have mostly old-timers tend to get stale and slow in changes. This is bad for products that need rapid evolution or new ideas to break status quo. New engineers have way more incentives to make changes to prove themselves and collect credits, while old-timers tend to play safe and stay on the side of stability.

3. Bad coders, not new coders, write bad code.
by wyre | 2025-11-29 00:19:08+00:00
Open source models are still a year or so behind the SotA models released the last few months. The price to performance is definitely in favor of Open Source models however.

DeepMind is actively using Google’s LLMs on groundbreaking research. Anthropic is focused on security for businesses.

For consumers it’s still a better deal for a subscription than to invest a few grand in a personal LLM machine. There will be a time in the future where diminishing returns shortens this gap significantly, but I’m sure top LLM researchers are planning for this and will do whatever they can to keep their firm alive beyond the cost of scaling.
Show HN: Sourcewizard – A wizard for generating integration specs
by mifydev | 2025-11-29 00:19:13+00:00
Hey HN, Ivan here

We just shipped the new web version of Sourcewizard — this time it’s not installing code,

planning instead the entire integration so it works on the first try.

Here's how it works: - Connect your repo - Pick any service eg: Sentry, Statsig, PostHog, Resend, Clerk - Sourcewizard deep-scans your codebase, figures out your architecture + workflows - Asks 3-6 questions about how you want to use the integration specifically in your codebase - Returns out a personalized plan: ready-to-paste prompt for Claude/Cursor

We made this because we kept fighting with cursor when doing integrations and we decided to completely open-source it.

For example you can implement Clerk auth and PostHog analytics in 10 minutes on the first attempt.

Here's our website: https://sourcewizard.ai

Twitter thread with screenshots & video: https://x.com/whysoslimm/status/1994501470398681299

The code is open source if anybody is curious: https://github.com/sourcewizard-ai/sourcewizard

Would love for HN to break it, and hope this helps someone try on a service for size quickly :)

May the force be with you: - Ivan (@ichebykin) - Lukas (@whysoslimm)
by Ferret7446 | 2025-11-29 00:19:23+00:00
Perhaps but I think it's just a normal ick response. People instinctively steer clear of "weird" or "perceived to be dirty" things even if it's illogical. (No matter how much some try to gaslight, homosexuality is abnormal. Note that abnormal != wrong. The former is a factual statement and the latter is a subjective/moral one, though for better or worse most of the globe does still treat it negatively and it's only in the social bubbles that we're in where it's accepted)