MurphyA/hacker-news huggingface dataset:
by malak47 | 2025-07-02 20:48:28+00:00
Hi HN,

I’m Malak, a software engineer and indie developer. I recently launched ClipV, a simple and native clipboard manager for macOS.

I built ClipV because I was frustrated with the lack of built-in clipboard history on macOS, and most of the third-party tools I found were either bloated, expensive, or required monthly subscriptions.

So I decided to build my own — lightweight, privacy-friendly, and focused on usability.

Key features: • Automatically saves everything you copy – text, code, images, files • Search by content or by source app (Safari, Finder, etc.) • Customizable UI – font size, color themes, and layout • Works instantly in the background • Built entirely with SwiftUI • One-time purchase ($2.99) – no subscriptions

This is more than just a side project for me — I use it daily, and it’s genuinely improved my workflow as a developer.
by sunrunner | 2025-07-02 20:48:37+00:00
> planned architecture or grown organically

That sounds like a hard or, as if ten years of development of a large codebase was entirely known up-front with not a single change to the structure over time that happened as a result of some new information.

"We build our computers the way we build our cities—over time, without a plan, on top of ruins." -- Ellen Ullman
by inerte | 2025-07-02 20:48:43+00:00
There's a better term for what a MVP should be. MVP implies a minimum set of features you _have_ to develop otherwise users won't touch. The problem is agreeing what this minimum is... in startups that's easier because you have to launch, in big companies the MVP what 13 stakeholders want it to be.

I like Minimum Learning Product, or MLP - what's the minimum you need to launch to start learning? To do user surveys, analytics, get feedback on? You might not even have enough users to really run an A/B test yet, but it captures better the idea of launching small and iterating, anchoring it in listening to your users.
by grg0 | 2025-07-02 20:49:34+00:00
That is not what I understood, and it sounds terrible. What if you're not a crawler but random Joe surfing the internet? Clearly Joe should see content without payment? So they need some way to tell the crawler and Joe apart, and presumably they require the crawler to set certain request headers. The headers aren't just to issue the payment, it's to identify the crawler in the first place?
by PaulHoule | 2025-07-02 20:50:14+00:00
Some of it is China’s willingness to make big capital investments. My wife was shocked at the low price of beech mushrooms at Ren’s Market and I found out these are grown in a huge factory in China where they are very proud that they only have to handle the mushrooms with a forklift. Contrast that to those white button Agricus mushrooms each of which is cut out from the mycelium individually with a knife.

The good news is that they’re building one here

https://finc-sh.com/tag/new/

When you look at solar panels and lithium batteries their biggest advantage is that they invest in large scale heavily automated factories. For really labor intensive and low value things like those dog beds Chinese labor is already too expensive and production is going to places like Bangladesh.
by mikestew | 2025-07-02 20:50:26+00:00
In reference to the app developer: we are looking at it, we are looking at him, and he better watch out...

So they're not even trying to disguise the fact anymore that they're a bunch of goons? And this, coming from a person that went to law school.

Meanwhile, I'm going to download the app right now. Thanks, Streisand effect!
by kkxingh | 2025-07-02 20:51:03+00:00
Hey HN! I recently launched https://webdev.club — a fun, simple community for web developers to share posts, react, and grow together. Think of it like a cozy clubhouse for devs who love HTML, CSS, JS, React, Angular, or just ranting about semicolons

It has GitHub login, post sharing, reactions, and a friendly vibe — but I'm looking to evolve it further.

What small (or big) feature would you love to see in a dev-focused community? Something useful, silly, or just surprisingly delightful?

Appreciate any thoughts!
by IG_Semmelweiss | 2025-07-02 20:51:41+00:00
OK. In that case lets not use "bloat", and instead just call it the biggest subsidy for the middle and upper classes, coming from the backs of the unemployed, lower class

Guess who's uninsured? Its not the META employee with fertility benefits.

Satire is whomever cannot see why Trump would be voted by the working class: whomever thinks the status quo was to the benefit of the lower, blue collar class... while the middle and upper class ride their (untouchable) govt benefits (SSN) to a secure retirement because the elite class has a secure bureaucratic job (while the lower classes struggle to find 1 part time job).

Meanwhile, the chinese eat the lunch of the working class who see their jobs being exported abroad, because no employer wants to pay for subsidies/retirement/salaries of an elite bureaucratic deadweight class (that makes the rules for themselves, and forgets the neediest).
by tome | 2025-07-02 20:51:41+00:00
> But historically, wasn't there a fair period of time between Haskell insisting on referential transparency (and therefore not allowing traditional mutable state) and monads being introduced as a way to deal with it? That was my understanding of the history.

Yes, although there were solutions in the meantime. I/O was performed in the original version of Haskell through input-output streams and continuation passing style. It turns out that both approaches could have been given monad interfaces if "monad" as an abstraction had been understood at the time, but it wasn't, so they had ad hoc interfaces instead.

> And if so, then it seems fair to say at least that monads were a way to get around the limitations imposed by a desirable feature of the language...

I mean, sort of, but that seems more of a judgement than a fact. Would you say that function calls in C were a way to "get around the limitations imposed by not allowing global jumps"?

In both cases I'd just say they're a useful abstraction that lets you achieve a well-specified goal whilst preserving some desirable language property.
by rickydroll | 2025-07-02 20:52:26+00:00
I'm one of those people who take the bright, shiny trinket that engineers love to show off and, after a few moments, make it start oozing a brown, smelly fluid as I find the flaws.

Another area where people don't dog food anywhere near enough is handicapped accessibility. It's a catch-22 situation where people like me can't write code because their hands or eyes don't work correctly, and those who have the physical ability to write code don't use accessibility tools.
by 66fm472tjy7 | 2025-07-02 20:52:27+00:00
Put an expiration date on the storefront and make it clear that your software is not guaranteed to continue working after date X

False, it says[0]

providing reasonable means to continue functioning of said videogames without the involvement from the side of the publisher

It MUST be possible to continue playing the game using reasonable means. It is not sufficient to declare an EOL date.

Have your server source code (stripped down of proprietary stuff) ready for public release at EoL

This would only be sufficient if the proprietary dependencies are reasonable easy to acquire.

Allow customers to reverse engineer the binaries and communication protocol after EoL

I don't think this reverse engineering could currently be disallowed in the EU, so it would not be affected by the initiative.

Package dedicated server binaries with the game

True, it would meet the requirements of the initiative, but it would be sufficient to provide the server after EOL.

----

[0] https://citizens-initiative.europa.eu/initiatives/details/20...
by damnesian | 2025-07-02 20:53:04+00:00
>It aimed to please the user, not just as flattery, but also as validating doubts, fueling anger, urging impulsive actions, or reinforcing negative emotions in ways that were not intended

In other words, confirming our worst imaginings about the capabilities of LLMs. Will we always be so lucky as to have this sort of gatekeeper?
by invalidOrTaken | 2025-07-02 20:53:15+00:00
>Are we supposed to focus only on the certain cultures and ignore others when we talk about health and life expectancy?

If you want to get anything done, then hell yes! If life expectancy is low in Concord because of too many Doritos, but it's low in Phoenix because of a bad medical system, and it's mysteriously high in Fresno, you very much want to disaggregate. And you definitely don't want to ask "What is going so well in 'the U.S.'(Fresno)?" and then look at Concord.
by InkCanon | 2025-07-02 20:53:38+00:00
I really want to destroy this blatant lying by tech CEOs that these are layoffs because of AI, tax laws or interest rates. Most tech companies have headcounts at their peak or slightly below. Whenever these amounts are fired, often near equal amounts are hired in India (and not counting L-1 transfers into the US, H1Bs etc). AI is a fiction invented to cover up the true reason: tech companies have adopted a long term strategy of profit making by wage arbitrage. They have identified their largest cost to be people, and are working to fix this.
by magicalhippo | 2025-07-02 20:54:59+00:00
The name was originally used as an insult[1], however the followers adopted it, thus rendering the insult moot:

In 1650, Fox was brought before the magistrates Gervase Bennet and Nathaniel Barton, on a charge of religious blasphemy. According to Fox's autobiography, Bennet "was the first that called us Quakers, because I bade them tremble at the word of the Lord". It is thought that Fox was referring to Isaiah 66:2 or Ezra 9:4. Thus the name Quaker began as a way of ridiculing Fox's admonition, but became widely accepted and used by some Quakers

[1]: https://en.wikipedia.org/wiki/Quakers#Beginnings_in_England
by Alifatisk | 2025-07-02 20:55:28+00:00
I like D, it's fascinating and powerful language. It made it even more curious when I watched Tsodings video on D. One thing that came to my mind when reading the article is that things like int.init instead of 0 and $ as shorthand for array.length does add to the mental load.

One good memory I had is a couple of years ago when I built a little forum using D. Man the site was blazing fast, like the interaction was instant. Good times.
by gavinray | 2025-07-02 20:56:19+00:00
I've hospitalized myself from an accidental overdose on it, don't have to tell me lol.

Spent 8 continuous hours vomiting with the worst nausea I've ever felt in my life.

Lesson hard learned. I've been using Phenibut for nearly 10 years, I only take it on the weekends.

I quite enjoy high doses, feels much better than drinking without negative physical side effects. I don't drink alcohol in general, to be honest.
by p_ing | 2025-07-02 20:56:59+00:00
> Case in point: the concept of a service plan. It's straight up stupid to have a so-called cloud provider force customers to manage how many instances packing X RAM and Y vCPUs you need to have to run a function-as-a-service app, and then have to manage how that is shared with app services and other function apps.

You're not forced to, you can use a consumption plan.

https://azure.microsoft.com/en-us/pricing/details/functions/...
by bigyabai | 2025-07-02 20:57:10+00:00
The inverse is true, though - climate skeptics are oftentimes paid by the (very rich) petrol lobby to espouse skepticism. It's not an asinine attack, just an insecure one from an audience that also overwhelmingly accepts money in exchange for astroturfing opinions. The clear fallacy in their polemic being that ad-hominem attacks aren't addressing the point people care about. It's a distraction from global warming, which is the petrol lobby's end goal.

Yudkowsky's rhetoric is sabotaged by his ridiculous forecasts that present zero supporting evidence of his claims. It's the same broken shtick as Cory Doctorow or Vitalik Buterin - grandiose observations that resemble fiction more than reality. He can scare people, if he demonstrates the causal proof that any of his claims are even possible. Instead he uses this detachment to create nonexistent boogeymen for his foreign policy commentary that would make Tom Clancy blush.
by nine_k | 2025-07-02 20:57:19+00:00
To get a minimal idea, you can think about a monad as of a parametrized class: M<T>. Its functioning follows "monad laws" that allow you to do certain things with it, and with the value(s) of T wrapped my it. In particular, you can always "map" the values:

M<T1>::map(f: (T1 -> T2)): M<T2> List<int>([1, 2, 3]).map(x => toString(x)) == List<string>(["1", "2", "3"])

You can always flatten the nested structure:

M<M<T>>::flatten(): M<T> // [["a", "b"], ["c", "d"]] -> ["a", "b", "c", "d"]

This is usually expressed in a different form, more fundamental:

M<T1>::flatMap(f: (T1 => M<T2>)): M<T2> List(["a b", "c d"]).flatMap(x => x.split()) == List(["a", "b", "c", "d"])

You can notice how that map() thing does looping over a sequence for you.

But Optional<T> is also a monad:

let x: Optional<int> = Some(1); let y: Optional<int> = Nothing; x.map(n => n + 1).map(n => n * 2) == Some(4); y.map(n => n + 1).map(n => n * 2) == Nothing;

As you see, the same map() (and flatMap()) does the condition checking for you. and can be chained safely.

You can also notice how chaining of map-like operations does operation sequencing:

fetch(url).then(content => content.json()).then(data => process(data))

Your language, like JS/TS, can add some syntax sugar over it, and allow you to write it as a sequence of statements:

async () => { const response = await fetch(url); const data = await response.json(); process(data); }

Promises are not exactly monads though, a Promise<Promise<T>> immediately transforms into Promise<T>. But other monadic properties are still there.
by jakeinspace | 2025-07-02 20:58:32+00:00
Besides screen readers, using a single descriptive noun as the link text might help for maintainability in some situations. First, it reduces the chances of a given link accidentally getting copied to another section by an unscrupulous maintainer. Second, in case of a dead link with a non-obvious URL (like maybe some ancient sourceforge link to a now renamed project), the link text is an extra bit of information to remind you if and how the dead link should be updated (assuming no comment exists). I admit that's a pretty minor benefit.
by zahlman | 2025-07-02 20:59:13+00:00
> don't take into account the steep fall in prices of consumer goods due to offshoring.

The definition of "real wages" takes this into account - because they are indexed by the consumer price index, which tracks the prices of consumer goods.

Some goods have dramatically fallen in price (especially if one takes the so-called "hedonic adjustments" into consideration, i.e. attempts to price increasingly more powerful computers and visually impressive TV displays on a continuous spectrum over time). Others have dramatically risen. "Consumer goods" include things like food (https://www.investopedia.com/terms/c/consumer-goods.asp), and certainly cars have also been more expensive of late.

The cost of, say, housing is also clearly not experiencing a "steep fall due to offshoring".
by wredcoll | 2025-07-02 20:59:30+00:00
You're not wrong, but very often those philosophical differences are being masked by lies.

I don't want to get into the gory details in this tiny text box, but any number of current fear based political campaigns use wildly "distorted" facts to bolster their arguments, and most of the time reporters just blindly repeat whatever the person says without attempting to verify it.
by qualeed | 2025-07-02 20:59:44+00:00
I hadn't heard of this, but it says:

>The hypothesis is widely rejected by relevant experts.[2][1][3][4] It is influenced by creationism [...] It is an alternative to the long-standing and widely accepted explanation that the Younger Dryas was caused by a significant reduction in, or shutdown of the North Atlantic Conveyor due to a sudden influx of freshwater from Lake Agassiz and deglaciation in North America. [...] Authors have not yet responded to requests for clarification and have never made their raw data available

Is there a reason why the widely accepted explanation isn't satisfactory?
by aapeli | 2025-07-02 21:00:03+00:00
Couchers founder and wrote the article.

I don't think so: it just takes thoughtful moderation, setting clear rules, and then enforcing them. When you make it socially unacceptable on the platform, people do a good job reporting inappropriate behavior.

I think the reason that CouchSurfing.com turned into a low-key hookup app is that it was actually a profitable strat for them. They used to monetize verification (something like $60 per verification), and my hypothesis is that a large proportion of people who ever verified paid for verification soon after signing up. By being a hookup site, it actually increased the perceived value to a certain subset of people signing up, which increased signups, verification numbers, and revenue. Of course this made the experience worse on the platform itself once people tried to use it, but they could milk that "easy way to hook up" concept for a long time (basically until the pandemic killed it).
by ars | 2025-07-02 21:00:04+00:00
Is that why they come across as so antisemitic?

Obviously there are biased antisemitic news organizations, but of the high-profile ostensibly neutral ones BBC stands head and shoulders above the rest in the level of antisemitism.

(You don't have to take my word for it - a quick Google will find huge numbers of examples. Usually they'll get criticized and then post a correction, so in some sense they themselves acknowledge the problem - yet it keeps happening.)
by justinram11 | 2025-07-02 21:00:15+00:00
Although I think Cursor has the best UX (love how they queue up diffs that you then go through and can review/approve/deny easily while the agent still works), I've since switched to Claude Code + JetBrains IDEs as the sweet spot for powerful IDE + AI Agent.

Perhaps I just haven't found the right combination of plugins, but I can't for the life of me get VSCode code navigations (go to, find definitions, refactor method, etc) to work half as well as a JetBrains IDE (much less get a debugger working).
by throw0101b | 2025-07-02 21:00:24+00:00
> That's more like injecting it, rather than just rinsing, or even swallowing (not recommending) it.

Yeah:

> US President Donald Trump has been lambasted by the medical community after suggesting research into whether coronavirus might be treated by injecting disinfectant into the body.

[…]

> "And then I said, supposing you brought the light inside of the body, which you can do either through the skin or in some other way. And I think you said you're going to test that too. Sounds interesting," the president continued.

> "And then I see the disinfectant where it knocks it out in a minute. One minute. And is there a way we can do something like that, by injection inside or almost a cleaning?

> "So it'd be interesting to check that."

* https://www.bbc.com/news/world-us-canada-52407177

Do not under-estimate the left-hand side of the bell curve.
by rickydroll | 2025-07-02 21:00:26+00:00
not always...

https://pubmed.ncbi.nlm.nih.gov/37486680/

"The excess death rate among Republican voters was 43% higher than the excess death rate among Democratic voters."

Admittedly, a cherry-picked quote, but it's the salient point of how susceptibility to misinformation can shrink the current generation.
by teaearlgraycold | 2025-07-02 21:00:34+00:00
I am bewildered by the posts where people claim to have 20+ agents running at the same time on their repo. I’ve used o3, Claude 4 Opus, Gemini 2.5 Pro, and they can’t run for more than 15 minutes in the best of cases without fucking up or getting caught in a loop. Tasks that are slightly more complicated than your average code are beyond their comprehension.
by cjbgkagh | 2025-07-02 21:00:37+00:00
Was just about to say this, Modafinil is my stimulant drug of choice. 100mg. Really smooth and lasts all day. I do need to take amitryptiline to help sleep but I have noise intolerance related sleep issues anyway and the combination of the two meds is complementary. My only regret is not starting sooner - I had a rather anti drug bias and saw needing medication as a weakness.
by ajmurmann | 2025-07-02 21:00:48+00:00
That is part of it but it goes beyond it. I have a group of friends who are pretty much all nerds and every once in a while we end up discussing how desirable different countries are to live in. Because we are nerds metrics will be pulled out. You just need to look at so much and depending what you personally care about things can be very misleading just because you scoped some metrics wrong. It's not obvious to everyone that Ireland has a high GDP because corporate profits get funneled through there. Looking at many European countries you might think salaries are pretty good, especially when PPP corrected. Well, Unless you are a software engineer. Houses might be cheaper, till you look at price per squarfoot... It's genuinely hard.
by JoshTriplett | 2025-07-02 21:00:49+00:00
I agree that an AI is unlikely to help. But also, I doubt that the primary reason is "restoring trust". I think the primary reason for many of them is that some of their readers react strongly to things they don't want to hear, and they're afraid of losing customers, so they're watering down their reporting to avoid being inconveniently right.

Or, even less charitably, management and employees have different politics, and management are the ones who find the articles inconvenient.

To be clear, there are absolutely biased news sources out there. For many of them, the bias is the point, and they have no particular desire to "restore trust" because they're already trusted by people who only want to read things supportive of their party. But a politician who finds the truth inconvenient will decry everything accurate as biased.
by alnwlsn | 2025-07-02 21:00:50+00:00
I'll have you know I did successfully claim my $50 from that refund program they did for the 4a.

> "enter your sn in this form to see if you qualify"

> enter sn

> "great, you'll hear from us in 2 weeks"

> 2 weeks pass

> "you're eligible! you can either have $50 or $100 towards a new phone"

> just bought a new phone, give me the 50

> "great, you'll hear from us in 2 weeks"

> 2 weeks pass

> "we use a 3rd party to issue refunds, download their app"

> download app

> setup account

> verify account

> enter bank info

> "great, you'll hear from us in 2 weeks"

> 2 weeks pass

> "sorry, we couldn't process your bank info"

> dammit, forgot app password

> recover app account

> re-verify app account

> reenter banking info

> "great, you'll hear from us in 2 weeks"

> 2 weeks pass

> "your bank info is verified. You'll get your refund within 2 weeks"

> 2 weeks pass

> money deposited

barely even worth it.
by gligierko | 2025-07-02 21:02:03+00:00
Location: Szczecin, Poland (EU)

Remote: Yes Willing to relocate: No Technologies: iOS (Swift, SwiftUI, Objective-C), Metal, OpenGL, CoreData, CoreML, AppleVision, AudioKit, LLM fine-tuning, on-device AI deployment, git Experience: 19 years software development, 14+ years iOS Email: g5@pgligierko.com LinkedIn: https://www.linkedin.com/in/greg-ligierko/

Hi there! Get in touch if you need an easy to work with and versatile lead iOS developer for your app or platform that needs good performance, slick user experience, and some kind of AI. I'm a developer and cofounder (indie game) specializing in graphics optimization (Metal/OpenGL), real-time visualizations, and embedding ML models for on-device inference. Experience with LLM fine-tuning, vector search, and converting large models to compact on-device implementations. Led development of an App Store-featured app WikiNodes, and games with multiple awards. Recently built a word game system navigating 1.5M+ words with 110M+ relationships using Metal shaders at 60fps.

Seeking remote senior/lead role.

Personal site: https://www.pgligierko.com/

Recent project: A pathmaking wordplay game: https://www.inotherwords.app