MurphyA/hacker-news huggingface dataset:
by broodbucket | 2025-04-29 08:58:23+00:00
There's AI slop (or hastily human generated slop, hard to tell) in Duolingo so I won't advocate for its quality, but I've been trying to use several different flagship models for language learning (with a native speaker on speeddial to fact check things) and they get stuff wrong a lot. LLMs are absolutely not ready to be your sole source for language learning. They seem perfectly competent at communicating in whatever language you want, and are fine at translation, but for example, explaining grammatical concepts of one language in another language they have been surprisingly incompetent at in my experience.
by chungy | 2025-04-29 08:58:33+00:00
Nintendo would[1] take all legal measures possible to shut down projects that allow using their hardware in methods they do not approve of. Homebrew Channel isn't new, it's nearly as old as the Wii itself. Nintendo would have had every motivation to go after them for all they're worth, if there was a valid legal claim against Homebrew Channel.

Unfortunately for Nintendo, reverse-engineering a console to run code the first party has not authorized is not actually a violation of any law. Nintendo surely was grumpy at them, but they had no leg to stand on.

[1] And still does, see their takedown of yuzu, who was openly allowing and encouraging Switch piracy in the Discord server.
by fhd2 | 2025-04-29 08:59:39+00:00
I like to joke that Microsoft stuff is always 80%. Works very well for the obvious use cases, but then you are bound to run into weird issues as soon as you run into some edge case they haven't covered.

Makes me think it must have something to do with their corporate culture and how they work, since their developers, to my knowledge, never had a reputation for being weak. Maybe it's just because they have such a gigantic user base for everything they do, that 80% is the best business value. Though I doubt that a bit, as a third party developer, it makes me avoid their products where I can.
by theragra | 2025-04-29 08:59:53+00:00
I recently encountered this when developing for atmel attiny13a, that has 1KB memory for code. I found that my code somehow cannot fit. Then found that just one line takes around 100 bytes. Insane!

After some experiments, I remembered university course and was able to understand what is going on.

When using float types or operations, fpu emulation is used, which takes huge amount of memory for anything.

I think atmel is using gcc, but not sure if you emulation is part of gcc or atmel libraries.
by zsoltkacsandi | 2025-04-29 09:00:25+00:00
> Pretty sure that they say it, repeatedly, on their blog. I only read a handful of their blog posts and more than one mentioned it.

Most users don't read blog posts - they interact with the app. If critical information about how to use the product effectively is buried outside the main experience, that's poor communication.

Also, it's worth remembering: Duolingo is a language-learning app for people all over the world, many of whom don't speak English well enough to even understand their blog.

> I won't blame them for assuming common sense.

It's not about "common sense" either. Language learning is not intuitive for most people - especially first-timers (who their target audience are by the way). Many users assume that completing a Duolingo "course" means they are "done."
by gpderetta | 2025-04-29 09:01:02+00:00
This risks becoming a no true Scotsman, but it is indeed true that there is really no common idiomatic C++. Even the same code base can use vastly different styles in different areas.

Even regarding exceptions, I would not touch them anywhere close to the critical path, but, for example, during application setup I have no problem with them. And yet I know of people writing very high performance applications that are happy to throw on the critical path as long as it is a rare occurence.
by muzani | 2025-04-29 09:01:13+00:00
OpenAI has always been somewhat controlling of their output. They used to require that anything that uses their API go through a verification process to prevent it from being used for fake reviews, astroturfing, etc. This was the main criticism of OpenAI 3 or so years ago. But with all the other alternatives, it hasn't stopped people.

I suppose while they have the best image generator of the quarter, they'll be more restrictive with it.
by lolinder | 2025-04-29 09:01:35+00:00
If I'd started in Rust I likely wouldn't have finished it at all. Java allowed me to start out just focused on the algorithm with very little regard for memory usage patterns and then refactor towards zero garbage collection. Rust can sort of allow the same thing by just sprinkling everything with clone and/or Rc/Arc, but it's much more in the way than just having a garage collector there automatically.
Ask HN: Is there way to to read News quickly?
by phupt26 | 2025-04-29 09:01:53+00:00
People around the world constantly crave high-quality information, but their time remains limited. Plus, traditional news, turbocharged by AI's lightning-fast content generation, is overwhelming them with duplicated, lengthy, and often low-quality articles, endlessly recycled across countless platforms.

Thus, how can I keep up to date with all the events happening around the world?
by mabster | 2025-04-29 09:02:26+00:00
I think the choice of C++ vs JVM depends on your project. If you're not using the benefits of "unsafe" languages then it probably doesn't matter.

But if you are after performance how do do the following in Java? - Build an AOS so that memory access is linear re cache. Prefetch. Use things like _mm_stream_ps() to tell the CPU the cache line you're writing to doesn't need to be fetched. Share a buffer of memory between processes by atomic incrementing a head pointer.

I'm pretty sure you could build an indie game without low-level C++, but there is a reason that commercial gamedev is typically C++.
by wkat4242 | 2025-04-29 09:03:15+00:00
Yeah Duolingo is so bad. It doesn't explain what you're trying to do, why one word is better than the other. It's just dumb gamification.

I learn a lot more from taking to an LLM, asking it to make me language questions and then explaining the answers if I don't get them right. Duolingo is obsolete.
by scott_w | 2025-04-29 09:03:32+00:00
> Maybe you had the luck of learning 0 based language first. Then most of them were a smooth ride.

Given most languages since at least C have 0-based indexing... I would think most engineers picked it up early? I recall reading The C Programming Language 20 years ago, reading the reason and just following what it says. I don't think it's as complex as the descriptions people put forward of "fighting the borrow checker." One is "mentally add/subtract 1" and another is "gain a deep understanding of how memory management works in Rust." I know which one I'm going to find more challenging when I get round to trying to learn Rust...
by chippiewill | 2025-04-29 09:04:16+00:00
There aren't as many interconnects between Spain and France proportional to generation as there are between Spain and Portugal.

Also France has a massive Nuclear base load and is usually an electricity exporter so their grid will be a bit more resilient (the spinning mass of massive turbines in Nuclear plants provides inertia to the grid itself) than the Spanish/Portuguese grid that would have had a decent renewable mix.

At the same time, electricity grids will have various measures to prevent instability spreading. Whether that's load shedding (dropping parts of the grid), removing production, or what France likely did, dropping the interconnects. This is usually fully automated.

If there were more connections to France it _maybe_ could have spread further. Nuclear power plants can be twitchy if things go south so if it had spread enough to knock 2-3 french plants offline then that could potentially have toppled France which then as a big exporter could have swept across much of the rest of mainland Europe (and maybe even the UK which might struggle to adapt to the loss from France through its HVDC interconnects if all three were maxed out)

That said, this is all very unlikely.
by gwd | 2025-04-29 09:04:32+00:00
I've been learning Biblical Greek, and that was my impression too: The particles he list don't sound at all like the random "uh" and "ah" that he's translating them into.

That said, I do think there's a point that a lot of things end up getting translated in the wrong "register" and lose some of the meaning. One message John the Baptist sends to Jesus is rendered in my translation, "Are you the one who was to come, or should we expect another?" But in the Greek there's no "should", and the whole sentence is a lot shorter. To me it has much more of a "get off your but and do something" implication; more like, "Hey, are you the one, or are we looking for someone else?"

Same in another place, where where Jesus says something my translation renders, "Listen carefully to what I'm about to tell you: [About his upcoming death]" The Greek is a bit more colorful: "Take these words of mine and put them into your ears:" Has much more a sense of exasperation.
Show HN: Flowcode – Turing-complete visual programming platform
by gabigrin | 2025-04-29 09:04:35+00:00
Hey HN! I’m Gabriel, and I’m excited to share a project I’ve been working on for the last few years. Flowcode is a visual programming platform that tries to combine the best of both worlds (code and visual). Over the years I found myself repeatedly drawing architectures and logic. It was always my dream to just press “run” instead of having to write them in code afterwards. But none of the visual tools I found were flexible and transparent enough for building real products.

I think that visual programming fits perfectly with modern backend dev tasks that revolve around connecting different services with basic logic. Flowcode is meant to speed up and simplify those tasks, leaving more time to think about design and solve design problems. Visual programming also works really well for developing workflows involving LLM calls that are non-deterministic and require a lot of debugging and prompt tweaking.

There are many other visual/low code tools, but they all offer limited control and flexibility (no concurrency, loops, transparency) and most suffer from the same problems (vendor lock-in, hard to integrate with existing code etc.).

Flowcode is built on an open source visual programming language (Flyde https://github.com/flydelabs/flyde, which I launched last year here on HN - https://news.ycombinator.com/item?id=39628285). This means Flowcode has true concurrency, no vendor lock-in (you can export flows as .flyde files), is Turing-complete (loops, recursion, control flows, multiple IOs etc.), lets you fork any node, integrates with code via an SDK and more.

I’d love to hear your thoughts and feedback.
by AStonesThrow | 2025-04-29 09:05:15+00:00
The existence of citrus trees seems like a bit of a scourge to me at this point. Living in the Phoenix area -- indeed there was a wild real estate success with orange groves in our distant history -- there is a lot of ornamental citrus lining some streets. These fruits are, of course, inedible: very tough and bitter.

There are also citrus fruits in many, many yards of SFHs. And these are seemingly a scourge upon churches and other community centers. It seems that any Catholic who owns property is in the habit of harvesting their citrus and then toting huge bags to church, where they informally distribute it to all takers. Now you feel bad for not taking any, and there's always a ton left, and it's a common sight to see completely unlabeled bags of grapefruit or lemons with no hint of age or provenance. (Sometimes it's done right under the nose of St. Vincent de Paul, where they've got their own sources of good nutritious fresh fruit as well...)

The trouble is that unharvested citrus is likewise a scourge for the homeowner. The oranges can attract "roof rats" and other pests even while still on the branch. Falling to the ground, well you can imagine the mess and smell and pests that will come from that.

The homeowners often enjoy the shade and cachet enough to keep the trees around, though. I had another friend with fig trees, which was way more exciting when he offered them to us at church!
by writebetterc | 2025-04-29 09:07:01+00:00
>Benchmarks show its about 25% faster than the raw pointer version. (I don't know why - but I suspect the reason is due to better cache locality.)

Cache locality matters, but so does having less allocator pressure. Use 32-bit unsigned ints as indices, and you get improvements on that as well.

>The original version of my b-tree works just like how you'd implement it in C. Each internal node / leaf is a raw allocations on the heap.

I'd always try to avoid that type of allocation pattern in C++, FWIW :-).
by mubou | 2025-04-29 09:07:02+00:00
> how it's impossible to get Google to show English results in a non-English-speaking country

It's ridiculous because there's even a language option in the search settings, but it does nothing. I had to change my country to United States just to get it to stop giving me non-English technical documentation and wiki articles. But that means in order to get local results for stores etc I have to use Bing/DDG instead.

Does Kagi solve this problem somehow? Like, can I make it give me non-English results for local things and English results for everything else?
by andy99 | 2025-04-29 09:07:04+00:00
They overfit to kicking Trudeau out, and were essentially successful, he left in complete humiliation. But then they didn't have much to fall back on. The liberals adopted much of the conservatives policies and / or there was no difference between them anyway.

In some sense the conservatives were effective at changing the narrative, they just weren't rewarded for it with the opportunity to form government.
by jim180 | 2025-04-29 09:07:44+00:00
Absolutely. All models ar terrible with Objective-C and Swift, compared to let's say JS/HTML/Python.

However, I've realized that Claude Code is extremely useful for generating somewhat simple landing pages for some of my projects. It spits out static html+js which is easy to host, with somewhat good looking design.

The code isn't the best and to some extent isn't maintainable by a human at all, but it gets the job done.
by ithkuil | 2025-04-29 09:08:11+00:00
I think I have 10€ laying around at all times, possibly in loose change between my home and car. I do not always walk around with that in my pocket and I never have more than 500€ at home.

I didn't mean literally zero cash, but once the bulk of your transactions are by card, you don't need to constantly go to the ATM and replenish your cash reserves
by Appesteijn | 2025-04-29 09:08:12+00:00
Currently working on a simple timing website for running and cycling race organizers. A manual 'just press a button when someone crosses the finish line' is already there, but now I'm experimenting with a printable QRcode that contestants have to wear. Once the QR code crosses the line, the time is registered. All within the browser, so no apps need to be installed.

https://beontimer.com
by netsharc | 2025-04-29 09:08:15+00:00
Your comment made me look into the whole mess: https://en.wikipedia.org/wiki/Hunter_Biden_laptop_controvers...

(of course Wikipedia is probably "manufactured narrative", right?).

Looks like it's another attempt of finding dirt, but whoever was doing it, put so much of made-up dirt in that laptop, that proper journalists saw it as an "Elvis spotted with aliens" story, even NYPost journalists didn't want anything to do with it:

> According to an investigation by The New York Times, editors at the New York Post "pressed staff members to add their bylines to the story", and at least one refused, in addition to the original author, reportedly because of a lack of confidence in its credibility. Of the two writers eventually credited on the article, the second did not know her name was attached to it until after The Post published it.

The fact that you trust this sort of journalism makes me assume your trust is based on what you find favorable...
by superrad | 2025-04-29 09:08:48+00:00
For a while now Unity has an incremental garbage collector where you pay a small amount of time per frame instead of introducing large pauses every time the GC kicks in.

Even without the incremental GC it's manageable and it's just part of optimising the game. It depends on the game but you can often get down to 0 allocations per frame by making using of pooling and no alloc APIs in the engine.

You also have the tools to pause GC so if you're down to a low amount of allocation you can just disable the GC during latency sensitive gameplay and re-enable and collect on loading/pause or other blocking screens.

Obviously its more work than not having to deal with these issues but for game developers its probably a more familiar topic than working with the borrow checker and critically allows for quicker iteration and prototyping.

Finding the fun and time to market are top priority for games development.
by K0nserv | 2025-04-29 09:09:25+00:00
It's mentioned elsewhere in the thread, but I've had good success with WaniKani[0]. As an aside, the company behind it, Tofugu[1], also have a lot of good free resources.

The main tag line on the WaniKani website, "2000 Kanji. 6000 Vocabulary words. In just over a year." is very optimistic, I'm around level 12 (of 60) after that long. It might be possible to do it all in a year, but you need to put in a lot of work.

0: https://www.wanikani.com/

1: https://www.tofugu.com/
by thaumasiotes | 2025-04-29 09:09:34+00:00
> LLMs are absolutely not ready to be your sole source for language learning.

> They seem perfectly competent at communicating in whatever language you want

These two sentences contradict; that's the only thing you want for language learning.

> but for example, explaining grammatical concepts of one language in another language they have been surprisingly incompetent at in my experience

Doesn't matter.
by 72deluxe | 2025-04-29 09:09:45+00:00
Yes I am baffled how modern apps are painfully slow. Everything seems to include a Chrome Embedded Framework and therefore have an entire browser running. There is sadly a generation of people who grew up after .net was introduced who think it's perfectly reasonable for a VM spooling up as part of an app load or loading a browser is fine too, and have no idea how speedy Windows 95 used to be, or how loading an app took less than 1 second, or how easy Delphi apps were to create.

It's honestly very sad.
by pjmlp | 2025-04-29 09:10:17+00:00
Unity uses aginging Mono runtime, because of politics with Xamarin, before its acquisition by Microsoft, migration to .NET Core is still in process.

Additionally they have HPC#, which is a C# subset for high performance code, used by the DOTS subsystem.

Many people mistake their C# experience in Unity, with what the state of the art in .NET world is.

Read the great deep dive blog posts from Stephen Toub on Microsoft DevBlogs on each .NET Core release since version 5.0.
by fhd2 | 2025-04-29 09:10:32+00:00
Sorry for the late response. No, that's not really what I tried to say. It's rather just a dilemma I was pointing out: If there's more noise and less signal, it's harder for the good people to find good employers _and_ vice versa. Not easier. Not to mention that a lot of "good enough" devs can manage to stay employed, even when better devs are available on the market. Any automatic correction to this will, I believe, take years.

The way I find clients for my company is exclusively by reputation, i.e. network. Quite often I get asked if I know good devs, and I'm starting to draw a blank. So if you feel like reaching out for a chat (see my profile), I could offer to reach out if something comes up. My circles are primarily in Europe though.
Show HN: MCP-Linker – 6MB GUI for Managing MCP Servers (Tauri)
by milisp | 2025-04-29 09:11:07+00:00
GitHub: https://github.com/milisp/mcp-linker Releases: https://github.com/milisp/mcp-linker/releases

MCP-Linker is a Tauri-based cross-platform GUI app (~6MB) to manage MCP servers used in Claude Desktop, Cursor, and other AI tooling environments.

Features: - Add/manage custom MCP servers - Favorite and recently used server tracking - Native builds for macOS and Windows - Offline-first, fast startup, no bloat

Built with Tauri for small footprint and native performance. Fully open-source. Feedback and contributions welcome!
by frank20022 | 2025-04-29 09:11:41+00:00
Because duolingo is designed for addiction (that's how they make money), not actual learning (learning would mean you'd stop using the thing, no good for stakeholders).

There is no sole app that makes you go from 0 to C2, but there are infinitely superior tools that actually make you learn, and not the self-complacent pretend-like-learning pastime that duo is.

For a start, almost every other app succeeds at not treating you like a toddler and not resorting to emotional manipulation.
by Moru | 2025-04-29 09:11:47+00:00
I have never had a windows computer that was able to do any sort of sleep without crashing, either in the sleep mode or randomly a time after waking up. First thing I do is disable it, I have lost enough time trying to find the cause of it and the crashes usually stop if I don't use sleep modes.

Most of my computers and friends computers have been ASUS though, maybe that is a connection.

(Windows user since 3.11 but I don't think those had sleep modes :-)
by axelMI | 2025-04-29 09:11:52+00:00
Batch processing would ideally require a backend.

Batch processing in the browser would be limited by memory space and therefore everything would have to be queued (even if on more webworkers) and very slow/ unreliable IMHO.

What I'll implement next, if there's a request, is the possibility to save the recipes of the adjustments (crop/ perspective excluded) in order to quickly apply them to subsequent images
by ie21 | 2025-04-29 09:12:31+00:00
Same.

I work with engineers and technical managers with 25+ years of experience, building and maintaining serious business software 'you could run a country with' - people here build react web apps or do scientific research, or work for a SaaS provider - completely different view than building highly complex, regulated, mission critical software that supposed to run for decades and be supported at this level.
by kgeist | 2025-04-29 09:13:12+00:00
Is it really a sarcasm marker? I've always thought it's equivalent to že in Slavic languages (both probably from the same PIE *g(h)e), and in those languages, it can be used sarcastically, but its main meaning is 'in fact', 'as for X'. For example in Russian: on že glup = 'he is, in fact, a fool' or 'as for him, he's a fool - didn't you know?' Similarly, dictionaries translate the Greek ge as 'in fact, indeed.' If you mentally replace most instances of Ancient Greek ge with the Slavic že in Greek texts, it all starts making a lot of sense (if you're a speaker of a Slavic language).

P.S. There's also a limiting sense in the dictionary, with the example given:

Greek: ho de ge (+ participle) Russian: tot že (kto) English: but the one (who)
by ViewTrick1002 | 2025-04-29 09:13:25+00:00
Storage is exploding allowing renewables to easily hit somewhere in the high 90%s of the electricity mix.

https://www.ess-news.com/2025/01/23/chinas-new-energy-storag...

https://www.eia.gov/todayinenergy/detail.php?id=64586

Maybe we should phase out the subsidized public insurance for nuclear power and have them bear the true cost of their risks by purchasing insurance on the private markets?