skysight-inc/HackerNews huggingface dataset:
I think that with the move to the web and web app everything, there are fewer and fewer reasons for people to use Windows as a client OS outside of specialty software.

Hell, my last two HP laptops, nothing fancy, had worse hardware support on Windows than on Linux (where they were working 100% since day one), even with all the HP drivers installed. Took them about a year to fix this. So even "don't need to futz around with drivers" is no longer a reason.

And I think MS realizes this, seeing that recent .net things work on Linux, MSSQL Server now works on Linux (but not the studio, though). So, I guess they're just trying their damnedest to stay at least somewhat relevant. Companies are usually a bit slower to change user-facing things, so I guess MS won't go out of their way to help with the switch.
Blind people also do not always start blind.

So some have a knowledge of colors and, in general, places like diners and etc share color schemes so they can picture them in their surroundings pretty accurate.
> up to six months of housing for people who are or risk becoming homeless; are coming out of prison or foster care; or are at risk for hospitalization or emergency room visits.

So this helps prevent people from becoming homeless in the first place -- some because of issues the state/country create.

Which is the best way to prevent the cycle of homelessness from starting.
Your individual experience says nothing. I also look much younger than my age, what did I do for that ? Nothing. At least nothing extraordinary. No obsessive sports and no obsessive dieting. I just got lucky.

If I did do a specialised diet or exercise regime, of course I would attribute my youthful looks and energy levels to them, but that's magical thinking. You have no way to verify what your body would be like today without the ten years of pills.
Your description fits perfectly for a perfect world. But there is no 100% reflection in a real world.
That comment paragraph has non-serious written all over it and if you failed to see it is because you are desperately looking for a reason to be angry.

Do you want a reason to be angry? Try finding a better reason, like the environment, or nuclear proliferation, etc.

If we steered society towards what makes people comfortable the world would be a very horrible place to live.

Galileo, for example, would have said "OK guys, sorry for making you feel certain way, I better stop using my telescope and doing science so your imaginary friend is not angry".

Have a good day.
I think the DRAM issue is mostly a red herring. For a 120GB SSD, the SRAM on the controller will be able to hold a significant fraction of the logical to physical address mapping table. The bigger problem is that these tiny drives only have one or two NAND dies, so any operation that causes a block erase will tie up a quarter of the capacity for hundreds of milliseconds.
That's one of my root annoyances with Go's type system: it lacks sum types. Rust has sum types in the form of enums, and thus unions. People don't appreciate how useful sum types are until they need them, and then they discover how much easier they make things.
Even Samsung "Pro" flagship consumer SSDs are using TLCs nowadays. I want to believe they found a way to make TLCs suck less. At least, they can sustain the throughput on benchmarks, but I'm yet to find some benchmark on durability (vs past MLC iterations).
Software Component Interconnection Should Be Treated as Distinct Design Problem
Bread from Noodles
Yes, I keep an old laptop around with Windows 10, which sometimes goes months without powering on. When I do boot it again, it potentially takes hours of non-deterministically finding and downloading and installing updates over multiple reboots.

Compare to powering on a Linux machine and bringing it up-to-date in one shot with "sudo dnf upgrade."
> Insisting it's a deep, dark magic and not the advanced application of `str.replace` does the industry a disservice.

Respectfully, this perspective contradicts the computer science underlying our work--there are in fact different categories of string "languages" that can be parsed using different technologies, and regular expressions are not enough for most "languages".

See https://en.wikipedia.org/wiki/Chomsky_hierarchy for the different categories of languages and the required tech to parse them.

I consider CS theory to be about the deepest and darkest magic I get to use on a daily basis :P.

> The only difference is layers. Enough regular expression becomes a parser. A slim enough compiler is just a templating engine.

You can't add enough layers of standard regex to parse, say, C++ or even a tree of matching parenthesis. You need a different tech like CFGs.

Hope this helps improve the grokking! The "interesting meat" here actually points at some really deep, fundamental CS theory that's really worth knowing.
Maximum Flow and Minimum-Cost Flow in Almost-Linear Time

https://news.ycombinator.com/item?id=31675015

https://arxiv.org/abs/2203.00671
Show HN: Punya AI – Customize your own version of ChatGPT in minutes
Punya.AI is an AI-powered platform that enables business and consumer users to customize their own version of a chatbot.

With Punya.AI, users can quickly add their data with a UI or simple API call, and integrate Chat GPT into their applications in minutes.

See demo:
https://www.youtube.com/watch?v=LEJnAGj1VHU

Get started:
https://punya.ai/
I'm more interested in the patterns some of the drives show. Like the one with huge spike periodically (orange), or the the one goes up and down like crazy for the whole time (red).

Any clue what causes these?
I’d be willing to bet Java, Python, or C are the best because of how much training data was in those languages. They aren’t the best at a theoretical level but at a practical level, almost definitely.
Gaming on Windows is quite broken for ultrawide screen, or dual/triple screens. Other than that shader compilation is the bane of many (depends on the CPU) - resulting into 'random' stutters. The latter issues are a poster child of the fact most games are just console ports. So calling 'flawless' is an overstatement.
I tried zig after reading so many HN articles and I am not impressed. You have to remember to free after each allocation. The language is supposed to be simple, yet there exist try, catch, defer, errdefer. Rust enums make defining errors so simple with arbitrary payload. Using data structures in rust is much nicer. I think unless you have some precise needs about memory allocation, and want to control exactly where when and how memory is allocated, it is hard to argue in favour of Zig. The allocation control is very nice if you need it though.
Nice link.

Finding "the meaning of life" is often distracted by the heavy burden put by survival. When we don't have to work there will be a hard time picking up this old philosophical question.
Interesting. My experience is that Linux (Debian, anyway -- Ubuntu has never given me anything but headaches and instability) is at least an order of magnitude more reliable than Windows. It's been over a decade since I've hit a serious or crashy bug in Linux. I hit one about every other day with Windows.

I wonder why there's a difference in our experiences here?
Has anyone ever needed that history? I sure haven't. It's like having a copy of every google search and result you ever got, entirely pointless.
> Speaking of structure fields, they're always public. Structures and functions are private by default with an option to make them public. But struct fields can only be public.

This feels like a mistake to me. I own and maintain a C library, and lack of private struct members is one of the things that causes the most problems. My users frequently reach into struct members even though I really do not want them to. This causes problems when those members have subtly different semantics than what they expect. It's even worse when I want to change the internal representation, and I have to track down all my users' code and change it accordingly.

In C, my only options are:

(1) Define the structure in a .c file instead of .h. This works great in cases where I can take the performance hit of not being able to inline accesses of those struct members. But for performance-critical structures where I need to be able to inline, this is not an option.

(2) Make the member names something like private_foo, internal_foo, etc. and hope my users take the hint. But this also makes my own code more ugly and creates longer lines that are more likely to wrap.

Unfortunately Zig is even less capable than C in this regard, because Zig takes away option (1). Since there is no header/source split in Zig, I cannot make a struct opaque by defining it in a source file only. Though I do see that there is "opaque {}", perhaps that plus some casting could accomplish a similar thing?

I see that rationale for not having private struct members was given here: https://github.com/ziglang/zig/issues/9909#issuecomment-9426...

> The idea of private fields and getter/setter methods was popularized by Java, but it is an anti-pattern. Fields are there; they exist. They are the data that underpins any abstraction. My recommendation is to name fields carefully and leave them as part of the public API, carefully documenting what they do. [...] In my subjective experience, public fields generally lead to better abstractions by eliminating the temptation to attempt full encapsulation, when the more effective strategy is to provide composable abstraction layers.

Java does indeed represent an anti-pattern of verbose and frequently trivial getters and setters. But newer languages like C#, Swift, and Dart have more elegant and low-overhead syntax for properties, even allowing a property to move between being an actual field member and being derived, without breaking users.

As a library maintainer, full encapsulation is very important for evolution of a system over time. The only way for layers to truly be layers is if the contract at each layer boundary is clear. Otherwise the layers gel together and you cannot safely change any one layer independently.
>possible to buy a 1TB solid-state drive for less than €60

Thats fancy brand name ones! Chinese noname (unless you consider "blue" a brand :P) can be had for 1TB <$30 and 2TB <$40 with free shipping. No doubt using Chinese manufactured NAND flash, I have to wonder about write endurance and reliability.

https://www.ebay.com/itm/385414212830
https://www.ebay.com/itm/165934839845
https://www.ebay.com/itm/394522781098
Seeing the same. Not yet available in the US
I had WFF N' PROOF, along with one or two of thier other games as a kid, and was fascinated by them but I couldn't find anyone to pkay them with. We were into 1st edition D&D and wargames, but no one else was into logic or puzzle games. It's one of those odd regrets that I didn't play more.

I got a few friends into Penté, though. So that was kind of a win.
> Ah you can afford TVs and corn based foods. Why don't you go back in time so you don't have to do pointless activities for most of your waking hours until you retire and die 10 years later
I disagree strongly.

Writes are often just as important, there is no picking and choosing between read/write performance, both must be acceptable.

And that's true for both sequential and random I/O.

If you ever have to ingest some large data set on any of these cheap SSDs you'll be in for an unwelcome surprise.

And although outside the scope of my article, random write I/O performance is beyond terrible as soon as you're out of the SLC cache.
Do you have a blog where you keep a record of your experiences running de-googled device? Right now I kept going for the extremes ( either full on vendor lock in or pinephone ), but I don't think I tried middle ground yet. Maybe that would be something I should try.
Such an extreme measure without strict requirements on developer profit margins turns this kind of act into flowing more cash into the pockets of for-profit development corporations. Zero-profit development should be mandatory. Match people looking to work with funding to do so, without the profit margins and investors seeking gains.
Out of curiosity have you ever done any nontrivial development in a production quality Lisp using appropriate tooling like Emacs/SLIME or one of the proprietary IDEs? It’s exactly the programming environment that would be optimal for an interactive coding dialog with a LLM.
You can’t lose somebody who’s in your heart.
Show HN: Commitpit – write your code documentation in minutes rather than days
== What is CommitPit? ==

CommitPit is a web application that lets you upload a GitHub repository to scaffold your code documentation using GPT.

Once it's summarised you can also create subsystem documentation in a matter of minutes by directing CommitPit to look at the relevant files.

== Limited public alpha ==

Since we're built on top of ChatGPT there are some non-trivial usage costs. We're inviting 20 users to try it for free so we can get the feedback we need without having to break the bank.

We're offering select HN users $5 in free credit to try it out, no need to get an OpenAI token to share, just fill out the form if you're interested and we'll be in touch if we feel your use case fits!
I think the issue is that such contemplations are taking a very large leap forward over a moat that we don't know yet how to cross.

The moat being, assuming we could create a "safe" ASI, the transition from where we are now moving forward to that point without essentially destroying ourselves. Even the primitive AI that we have now is looking like it will bring about potential severe issues with verifiable reality and trust. That is likely an untenable existence for stable social order.
With respect, if you don't understand the questions, they're probably not for you.

In this case, those two questions tell someone a bunch of things: whether bad employees might stick around for a long time, whether good employees might want to leave for somewhere with better career prospects, whether there is good process in place to manage and accelerate employee career growth, whether management is doing their jobs right, whether there are wrong incentives or motivators (for example promotions tied to performance alone which incentivizes accomplishing empty goals that promote politically-savvy employees and leave the company hollow).

Famously toxic companies have processes designed to use fear and politics to keep employees so worried about their jobs that they can barely do them, much less contribute to the improvement of the company. Those companies can still survive and give good returns, but they have to trade on market power, and on a personal note they're often unethical.
The Wisdom of Crowds – By James Surowiecki (2008)
This is super interesting to me because I've never understood the appeal of crossfade; I've always assumed it was just a holderover from music being played on the radio, and that the radio did it just to be able to squeeze in more ads. What's the appeal of crossfade for a listener?
Windows Enterprise LTSB with some GPOs
Four figures for an operating system license? > $1000? Really? Per computer, for just that version of Windows? Can you explain how that could be worth it?
The first thing I remove, disable or brain damage when I get a new device is anything that pumps news into notification. I had a day where I had been cruising along on a new mac, and then the news feed sent me three really gristly rape/murder stories in a row. I went from being on a cloud, getting stuff done to depressed.

Incidentally, Apple News is not uninstallable (fortunately, you can disable it) on Mac and it needs to be for mental health reasons.
Jack Ma returns to China as government tries to allay private sector fears
This made me remember a time I checked a book out from the library and found lots of little notes written in Chinese characters in the margins throughout the book. Most if not all were, I assume, translations of words. It was quite nice - they had wonderful penmanship.
The text is bloody almost invisible which is so bloody annoying. A blacker font? Or a better or bigger one perhaps? Or is it just the colour? The notes are not linked to the text either... (which may or may not be a good idea).
Can't speak for GP, but for me, it's been relatively good, though delivery can take a long time. I'm using a router setup based on Ali Express purchased hardware (N6005, w/ 4x 2.5GbE intel ports running OpnSense).

I've also used a few other intel mini pcs, since the pricing for RPi went insane from limited availability... 8gb RPi 4's were going for close to or over $180, adding in a case, drive, power and the intel mini pc options were about the same price, coming with storage, ram, case, etc.
I can't decide if this is a humble brag or very backhanded compliment.
Either way, the message is clear... Europeans are naturally endowed with taste and sophistication! :-o
Thanks. HOCON is a superset of JSON so you can write JSON if you like. There's also a spec:

https://conveyor.hydraulic.dev/7.2/configs/hocon-spec/

You can also convert HOCON to JSON and back. I find it a lot easier to work with configs when you can get rid of superfluous syntax, can use comments, substitutions, include files etc. But you don't have to use those.
"If stock buybacks were against the law, corporate taxes were higher, capital gains taxes were higher, and loopholes were closed, we wouldn't see this" ... we would see the same thing but only with dividends.

It doesn't change the decision whether it's better to reinvest in growth or pay out the profits to the owners; the primary reason for buybacks is that in the current tax law it's a slightly less tax-burdened way of paying out profits to shareholders as "dividends-that-technically-are-not-dividends".
Did you see the comment I was responding to? Here’s what it said:

>Since I was a kid, my biggest complain with generic comic book villains was always that "some dude out to destroy the world" is just too unrealistic.

>Now as adult, I see that no, there are literally people who are trying to end humanity and destroy the world - not mad scientists or purple wizards from outer space, but climate deniers and pro-fossil fuel people.

This is laughably exaggerated. So yes, I’m “quibbling.”
Can confirm. I still use MD500’s
Still not convinced that memory semantics are critical in the vast majority of domains. Incredibly fast speeds can be achieved with simple GC and RC for short-running programs, and programs with sustained runtimes can rely on generational GC. These methods have the advantage of nearly eliminating the need for memory semantics, leaving only business logic behind.

The best example might be Nim, which drastically reduces GC pressure over Java or Go by stack allocating and passing immutably by value wherever it can. No gigantic runtime to link against! I've been able to make fast, safe programs so quickly with Nim that it promptly ended my Rust fascination phase. Kernels, realtime software on rockets, and Facebook- or Discord-scale backends seem like good fits for Rust, but I'm not convinced it should be used almost anywhere else. Looking at the sheer volume of memory logic in Zig and Rust, I have to ask: "Why do we continue doing this to ourselves?"
Yeah, it's very subjective - the above has been my experience, but I wouldn't argue that it will necessarily reflect anyone else's.

But for why I go so long without touching the UI code, it's just because the project is a 3D voxel game and there's a lot of big complicated parts to work on that don't involve any HTML UI.
At my office I have a "Drinking Bird" toy I set up near the motion sensor when I need the lights to stay on.

If I forget to take it down is self-limiting because eventually the dish of water evaporates.
I agree with your distinction. I notice the same thing in the Conservative party here in the UK. The Conservatives are a 'big tent', encompassing social conservatives (eg. ban drugs, ban sex work) and free marketeers (eg. legalise drugs, legalise sex work) and on top of that, populists have recently come to prominence (Boris Johnson, Brexit, Liz Truss). This isn't to say which my personal opinions are, just an observation about the party.
You should be able to say whatever you want - I support that. Does that mean I have to let you into my house, or show you the text messages between me and my wife.

There is zero overlap here - you are conflating 2 completely distinct issues.
Thanks for the example. I wasn't aware this is something that was planned for Rust, seems like a pretty large breaking change. Interesting!
I believe telemetry can also provide false impressions. Sometimes the conclusions that are drawn by how often a feature is used can be highly misleading.

In any case it needs to be optional. Don't be Windows here. This is what gives telemetry a bad name and it deserves the bad reputation.

Of course it can be useful, but opt-in and complete anonymization should be a minimal requirement. If that is given it can be crucial to identify more arcane software bugs and can indeed improve a software. I don't think it is a necessity though and should never fall into the hands of sales managers.
The law of large numbers means that the vast majority won’t be prosecuted so nobody will really care. See: patriot act.
For many truly sick people, including some cancer patients, weight gain is not a bad thing. An old prof of mine, a man dying of pancreatic cancer, once said to me "A whole life of the doctor telling me to exercise more, and suddenly he is worried about me loosing weight too quickly."
Why would you think it’s sarcasm? Modern Common Lisp implementations not only generate well optimized code, they make it simple to check what’s really happening with DISASSEMBLE.
Time to Stop Using (and Recommending) Solus
On a serious note, this is where these models get dangerous - when someone "zooms in" on the technology, finds something the computer created from nothing, and then takes that as irrefutable fact.
Despite the headline there’s a telling quote at the end of the article

"It doesn't matter at all to private business because he is already beaten. The state won, Jack has lost control, power, wealth and it's not coming back."
I understood the comment to be more about some way to parameterize allocators on a per-type basis for standard library types, and not a specific mechanism.

C++ nowadays has stateful allocators (e.g., allocate in this specific pool please). With that, even the variant with a type parameter on the type benefits from a constructor argument that specifies an allocator object explicitly.

And I don't think the type-parameter-on-functions-only approach can be made safe for immutable data structures because the allocators used for allocation and deallocation must match. And the appropriate allocator needs to be known at Drop time anyway.
> I was running Insiders builds

In fairness, you can't take your experience with insider builds as an indicator of the stability of the OS. Insider builds are expected to be unstable.
You got one right, by omission: There are indeed no facts supporting the notion that Russia's unjust invasion of Ukraine can be blamed on the latter.
And also the billions of tests they run against every builds!

https://www.sqlite.org/testing.html

I enjoyed the CoRecursive podcast with Richard Hipp, it's fascinating.

https://corecursive.com/066-sqlite-with-richard-hipp/#billio...
That's a recent thing. I remember spending a semester in the US a decade ago. My cheap student ass was surprised to see how expensive every mobile plan was. It was literally cheaper to buy a roaming plan in my own country for six months than to buy a plan in the US.

Just FYI, here I pay 10€ for unlimited calls, text, and data, and 25GB roaming abroad per month.