MurphyA/hacker-news huggingface dataset:
by kentonv | 2025-09-07 20:48:31+00:00
You seem to have merged the required fields issue and the oneof issue, but these are unrelated threads.

> Can you address the part where I mention isomorphism of (oneof token) and (oneof (token {})), and clarify what exactly do you think you'd have to teach other engineers to do, if your protocol's encoders and decoders took this property into account?

What you have written is not a serious proposal in terms of a working way to extend Protocol Buffers to allow repeated oneofs.

What you have written is a very complicated way of saying: "You theoretically could support extensible repeated oneofs, with the right type system and protocol design."

Yes, I know that. With a clean slate, we can do anything. But in the real world (yes I'm going to keep saying that, since you don't seem very familiar with it), you don't get to start from a clean slate every time you don't like how things have turned out.

As it stands, the product type in protobufs is `message`, the sum type is `oneof`, and the vector type is `repeated`. The way `oneof` is encoded on the wire is exactly one of the tags appear. The way `repeated` is encoded on the wire is that the same tag appears many times. The way `message` is encoded is that it's a length-delimited byte blob that contains a series of tag-values inside. Unfortunately, this encoding means if we supported `repeated oneof`, it would not be extensible.

So we ban `repeated oneof`, and say "you need to write a repeated message, where the message contains a `oneof`". This isn't as pretty as people might like but it works just fine in practice and we move on to more important things.
by layer8 | 2025-09-07 20:48:36+00:00
The expression problem is about dynamic dispatch, not static dispatch. For example, you call a function F that returns an object of one of the relevant types, and another function G that returns one of the relevant operations, and then you apply the operation to the object. How can you have F extend the set of types, and also G extend the set of operations, without having to recompile the caller, or without F and G having to coordinate, and also avoid a runtime error due to a missing implementation of some operation for some type.
by HarHarVeryFunny | 2025-09-07 20:49:11+00:00
Just because people have differing opinions (some well founded, some not!) doesn't mean that defining best practices doesn't make sense. Code readability and lack of surprise objectively are good things, and certainly important for large enterprise projects.

I think there are two alternate guidelines for use of operator overloading that would make sense.

1) Just don't overload operators at all for your own types! Leave that to the standard libraries and types that they define.

OR

2) Overload, but keep to the semantics of the operators as used by the language's built-in types (e.g. use arithmetic operators for arithmetic operations, comparison operators for ordering operations, etc). If your project was using a style guideline like this, then violations would be caught by code review (maybe automated by AI in the future?).
by rolph | 2025-09-07 20:49:27+00:00
oxidation is a chemical process, [LEO says GER] that which Loses Electrons is Oxidized, that which Gains Electrons is Reduced.

it isnt always oxygen that does this, a difference of RedOx potential allowing redistribution of electrons is all you need.

mars has a perchlorate problem thus carbon compounds are converted to carbonate via Oxidation when encountering ubiquitous perchloate mineral deposits.

its toxic to carbon based biochemical forms, and destructive to carbon materials, such as carbon fibre; carbon nanotubes; carbon steel; even a lot of keypads.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Pesky Perchlorates All Over Mars:

https://www.science.org/doi/10.1126/science.340.6129.138-b
by 1718627440 | 2025-09-07 20:49:38+00:00
> how can our meeting time have not changed if the exact instant it occurs has changed?

Because human time is not a numeric offset, but a name of relevant points.

> The choice in front of you is to pick a completely precise specification on which everyone agrees (the "instant of time") with an incomplete specification which you admit yourself may change in the future. My vote is to at least encode something unambiguous

The incomplete ambiguous specification is the one everyone agrees to, programmers just don't like them.
by dwood_dev | 2025-09-07 20:49:42+00:00
I used to have an extremely negative view on all this serial number pairing that Apple does, then I found out why.

Within mainland China, Apple was facing fraud of having their devices purchased, stripped for genuine parts, and then rebuilt with knockoffs and sold as new to unsuspecting victims within China or returned. This whole thing that we hate in the west was in response to that fraud.

I don't like it at all, but it's not all Apple being assholes.
by DLoupe | 2025-09-07 20:51:44+00:00
> I wonder what you are doing to get yourself in that situation.

The problem with the current move semantics is that, compared to e.g. Rust: 1) the compiler generates unnecessary code and 2) instead of just implementing class T you must implement a kind of optional<T>.

Which means, that after all those years of using smart pointers I find myself ditching them in favor of plain pointers like we did in the 90's.
by SQLite | 2025-09-07 20:51:51+00:00
The paper is from 2017. Fossil got chat support in 2021 and the developers now use Fossil-chat. https://fossil-scm.org/home/doc/trunk/www/chat.md

Fossil chat has the advantages that (1) it is fully encrypted and (2) it works from any web-browser, including on mobile phones.
by siliconc0w | 2025-09-07 20:51:54+00:00
When we bought our house, we offered to buy it as-is so the owners wouldn't have to sort through it. This may have helped our bid win even if it wasn't the highest. It was actually pretty interesting looking through the lives of the previous owners.

I dread having to sift through my parents house. My mom also loved her silver and China - polishing it was a chore that we could pick up as kids to earn a few bucks. The furniture especially is still in pretty good condition and is also just so much better made, with much better wood, but is in the completely the wrong style for our home.
by dijit | 2025-09-07 20:52:16+00:00
Soap was essentially the onset of what we’d consider urban living, before soap (and even for a long time after to be fair) medical operations had a stupidly hi morbidity and city life was also quite.. unsurvivable. Soap itself may not have been an investment, but it unlocked a lot of capabilities for our civilisation. Almost impossible to quantify how much.

Locomotives were something that had a definite upfront cost, unlike soap, and we invested so much money - up to 3% of GDP in some years in the 1800s.. but the economic benefits were ridiculous.

Spending on AI data centers is so massive that it's taken a bigger chunk of GDP growth than shopping! (according to Yahoo!: https://consent.yahoo.com/v2/collectConsent?sessionId=3_cc-s...)

I mean, it’s really apples to oranges, but I can’t imagine us getting the returns anywhere close to what rail gave us in the 1800s.
by mcintyre1994 | 2025-09-07 20:52:19+00:00
I thought this when I had an Apple Watch, but I’ve really not found much that I miss. I occasionally found it useful to action notifications, but dismiss is almost always all I want - and that works. Apple Maps doesn’t seem to care about being useful, but Google Maps does the right thing with notifications so I just use that instead. Music controls work, and they’re more reliable because it’s trying to be less magic. Siri is as useless on the watch as anywhere else. I think the watch worked as a camera control and I might have used that once.

I do agree that Apple should be forced to compete on a fair playing field, but I don’t think they do a good job of taking advantage of it with Apple Watch.
by marcyb5st | 2025-09-07 20:52:49+00:00
Replace a significant portion of the workforce reliably (IMHO). And if that happens, I wonder what's next. I mean, if we automate say 30% of jobs these people won't be employable anymore without a drastic change in their careers' trajectories (I mean, they have been automated out of work once, any company would eventually do the same).

When that happens they will end up overcrowding other jobs sectors pushing salaries down for people already in these fields. Once that happens, the lost of purchase power will hit every sector and drag down economies anyway.

So, if I have to summarize my thoughts, we are either in a bubble that will pop and drag down AI related stocks, or it is not a bubble because the tech will actually deliver on what CEOs are touting and there will be high unemployment/lower salaries for many which in turn will mess up other parts of the economy.

Happy to be wrong, but given the hype on AI the winning conditions have to be similarly high, and millions losing their jobs will for sure have huge repercussions.
by rikafurude21 | 2025-09-07 20:52:59+00:00
I get that a pure consequentialist can flatten every distinction, but in the real world we still distinguish between (a) ‘I’ll kill your entire bloodline if you stop typing’ and (b) ‘You can resign and face a résumé gap.’ Until we’re ready to treat a bank-teller under duress the same as an armed robber, that difference has to matter.
by mingus88 | 2025-09-07 20:53:16+00:00
Interesting that one of the items that they iPhone can’t replace is the “fuzz buster”, a radar detector

Arguably that’s also covered by Waze or any other speed trap app

But the dystopian take is that the iPhone gave away far more to the surveillance state than we ever had with scanners and radar detectors of old. I don’t think we’ll ever go back.
by greatgib | 2025-09-07 20:53:19+00:00
That annoys me a lot that ASML that is quite a good stock with a good business dilute themselves with that.

Mistral might or might not be a good business in the future but that puts ASML subject to the potential AI bubble.

If they have too much cash at hand, and they wouldn't see any good use to invest on staying ahead in the technological race, it would be better to give back the money to shareholders. Then individual shareholders could decide if they want to put their extra money in Mistral or not.

Behind this, you can easily guess that some politician pressured the company to support the European AI unicorn. That is the European way, ruining what works well...
by convolvatron | 2025-09-07 20:53:36+00:00
I think we only got to this point because of a near-complete erosion of personal responsibility

- agile and devops both conspire to treat developers as replaceable standins - we're not even really expected to hang around and see the consequences of our decisions - on arriving in a new organization, we're presented with a heap of trash we're asked to just sort of keep it running, certainly not to fix it - 'industry standard best practices' win over a well designed bespoke solution every time, developers are just expected to write a little glue at most - managers aren't expected to know anything about the domain at all, but to track people to make sure they did what they said they were going to - speed to feature is the only metric. instability can be papered over with bodies - we pretty much stopped systemic testing a couple decades ago

so given that we've been on autopilot to a vibe-coding wonderland for quite some time, I guess we shouldn't be surprised that we've reached the promised land.
by kjkjadksj | 2025-09-07 20:53:59+00:00
I don’t think its doing so much propping up because the spend is being thrown into a couple of piles. When companies hire some ai superstar for millions it isn’t like much of that money is circulating in the wider economy like if you invested it into a diversified portfolio or hired a lot of lower wage people who spend a much higher share of their paycheck on stuff that keeps it circulating in local economies. Likewise if that spend is going to server racks or electricity. The money just doesn’t have a lot of avenues to spill out into different subsets of the economy.

This is probably what is going on when we see McD executives say there are basically two economies in the US at the moment, one doing very well for itself and the other experiencing a lot of hardship.
by hamdouni | 2025-09-07 20:54:20+00:00
This part of the readme may answer your questions :

# List your VMs

flint vm list --all

# Launch a new Ubuntu VM named 'web-01'

flint launch ubuntu-24.04 --name web-01

# SSH directly into your new VM

flint ssh web-01

# Create a template from your configured VM

flint snapshot create web-01 --tag baseline-setup

# Launch a clone from your new template

flint launch --from web-01 --name web-02
Show HN: RNN Musical Instrument
by cochlear | 2025-09-07 20:54:37+00:00
In this small demo, I first overfit a single-layer RNN, decomposing a short segment of classical music into two "factors":

- a sparse "control signal", something like a score, representing the injection of energy into the system or instrument(s) - an RNN which models the resonances of the instrument(s) being played

Finally, hand-tracking landmarks (thanks to MediaPipe) are mapped onto the RNN's input space via a random linear projection.

While recent text-to-music models are a groundbreaking technology, I'm exploring ways to enhance the _real-time_ experience (and joy) of action and reaction that comes when we play a musical instrument, or even when we tap on some random object that sounds particularly pleasant.

In "Livewired", David Eagleman discusses the astounding ability of our neural networks to quickly integrate new senses and sources of information. Similarly, I think musicians are able to quickly and expertly map high-dimensional signals onto the space of possible sounds.

I'd like to grow this collection of sensors, projections, and resonance models.
by dijit | 2025-09-07 20:54:55+00:00
The issue is:

1) Overhype can cause a “winter” where the word itself will become toxic once the bubble pops, leading to significant underinvestment for the period following. This actually has already happed twice with AI, and is part of why we use “Machine Learning” for concepts that used to be called AI… because AI was a toxic word that investors ran from.

2) A bubble sucks all the oxygen out of the room for all other technological endeavours. It’s strictly a bad thing as it can crush the entire technology sector (or potentially even the economy).

3) Bubbles might cause a return to form, but the internet was more like the railroads. Once built the infrastructure was largely existing and it being sold “for cheap” lead to a resurgence. AI has fewer of these core bits of infrastructure that will become cheap in a bust.
by sky2224 | 2025-09-07 20:55:53+00:00
Another thing to add: developers don't have the time or don't want to spend time on apps like this, but it's not like this is anything complicated.

This app ultimately amounts to something that has been done millions of times, and so I think it's actually quite empowering for individuals to be able to quickly build mockups of apps like this for themselves without needing to spend upwards of $75/hr to hire some freelance dev to do it for them.
by KPGv2 | 2025-09-07 20:55:54+00:00
Implementing an interface results in a class that implements it. From then on, the fact your class implements that interface is entirely obscured from your code. In the case of tracking effects, this is clearly undesirable. (Also, in a language that doesn't have classes, implementing interfaces is difficult for me to think about.)

In the case of algebraic effects, they're functions with type signatures explicating the effects the function has. Those don't go away until somewhere nearer the edge of your program, outside the core, you say "by the way, use this to handle those effects"

Effect handlers also give you control over continuations so you can sequence effects explicitly, which is—speaking as someone who writes a lot of code in a language that has algebraic effects as a core part of the language (Unison)—really powerful. Deciding in some instance how you prioritize IO vs Exceptions, making a thrown error go away and replacing it with an HTTP effect that, wayyyy far away from this code handles all HTTP calls by attaching a self-signed certificate when doing the SSL handshake, or whatever, is very nice.

The more I write in this style, the more interesting techniques I come across.
by reaperducer | 2025-09-07 20:56:00+00:00
imagine a world where people who are forced to steal are competent enough not only to know which phones they can sell, but to be able to guess the make and model in the middle of a mugging

No need to imagine. This actually happens with watches.

In Hong Kong (and likely other cities), you can pick a watch from a "catalog" that is a binder of photos of watches on people's wrists in public, and the middleman will have the watch custom-stolen for you.
by shredprez | 2025-09-07 20:56:06+00:00
It's a good thought exercise, but the opening hinges on a premise that feels obviously wrong: that experts in doing work by hand will do that work faster with AI.

My experience is that, in many cases, people who are very good at doing something by hand are excellent at the process of doing that thing by hand, not generally excellent at doing that thing or talking about that thing or teaching others how to do that thing. And I've found it to be true (sometimes particularly true) for people who have done that thing for a long time, even if they're actively interested in finding new and better ways to do the work. Their skills are fine-tuned for a manual way of working.

Working with AI feels very, very different from writing software by hand. When I let myself lean into AI's strengths, it allows me to move much faster and often without sacrificing quality. But it takes constant effort to avoid the trap of my well-established comfort with doing things by hand.

The people who are best positioned to build incredible things with AI do not have or do not fall into that comfortable habit of manual work. They often aren't expert engineers (yet) in the traditional sense, but in a new sense that's being worked out in realtime by all of us. Gaps in technical understanding are still there, but they're being filled extremely fast by some of the best technology for learning our species has ever created.

It's hard for me to watch them and not see a rapidly approaching future where all this AI skepticism looks like self-soothing delusion from people who will struggle to adjust to the new techniques (and pace) of doing work with these tools.
by tasuki | 2025-09-07 20:56:06+00:00
> ("I'll show you how we prepare tea...") My wife does not drink tea. I do.

I try not to collect things. But I noticed I have an increasing number of gaiwans. Somehow, I always find an excuse to acquire another one...

(Them gaiwans are of the "I won't be too sad if the kid breaks one" variety. Props to the kid for not having broken any yet, despite regularly enjoying a variety of oolongs/pu-erhs/greens...)
by ericfr11 | 2025-09-07 20:56:14+00:00
This argument has no weight. First, a lot of people in the US are in favor of multi-cultural society: from St Patrick's (Irish) to Cinco de Mayo (Mexican), ... If anything, the US is a multi-cultural nation from the beginning: German was almost the official language of the US. Railroads would not have been built without the Chinese. NY pizza wouldn't exist without the Italians. And more. We need some laws obviously, but let's stop pretending the US is a single culture
by akeil_music | 2025-09-07 20:56:29+00:00
As pertains to music snake the arcade game is not the worst controller. Any data set is magic dice roll is here.

The classic video game snake has variables that can be adapted for other uses.

This came to mind looking at variables in etherium etc but many other apps maybe even cooking a curry for example or a vowel and consonant %modulus loop generator for trivial words for creative input to other functions.
by mnky9800n | 2025-09-07 20:56:43+00:00
This paper makes the assumption that carbon mineralisation will never happen. you can mineralise carbon in ophiolites which are abundant to the point that all carbon ever produced by humans could be stored in them. To be fair, they do mention carbfix but only in passing and almost to dismiss the effort. Furthermore, only accounting for storage in sedimentary basins their bounds of 1290 to 2710 Gt would accommodate ALL human CO2 emissions at current rates (ca 40 to 50 Gt/yr) for more than 25 to 50 years. The problem is not that carbon will run out of places to store it. The problem is that capturing carbon is not happening at the scale necessary to make a difference.
by ceronman | 2025-09-07 20:56:49+00:00
I don't know why you're getting down voted. But you are right. Rust type system solves this in a very nice way. Maybe to clarify we can show how to do the exact same example shown with Clojure multi-methods, but in Rust:

struct Constant { value: i32 } struct BinaryPlus { lhs: i32, rhs: i32 } trait Evaluate { fn evaluate(&self) -> i32; } impl Evaluate for Constant { fn evaluate(&self) -> i32 { self.value } } impl Evaluate for BinaryPlus { fn evaluate(&self) -> i32 { self.lhs + self.rhs } } // Adding a new operation is easy. Let's add stringify: trait Stringify { fn stringify(&self) -> String; } impl Stringify for Constant { fn stringify(&self) -> String { format!("{}", self.value) } } impl Stringify for BinaryPlus { fn stringify(&self) -> String { format!("{} + {}", self.lhs, self.rhs) } } // How about adding new types? Suppose we want to add FunctionCall struct FunctionCall { name: String, arguments: Vec<i32> } impl Evaluate for FunctionCall { fn evaluate(&self) -> i32 { todo!() } } impl Stringify for FunctionCall { fn stringify(&self) -> String { todo!() } }
by tootie | 2025-09-07 20:56:53+00:00
You're reading way too much into the word "welcome". I don't mean we should be more polite, just more intentional.

Data says immigration is generally good for the economy but certainly within some parameters. I don't think any data says immigrants hurt black Americans but please cite something besides your personal observation. It does seem pretty specious to blame the least powerful people in society for the downfall of the next least powerful and not the massive wealth concentration at the top. The fact that immigration is being demonized by the same crew who want to ban discussion of racism or diversity is not a coincidence.
by smokel | 2025-09-07 20:57:22+00:00
To add to this, I think that in the past decades, the rise of large software ecosystems (e.g. around Python, Java, Windows, AWS, Azure), have had both positive and negative effects on accidental complexity.

On the one hand libraries and platforms save developers from reimplementing common functionality. But on the other hand, they introduce new layers of accidental complexity through dependency management, version conflicts, rapid churn, and opaque toolchains.

This means that accidental complexity has not disappeared, it has only moved. Instead of being inside the code we write, it now lives in the ecosystems and tools we must manage. The result is a fragile foundation that often feels risky to depend on.
by dijit | 2025-09-07 20:57:44+00:00
Yeah, this basically continually happens.

Look at history, there’s so many jobs that have been automated yet we still have 95%+ employment in most countries and effectively “double” the workforce as we’re pushing dual-income households as a standard.

I’m not sure how our obscenely wealthy overlords think things will play out when we’re all wage-slaves barely able to scrape by. It hasn’t worked out for any society historically.