skysight-inc/HackerNews huggingface dataset:
The term Stacked PRs already sounds like a term that was invented specifically in order to communicate in a GitHub-influenced context. Because Stacked PRs are just a reinvention of being able to review a commit at a time (the stack part is straightforward).
I wish Zig had a borrow checker... then we could see how much better it would fare.

(This is not a diss on Zig at all, I love its approach!)
> my colleagues might actually feel better about their children being on TikTok than any sort of Meta product

As a former scrolling addict, I can attest that Instagram is by far worse for mental health than Tik Tok. It's about the algorithms.

If you show Tik Tok that you like certain niche content it will learn that and only show you it, when it tries to show you something else that you don't prefer (once every 100 videos in my case) if you show disinterest it won't show more of it.

With Instagram, what you prefer (e.g. mindful content) is secondary to bombarding you with content that triggers endless scroll behaviour. I've tried training it to not do that by clicking the explicit "not interested" button, on dozens of videos at a time, multiple sessions, but it just wouldn't work. At times it seemed like it is finally learning what i prefer, and then next day mindless memes are again 90% of the feed. In contrast, Tik Tok required a tiny fraction of explicit training that I prrformed on Insta, and on Tik Tok it was very effective.

I can say with absolute certainty that Instagram is very detrimental to my health (hence I don't use it), and suprisingly Tik Tok is actually pretty great.

My usual Tik Tok session now looks like this: I launch it, get a video that's really relevant to me, and for every video that I watch there's about 30% chance that I'll close the app because I'm either thinking about what I learned or researching it. My endless scroll behaviour is never triggered. And I don't usually use Tik Tok more than 2 times a week. This isn't because of willpower, it's because I genuinely value the content it's providing me and I need time to digest it. Watching more often would be like wasting it. This has been going on for about 6 months now.

Disclaimer: I wouldn't be suprised if I'm in some a/b testing program within Tik Tok, and it might be using a variant algorithm. I don't have evidence, but I know that for a time my UI was a little different than others' (e.g. no favorite functionality).
I think this really boils down how your team is using Git and which code review tool you're using. (I've never used Gerrit personally, but as far as I understand it, we wouldn't have this conversation, since it aims to refine a single change by re-submitting a commit over and over again?)

For GitHub/GitLab reviews, I'm totally with you - this makes it more convenient for the reviewer to check that/how you've responded to feedback.

But now if you merge this without squashing, your Git history on the main branch contains all your revisions, which makes operations like bisecting or blame more complicated.

For me personally, the sweet spot is currently a mix of stacked-commits and the PR workflow: Use a single commit as the unit of review, and polish that commit using a PR, and use the commit descriptions within that PR to tell the story of you responding to feedback. Then, squash merge that commit.

This provides both a good review experience and a tidy history. If you find a strange bug later and can't grasp how someone could have come up with that, the PR still has all the history.

Together with tools such as git-branchless, this also makes working on stacked-PRs a breeze.
The "no cables" outweigh all other factors and it's not even close.
I’ve always thought it’s strange how there is no major, modern non-SQL RDBMS option considering there is so much disapproval of SQL while there are so many SQL-based options, ORMs, and non-relational options.
agree with you.

all arguments about supposed bias fall flat when you start asking question about ROI of the "debiasing work".

When you calculate $$$ required to de-bias a model, for example to make LLM recognize Syrian phone numbers: in compute and labor, and compare it to the market opportunity than the ROI is simply not there.

There is a good reason why LLMs are English-specific - because it is the largest market with biggest number of highest paying users for such LLM.

If there is no market demand in "de-biased" model that covers the cost of development, then trying to spend $$$ on de-biasing is pure waste of resources
I don't have a problem with dependencies in principle. There's a good reason for standard libraries to contain a decent amount of code. It is a vector for supply chain attacks, but I also have a lot of trust in the Rust maintainers. The Rust standard library is exceptionally well-written from what I've seen, so I'm not too worried about it.

FWIW I checked out the nightly toolchain, and it looks like the stdlib is less than 400k SLoC. So literally 10x smaller.
Someone please fork WordPress to e.g. WebPublish and sed -i 's/WordPress/WebPublish/' the whole thing and let both of these companies duke it out while we can continue in peace.

Much good could come from this.
Our main languages are Go and OCaml. We can leverage third party libraries without easily running into transitive dependency hell as there’s an implicit understanding in these communities that large number of dependencies is not a good thing. Or, expressed differently, there is coarser granularity in what ends up being a library. This is not the case with Cargo which has decided to follow the NPM approach.
I appreciate the wall!

I shall add it to my "To read" pile of shame.
My next TV will likely be an LG because I generally like the price/performance ratio, but it will never be allowed to access the Internet (my current one has LAN à access for HomeKit automation but is blocked at the router).
> I did happen to have a pre-existing Apple account

Yes, this is the difference. I was only able to accept the terms and conditions after we got the popup on the iPad. Until then tvOS Apps just did not download without any error message.
You can use an SQL explainer[0] to get summary, visualized results and detailed breakdown.

[0]: https://www.sqlai.ai/app/explain-sql
Smart TVs, and dumb fucks who buy them.
Google Ngram Viewer
It is known pretty early on Cigarettes are harmful, we just ignored it because.
real question is did Michael Lewis happen to be hanging around the OpenAI water-coolers again when all this happened
Has it stopped crashing yet? Honest question, I try it every few months and it always spontaneously combusts in between playbacks (browsing media, when finishing playing, etc.)
There is an issue with your website on firefox i can't scroll down/up.
I didn't even know this existed. I shall be lost in it now.
I think the issue of file-watching is that the libs usually support multiple implementations (with different tradeoffs and with multiple fallbacks) for file-watching with a lot of them being platform specific.
The affiliate ad for Samsung Galaxy Buds at the end of the article… chef's kiss!
> Rust doesn't have syntax to mark a struct field as being in a borrowed state.

> ast_nodes: Vec<&'Self::source str>,

Oh, that would be neat to replace the https://github.com/tommie/incrstruct I wrote for two-phase initialization. Unlike Ouroboros and self_cell, it uses traits so the self-references can be recreated after a move. Whether it's a good idea, I don't know, but the magic Ouroboros applies to my struct feels wrong. But I say that as someone coming from C++.

> if let Some(x) = some_var && some_expr { }

Coming from Go, I was surprised that something like

if let Some(x) = some_var; expr(x) { }

isn't a thing.
> my kid’s iPad

That is a more fundamental problem.
Won’t solve problems. Web Publish still needs to run all the infrastructure that Wordpress dot org does.
You can even run into execution deadlines with malloc()/free(), that is why there are companies that made business out of selling specialized versions of them, and nowadays that is only less of a business because there are similar FOSS implementations.

The point is not winning micro-benchmarks games, rather there are specific SLAs for resource consumption and execution deadlines, is the language toolchain able to meet them, when the language features are used as they should, or does it run out of juice to meet those targets?

The recent Guile performance discussion thread is a good example.

If language X does meet the targets, and one still goes for "Rewrite XYZ into ZYW" approach, then we are beyond pure technical considerations.
This makes sense. Thank you for your comment! Learnt something new today :)
That's why you squash and make the commit message readable.
If you haven't noticed, this is already happening. I've also met a ton of people in jobs that could be trivially replaced. If only for the fact that the jobs are not doing much and are already quite superfluous. We also regularly see this in recent mass layoffs across the tech industry. AI only increases the amount of these kinds of jobs that can be laid off with no damage to the company.
That is kind of the point. It seems like navigational thing would be much more complicated to the layman, yet anyone can do it in few hours now. While a thing that is seemingly more simple, would take years because it isn't easily solved and served as an API. Although it is now.
How are Apple still doing business in Russia? Did I miss something?
Fair, but the Innocence Project did not argue that the defendant received inadequate representation. So presumably the defense would have had to offer an explanation during the trial and the jury was apparently unconvinced.

Juries can get things wrong, but we’re also just getting the cliff notes of the trial rather than the whole story.
On drama: https://users.rust-lang.org/t/why-is-there-so-much-mismanage...

Also, Zig is set to release 1.0 beta in November.
The Fastest Way to Have a Blog
> try to support minimum-dependency projects by having a broad std library.

Since everyone depends on the standard library this will just mean everyone will depend on even more lines of code. You are decreasing the number of nominal dependencies but increasing of much code those amount to.

Moreover the moment the stdlib's bundled dependency is not enough there are two problems:

- it can't be changed because that would be a breaking change, so you're stuck with the old bad implementation;

- you will have to use an alternative implementation in another crate, so now you're back at the starting situation except with another dependency bundled in the stdlib.

Just look at the dependency situation with the python stdlib, e.g. how many versions of urllib there are.
Is this personal attack on consumers really needed, especially here on HN?
I was amused by a prompt I received from Android Studio, requesting permissions to turn off anti-virus scanning for development directories. Which, of course, speeds up compile time dramatically (4 or 5x faster? A seriously non-trivial amount). Development directories, and SDK directories (including SDK binaries).

No more anti-virus protection for the directories that you as a developer should be most concerned about. What could possibly go wrong?

I'd be more concerned if I hadn't already done that, I suppose. Because compiles run so much faster when you do. But I was amused, nonetheless. :-/
A revert two weeks after the fact will create a new and unique tree (untested) in any case. I don’t if you’re saying that the original commit or the revert might be untested.

In either case the brand new revert could break something. Who knows, it’s a new state.

> It doesn't happen often enough in my experience too convince me to give up a cleaner history, but it's a downside we should acknowledge.

There are tools for that.

https://github.com/mhagger/git-test
I think it says a bit about how dubious 'new and improved' can be

Security updates, features? Perhaps yay. Redesign, boo. I already use the thing.
Good file watching that provides flexible primitives absolutely requires:

- ok, a single ext4 file inode changes, and its filename matches my hardcoded string

- oh, you don’t want to match against just changes to “package.json” but you want to match against a regex? voila, now you need a regex engine

- what about handling a directory rename? should that trigger matches on all files in the renamed directory?

- should the file watcher be triggered once per file, or just every 5ms? turns out this depends on your use case

- how do symlinks fit into this story?

- let’s say i want to handle once every 5ms- how do i actually wait for 5ms? do i yield the thread? do i allow other async contexts to execute while i’m waiting? how do those contexts know when to execute and when to yield back to me? now you have an async runtime with timers

- how does buffering work? are there limits on how many file change events can be buffered? do i dynamically allocate more memory as more file changes get buffered? now you need a vector/arraylist implementation

And this is before you look at what this looks like on different platforms, or if you want polling fallbacks.

Can you do it with less dependencies? Probably, if you start making hard tradeoffs and adding even more complexity about what features you activate - but that only adds lines of code, it doesn’t remove them.

What you describe is ideologically nice, but in practice it’s over-optimizing for a goal that most people don’t really care about.
You can get same result by just blocking DNS lookups for everything except the sites you want to access. You can go a step forward and only allow traffic to looked up hosts.

Example: https://github.com/AdrianCX/pico_hole

That way you can still use the TV and not have it spy on you, that part is more worrying then the ads:

> It has a partnership with Nielsen that sends automatic content-recognition data gathered from LG TVs to Nielsen
Gods I hate it when they use "exploded" to describe battery cascade events.

These are not bombs (like the pagers), batteries in consumer products flare and catch fire they do not "Explode".

There is a very big difference.
The harder the battle, the sweeter the victory
I consciously remove and rewrite various dependencies at work, but I feel it's only a half of the whole story because either 1K or 4M lines of code seem to be equally inaccurate estimates for the appropriate number of LoC for this project.

It seems that most dependencies of cargo-watch are pulled from three direct requirements: clap, cargo_metadata and watchexec. Clap would pull lots of CLI things that would be naturally platform-dependent, while cargo_metadata will surely pull most serde stuffs. Watchexec does have a room for improvement though, because it depends on command-group (maintained in the same org) which unconditionally requires Tokio! Who would have expected that? Once watchexec got improved on that aspect however, I think these requirements are indeed necessary for the project's goal and any further dependency removal will probably come with some downsides.

A bigger problem here is that you can't easily fix other crates' excessive dependencies. Watchexec can be surely improved, but what if other crates are stuck at the older version of watchexec? There are some cases where you can just tweak Cargo.lock to get things aligned, but generally you can't do that. You have to live with excessive and/or duplicate dependencies (not a huge problem by itself, so it's default for most people) or work around with `[patch]` sections. (Cargo is actually in a better shape given that the second option is even possible at all!) In my opinion there should be some easy way to define a "stand-in" for given version of crate, so that such dependency issues can be more systematically worked around. But any such solution would be a huge research problem for any existing package manager.
Yes I'm probably biased towards seeing more unsafe as a deal with a lot of wrapper libs (crates which in turn have -sys crates and so on). Looking at the dependency graph, if I use 10 deps directly and 5 have unsafe then that might be 50% of the direct dependencies, but probably just a small fraction of the total including transitive.
Things like Titans of Space [0] and Wooorld [1] are good examples. The sweet spot is apps that let you physically experience things that are otherwise impossible as a learning experience, rather than trying to understand it as dry abstract concepts.

[0] https://www.meta.com/en-gb/experiences/titans-of-space-plus/...

[1] https://www.meta.com/en-gb/experiences/wooorld/4360608937312...
> I felt like it had every imaginable feature one could think of - I dont know if Rust team said no to anything

Ah, like Scala you mean?
I don't know. In spite of Boats' great points, I think the programmer intuition definitely aligns more with it being a type property, in the sense that it enables the most interesting use case: self-referential values. All of that interacts badly with move semantics, and especially the lack of "guaranteed copy elision", but nevertheless...
Wired earbuds
- Are now USBc which means you cannot charge your phone using them

We ve regressed so much since my old S10 (+jack +SpO2 +FM radio)
I use C# everyday and never want to switch languages. I just don’t understand the appeal to other things and I’ve certainly dabbled enough.

It would probably just be TS.
They want you (us?) to rewrite everything in Rust. Not them.
O1 Test-Time Compute Scaling Laws
This sounds like ontological problem.

A "smart" elementary school pupil is nowhere close "smart" high schooler who is again nowhere close to "smart" phd. Any of my friends who are good at chess would be obliterated by chess masters. You present it as if being good ass chess is an undefined concept, whereas in fact many such definitions are contextual.

Yes, Turing tests do get more advanced as "AIs" advance. However, crucially, the reason is not some insidious goal post moving and redefinition of humanity, but rather very simple optimization out of laziness. Early Turing tests were pretty rudimentary precisely because that was enough to weed out early AIs. Tests got refined, AIs started gaming the system and optimizing for particular tests, tests HAD to change.

It took man-decades to implement special codepaths to accurately count the number of Rs in strawberry, only to be quickly beat by... decimals.

Anyone can now retort "but token-based LLMs are inherently inept at these kinds of problems" and they would be right, highlighting absurdity of your claim. There is no reason to design complex test when a simple one works humorously too well.
Yep, after the stories about what TVs were doing with the microphones, I have never put my wifi password in any of my TVs. Yes, that means you need to get a separate streaming box... amazon sticks are cheap and pretty good, apple tv is expensive and great.
Yeah, I have the same feeling. It seems like operating GPT-4 is too expensive, so they decided to call it "legacy" and get rid of it soon, and instead focus on cheaper/faster 4o, and also chain its prompts to call it a new model.

I understand why they are doing it, but honestly if they cancel GPT-4, many people will just cancel their subscription.
The experience seems way different on Euro LGs, at least for me. My 2020~ C9 hasn't shown any ads at all ever. Youtube App's own recommendations in the app menu are awful though and to be avoided.
And the Supreme Court correctly found that CDC had acted ultra vires.

As a person, you can do whatever you like so long as there is no law prohibiting it. Government agencies are the opposite; they can only perform functions provided by legislation.
Considering that the vast majority of TV models are smart, and all of the best quality ones are, and they're cheaper... Insults are useless.
Because for a lot of companies, especially ones in industries that Rust is supposedly hoping to displace C and C++ in, dependencies are a much larger concern than memory safety. They slow down velocity way more than running massive amounts of static and dynamic analysis tools to detect memory issues does in C. Every dependency is going to need explicit approval. And frankly, most crates would never receive that approval given the typical quality of a lot of the small utility crates and other transitive dependencies. Not to mention, the amount of transitive dependencies and their size in a lot of popular crates makes them functionally unauditable.

This more than any other issue is I think what prevents Rust adoption outside of more liberal w.r.t dependencies companies in big tech and web parts of the economy.

This is actually one positive in my view behind the rather unwieldy process of using dependencies and building C/C++ projects. There's a much bigger culture of care and minimalism w.r.t. choosing to take on a dependency in open source projects.

Fwiw, the capabilities feature described in the post would go a very long way towards alleviating this issue.
> Be careful, this is hearsay and not evidence.

Note that it's possible the person you are replying to was using the everyday "observation increases relative likelihood of theory" definition of evidence rather than the legal one.
Not only that but AGI didn’t even mean passing the Turing test, just broadly solving problems of which the programmer had not anticipated. That’s what the general in AGI meant, not that it would perform at a human level. It’s easy to forget that dog level intelligence was a far off goal until suddenly the goalposts were moved to “bright, knowledgeable, socially responsible, and never wrong.”, a bar which most humans fail to meet.

We yearn to be made obsolete, it seems.
You might find the syscall tracing functionality of Cirron useful: https://github.com/s7nfo/Cirron
Incident: Wordpress.org has blocked WP Engine customers from registry
WordPress.org has blocked WP Engine customers from updating and installing plugins and themes via WP Admin.
If you need to know 100% that the bird is in the park at that precise moment it can be tricky. If you need to identify a Bird-of-prey in the Alpha quadrant you can understand the Klingon proverb a sharp knife is nothing without a sharp eye.
The Community Compact [2018]
This is what lockfiles are for.
I hate sticking things IN my ears, so I use Aftershokz "bone conducting" wireless headphones.

Not much chop for music but really excellent for podcasts and audiobooks. With both the fact they dont isolate the environmental noise being a bonus and a subtractor.

Bonus meaning I can hear and react to the world around me when using them,

Subtractor being a noisey environment will drown out whatever I'm trying to lsten to.
The latency of Airpods is barely noticable because Apple devices are really good at syncing video to the audio latency, so it seems like there is no latency.

I tried using a rythm composer app with the original Airpods a few years ago, and that was unusable, because the delay between tapping screen and hearing the instrument was too high. Not sure if it was just the app or if latency got better in the mean time.
Evolutionary couplings between files reveal poor design choices in architecture
It's not a question of what's lawful or not, it's a question of how much of a pain the litigation is going to be.
That's a take, but it's far from reality. Witnesses are a central evidence in most cases.

When the parties are present for cross examination it's not hearsay.
For me its the other way around - I have wired headphones lasting for many years while wireless ones break down randomly after short use.

We will never see eye to eye
I am not a Rust expert but the thing with the standard libraries is that it only has peer dependencies with itself and they are all synced to the same version.

Meaning if you only use the std lib you:

1) Will never include two different versions of the same peer dependency because of incompatible version requirements.

2) Will usually not have two dependencies relying on two different peer-dependencies that do the same thing. This can still happen for deprecated std lib features, but tends to be a much lesser issue.

These two issues are usually the ones that cause dependency size explosion in projects.