MurphyA/hacker-news huggingface dataset:
by 542354234235 | 2025-05-19 15:55:22+00:00
>As in a lot of home automation actually makes things worse. Replacing a convenient light switch with an app? 100% terrible idea and actually makes things inconvenient, don't automate those.

But this isn’t automating anything, you are still just manually controlling things. I lights in my office automated, so that they do different things based on the time of day, room occupancy, door open or closed, etc. The lights follow circadian rhythm to be cool during the day and warm after dark. When it is close to bedtime, I run one command that changes the behavior of many things in the house, including turning off certain appliances and changing light behaviors. That includes the bedroom only turning on a red light under the bed when the door opens so we can find our way to the bed without waking the other person, and other rooms only turning on a very low level “night light” for moving through the house comfortably for a glass of water or something.

Everything can be overridden with manual input at light switches or app commands, and each behavior will turn off automatic control for a set period so it doesn’t fight me when I set something myself. That is home automation, not being able to turn your living room lights on by yelling at Alexa.
by david_allison | 2025-05-19 15:55:46+00:00
Hi Lee,

We have 4 levels of integration:

* Some apps which integrate with AnkiDroid via our Content Provider based API (see [0]). This integrates with the Android permissions system, but you may also disable all integrations in the AnkiDroid Advanced Settings. AnkiConnect support (REST API) can also be enabled using a third party app.

* System Context Menu (ACTION_PROCESS_TEXT): Selecting text in most apps should provide an 'Anki Card' option in the context menu. This may need to be enabled in AnkiDroid: Settings - General. This may also need to be enabled on your system (system dependent: long press text in an app, expand the context menu to 'more items' and select 'Manage Apps')

* Android Share Menu: Select text and select 'Share', this enables use of our 'Instant Note Editor' for cloze deletions, as well as our standard 'Add Note' screen[1]

* Android Intents (should work with Tasker)[2]

[0] https://github.com/ankidroid/Anki-Android/wiki/Third-Party-A...

[1] https://github.com/criticalAY/GSoC-Report/blob/main/README.m...

[2] https://github.com/ankidroid/Anki-Android/wiki/AnkiDroid-API...
by osigurdson | 2025-05-19 15:56:12+00:00
This is ChatGPT's self assessment. Perhaps you mean a specialized agent with RAG + evals however.

ChatGPT is not reliable for medical diagnosis.

While it can summarize symptoms, explain conditions, or clarify test results using public medical knowledge, it: • Is not a doctor and lacks clinical judgment • May miss serious red flags or hallucinate diagnoses • Doesn’t have access to your medical history, labs, or physical exams • Can’t ask follow-up questions like a real doctor would
by lwo32k | 2025-05-19 15:56:29+00:00
There is a third very likely possibility that neither and no one will dominate. Dominating anything is getting harder not easier.

Everyone is going to struggle cause Complexity is rising like at no time in the past, and our limitations to juggle it all, get more and more apparent by the day.

Covid/GFC gave everyone great hints that systems are seriously struggling to cope.
by adpirz | 2025-05-19 15:56:33+00:00
It's hard to unpack without knowing more about the use case, but adding discriminant properties (e.g. "user_type") to all the types in the union can make it easier to handle the general and specific case.

E.g.

if (user.user_type === 'authenticated') {

// do something with user.name because the type system knows we have that now }
Ask HN: Why does Google Photos' search suck?
by sexy_seedbox | 2025-05-19 15:57:09+00:00
I take all my photos with Google Camera on a Google Pixel phone. I give Google all of my location and I even tag most of my photos with descriptive captions. How is it possible for it to only find 4 photos of "cats" when I have literally hundreds of cat photos on my phone?
by MyOutfitIsVague | 2025-05-19 15:57:21+00:00
There's very little to it, really, just a messages table with a id INTEGER PRIMARY KEY AUTOINCREMENT column (autoincrement to prevent id reuse, which is otherwise legal), a payload TEXT NOT NULL column (which is usually JSON encoded), and, in my case, a TEXT json annotations column, with some computed indexes. A publisher just pushes rows in, and a subscriber takes an exclusive lock to grab the first row matching the annotations that it cares about (I use DELETE RETURNING, but you can make it work however you need).

You can use `PRAGMA data_version` on a dedicated thread to watch for changes and notify other waiters via a condition variable. It's not the nicest solution, because it's just a loop around a query, but it gets the job done.

A req-rep pattern can be done by doing a `INSERT ... RETURNING id` and having the the other side re-push into the same or a different message queue with an annotation referring to that id. Alternatively, you could have a table with a req, rep, and status column to coordinate it all.

It's far from everything you'd need from a complete, robust message broker, but for small single or multi-process message queue with a max of a few dozen readers and writers, it gets the job done nicely. In a single process, you can even replace the data_version loop thread with `sqlite3_commit_hook` on writers to notify readers that something has changed via the condition_variable.
by iLemming | 2025-05-19 15:57:26+00:00
> If someone knows of such a tool, I would love to hear about it.

Well, you probably not gonna like this but Emacs with Org-mode is excellent for managing Anki cards. My SR cards are not in some other medium — they are literally my notes. I can edit them freely; I can generate new content easily (e.g., using LLMs); I can turn any thought or a book quote into a card and vice-versa; cards are version controlled; I can embed formulas and code snippets; they are easy to search through; they are platform-independent; they are contextual — my cards are intertwined with additional notes, book annotations, screenshots, video links, etc — they help me study subjects with immersion;
by xorcist | 2025-05-19 15:57:41+00:00
Much more importantly: Never ever auto-translate content to the user's language.

Present what languages you actually have the data in. The user is smart enough to click the "translate" button in the web browser should they want. That translation is also likely to be better quality.

English is not my first language. Or my second. But I understand it well enough to work in it every day. And I never ever want to wade through auto-translated garbage just to find the right button to read the original English version. Because for some reason this is only a problem for English, web sites using other locales never do it, which should be indication enough that international visitors hate it.

If you ever think about using machine translation tools for you web site, first you must do a full translation round trip for every language before publishing. Translate, paste back the result and translate back. That is roughly what you intended to publish. Don't do it.
by achierius | 2025-05-19 15:57:45+00:00
It was only the best work they could get because they had been forced out of the countryside by cost increases, automation, and centralization of land ownership. They teach about the enclosure of the fields in schools for a reason: what had once been communal property of villages throughout England became the exclusive property of the nobility. By and large, if people had a choice they preferred to remain a peasant: you lived in the countryside, breathed clean air, stayed close to the friends, family, and community you were raised with, were self-sufficient, had space and time to raise a family, worked on your own schedule (at least day-to-day), didn't have to let some 'boss' treat you like a slave, didn't have to fear being 'fired', so on and so forth.

To quote an economist (Branko Milanovic) who's done work on this topic in the context of 19th century Serbia attempting to industrialize their peasant population:

> All contemporary evidence points to the fact that peasants were not at all keen to move to cities and work for a wage. Since there was no landlessness very few people were pushed by poverty to look for city jobs. Political parties which strongly (and understandably) represented peasantry further limited mobility of labor by guaranteeing homestead (3.5 ha of land, house, cattle, and the implements) which could not be alienated, neither in the case of default on a loan nor in the case of overdue taxes.

> This situation was very typical for the late industrializers in South-East Europe. Greece, Bulgaria and Serbia were all overwhelmingly agricultural with small peasant landholdings and no landlessness. All displayed slow or arrested capitalist development and half-hearted urbanization. The reason was simple: farmers had no incentive to move from being self-employed to being hired labor. And who would prefer to switch from being one’s own boss and dependent perhaps only on the elements to become a hired hand, working six days a week all year round, in “satanic mills”?

> ...

> The question is, how do you industrialize under such conditions? Reluctance of peasants, whenever they had their own land, to become industrial workers has been discussed (Gerschenkron, Polanyi). In England they had to be literally chased from land through enclosures; in France, the process was much more overdrawn and took a century; in Germany, Poland and Hungary, large estates owned by nobility and consequent landlessness did the job. In Russia, it was bloody and occurred through forced collectivization.

> ...

> The process whereby agricultural economies industrialized was wrenching. The displacement and unhappiness of the population dragged into industrial centers through either empty stomachs or outright terror was incomparable in its human costs to today’s similar transfer of labor from manufacturing to services (or to unemployment). The transformation in the underlying economic structure is never easy but it seems to me that the one from the fresh air and freedom of own farm to being a cog in a huge soiled machine of industrialization was the most painful.
by 90s_dev | 2025-05-19 15:57:48+00:00
const cached = new Map<string, Function>() export function as<T>(o: any, path: string, as: (o: any) => T | undefined) { try { let fn = cached.get(path) if (!fn) cached.set(path, fn = new Function('o', `return o.${path}`)) const v = fn(o) return as(v) as T | undefined } catch (e) { return undefined } } as.number = (o: any) => (typeof o === 'number' ? o : undefined) as.string = (o: any) => (typeof o === 'string' ? o : undefined) as.boolean = (o: any) => (typeof o === 'boolean' ? o : undefined) as.numbers = (len = 0) => (o: any) => (o instanceof Array && o.length >= len && o.every(c => typeof c === 'number') ? o : undefined) as.strings = (len = 0) => (o: any) => (o instanceof Array && o.length >= len && o.every(c => typeof c === 'string') ? o : undefined) const size = as(usrConfig, 'sys.size', as.numbers(2)) const fontpath = as(usrConfig, 'sys.font', as.string)
by Der_Einzige | 2025-05-19 15:57:55+00:00
You can get goodyear welted boots which are decent and will likely last on the order of 10 years for 200$ if you're willing to let the person hand stitching it for you be brown and overseas (i.e. buy from Thursday who will make them in Mexico or Portugal)

Hell, Schott will sell you a pair of made in the USA goodyear welted boots for 300$.
by catapart | 2025-05-19 15:58:06+00:00
Sold!

I've been waiting for something like this for the last year or so. There's so much that's SO CLOSE, but nothing quite as simple as "npm install -> add necessary config -> npm publish". That's what I've been waiting for and that's what it looks like you are offering here.

Very excited to spin up a new Hostinger VPS and slap this on there to provide syncing for local-first apps. If it's as easy as your docs make it seem, this will save a ton of time and headaches!
by thaumaturgy | 2025-05-19 15:58:07+00:00
You can get pretty close to this with VirtualBox, which is one of two reasons I'm still using it.

I have multiple VMs running on my laptop. I can attach an external display and resize the VM windows. When detaching the display, the windows all resize back down automatically. With shared clipboard and a few other niceties, each VM feels pretty close to a native experience.

I have single-application VMs (e.g., the one that hosts my daily-driver browser environment that I'm typing into right now); those run a lightly customized openbox environment and the application is full-screened inside the VM. Those really feel like a Qubes-like experience, like a native application but inside a VM.

I also have purpose-specific VMs. For example, anytime I get started on a new contract, I spin up a new VM for it. All credentials, dev tooling, files, etc. for that project are contained inside that VM. I typically set it up so that there are multiple virtual desktops on my host environment, but a single desktop inside the VM; alt-tab switches tasks inside the VM but not the host environment. So, it's easy to switch "into" the project VM, work there for a while as naturally as I would if everything were native, and then switch out again as needed.

I really really want to swap all of the VirtualBox bits out with QEMU or KVM, but those aren't quite as polished just yet -- despite VirtualBox's numerous and sometimes work-stopping bugs, and the ever-looming threat of Oracle's litigation team.
by 8s2ngy | 2025-05-19 15:58:15+00:00
Congratulations to the Zod team on the new release. At the risk of sounding overtly negative, I can't help but shudder when I think about the number of breaking changes outlined in the migration guide. For projects that rely heavily on Zod, it feels like a daunting task ahead—one that will demand a lot of developer attention and time to navigate. Having maintained a few frontend projects that are 4-5 years old at work, I really empathize with them.

In my experience, large React projects often depend on a multitude of libraries, and when each one rolls out substantial changes—sometimes with barely any documentation—it can quickly become overwhelming. This is honestly one of my least favorite aspects of working with JavaScript. It just feels like a constant uphill battle to keep everything in sync and functioning smoothly.
by stormblooperz | 2025-05-19 15:58:19+00:00
I'm sorry you've been swore at, that's obviously not on.

I guess I would say: look at the big picture, Stack Overflow is almost dead. It's a bit like driving a car off a cliff because there's a post-it note on the wheel that describes that purpose of the car as to go inexorably in this one cardinal direction. At least the standards are established and thoroughly documented! The document objectively exists!

Also: I know several kind and smart people who have sworn off Stack Overflow forever, not because they misunderstand the purpose of the site, but because of the unkindness and nonsensical nature of the moderation. You are aware of the "popular art form" reporting these experiences - those with empathy pay attention to it.
by demosito666 | 2025-05-19 15:58:20+00:00
Aesthetics is objective as long as we’re talking from casual perspective, which is always the case for infrastructure and buildings unless we’re at architecture summit. 90% of people would agree that Amsterdam or Paris city center is more beautiful and pleasant to be in than modernist hellscape at outskirts of Soviet cities. And therefore 90% of the buildings should be built with this in mind, when feasible, because it directly affects wellbeing of humans. Weathered concrete finish is nice in art house movies and in hipster bars, in everyday life it’s ugly and depressing on large scale objects for most people. The rest 10% would be perfect for modernism/functionalism/brutalism, but unfortunately proportions are reversed today. This is of course more subtle for pure infrastructure like bridges or highway interchanges, but the general principle still applies.
by hyperbovine | 2025-05-19 15:58:24+00:00
This is a common misconception usually spouted off by “elite” (aka beginning) woodworkers. Pine (white pine in particular) is a great material for woodworking. Much cheaper and more forgiving than harder species, takes stain well, and looks incredible when properly finished. If you think it won’t last, go look at pretty much any barn built over 100 years ago in the eastern US that is still standing. More often than not you’ll find thousands of board feet of old growth white pine inside. Similarly, many heirloom pieces from the same region and period are pine. They used what they had.

https://www.finewoodworking.com/2022/06/16/for-the-love-of-p...
by alpaca128 | 2025-05-19 15:59:04+00:00
In very early photography the exposure time was so long that people used expressions they could keep up for a while without moving.

Europe is comparable to the US in terms of happiness if not better, yet Europeans don't smile as much. Faking a smile is considered weird unless you're a politician in press photos (and those look creepy if you actually look at them closely)
by zahlman | 2025-05-19 15:59:11+00:00
Arguably, LLMs - or whatever systems succeed them - are only useful if they are not AGI. Given the evidence already collected about how willing humans are to make these systems "agentive", we pretty well have to worry about the possibility of an AGI using us instead. Even if there's some other logical barrier to recursive self-improvement ("hard takeoff") scenarios.
by igouy | 2025-05-19 15:59:22+00:00
> There's a reason why…

Incumbency advantage.

Free as-in beer versus commercial proprietary.

etc.

> walled gardens like Smalltalk "images"

Smalltalk has archived code in text files for like 40 years.

1984 "Smalltalk-80 The Interactive Programming Environment" page 46

"Within each project, a set of changes you make to class descriptions is maintained. … Using a browser view of this set of changes, you can find out what you have been doing. Also, you can use the set of changes to create an external file containing descriptions of the modifications you have made to the system so that you can share your work with other users."

https://rmod-files.lille.inria.fr/FreeBooks/TheInteractivePr...

~

Smalltalk can be written with MS Notepad, imported and incrementally compiled with fileIn, and run.

Using a designed for Smalltalk IDE will likely be more productive.
by daveguy | 2025-05-19 15:59:49+00:00
It should have told you it has no concept of A or not-A, doesn't perform anything close to thinking, and was just picking the most likely words to follow the prompt and context window both times. The people who program it weren't "going for" anything as they couldn't "go for" any specific response. And the model has no concept of self, jokes, or even perception by an outside entity. But it will pick phrases that mimic its training set and those might happen to be about any one of those topics.
by Der_Einzige | 2025-05-19 15:59:51+00:00
I compared Miele, Thermador, gaggenau, and regular Bosch 800 fridge side-by-side in a appliance store.

There is nothing on those higher end versions which make them worth anything close to the markup on the Bosch 800 fridge.

If I'm going to spend almost 2X, you better give me at a minimum fully metal and glass construction (almost no plastic). I get slightly more metal and slightly (very slightly) stronger plastics. That's about it.

What a scam. Don't buy Miele or gaggenau. If you want a truly high end fridge, you'll need a built in made by someone like subzero or its competitors.
by ilamont | 2025-05-19 16:00:05+00:00
Hard to believe the DPP followed through with this plan, especially in light of the aggressive "exercises" by the PLA in recent years.

What's the opportunity for solar? Abundant sunshine most of the year, declining interest in family farming.

Taiwan has offshore wind power, but the cost is twice as much as renewables:

Taiwan’s offshore wind projects are paid for by Corporate Power Purchase Agreements (CPPAs) from large tech companies. They might be willing to pay above and beyond the usual price for the renewable energy they need for their supply chain commitments, but they are balking at paying what the offshore wind industry says they will need to sustain the Taiwan projects, above NTD$5 per kilowatt hour. That is almost twice as much as the rates they usually pay through Taipower for non-renewable energy.

https://english.cw.com.tw/article/article.action?id=3623
by squeedles | 2025-05-19 16:00:05+00:00
Alas, thought the original article was going to have some juicy details about the vector hardware. But since it was a survey of games inspired by the original, I feel compelled to mention "Maelstrom" by Ambrosia.

For my money, this was the absolute best take on Asteroids since the original. Originally Mac, but the source was later released and was ported to PC. We even had a tweaked version that we called "Carnage" that generated many storms of presents, comets, spiky balls, etc.

https://en.wikipedia.org/wiki/Maelstrom_(1992_video_game)
by ty6853 | 2025-05-19 16:00:38+00:00
2 people x the entire weekend = 32 hours labor, which was the quoted time for how much upkeep the household required.

Including business overhead, licensing, insurance, etc you're at 35-50k for a year of 32 hours of labor a week with the upper end a w2 employee and the lower end an illegal.

Original value looks correct.
by probabletrain | 2025-05-19 16:00:42+00:00
In an ideal world you'd have one source of truth for what the shape of a User could be (which may well be a discriminated union of User and AnonymousUser or similar).

Without fullstack TS this could look something like: (for a Python backend) Pydantic models+union for the various shapes of `User`, and then OpenAPI/GraphQL schema generation+codegen for the TS client.
by strangecasts | 2025-05-19 16:01:14+00:00
Obviously I can only speculate since I neither have access to their dataset nor interest in paying for API access, but crawling and dataset cleaning have gotten much better since the GPT-2 days, especially after Microsoft's PHI models [1] demonstrated how much dataset construction matters for parameter efficiency and toxicity. Having some basic content filtering is a pretty established part of data cleanup -- e.g. the fastText toxicity classifiers in the Dolma pipeline [2] -- which obviously still leaves in bad data, but certainly won't leave in the entirety of /b/

If shoddy data collection was the problem, we should expect the model to do much worse on overall leaderboards like [3], which require models to answer questions without sudden detours into Holocaust denialism. A change to the system prompt is more consistent with this, and as an added benefit, only requires one person to be completely out of their gourd.

[1] https://www.microsoft.com/en-us/research/publication/textboo...

[2] https://arxiv.org/pdf/2402.00159

[2] https://livebench.ai/#/
by rafram | 2025-05-19 16:01:38+00:00
> To simplify the migration process both for users and Zod's ecosystem of associated libraries, Zod 4 is being published alongside Zod 3 as part of the zod@3.25 release. [...] import Zod 4 from the "/v4" subpath

npm is an absolute disaster of a dependency management system. Peer dependencies are so broken that they had to make v4 pretend it's v3.
by kubb | 2025-05-19 16:01:53+00:00
If you believe that building more housing is a solution to the housing crisis, then building large blocks of flats from prefabricates should seem like an attractive option.

You can build cheaply and efficiently because of economy of scale, and with large scale planning, entire settlements can pop up within 10 years complete with public transport, and amenities.

It really doesn’t have to look bad either. With modern materials, a bit of ornamentation, and greenery it can be a great place to live for hundreds of millions of people.