MurphyA/hacker-news huggingface dataset:
by Extigy | 2025-05-18 07:37:39+00:00
One of my favourite features of Fortran is in its array implementation. You can index arrays however you like.

Do you like your initial value to be at index 1? Cool. Prefer to index arrays from 0 instead? Sure, go ahead.

How about an array with indexing symmetric around zero?

double precision :: arr(-100:100)

Beautiful!
by int_19h | 2025-05-18 07:38:29+00:00
If you're counting sounds (i.e. phones), then most languages with those same 5 vowel letters have quite a lot because of numerous allophones.

English is criminal in that it has many vowel phonemes - British more so than American - and then on top of that its mapping of them to vowel letters is completely out of whack with both traditional Latin values of them, and how they're used in most other languages out there. I mean, cmon, <ea> for /i:/?

Still, with a sensible orthography, General American would only need something like 9-10 distinct vowel characters (for monophthongs; but diphthongs are best spelled as the obvious corresponding vowel-vowel or vowel-semivowel sequences anyway).
by ryao | 2025-05-18 07:39:09+00:00
AMD and Intel actually fabricate chips for sale to others (outsourced to TSMC in AMD’s case) and take the risks associated with that. ARM on the other hand is just an IP provider. They are not comparable. ARM should have kept its original strategy of aiming to profit from volume that enabled its rise in the first place. Its course change likely looks great to SoftBank’s investors for now, but it will inevitably kill the goose that lays the golden eggs as people look elsewhere for what ARM was.

That said, ARM’s increased license fees are a fantastic advocate for RISC-V. Some of the more interesting RISC-V cores are Tenstorrent’s Ascalon and Ventana’s Veyron V2. I am looking forward to them being in competition with ARM’s X925 and X930 designs.
by quails8mydog | 2025-05-18 07:39:43+00:00
I don't think discussing further is going to be very productive given how entrenched your views are.

Just for the record in case someone stumbles across this in future. Chris Middleton worked freelance for the BBC and was let go for making a parody song criticising the winter fuel payment cuts. The figure criticised is ostensibly left wing, but repeatedly criticised for being too centrist/right wing compared to where Labour usually stand and his previously stated position. That's what happened here, the person fired was criticising him from the left, i.e. their political stance was too left wing for the BBC (or maybe the BBC doesn't allow strong political stances in any direction).
by wodenokoto | 2025-05-18 07:39:46+00:00
I think the “paper rock cross blade” short films by Corridor is absolute great and can by all accounts be called art and if they make a 3rd they will probably use this model.

In terms of losing styles, that is already been happening for ages. Disney moved to xeroxing instead of inking, changed the style because inking was “too hard”. In the late 90s/early 2000s we saw a burst of cartoons with a flash animation style on TV because it was a lot easier and cheaper to animate in flash.
by hirenj | 2025-05-18 07:40:35+00:00
I guess that whatever recognises the enhancers must be conserved ish in mice for us to be able to drop this region into the mouse genome. That might be interesting alone apart from the functions of the frizzleds. Always a curious question about how much new “machinery” we have in humans, vs us being a specific configuration of common machinery (i.e., if we were to swap out introns/regulatory regions from a mouse with human, and assuming we don’t screw up any checkpoints, how far would it get with looking/acting like a human?).
by fifilura | 2025-05-18 07:41:10+00:00
"Try it yourself" "very quickly wanted to get real-time streaming for more"

My experience is the opposite.

You think you need streaming, so you "try it out" and build something incredibly complex with Kafka, that needs 24h maintenance to monitor congestion in every pipeline.

And 10x more expensive because your servers are always up.

And some clever (expensive) engineers that figure out how watermarks, out of orderness and streaming joins really work and how you can implement them in a parallel way without SQL.

And of course a renovate bot to upgrade your fancy (but half baked) framework (flink) to the latest version.

And you want to tune your logic? Luckily that last 3 hours of data is stored in Kafka so all you have to do is reset all consumer offsets, clean your pipelines and restart your job and the in data will hopefully be almost the same as last time you run it. (Compared to changing a parameter and re-running that SQL query).

When all you business case really needed was a monthly report. And that you can achieve with pub/sub and an SQL query.

In my experience the need for live data rarely comes from a business case, but for a want to see your data live.

And if it indeed comes from a business case, you are still better off prototyping with something simple and see if it really flies before you "try it out".
by chneu | 2025-05-18 07:42:38+00:00
Historically, NOAA's redesigns are pretty good.

They focus on presenting a good amount of data in a pretty simple way.

Because of the nature of what they do there will always be a ton of data to present or display. At least in my opinion, NOAA does a great job here.

Their UIs have always been simple, easy to use, and reliable. Some data gets buried but that's the nature of it.
by treetalker | 2025-05-18 07:44:09+00:00
> On the business side, AI has been super helpful. I’ve used it to help me fine-tune my employee handbook or to assist me when my lawyer was busy, having it look over a copy of a lease before he could get back to me.

Bad idea. Relying on LLMs for anything related to legal matters injects (hidden) fragility and increases the likelihood of bad outcomes, which are always lagging.
by maigret | 2025-05-18 07:46:52+00:00
People got lazy lately after a long peace time. Saying “it can’t get worse than that” with 5-10% unemployment. Yes this is not good, but it can get way worse than that. Also “my vote doesn’t count, and everyone is bad”. Enemies of democracy have pushed this a lot lately, internet make it trivially cheap and easy to spread. Nations like UK are in the find out phase.
by chneu | 2025-05-18 07:48:17+00:00
But you're focusing on small counties, essentially "land that votes".

One metro area generally outweighs 90% of the counties in a state.

Take Oregon for example. Look at eastern Oregon where trump ran away with like 80% of the vote. But then you look at population numbers for those counties and you'll quickly realize that ONE NEIGHBORHOOD in Portland has 5x as many residents as that entire county. One neighborhood in Portland actually has more people than most of Oregon counties. It's kinda wild how empty they are.

The fact is that conservatives are pretty outnumbered. Which is why conservatives disenfranchise voters and rely on gaming the electoral college. It's also why conservatives tend to move to where other conservatives live, among other reasons. If people showed up to vote then Republicans would lose elections way more often.

But looking at a map and seeing red counties is not "more people voted trump". It's just "sparsely populated counties voted trump" which is not the same thing.

There's a subreddit called "People Live in Cities" that makes fun of this misinformation tactic. It's just maps that show where people live, but cite other metrics.
by rwyinuse | 2025-05-18 07:48:20+00:00
I have HA (the OS version) running as VM on Proxmox, and it's been rock solid for more than a year. Pretty much no issues using dozens of Zigbee devices from various manufacturers. Basic automations just work, I would never recommend any commercial / big tech alternative over it.

Where I've had more issues is experimental stuff, integrating voice assistant & generative AI with HA. For example, I can use HA voice preview & whisper to verbally ask my HA instance to give me the lunch menus of my nearby restaurants. It then fetches the data from APIs, generates the response using template, and plays the response using text-to-speech. All this happens locally. Usually works, but sometimes it hangs for reasons I've yet to determine.
by cinntaile | 2025-05-18 07:48:39+00:00
> The problem with separate bike tracks is that they are rarely built because of the cost and politics involved.

The cost of bike lanes isn't too bad. Unlike a car road it doesn't require a lot of maintenance.

> Bike trails are a nightmare because inevitably you need to share them with pedestrians.

This is a political issue, here you have plenty of bike trails just for bikes.
by int_19h | 2025-05-18 07:49:13+00:00
Writing as a native Slavic language speaker, that's fair, but it's mostly a testament to how complex all Slavic languages are. It's like we decided to make it absolutely sure that any foreigner who decided to learn them would be in a world of pain. Declensions? Check. Grammatical gender? Sure, and adjectives and verbs also have it for good measure, not just nouns; and for verbs, it also interacts with tense and number.

And let's not forget about our phonology, with 5-consonant clusters, palatalized labials, utterly unpredictable stress, complex mutations of both consonants and vowels when adding suffixes etc.

By the way, the nearly universal ethnic designation for Germans in Slavic languages - some variation of "nemci" - literally means "mutes".
by idoubtit | 2025-05-18 07:49:40+00:00
> 1. The amount of "culture" being created has to be like a magnitude of order greater than 25 years ago.

For music, I'm not even sure the cultural creation has increased.

A few decades ago, there were scores of indie bands. In high school I knew a few friends that were playing in amateur rock bands. Later on, when I traveled in foreign lands, most people I met listened to local music, e.g. Turkish songs which were a mix of tradition and modern influence. In my latest travel, everyone was listening to the same globbish junk.

I don't have any stats, but I suspect the music production is more homogeneous and less creative. There is less geographic variation. At least one source of creation has disappeared: musical bands are dead, except for the industrial kind, à la K-pop. Overall, I don't think the creation level is higher than 25 years ago.

> 2. The algorithms were developed to help with this problem. They are just a poor match for the problem.

I disagree with the OP that the algorithms are necessarily bad. For instance, once in a while, they could suggest a very different style to help broaden your tastes. Some already do that.

But algorithms can't compare with recommendations by friends. There were music that I would have instantly rejected if the CD hadn't been given by a friend. And sometimes you have to persevere and learn to like a music. When the curator is a human I like, I try harder.
by masklinn | 2025-05-18 07:51:02+00:00
> Probably would be easier to pass DisposableStack as an argument to stack all .defer() callbacks in the caller's context?

The problem in that case if if the current function can acquire disposables then error:

function thing(stack) { const f = stack.use(new File(...)); const g = stack.use(new File(...)); if (something) { throw new Error } // do more stuff return someObject(f, g); }

rather than be released on exit, the files will only be released when the parent decides to dispose of its stack.

So what you do instead is use a local stack, and before returning successful control you `move` the disposables from the local stack to the parents', which avoids temporal holes:

function thing(stack) { const local = new DisposableStack; const f = local.use(new File(...)); const g = local.use(new File(...)); if (something) { throw new Error } // do more stuff stack.use(local.move()); return someObject(f, g); }

Although in that case you would probably `move` the stack into `someObject` itself as it takes ownership of the disposables, and have the caller `using` that:

function thing() { const local = new DisposableStack; const f = local.use(new File(...)); const g = local.use(new File(...)); if (something) { throw new Error } // do more stuff return someObject(local.move(), f, g); }

In essence, `DisposableStack#move` is a way to emulate RAII's lifetime-based resource management, or the error-only defers some languages have.
by jemmyw | 2025-05-18 07:51:46+00:00
> Most people just want a 2018 era car ... at a decent price - something with a six cylinder engine that can be easy serviced / repaired

I've talked to a lot of people about their cars and car choices over the years, and that's not what people want. You can look up some surveys too, although quite a few results are obviously from one survey, you can dig a bit deeper and find older survey results or segmented surveys. What people don't really mention: engine, maintenance, servicing. I think for most people those things aren't that big of a deal, modern cars have satisfactory performance and longevity when compared to cars pre-2000. What people say they want: heated seats and steering wheels, places to charge their phone(!), car play or android auto(!), space and safety for kids and dogs, something that looks nice.

I don't think price is a mentioned factor because right now it seems like you pay more for pretty arbitrary stuff.

I want what you want, with a manual transmission for preference. It's just not what most people want.
by zenkey | 2025-05-18 07:52:05+00:00
I've been programming with Python for over 10 years now, and I use type hints whenever I can because of how many bugs they help catch. At this point, I'm beginning to form a rather radical view. As LLMs get smarter and vibe coding (or even more abstract ways of producing software) becomes normalized, we'll be less and less concerned about compatibility with existing codebases because new code will be cheaper, faster to produce, and more disposable. If progress continues at this pace, generating tests with near 100% coverage and fully rewriting libraries against those tests could be feasible within the next decade. Given that, I don't think backward compatibility should be the priority when it comes to language design and improvements. I'm personally ready to embrace a "Python 4" with a strict ownership model like Rust's (hopefully more flexible), fully typed, with the old baggage dropped and all the new bells and whistles. Static typing should also help LLMs produce more correct code and make iteration and refactoring easier.
by moron4hire | 2025-05-18 07:53:02+00:00
It's funny, this is actually very similar to my experience when I was working on VR software. I used to tell people, "I have at least a dozen headsets but only one head." But I bet rarely ever spent time on using VR. I'd pop on a headset to test the input systems, but most of the time I was working on application logic, which I didn't need to do in the headset.

I suppose chefs don't eat most of what they make. Most wood workers don't have a house full of only furniture they've made. I know a lot of working musicians who have a lot of gear they never use because they just play bass in a band somewhere.
by adamcharnock | 2025-05-18 07:53:04+00:00
I would highlight a distinction between Queues and Streams, as I think this is an important factor in making this choice.

In the case of a queue, you put an item in the queue, and then something removes it later. There is a single flow of items. They are put in. They are taken out.

In the case of a stream, you put an item in the queue, then it can be removed multiple times by any other process that cares to do so. This may be called 'fan out'.

This is an important distinction and really effects how one designs software that uses these systems. Queues work just fine for, say, background jobs. A user signs up, and you put a task in the 'send_registration_email' queue.[1]

However, what if some _other_ system then cares about user sign ups? Well, you have to add another queue, and the user sign-up code needs to be aware of it. For example, a 'add_user_to_crm' queue.

The result here is that choosing a queue early on leads to a tight-coupling of services down the road.

The alternative is to choose streams. In this case, instead of saying what _should_ happen, you say what _did_ happen (past tense). Here you replace 'send_registration_email' and 'add_user_to_crm' with a single stream called 'used_registered'. Each service that cares about this fact is then free to subscribe to that steam and get its own copy of the events (it does so via a 'consumer group', or something of a similar name).

This results in a more loosely coupled system, where you potentially also have access to an event history should you need it (if you configure your broker to keep the events around).

--

This is where Postgresql and SQS tend to fall down. I've yet to hear of an implementation of streams in Postgresql[2]. And SQS is inherently a queue.

I therefore normally reach for Redis Steams, but mostly because it is what I am familiar with.

Note: This line of thinking leads into Domain Driven Design, CQRS, and Event Sourcing. Each of which is interesting and certainly has useful things to offer, although I would advise against simply consuming any of them wholesale.

[1] Although this is my go-to example, I'm actually unconvinced that email sending should be done via a queue. Email is just a sequence of queues anyway.

[2] If you know of one please tell me!
by rhubarbtree | 2025-05-18 07:56:28+00:00
I think many artists will see that if they publish anything original then AI companies will immediately use it as training data without regards to copyright.

The result will be less original art. They will simply stop creating it or publishing it.

IMO music streaming has similarly lead to a collapse in quality music artistry, as fewer talented individuals are incentivised to go down that path.

AI will do the same for illustration.

It won’t do the same for _art_ in the “contemporary art” sense, as great art is mostly beyond the abilities of AI models. That’s probably an AGI complete task. That’s the good news.

I’m kinda sad about it. The abilities of the models are impressive, but they rely on harvesting the collective efforts of so many talented and hardworking artists, who are facing a double whammy: their own work is being dubiously used to put them out of a job.

Sometimes I feel like the tech community had an opportunity to create a wonderful future powered by technology. And what we decided to do instead was enshittify the world with ads, undermine the legal system, and extract value from people’s work without their permission.

Back in the day real hackers used to gather online to “stick it to the man”. They despised the greed and exploitation of Wall Street. And now we have become torch bearers for the very same greed.
by fwn | 2025-05-18 07:58:13+00:00
> The attack ... involved modifying and re-signing KeePass installers with trusted certificates to deliver a custom malware loader ... The infection chain began with malvertising campaigns on popular search engines ... directing users to fraudulent download pages ...

I have my own issues with KeePass, but, to be fair, this was not a KeePass problem. It was a trust problem, starting with search ads and ending in tricking users to install a fake app.

If anything, threat actors "weaponized" irresponsible advertising.
by chrismorgan | 2025-05-18 07:58:41+00:00
500 lines a day feels very much on the low side to me, for most projects. That’s around one line per minute. Yeah, there are definitely parts where you have to go a lot slower, but also there are plenty of lines that take 0–10 seconds.

Going from Rust to TypeScript will normally be pretty easy—though if things like numeric and bytewise manipulations are involved, it can be tough. Going from TypeScript to Rust will often be easy, but also often be fiendishly difficult to do without refactoring a lot, due to ownership model differences.

Occasionally I’ve chosen to do a refactoring in the source language first, and then port that. That can work decently, though it depends so much on exactly what the changes are and why they are, which is often to do with which two languages are involved.
by orwin | 2025-05-18 07:58:58+00:00
I do not know about the US, but have have worked for a state admin. To be honest, there is a lot of inefficiencies, but the large majority of those exist to _prevent_ fraud. I could once again describe why, but the details aren't really important: i swear all waste and inefficiencies i've seen not caused by out-of-date software are in place to avoid fraud from low to mid-level employees.

From that you have a choice: either you allow low level government employees to partake in the corruption and remove a lot of rules, or you leave those rules which makes running the admin cost more. I think the second solution is better even if it were to cost more (i'm not sure it does, corruption is expensive), because once government low level employees start to accept bribes, your country is fucked.
by CyberHacker13 | 2025-05-18 08:00:40+00:00
I built this tool to generate custom HID payloads using natural language prompts. It supports Flipper Zero, Rubber Ducky, Digispark, and works across Windows, macOS, Linux, and Android. You can create anything from clipboard stealers to phishing emulators. Would love feedback and ideas. It's free, browser-based, and requires no login. https://badusb.io
by csande17 | 2025-05-18 08:01:55+00:00
> black has more contrast by either measure

No it doesn't? The screenshot of the calculator in the blog post very clearly shows that white has a greater contrast according to APCA. (If the negative numbers are confusing, you can also put the colors into a BridgePCA calculator like https://www.color-contrast.dev/?txtColor=FFFFFF&bgColor=317C... to see WCAG-2-style "contrast ratio" metrics computed using APCA.)

The point of APCA is to make the contrast calculation more perceptually accurate, not just lower the threshold.
by chneu | 2025-05-18 08:02:05+00:00
It's worth mentioning Harley Davidson here too.

They basically did the same thing but with foreign motorcycles. Harley lobbied haaaarrddd to get restrictions put on them. Harley got their way and still screwed it up, which left Americans paying more. Harley just declares bankruptcy and starts over cuz their cult of boomers will always buy a new hog with lots of chrome and saddlebags.
by trod1234 | 2025-05-18 08:04:19+00:00
Well that's one way to live life, if you can really call that living. No person is an island.

A far fewer number of people start out gullible than you think. Ask yourself sometime why so many seem that way, the answer should be common sense and obvious.

> People are generally predictable and follow predetermined paths according to their personalities.

People are naturally unpredictable, often in a good way, except when they've first been broken by trauma or torture. It seems you've mistaken environment effects for inherent effects.

You don't seem to have a high opinion of people. I wouldn't recommend going the lone wolf route in life. That's just 5GW. You can't get anything done if its just yourself. Its important to have friends you can count on everywhere.

Also, I'd disagree with trusting guidance from an authority blindly. You should read and find out for yourself about what happened in the Tuskegee study, and about the structural flaws that allowed it to happen which have not really been restructured in any meaningful way.

It goes without saying that people are only responsible for their choices, and the consequences of such choices. The includes both the choices leading to actions, and inaction.