skysight-inc/HackerNews huggingface dataset:
We have a two-party system, and neither have real plans to solve these problems, beyond maybe raising taxes/reprioritising spending a bit to slow the decline of the NHS.

The increasingly ridiculous cost of housing is at the core of the UKs problems, but nobody in power even wants to solve that, as so many wealthy people, politicians included, are making so much money out of property.

And solving the transport problem is deeply 'uncool' for environmental reasons. Roads are obviously seen as bad, but even attempts to build railways will be heavily protested. Meanwhile they won't even decriminalise electric scooters.
Maybe improving policies of current parties would be making more sense?
Other programs can use CLI tools so the poor users don't have to be confronted with the horror that is a terminal emulator.

For example, mpv uses youtube-dl automatically if you give it a URL (or yt-dlp since it installs the same binary).
By the way, is this a plausible scenario?

(1) Add more drives, start online rebuild

(2) Have one drive fail/URE mid-rebuild

(3) Be forced to switch to offline rebuild because the array was in a strange not-entirely-consistent state even before the failure, even though without the new drives you’d be in a routine online-rebuild situation

If so, possibility (2) could in principle not be detectable in staging, as it could depend on the drive’s age, and having to reread everything—as a rebuild does—is a rather abnormal load. The failure could even predate (1), if it happened to data nobody’d looked at for a long time.

This is less a question about these guys and more in general—is a RAID/ZFS/etc. array/pool/etc. in a vulnerable state after you’ve expanded it?
It says that the popcount instruction is not very useful but I've needed in quite a lot in my time doing embedded, encoding/decoding or some special algorithms for storage in e.g. game engines.
>what does he mean when he says rename isn't atomic if there's a crash?

Not sure. One of the papers he cites [1] has this to say about rename atomicity:

>Directory operations such as rename() and link() are seemingly atomic on all file systems that use techniques like journaling or copy-on-write for consistency

So it seems to depend on the file system. But the authors claim that not just link but also rename is atomic without qualification, which appears to be false, so I'm not sure how trustworthy this is.

There's a stackoverflow comment [2] that suggests that ext4 guarantees the kind of sequential atomicity property (atomic link followed by atomic remove) I mentioned:

>Kernel implementation depends on filesystem but here's implementation of Linux ext4 filesystem: elixir.bootlin.com/linux/v5.19.3/source/fs/ext4/namei.c#L3887 – it seems to first mark the inode as dirty, then create new link and after that delete the old link. If the kernel crashes in the middle, the end result could be two links and dirty mark. I would guess (but didn't investigate if this true) that journal recovery during the next mount would fix the end result to match atomic behavior of leaving either the old or new state depending on exact crash location.

In general, I find it rather weird how little authoritative documentation there is about whether or not this property holds given how important it is.

[1] https://www.usenix.org/system/files/conference/osdi14/osdi14...

[2] https://stackoverflow.com/questions/7054844/is-rename-atomic...
I'm done as well. This entire field is toxic garbage.
It’s strange to me that so many commenters on Hacker News repeat talking points that sound like Fox News commentary. That is to say, (the old) USA is all good and the rest of the world sucks.
Fun, I wonder if anyone has done a garbage collection game. I'm imagining an isometric view, like Zaxxon, where you drive a garbage truck around and collect dead references.
Guards are very small, very fast functions built in the BEAM VM.

is_integer is a guard (in pseudocode: cell.type == TYPE_INTEGER).

URI.char_reserved? is too high level to be builtin the VM.

Same for the hypothetical is_keyword_list mentioned above. How would you know if something is a keyword list?

1. It is a list

2. The first element is a tuple of 2 elements

3. The first element of the first tuple is a keyword

4. Every other element in the list obeys #2 and #3

What if you pass a list with a million elements to a guard like that? The VM would grind to a halt traversing every single element to make sure the whole thing is a Keyword. This is why there is no such guard.

So sure, you might have to consult the docs for what's a guard and what is not, but can also be understood intuitively.
The difference can be big if you want to sue for unlawful termination or if you are sued if company claims you caused them damage. The bosses may have reasons to have some things off the record but you may have reasons to keep paper trail
Wait wait what? can you elaborate?

I'd love to get back to the halcyon days of the late 90's where I could use whatever client I wanted to talk to people.
yep, just pop out and get $22bn to flush down the drain
My reply wasn't meant to refute the parent's point. I wanted to clarify because in today's society ethnicity is a much more contentious data point than religion. Given the prevalence of race-related issues in the media it makes much more sense to a present-day mind to say "maybe we shouldn't be recording ethnicity" than to say "maybe we shouldn't record a person's religion".
Your [1] citation is completely bogus and made me lose all faith in The Guardian, a newspaper I used to hold in high regard.

That Chang Frick has ties to the Kremlin is ludicrous.
WinDebloat: A dotnet tool that removes the bloat in Windows 11
The first is a book, the second just their website, but they have several posts on idea generation IIRC
I was basically just responding to your flippant suggestion that someone just "go somewhere else" if they don't like it where they're at.
> This may not actually be the case, 'starter' cartridges often have significantly less toner than full-size.

But it definitely is the case. They still haven't exhausted the starter cartridge.
You’re not alone. MLB has adopted a bunch of new rules in order to both speed up the game and generate more plays. They see the problem as well.

Pitch clock, pick-off attempt limit, the shift being reined in a bit. The bases are slightly larger, which should tip the scale toward the runner.
I picked up Dart in a week or so and felt very productive with it in less than a month, the language itself is very easy to understand if you already know Typescript or Java.
Flutter has a learning curve as well, you need to understand the concepts and the built-in widgets but even after month or so I was able to code up basic cross-platform app for iOS/Android. Ended up spending almost a year working on that project and gradually evolving it to support offline state, geolocation and real time updates.
Yep, you soon learn how many people on your team have older versions of Python installed. Or keep your script compatible with 3.7 or older.
Elixir gets way too much coverage on HN considering that so few people use it.

Unfortunately Elixir doesn't solve any problem which isn't already solved by more popular languages such as Golang, JavaScript/Node.js, Java, C# or Python and the result is neither more efficient nor more maintainable... But its lack of adoption is a problem as it limits your ability to access many powerful libraries and tools that are available when using other more popular languages.

Programming languages aren't so different from spoken languages... Linguists can nit pick various pros and cons of different languages but ultimately it's not an author's language which determines whether or not their novel will earn them a Pulitzer prize in literature... Yet there is a good reason why no serious author will write a novel in Klingon (and it has nothing to do with the characteristics of the language itself). Same goes for programming languages and programmers.
"Accurate enough" isn't a boolean value. An emulator can emulate all games perfectly without being fully accurate, and it will be much much much faster than a fully accurate one.

It's accurate enough for most games, but not accurate enough for those specific three. But if getting them running doesn't give you anything besides getting them running, did you really improve your accuracy? Or just implement workarounds for those games?
Isn't that also true for React Native?
> Also, why would you do with WebAssembly instead of JQuery, or Rust?

What? WebAssembly is a runtime environment, JQuery is a library, and Rust is a language.
I assume it could be modified to retain the surface colors.
From that same site: https://www.appbrain.com/stats/libraries/tag/app-framework/a...

React Native: 5.43% of apps (4.18% of installs)
Flutter: 4.22% of apps (1.39% of installs)

It's clear from the ratio of apps to installs that React Native is used by apps that are on average 3x more popular, but that isn't really a sign that the framework is less viable, just that more of the most popular apps are were written using something else - and I'd speculate that in many cases those apps predated Flutter.

I actually find it more interesting that the number of apps written with Flutter compared to React Native is fairly similar. To me, that suggests that Flutter is gaining ground rapidly, because that very much wasn't the case when I first starting using Flutter on my hobby project a few years back.

In any case, your 25% target seems unrealistic for any framework [1]. Unless your takeaway is also that React Native is not a viable target until it too hits 25%.

[1] I'm discounting Kotlin from these stats as it's not a framework [2], and similarly I don't understand why they counted the Android components as a framework.

[2] Actually, I'm surprised Kotlin is this way down in the charts... If native code is now more popular than Kotlin, that could cause compatibility issues now some phone manufacturers are starting to experiment with RISC-V instead of Arm.
From other comments, you would probably describe the pet’s features (likely with a fair amount of confusion / fuzziness), or some feature-descriptions might be stand-ins for specific animals.

For instance imagine that rather than a cat your pet is a chuckwalla, while that name is quite precise, it is almost certainly useless to the average conversation partner because most people have no idea whatsoever what a chuckwalla is (or that there’s something called a chuckwalla in the first place).
An actual Esperanto speaker here. I need to correct this. It was never intended to be a "diplomatic" language, as such a language only spoken by diplomats between their kind. So the language of a small elite, which does not want to deal with the average man on the street. That sounds like a story which was said about the predecessor of Esperanto: Volapük.

Esperanto was at some point in time the "workers latin", because the less educated worker could learn it as a means to talk with people from other nations. That ended with pushing English or other "more practical languages" in schools to this day.

Esperanto still is a working living language with a working worldwide community.
I didn’t understand English at real speed either during my first years of learning. There’s a moment you easily understand all words in a conversation but it still require a bit subconscious effort so you don’t have enough “cortex RAM” left to understand the whole conversation meaning at first read/ear.
There also is a limit to the number of hardlinks to an inode (filesystem dependent).
No. It's not stellar but it's okay and nowhere as cringey as Believers.
Thank you for posting this :) I'm the founder.

The landing page is still a work in progress, but the product is fully operational.

Happy to answer any question!
In fact human living is basically a type of operating system, as we all juggle on a daily basis tasks, resources, input/output, storage, cache, and states. The concept of dashboard is an essential operating system tool, and on a human scale it is basically your bank, tasks, calendar and inboxes. Plenty of "self improvement" concepts then translate neatly into operating system best practices, such as using FIFO or LIFO to manage allocations, planning ahead to break deadlock situations, managing parallelism, and JIT garbage collection etc.
I mean… did you have any success at all?

The “limits of the ai” for this kind of thing is basically everything other than pure dialogue in my experience.

I also had a bit of a play with this, but the LLMs were just rubbish at it.

The only meaningful way of doing this is to write an actual game using actual state, and use the LLM as a “renderer” that renders coherent state into free text, and free texts into (more or less) structured action requests.

Without rails, it just becomes like AI dungeon; free wheeling adhoc story telling with no rules or structure…

Large context windows don’t solve large scale coherence, and prompt engineering does sfa against the devoted trolling efforts of actual players.
Looks powerful, hope it handles well without too much menu diving.
> As if this is any different in the US, where film and music have also lionized the "baddies" for well over a hundred years!

Agreed. IMHO, we all could benefit from some critical thinking when watching movies or TV series: that someone is the main character, doesn't automatically make them "the good guy", and they shouldn't be emulated even if you love binge-watching their antics.
Media Rehydration, Or: How to Kill the Middle Mile
The choice of Cap'n Proto seems odd to me

https://veilid.com/framework/rpc

It is an interesting project, but I'm sceptical. Veilid appears to be focused on their implementation in Rust, not so much as reference implementation but as the thing itself. I was hoping for a W3C like definition of a standard, not "bound" to their implementation or Cap'n Proto.
You may be misunderstanding the relationship between FP and state.

We are not against state, quite the opposite, FP likes state so much that we put it on a pedestal! We make it explicit, often with functionality that makes it easy to spot, understand, and manipulate.

If you think about your questions, here is how I would answer it:

"It's harder to test" -- so let's make them simple to test without mocking them out (which would effectively remove them from the test).

"It's harder to reason about" -- so let's make it easy to reason about by making it explicit.

"It's hard to tell where changes come from" -- so let's add constructs for manipulating it.

It is not about antagonizing it, it is about making sure it is clear and intentional.

---

PS: the "evil bit" is more often associated to global mutable state, but don't let any FP language fool you, they all have global mutable state with explicit tools for manipulating them. In Elixir, you can even use tools such as LiveDashboard [1] to navigate all global mutable state in your application, making it very easy to introspect.

[1]: https://github.com/phoenixframework/phoenix_live_dashboard/
And inevitably at one point something like "hot brown water" will become a single term for coffee. And then it will be contracted into something like "hobrow" because the original term was too long :)
No sound clip?
Wilmot's Warehouse is the one it most reminds me of (maybe the graphics), which is quite fun (except for the random crashing :( that seems to get worse after it starts happening). This one needs a lot of work, though. I did it wrong it seems looking at the other comments here but nothing about this one makes me want to try again. Wilmot's Warehouse has excellent pacing. The theme of this one could be made to work well but throwing everything at the player right away and see how long they can keep going is not my idea of fun. I'd suggest automation options combined with changing the use pattern of the system over time. Plus something to give the player more customization options so it isn't just "do this repetitive task as quickly as you can". Maybe a choice of cute loading icons that you can display in certain circumstances?

Mini Metro is another well known game in the time management genera. I've seen some recent games with this design and played a demo of a not yet released game. It seems like a common small indie game genera since larger developers don't seem to touch it that I can think of (except possibly some mini games? I can't think of anything off hand but there must be some). I guess the larger developers go for RTS games instead.

Possibly the OS theme could be turned into a kind of "bot combat" game (at least I think that would be the general genera I'm thinking of, but without direct combat in this case) if the internals are automated and then compared to the market as a whole, with established OSes that are fairly good at everything but not great at anything. These established OSes could then take various anti-competitive actions along the way that force you to get better at a different specialty than you previously targeted.
a good read on HN after a very long time, for me.
I’m almost positive that the engineers already know how the throttling is applied and how it could be circumvented.

Downloading the same file used in the official UI and applying/reverse engineering the function is not exactly rocket science.
There will be an Android client at some point, but its not available yet.

One of the great things about zrok is that its built on OpenZiti, so we use Ziti's components as part of zrok. Ziti has an Android client (https://play.google.com/store/apps/details?id=org.openziti.m...).

Do you have an immediate need? If yes, I can check with the dev team to bump priority... particularly if the use case deploys into production.

Correct, Ziti has an overlay fabric with smart routing. This allows all connections to be outbound at source/destination for better security and simplicity. The smart routing potentially allows us to deliver better performance too. We do have P2P connections on the roadmap for use cases which would benefit more from that type of approach.
> Because it is not meant to be a guard—it cannot further empower a function head and pattern match and be optimized and/or inlined by the compiler. Simple as that.

First of all, that's not an explanation, that is handwaving. The real explanation is that URI.char_reserved? could be rewritten using defguard, because it only uses `in`[0]. An arbitrary choice (whether conscious or unconscious) was taken, that this particular standard library function is not allowed to be used in guards. But there is no good reason for it.

Secondly, are you claiming that it is not useful to be able to use URI.char_reserved?/1 in a guard? That's obviously bullshit.

Finally: The real reason why some things can be used in guards and other can't, is that Elixir must be able to guarantee that no side-effects happen while evaluating a guard[1]. This is a good reason (a good follow-up question is, "why must guards be side-effect free?") and something you can use to form a mental model of which functions you can use in guards and which you cannot, but it is not described anywhere in the Elixir documentation. It's not an easy thing to form a mental model around, but it can be done.

To be fair, I think this is a shortcoming in Erlang as well. It would be better to be able to look at the type of a function and be able to tell whether I can use it in a guard or not. Or just allow all functions to be used in guards, such as in Haskell.

0: https://gist.github.com/Munksgaard/ccac61310651d3402571506e4...

1: https://www.erlang.org/docs/22/reference_manual/expressions#...
> People said that about Blu-ray for ages, and for a while they were right but in the end the industry had people paid to keep updating keys and fixing bugs forever, and the open source world only has volunteers.

I can rip Blu-Rays easily with freely available tools [0] - even shiny new UHD ones. Doesn't seem the industry won that one.

Pirates don't distribute the leaked device keys anymore so you need to get disc-specific encryption keys derived from that but that's all done automatically for you and I imagine is only because this is currently the path of least resistence - if this was not an option then device keys would leak faster than they can be removed from new releases.

> Still I definitely think it's wrong to assume that Google couldn't win this battle.

DRM is an inherently unwinnable battle. Won't stop anyone from trying and making things worse for regular users in the process though.

[0] https://www.makemkv.com/
Am I the only one lost at the very first paragraph? It shows something that looks like a grammar, but I can't understand what "Num", "Int", "If" are... Are they literals? terms? types? And what does "data" mean?

So it's not a grammar. "data Exp" might describe each internal node of the AST, where the first word is the node's variety and the following words describe the children nodes. But what does "data Type" mean, then?
> The industry has very strongly decided that developer "productivity" is more important than anything else though.

It's not productivity, it's cost. If an app costs twice as much to build for "20% better UX" then that's ridiculous. You can release earlier and spend half the difference on bugfixes/polish/additional features based on what you see in the wild.
Can you expand on this because that's pretty alarming...

What kind of volume were you doing and did you use the API for anything other than your listed use case when applying?
The paradox that links epidemiology and sociology
> The court thinks that base64 is a legitimate way to establish copyright protection online.

> Yeah, not kidding you. The lawyers are this stupid.

The system is this stupid. The lawyers are fairly clever to pull off this sort of stuff regularly. You have to be intelligent to be actively evil.
It depends on what level of "run your own infra" were talking about here. Like, purchasing hardware, racking and connecting, coming up with a nice way to PXE build your fleet and a way to manage the OS and config (chef/ansible/puppet/nix?), before implementing a complete monitoring stack that works on network equipment, raid controllers etc, and then bootstrapping your own Kubernetes cluster or hashistack (or pretending that you don't need complexity, but over time cobbling together your own unique undocumented mess). It's a huge amount of work that startups usually can't afford. The time and effort to do it properly is monstrous. You need to be a company of a certain size to devote the required engineering and support staff to it.
Dear Mark Zuckerberg: Don’t Fight Elon Musk in the Las Vegas Octagon
This is a very cool tool. I was testing fastlink recently but found some issues with the docs and implementation. I will check out your tool.

Congrats on winning all those awards.
The cost to implement a model that can do P(Y|X) can unsurprisingly be much lower than something that can model P(X, Y) and that's not just because its an easier problem but economics and what just works easily.

But in the world of the future which is likely look at the "LLM of everything spoken/written" and given you can solve P(Y|X) P(X|Y) from a model that can do P(Y, X); LLMs could just win because of integration with everything.