MurphyA/hacker-news huggingface dataset:
Show HN: A new VSCode extension that shows definition functions in a stack
by mchahn | 2025-04-03 22:59:14+00:00
Definition Stack is a new vscode extension I have just released. It is a reading tool for Javascript and Typescript. It is available in the extension marketplace.

You just click in a function in any source code, execute a command, and a new tab opens next to the original. That tab has a "block" which contains a copy of the function you clicked in. In that code every word (symbol) that has a definition is highlighted. If you click on a higlighted word a new block opens above the original which contains the source code of the definition for that word. You can click in that block and repeat to create a stack. All function blocks are in the one tab that you can scroll through.

There are other options like collapsing a block, deleting it, etc. It is easy to open a block, look at it, and delete it taking you back to the block below. Then clicking in the lower block with another word opens yet another block above. Continuining this process lets you walk the "tree" of references and definitions. This lets you see all the code executed when the original function runs. This is similar to stepping through code with a debugger.

The function code is isolated in each block with the name of the original source code file and the lines are numbered the same. But when using the stack you can ignore what file each one came from. This gives a fresh way to look at what all the functions do without the cognitive load of remembering what file the functions are in.

AFAIK, this concept is original. Correct me if I'm wrong. My idea came from an IDE for Java from IBM many years ago. In that system there were no source files at all. Each function came from from a database. That IDE was a failure :-) I think my version of that concept will do better because it doesn't replace source files, it just adds a tool for working with source files. The stack is created instantly and is just meant to be used occasionally when it makes sense. It is sort of a Go To Definition on steroids.

Please give me feedback. Since it is brand new I want to fix anything wrong including user experience problems. Enjoy ...
by cbhl | 2025-04-03 22:59:19+00:00
If I recall correctly these pages are useful for teachers and students, and Jameco has relatively high-touch education sales (for example, their kitting program: https://www.jameco.com/Jameco/workshop/education-center/educ...).

I want to say that I remember seeing this page in high school in the late 00s, although the Internet Archive only seems to go back to 2012 for this exact URL.
by logicalmind | 2025-04-03 22:59:32+00:00
I've been thinking about this same thing. Trying to figure out what the endgame is with all of this. I can only come to one meaningful conclusion. Preparing for a future war with China. In that context, everything starts to make sense. The whole point of these tariffs is two pronged. One, make the rest of the world pick a side. And two, attempt to disconnect global dependence on China.

Making America "stand on its own two feet" would give it a lot of freedom in making choices that are at odds with future super powerful China that is no longer benevolent.
by pydry | 2025-04-03 22:59:39+00:00
>History says that actually when this happens, an entire generation is yeeted on to the streets

History hasnt had to contend with a birth rate of 0.7-1.6.

It's kind of interesting that the elite capitalist media (economist, bloomberg, forbes, etc) is projecting a future crisis of both not enough workers and not enough jobs simultaneously.
by conductr | 2025-04-03 22:59:47+00:00
As a long time hobby coder, like 25 years and I think I’m pretty good(?), this whole LLM /vibecoding thing has zapped my creativity the past year or so. I like the craft of making things. I used tools I enjoy working with and learn new ones all the time (never got on the JS/react train). Sometimes I have an entrepreneur bug and want to create a marketable solution, but I often just like to build. Im also the kind of guy that has a shop he built, builds his own patio deck, home remodeling, Tinker with robotics, etc. Kind of just like to be a maker following my own creative pursuit.

All said, it’s hard on me knowing it’s possible to use llm to spit out a crappy but functional version of whatever I’ve dreamt up with out satisfaction of building it. Yet, it also seems to now be demotivating to spend the time crafting it when I know I could use llm to do a majority of it. So, I’m in a mental quagmire, this past year has been the first year since at least 2000 that I haven’t built anything significant in scale. It’s indirectly ruining the fun for me for some reason. Kind of just venting but curious if anyone else feels this way too?
by burnished | 2025-04-03 22:59:55+00:00
Oh absolutely, used to see it in LoL, people would complain about their teammates holding them back and really deserving to be two leagues higher.. all I could say was that if you watched better players you'd see that the game they are playing and the game we are playing are only superficially similar, and that if you were playing on that level it'd be obvious (cause you'd be winning). Don't think it ever penetrated though.
by skydhash | 2025-04-03 23:00:19+00:00
At all the jobs I had, the valuable stuff was shipped features. The baseline was for them to work well and to be released on time. The struggle was never writing the code, it was to clarify specifications. By comparison, learning libraries and languages was fun.

I don't really need AI to write code for me, because that's the easy part. The aspect that it needs to be good at is helping me ship features that works. And to this date, there's never been a compelling showcase for that one.
by GianFabien | 2025-04-03 23:01:13+00:00
Granted jargon can be jarring to outsiders. But the cultural problem is that smart, clever younger folks would rather talk in acronyms like AI, ML GPT, exits, cap table, vesting, etc.

Talk to anyone under 40 and they will tell you that mainframes are extinct, that Java is sooo old, COBOL: what's that? They could rewrite those dinosaur systems in a weekend's hackathon.
by bobthepanda | 2025-04-03 23:01:30+00:00
Also to some degree there is anti-elitist backlash after being told you need to have a bachelor's, which is very expensive at these universities, but also it's basically impossible to get an entry-level white collar job without one these days; and for a while the economy bifurcated with different outcomes for white-collar knowledge vs. blue-collar workers.
by broodbucket | 2025-04-03 23:01:37+00:00
As someone who is obviously not the target audience, I feel like literally anything on this page that could lead me to explain what MCP is would be nice, while we're talking about what the landing page doesn't tell you. Even just one of the MCP mentions being a link to modelcontextprotocol.io would be fine.

Or maybe I'm so out of the loop it's as obvious as "git" is, I dunno.
by lmm | 2025-04-03 23:02:36+00:00
> (Picking two random groups:) If you are Pakistani and are in a room of all Indian people, and the others say how horrible Pakistanis are and how research shows that Pakistanis are less intelligent or prone to violence, that is a very intimidating atmosphere and it would be hard to endure, much less speak up.

Much like a right-winger or a Christian at one of these universities.

The policies didn't help the groups they were supposedly about helping, they helped the groups that were already dominant (race and religion matter a lot less in a group that's all upper class), whether by design or because they evolved to.
by cglace | 2025-04-03 23:02:42+00:00
After spending a week coding exclusively with AI assistants, I got functional results but was alarmed by the code quality. I discovered that I didn't actually save much time, and the generated code was so complex and unfamiliar that I was scared to modify it. I still use Copilot and Claude and would say I'm able to work through problems 2-3x faster than I would be without AI but I wouldn't say I get a 10x improvement.

My projects are much more complex than standard CRUD applications. If you're building simple back-office CRUD apps, you might see a 10x productivity improvement with AI, but that hasn't been my experience with more complex work.
by taeric | 2025-04-03 23:03:05+00:00
A more palatable phrasing, "supervisors prefer people that engage with the rules with purpose." That is, choosing to break a rule because you are making a cost call based on what you were able to achieve is not, necessarily, a bad thing.

The "point" where this fails, of course, is where the "cost" call above is such that the supervisor can't agree.
by ggm | 2025-04-03 23:03:50+00:00
https://en.m.wikipedia.org/wiki/Jasper_Maskelyne

A bit of flim-flam but I would argue he was better placed for his skills. Not an escapologist but in the room next door on stage doing misdirection.

His war record is a bit mixed. I think he may have been a human version of "carrots help night vision"
by anon7000 | 2025-04-03 23:04:25+00:00
Well, part of that is a business need (your app/website/whatever is an extension of your brand, which is a very important part of making money). The other part is there are actually many valid ways to style a button, or have some kind of hover animation, or some kind of navigation bar.

Sure, there are some guidelines and best practices, but there are just infinite ways to display information to people. You can't just look at a technical specification for how well X/Y/Z performs because design is subjective and humans are all different. Whereas none of your users will complain if you use Redis (or similar) for caching something on the backend.
by Kim_Bruning | 2025-04-03 23:04:34+00:00
Here's a question.

What if I want to prompt:

"An image of an archeologist adventurer who wears a hat and uses a bullwhip, make sure it is NOT Indiana Jones."

One way or another, you (and the model) do need to know who Indiana Jones is.

After that, the moral and legal choices of whether to generate the image, and what to do with it, are all yours.

And we might not agree on what that is, but you do get the choice
by WorldMaker | 2025-04-03 23:04:37+00:00
Sure, but a lot of Business undergraduate programs, even at prestigious Universities, are now "pre-MBA" and very MBA-focused, if not "direct to MBA" and allow taking bare minimums of non-Business classes and just about guarantee MBA program entry. For MD this sort of "academic incest" makes sense that you are going to have more because there is too much specialized knowledge to learn during graduate programs. (But also most pre-Med doesn't pre-qualify Med School like "pre-MBA" can.) JDs still seem to expect a variety of candidates of different undergraduate backgrounds, though "Pre-Law" sometimes exists, it often isn't a specific "program" and to my understanding can be several different options from very different undergraduate college options; "Pre-Law" seems as much about navigating the analysis paralysis of all the possible paths as anything else, without narrowing the number of paths.

I think the MBA programs have built "pre-MBA" programs not because they have so many skills to specialize, and not necessarily because they have so many possible paths to try to navigate, but because the it sells more Business school undergraduate credits.

Good MBA programs still exist. Not all MBAs involve "academic incest", and there are still MBA programs that encourage non-Business undergraduate degrees. Not all "academic incest" is bad either. But there's definitely an anecdotal sense that many of the people I see with MBAs spent the least time learning anything that wasn't taught in a Business School classroom, with the least consequences for their non-Business School GPAs, because the Business School wants that graduate degree funnel and the tuition dollars it guarantees, than any other graduate degree program I've seen. (Hence why I mentioned "perverse incentives", especially. The Business School wants you to do well in Business School so you keep paying the Business School. The Business School cares less what you do outside the Business School so that you keep paying the Business School.)
by danpalmer | 2025-04-03 23:05:09+00:00
These timelines always assume that things progress as quickly as they can be conceived of, likely because these timelines come from "Ideas Guys" whose involvement typically ends at that point.

Orbital mechanics begs to disagree about a Mars colony in 10 years. Drug discovery has many steps that take time, even just the trials will take 5 years, let alone actually finding the drugs.
by kjkjadksj | 2025-04-03 23:05:13+00:00
The issue with these ideas is they lack an understanding of anything really about how we fund research in this country. We collect taxes and disperse these taxes in the form of research grants that we have boards of experts in the field call for proposals about realistically achievable topics that would benefit the American citizen in health, wealth, or some other form of prosperity. We only have a few national labs and most of this research is conducted in the university system, which simultaneously trains the next crop of researchers.

Now you are proposing this work doing/training aspect be cut off. What is your replacement? You have to come up with one that gets trainees hands on experience, as well as provides economies of scale benefits for expensive experimental apparatus or sample or data/compute resources, fosters collaboration and idea generation, and shares this work with other grant funded researchers in the field so that they might further their own efforts.

Or, you could just not blow the whole system apart with a broadside strike, and enjoy the striking benefits in fields like medicine we have enjoyed over the decades.
by ddingus | 2025-04-03 23:05:19+00:00
Indeed!

I am a strong tech person. Always have been.

That said, early in my life I took a chance on music and really enjoyed the performing arts. Through an unfortunate set of circumstances, I ended up doing Music education for my peers.

A beloved teacher had a health issue that left them unable to teach and the substitute did not have the same manner and appreciation for the music and after a few conflicts, they called me out and I (foolishly) accepted!

Now I just had to back it up with actions.

Short story, "my" class was a success. Students reached their goals, we placed well in competition and that teacher and I developed a great friendship.

You are dead on with your comment. And having had the chance to take music education, then turn right around and deliver it seriously was at once crazy and ultra enlightening!

I had the realization my chest thumping got me placed into a position where I had an obligation to educate my peers and rid them of that blind spot you wrote of the same as was done for me.

And that was the H in "hard." Running the class, prepping pieces for performance, debugging the choir all were what I thought was hard.

Nope.

Getting them to internalize the humanity of it, language of emotion and all that, is hard. Respect for the art, whatever it may be, is hard. Cultivating the culture of learning, shared vulnerability (in the case of group performing arts) and the intensely personal nature of it all is hard.

I grew half a decade doing that as a high schooler, who had no clue at all what they said yes to...

In the end, a walk through the humanities is both empowering and enlightening on a level many technical people fail to appreciate.

No fault of theirs. They just did not get what I and many others did or gave as the case may be.

I can put a notch sharper point on all this for passersby (assuming you and I talking is preaching to the choir):

The ones who do not take the trip through the humanities are often told what to do by the ones who did.

Thanks for doing the hard work you do. It is often underappreciated.
by 9dev | 2025-04-03 23:06:00+00:00
Maybe people should just don’t listen to AI safety researchers for a few months? Maybe they are qualified to talk about inference and model weights and natural language processing, but not particularly knowledgeable about economics, biology, psychology, or… pretty much every other field of study?

The hubris is strong with some people, and a certain oligarch with a god complex is acting out where that can lead right now.
by TheAceOfHearts | 2025-04-03 23:06:10+00:00
In the WarCraft 3 community they have a custom client and third-party ladder called W3Champions. It adds a few quality of life improvements like allowing you to not get matched against the same player again for 8 hours. But where it really shines is in the ability to moderate the community by banning bad actors. Some popular Twitch streamers tried out WC3 recently and in the official battle.net ladder they got players trolling them by making swastikas with towers or deliberately deboosting in order to snipe them. Once they switched to W3Champions the trolls all went away, but if any showed up they would get banned pretty quickly. One of the biggest benefits of building smaller communities is that it's actually possible to moderate them and elevate the gaming experience of everyone involved.
by bobthepanda | 2025-04-03 23:06:14+00:00
> because they wish they had one themselves

I don't think the OP actually said this specifically. But the economy truly had, for a while, bifurcated in outcomes for people with degrees vs. everybody else. You shouldn't need a degree to live a decent life, but now we are in a timeline where you can put DoorDash on Klarna installments.
by godelski | 2025-04-03 23:06:49+00:00
> I never once claimed traditional engineering is predictable

I'm addressing this because you are stressing that software is unpredictable. You discuss this point as if it is unique to software. That is why I am pointing out that traditional engineering is highly unpredictable as well.

> I am talking about a fully "finished" project

I feel this is quite a narrow viewpoint and I'm not sure exactly how to address this. Do we consider a software project "fully finished"? I feel like you're pushing into a high level of specificity that extends outside the bounds of differentiating software engineering from traditional engineering and is more akin to differentiating software engineering from civil engineering and not from mechanical engineering. Civil engineering and mechanical engineering have different approaches, but their differences do not prevent them from being under the umbrella of "engineering". We're talking at that abstraction level. No one is attempting to claim that everything is similar between software and traditional, just as it'd be ludicrous to say that civil was the same as aerospace (try this with a bunch of aerospace folks, they'll get VERY upset). We're comparing forests, not trees. Yes, the trees make up the forest and they're different, but our discussions are about the similarities and differences in the forests.

> this is about evolving a project

Which is quite common in traditional engineering too. I've lost your point tbh. I quoted from both Dan and Hillel who address points in this direction. Are you being more specific? If so, would you elaborate? And does that level of precision even matter?

> As I believe most technical debt comes from attempting to predict the future and not rushing

While I agree that rushing isn't the only contribution to technical debt, and I even agree that over planning leads to debt, I think this is a mistake to say that rushing doesn't lead to debt. It should be clear at face value given that we all know that you don't know everything until you get into the code and working with it. Like you said, it is evolving. Meaning you learn as you're going. What's the saying? "Move fast and break things." It's a good motto but it needs an addendum: "clean up, everybody do their share." If you just blast forward to make things you're going to break things along the way. This is perfectly fine, as long as you don't leave a pile of garbage in your wake. That garbage is debt. Conversely you can spend way too much time planning and that too is debt, because as we've agreed, you don't actually know all the issues until you get your hands dirty. There's a balance here and if you're trying to put this on a binary spectrum rather than a continuum then you'll just create debt. There is no single contributing factor to technical debt, it is a multitude. A discussion of one factor is not a claim that there are no others.
by nottorp | 2025-04-03 23:07:28+00:00
Here's a rl example from today:

I asked $random_llm to give me code to recursively scan a directory and give me a list of file names relative to the top directory scanned and their sizes.

It gave me working code. On my test data directory it needed ... 6.8 seconds.

After 5 min of eliminating obvious inefficiencies the new code needed ... 1.4 seconds. And i didn't even read the docs for the used functions yet, just changed what seemed to generate too many filesystem calls for each file.
Show HN: FirstClassMeme – Send memes through the actual mail as real postcards
by adboio | 2025-04-03 23:07:46+00:00
Hey HN,

I'm Adam. I built FirstClassMeme, a site that lets you send actual memes through the mail as real, physical postcards.

Why? Because meme postage is funny, and no one stopped me. Also, because I had this idea on Reddit 6 years ago (https://www.reddit.com/r/slavelabour/comments/bnwy0d/offer_i...) and finally had time to build it.

You choose a meme (or upload your own), add a message, and I print and mail it via USPS first-class. You can send anonymously and even schedule delivery for the future. I print everything myself and drop it in the mail.

It’s a one-person project, built with: - React/Next.js - Supabase - Self-hosted memegen (https://github.com/jacebrowning/memegen) - Epson printer in my bedroom

Not sure where this goes next — I just wanted to see if anyone else finds joy in mailing shitposts.

Open to feedback, chaos, or ideas on how to expand it!
by wpm | 2025-04-03 23:08:18+00:00
Launchd 2.0 changed the syntax for the launchctl commands (and made it closed source as it now heavily relies on XPC.Framework). The man page for launchctl lays it all out. Load and unload became "bootstrap" and "bootout". Start became kickstart. As far as I can remember enable/disable are still the verbs, though in order to see the status of jobs' "enablement" you have to use the poorly named "print-disabled". Though the latter only matters for jobs that can actually be disabled, ie, any that have the "Disabled" key set to true in their plist file. By default, jobs in the various LaunchAgents or LaunchDaemons directories are always enabled and always loaded at login or boot respectively.

I literally teach people how to use launchctl every other week. I've found it's unituitive for learners because init systems tend to be unintuitive because there is a lot of hidden action and state going on. It wasn't until I started using it on my own I could develop some instinct for it. Personally, I don't find launchd anything but more ergonomic than systemd. A few man pages and some experimentation and you're at least crawling.

Not to say it couldn't be improved; I'd love to know why a failed bootstrap can't call plutil to at least lint the goddamn plist to notify of basic formatting issues instead of printing the same useless error for everything under the sun. "Error 5: Input/Output error" might as well just be an exit status of 5 for all the help it gives me.
by TheAceOfHearts | 2025-04-03 23:08:29+00:00
Game devs take on the problem by themselves by not releasing a server component. Older games used to release the server component, so people could self host or make their own ladder system. That allowed each community to come up with their own set of rules and restrictions for how much moderation was desired. But in the modern era where the game developer controls the server everyone is subject to a single set of rules.