MurphyA/hacker-news huggingface dataset:
by alabastervlog | 2025-04-07 22:24:17+00:00
$75k is basically entry level right out of college, in one of the weaker (like, 3rd tier city) markets in the US. Straight salary, not counting benefits.

Child care and health care are really expensive, though, and can burn a surprising amount of that in a hurry. Even in “lesser” markets where housing’s within reach of someone making that much, healthcare and child care can hurt the ol’ pocket book.

Entry level in hotter cities will be over $100k, and the lower end of mid-tier in weaker cities will be over $100k.

You don’t have to be good at all, the handful of truly-bad developers I’ve met seem to do fine.
by eek2121 | 2025-04-07 22:24:45+00:00
NGL I like it. Definitely illustrates the bubble we are in. AI has it’s uses, and vibe coding isn’t one of them (except maybe basic prototypes)

and based on the nightmares I’ve seen, not even that.

The majority of a developer’s job isn’t coding. It also isn’t about requirements -> code. Most of a developer’s job isn’t coding, it is the human part of parsing requirements and providing real feedback on the realities of implementation with an existing code base.

Every LLM I have encountered can’t even get 5% of it right. Many choke on even absorbing a large/ancient code base, especially with custom tooling.

Also, what clients claim to want is never what they actually want, and if they could feed it to an LLM , they wouldn’t need half the startups/small businesses in the world would they?
by neilv | 2025-04-07 22:25:05+00:00
> There's an old tradition of American stars appearing in Japanese television commercials, [...] before downing what appears to be about a four ounce can of Suntory Iced Rainbow Blend coffee.

Was this tradition referenced or inspired by Bill Murray's "Suntory Time" scene in "Lost in Translation" (2003)?

https://www.youtube.com/watch?v=FiQnH450hPM
by roguecoder | 2025-04-07 22:25:13+00:00
We have some certs. The problem is that software development is about thirty different skills in a trench coat, and half of them we don't know how to evaluate (like slicing, or abstraction.)

What ends up happening is that our certs end up being a bunch of multiple-choice questions that check people's ability to memorize trivia.

It is more like having a Certified Novel Writer or Certified Mural Painter or Certified Graphic Designer certificate than it is like HVAC or welding.
by CharlieDigital | 2025-04-07 22:25:19+00:00
Something with React's approach is fundamentally broken, IMO, and this is why we see so many variations of state management libraries on React that we don't see on other frameworks because state kind of "just works" and is really, really simple when you are using signals.

My sense is that in React, the complexity comes from the management of minimizing the "blast radius" of state changes to prevent over-renders. So there are a lot of different approaches and ways that folks have cleverly engineered to solve this problem, but none of them feel as simple as say Pinia on Vue, for example.
by MisterTea | 2025-04-07 22:25:38+00:00
> And vending machines with hot drinks and soups, my favorite being cream of corn soup...which I have yet to see stateside.

Its a cultural thing I am sure. As an American I will say that prepared food served from a vending machine is going to be associated with low quality and possible poor hygiene. I'd equate it with food from a gas station store or roach coach (mobile canteen)- food prepared with little care or quality, destined to be sold for as little as possible while still being profitable. Stale bread, wilted vegetables, low quality meats, cheese, etc, sloppy prep. Who cares, ship it.

On the other hand, I can see food vendors in Japan guarding their reputation with attention to their craft ensuring quality.
by danijar | 2025-04-07 22:26:24+00:00
When it dies it loses all items and the world resets to a new random seed. It learns to stay alive quite well but sometimes falls into lava or gets killed by monsters.

It only gets a +1 for the first iron pickaxe it makes in each world (same for all other items), so it can't hack rewards by repeating a milestone.

Yeah it's surprising that it works from such sparse rewards. I think imagining a lot of scenarios in parallel using the world model does some of the heavy lifting here.
by spwa4 | 2025-04-07 22:26:43+00:00
The CCP is communist. Nobody seems to remember this, but leftists were rather strongly anti-immigration and that is not something that has changed in CCP ideology.

They have "opened up", according to themselves. Which means: if you are of Chinese heritage (sufficiently pure - yes really) and are persecuted (e.g. Indonesian Chinese) you sort-of kind-of can immigrate. Sometimes.

Refugees are not welcome.
by narnarpapadaddy | 2025-04-07 22:26:51+00:00
We still do a coding assignment, but a significant chunk of the technical interview is dedicated to a walkthrough of the code. Thus far, that’s been able to detect those who relied solely on AI.

…If you used AI and can still explain to me why code works and what it does, even better. You have learned how to use new tools.

(have not tried the randomized question approach to compare, but I’m curious to try it and see what happens)
by wk_end | 2025-04-07 22:27:13+00:00
There’s an excellent article in the React documentation about this (“You Might Not Need An Effect”). Back when I was working on a React team I probably threw it at a code review on average once a week.

I really like React, but given the way developers seem to struggle to use it “correctly” (despite all the lint hooks and weird diagnostics like double rendering to help) it’s hard not to feel like there’s something wrong with it.
by ryandrake | 2025-04-07 22:27:30+00:00
Isn't this kind of what an Agent does in the world of Hollywood actors? I would actually love to have some person that I paid who was constantly out there scouting for actual roles that look lucrative and attainable, help with the rote filling-out of forms, help with company research and interview coaching, helping to grease wheels internally (if possible), and importantly, helping with compensation negotiation which I've always been bad at. Traditional recruiters really don't do much of this at all, and generally act in the best interest of the employer rather than the candidate. We should have agents who could work for us and had our own best interests in mind, for a change.
by Clamchop | 2025-04-07 22:28:15+00:00
The characteristic flavor of cinnamon is almost entirely due cinnamic aldehyde.

There's a lot of it in various species of Cinnamomum. My guess is that they are using a mix of true cinnamon and its close relatives.

It occurs rarely and in small amounts in other plants, so small that I don't think it would be economical.

The only other shortcut to "natural" flavor that I can think of would be GMO bacteria or something.

It's very likely that the natural flavors include other things unrelated to cinnamon, like vanillin or eugenol (cloves, carnation). Flavoring is an art closely related to perfumery, by the way.
by schacon | 2025-04-07 22:28:29+00:00
I'm curious why you think hg had a prominent role in this. I mean, it did pop up at almost exactly the same time for exactly the same reasons (BK, kernel drama) but I don't see evidence of Matt's benchmarks or development affecting the Git design decisions at all.

Here's one of the first threads where Matt (Olivia) introduces the project and benchmarks, but it seems like the list finds it unremarkable enough comparatively to not dig into it much:

https://lore.kernel.org/git/Pine.LNX.4.58.0504251859550.1890...

I agree that the UI is generally better and some decisions where arguably better (changeset evolution, which came much later, is pretty amazing) but I have a hard time agreeing that hg influenced Git in some fundamental way.
by sien | 2025-04-07 22:28:35+00:00
Yeah, I lived in Europe in 1999 and 2000 and then moved to the US. In the EU you could text people from different countries and it would often work.

Then I moved to the US and the shock of not being able to text between networks was really something. That and writing cheques. I'd never written a cheque in Australia or Europe but you sort of had to in the US while electronic payments between banks were sorted in Australia in the 1990s.

These days it seems when a technology appears it generally spreads more quickly.
by seanmcdirmid | 2025-04-07 22:29:12+00:00
> You're assuming something like all or nothing.

I'm assuming worst case, which is what you have to prepare to survive through.

> As I mentioned I do investing regularly, just as if you were saving money after you paid your bills and you have spare money that otherwise would be sitting in your bank account.

You are supposed to have 3-6 months of living expenses in your savings account just in case you lose your job. Is that what you are talking about using to invest in a dip?

> Even if I had the amount you mentioned it would be at least for me too risky to do that move. I would do it regularly.

Yes, but you are also saving money for events where you need liquidity right?

If the tariffs go on for awhile and consumption becomes expensive, we can always just cut back on consumption and invest that money instead (Americans consume a lot anyways), that is what the Chinese have been doing all along at least (although they wished their consumers would start consuming more). We are basically going to swap places with the Chinese, the writing on the wall is clear.
by marksomnian | 2025-04-07 22:29:15+00:00
> But a few instances were to conditionally set one piece of state whenever another piece of state was changed

That use case is explicitly called out on the "You Might Not Need An Effect" article in the docs (which everyone writing React should read, and arguably was published years too late): https://react.dev/learn/you-might-not-need-an-effect

TLDR:

When updating a useState based on another useState, don't use the first useState at all, just compute it inline. If it's expensive, wrap it in a useMemo.

When updating a useState based on props, call the setter directly from the component function, and React will immediately re-render the component (instead of rendering it, running the effect, and then rendering it again).
by oulipo | 2025-04-07 22:30:30+00:00
It's just a way to provide a "library of methods" / API that the LLM models can "call", so basically giving them method names, their parameters, the type of the output, and what they are for,

and then the LLM model will ask the MCP server to call the functions, check the result, call the next function if needed, etc

Right now if you go to ChatGPT you can't really tell it "open Google maps with my account, search for bike shops near NYC, and grab their phone numbers", because all he can do is reply in text or make images

with a "browser MCP" it is now possible: ChatGPT has a way to tell your browser "open Google maps", "show me a screenshot", "click at that position", etc
by jayunit | 2025-04-07 22:30:53+00:00
author replied on Twitter:

> that's a great use case! the aria snapshot that browser mcp generates is enough to write tests for playwright using its role-based locators, but i may add a get_page_html tool in the same way that they're considering: https://github.com/microsoft/playwright-mcp/issues/103

https://x.com/roadtoramen/status/1909356255866733044
by josephg | 2025-04-07 22:31:48+00:00
There’s a story from The Mythical Man Month. They got a bunch of programmers from lots of different companies to all implement the same programming spec, and they timed how long everyone took. Out of dozens of metrics (salary, programming language, etc), the #1 best predictor of your productivity is how productive your coworkers are.

One of my takeaways from that is that like attracts like. People are biased to hire people who are similar to themselves. And people apply for jobs at places they will fit in. 8/10 programmers don’t take jobs at 5/10 shops. 5/10 shops don’t hire 3/10 developers. Lots of people think that everyone “out there” is like them. But that’s really not true. I think most people just have an incredibly biased sample.

I was a programming teacher for a couple of years and in my experience, there is a huge range of aptitude between the best and worst people in my class. It’s all incredibly unfair - the weaker students needed to work many times harder to keep up with the better students. My best students could just intuitively figure things out that my weaker students could struggle with for weeks.

And it’s obvious if you spend enough time interviewing. I’ve interviewed over 400 people. (I did it professionally for awhile). In our interview, the best people could get an order of magnitude more done in the time we had available compared to the weaker candidates. I wish I could show you the videos. The difference is obvious.
by schacon | 2025-04-07 22:31:53+00:00
This is all fairly speculative, but I didn't get the impression that Monotone was a main inspiration for Git. I think BitKeeper was, in that it was a tool that Linus actually liked using. Monotone had the content addressable system, which was clearly an inspiration, but that's the only thing I've seen Linus reference from Monotone. He tried using it and bailed because it was slow, but took the one idea that he found interesting and built a very different thing with that concept as one part of it is how I would interpret the history between these projects.
by roguecoder | 2025-04-07 22:32:28+00:00
That is an instructive example.

In regular systems administration, having certs kinda suggested that you didn't have the chops to get a job without a cert. Even people who had them would only include them on the resume when they were explicitly called for in a job description.

With the rise of "DevOps" and throwing half your raise at Amazon, the job moved away from being able to build and run networks of computers. Now it is mostly about configuring off-the-shelf tools in "the cloud". In that world, certs became way more meaningful. Sure, the AWS cert is just testing if you know the six different names Amazon has given one feature, but it is potentially more helpful to know that trivia than it is to actually understand LDAP or DNS.

If AI successfully de-skills software development, maybe certs will finally become useful for developers too.
by marginalia_nu | 2025-04-07 22:32:55+00:00
I migrated off apache parquet to a very simple columnar format. Cut processing times in half, reduced RAM usage by almost 90%, and (as it turns out) dodged this security vulnerability.

I don't want to make too harsh remarks about the project, as it may simply not have been the right tool for my use case, though it sure gave me a lot of issues.
by ElevenLathe | 2025-04-07 22:33:01+00:00
I've played with GT and even pull it out every once in a while for small tasks, though I haven't in about 6 months.

I think the idea is good, but it's a tough sell for working programmers because the whole culture of it is so foreign. I think there's a version of GT that would do well if it described itself in terms of paradigms working coders know (POSIX, IDEs, blub-y languages, text files) instead of in terms of SmallTalk. Maybe something nearly as cool can be done as a VSCode plugin? I personally think of it as kind of a supercharged Emacs for SmallTalkers.
by RachelF | 2025-04-07 22:33:25+00:00
I've had a similar experience. Most of the people I've worked with are 4-6 out of 10. But I suppose that's a normal distribution.

I've encountered a few 1's and 2's but they generally don't last too long. I've also encountered a few brilliant ones, but their code was understandable only to themselves, and often didn't meet a spec.
by throwaway314155 | 2025-04-07 22:33:55+00:00
> with a "browser MCP" it is now possible: ChatGPT has a way to tell your browser "open Google maps", "show me a screenshot", "click at that position", etc

It seems strange to me to focus on this sort of standard well in advance of models being reliable enough to, ya know, actually be able perform these operations on behalf of the user with any sort of strong reliability that you would need for widespread adoption to be successful.

Cryptocurrency "if you build it they'll come" vibes.
by _DeadFred_ | 2025-04-07 22:34:31+00:00
I seem to recall some 'best effort' backup requirements are based on feasibility/etc of your tools. Changing tools could have significant 'legal requirement' impacts.

I don't remember specifics but you have to backup to the level of a reasonable budget. Theoretically using the same budget to move from cheap archival medium to more expense could reduce backup history/backup detail levels while still meeting the legal requirements (if I remember correctly).
by treesknees | 2025-04-07 22:34:34+00:00
As others stated, shell scripts and some other automation that have to call the cli tool directly, or where we need to build out the cmd and execute it on a remote node.

We use libcurl and pycurl where it makes sense. This rule for cli options extends to other binaries as well, some that don’t offer libraries like curl does (think closed source firmware tools or ancient homegrown cli tools.)
by danijar | 2025-04-07 22:35:03+00:00
I think learning to hold a button down in itself isn't too hard for a human or robot that's been interacting with the physical world for a while and has learned all kinds of skills in that environment.

But for an algorithm learning from scratch in Minecraft, it's more like having to guess the cheat code for a helicopter in GTA, it's not something you'd stumble upon unless you have prior knowledge/experience.

Obviously, pretraining world models for common-sense knowledge is another important research frontier, but that's for another paper.
by TacticalCoder | 2025-04-07 22:36:50+00:00
> Reviews are done on what, you have someone reviewing clang code? Binutils?

There aren't random developers pushing commits to these codebases: these are used by virtually every Linux distro out there (OK, maybe not the Kubernetes one that ships only 12 binaries, forgot its name).

It seems obvious to me that GP is talking about protection against rogue distro maintainers, not fundamental packages being backdoored.

You're basically saying: "GP's work is pointless because Linus could insert a backdoor in the Linux kernel".

In addition to that determinism and 100% reproducibility brings another gigantic benefit: should a backdoor ever be found in clang or one of the binutils tool, it's going to be 100% reproducible. And that is a big thing: being able to reproduce a backdoor is a godsend for security.
Ask HN: How do I become a better PM as an engineer?
by _ccoq | 2025-04-07 22:36:59+00:00
Context - I've been a software engineer for ~5 years now and just joined a seed-stage startup as a founding engineer. Of course, founding engineer != PM, but we don't have a PM and I learned (the hard way) recently that I'm not great at putting the product hat on. How do I get better at understanding the needs of my users, writing PRDs and all the other work that goes into being a good PM at an early-stage company? Article/book recommendations, general advice, mindset shifts and so on would be greatly appreciated!
by fatnoah | 2025-04-07 22:37:00+00:00
It's multilayered. I've had technical and non-technical bosses at large and small companies, and the universal thing that made them "good" or "bad" was whether they gave me sufficient context and trusted me to get the work done. The best ones challenged me in good faith and provided honest feedback.

Even stranger was the experience of my company being acquired by a large name-brand tech company. My manager (Director) and their manager (VP) were the worst kind...non-technical and second guessing everything in silly ways. Meanwhile, the co-founder and CTO popped into our tiny office one day because they were in town, rolled up to my desk and said "hey, you're fatnoah, right? I have some questions" and then pulled me into a conference room where we went deep on our entire tech stack. He got everything the first time and understood the how and why of what we built and why.
by the_gipsy | 2025-04-07 22:37:48+00:00
I've never seen a Teact project where UI = f(state). There is always heavy reliance on the "lifecycle" of components. So you compose "functions", but every function is using some global state, shared or not, it's meaningless to describe it as "functions".

The one project I've used that had redux was also a complete nightmare to work with, and hooks are the blessed way now apparently.
by frognumber | 2025-04-07 22:38:05+00:00
> Cameras are not in a death spiral.

Sales numbers tell a different story.

> Artistically speaking, phones can't do what even a low end slr/mirrorless can do, its just that phones are good enough for the low-effort content 95% of people are interested in producing.

This is not correct.

A Pixel Pro has a 50 MP, f/1.7, 1/1.31" sensor. This is equivalent to f/4.6 in u43, f/6.6 in APS, and f/9.5 in FF.

This is slightly slower than a kit lens on paper, but this is more than made up for by more advanced sensor technology, and especially the ability to do things like fast sensor readout, which can read out many frames and combine exposures.

Side-by-side, shooting with a phone and a Panasonic u43 camera with a kit lens, I was getting perfectly good photos with the phone, and useless photos with the u43.

> I don't know about the manufacturing or drone stuff, but for video conferencing and remote education, the point of the video really isn't image quality or "art" but just good enough picture to not get in the way of the real purpose of the interaction, so a whole camera kit is just added complexity/annoyance for no benefit.

It depends on the context. People buy $100k Cisco remote conference rooms for a reason.

I've definitely spent >$10k on equipment in remote presentation / education contexts myself, and know many other people who have done likewise.

You should, at some point, figure out what popular education Youtubers, twitch streamers, etc. spend :) But there are similar contexts in scalable education, various kinds of sales, etc.

One of the core issues -- in context I've worked in -- is that reliability is king. I don't want interruptions. I'm happy to have three cameras feeding into OBS and a set of fixed setups, and I've even done custom plug-ins, but something like a mirrorless adds layers of complexity which can lead to bugs:

- Mirrorless

-> HDMI out

-> Elgato

-> USB

-> OBS

-> Virtual camera

A direct USB connection would remove a cable and an adapter.
by spwa4 | 2025-04-07 22:38:19+00:00
China's fertility rate is 1.18 births per woman. US fertility rate is 1.66 births per woman.

This is not really comparable. Out of all western nations, the US has perhaps the least problems with fertility.

The US both allows immigration (China doesn't) and has sources of immigration of people of relatively close cultural heritage. Also, China is a conqueror, there is only one major territory where Chinese live that is not within China's borders (and MANY where few/very few Chinese live that are within China's borders, even more if you count places where the CCP has control even if they're not within accepted UN borders)
by w10-1 | 2025-04-07 22:38:57+00:00
I believe the uncomfortable truth that drives highly-incentivized hiring is twofold:

1. There are many more qualified candidates than jobs. That happened with outsourcing and remote, well before AI. That makes hiring errors are mostly undiscoverable.

2. Chemistry matters -- a lot -- in working together, leading to premiums for connections and a bias towards mutually-beneficial referral networks, which makes performance evaluation very difficult. (Objective standards tend to make success game-able, particularly with inside knowledge.)

Desperation is not pretty, opportunity distribution is far from optimal, and teams are rarely open and objective about membership.