skysight-inc/HackerNews huggingface dataset:
> Realistically, how much does merging vs rebasing actually matter - do you save days of time over the year, or just a few minutes cumulatively because the commit graph is prettier?

Excellent question! This is one of those how-to-measure-intangibles sort of question, so there's really no good answer to it. The issue is that bisection is really useful when you have a hard-to-find bug, and so the question is really "how often do you have such bugs", and the answer is hard to find because few companies require recording of such metadata in their bug reporting systems.
> It's insane that everyone is re-writing their development history to avoid issues with their source control system

people rewrite their history because theyre irresponsible with pushes. it's got nothing to do with the source control system. You're supposed to push small isolated encapsulated commits with a good names. I never do that while developing. I would have the same problem on any VCS

> And squashing should never be preferred by anyone if the tooling was actually any good. For PRs? You should be able to define a group of commits and look at it as a whole, not just operate on a single commit. For clutter?

once again responsible commits are supposed to be small, isolated, single change commits. so in a large feature a good developer would have tons of commits this makes the PR easier to understand and review... and when the features finally merged, you don't necessarily need those commits you just need the feature.

I think your issue might just be with understanding how version control is supposed to work.
In Russian we also do this 1uite a lot. Xerox, google and photoshop are absolutely normal for activities.
Also, thermos for vacuum flask. Dandy is a term for NES clones. doshirak or rolton for ramen noodles. Fairy for dish washing liquid.

Sure, it is also klaxon, cellophane and scotch.

Interesting, that champagne is the only case I know that won the fight. My friends often say sparkling wine for generic brands.
Because Google intentionally breaks it on non Chrome browsers so that you get a worse experience.

Install the Google Search Fixer from the Firefox add on store and it looks exactly the same.
> It's local history that one rewrites

I don't understand this. You do not back up your code to any shared repository while still working on a feature? What if it takes 2+ weeks? You have 2 weeks of code replicated only locally on your laptop? Or what do you mean by local?
Is this not essentially what docker did with cgroups? It’s incredibly tricky securing containers, I’m not at all confident process only sandboxes would be adequate.
And even if you do, you still might be better off running the GPU-bound tasks somewhere else and using a laptop to interact with them remotely.
> people seriously shouldn’t believe the press

This is ridiculous. Most of the things the mainstream media report on are true. Do you believe there are wars right now in Ukraine and Israel? Do you believe that the UK exited the EU? Do you believe that SpaceX lost a rocket last week when it tipped over on a boat?

There is certainly a bias towards outrage and inciting strong feelings to get eyeballs and attention. Certain networks have leaned into a political bias as well. But the media is still, by far, the best and most trustworthy source for the basic facts of what is going on in the world.
Wi-Fi 6 was a huge let down, bandwidth increases are useless for home users when they require line of sight.
GoodRecs – Simple GPT for Book Recommendations
I see no issues here.

If you run tests before commit then you also run them after rebase, same way as after merge. If tests failed - you can force pull your branch from remote and have the same state as before rebase.
Just a small correction. Large parts of revenue are obtained though sharing ad revenue between Mozilla and a search engine, not for being the default search engine.
AI changing heart disease diagnosis in the UK
That is genius.

Does anyone know how it worked?

Each command would have to have been done individually yeah?
I also have a feel that how random crime is depends on type and varies from place to place. Some places it's mostly personal and others not as much. So personal risk doesn't necessarily track averages. Could be significantly lower or maybe higher.

I think in San Francisco violent crime tends to be personal and someone stealing your bike isn't. Where the east bay I feel is more dangerous for someone just going about their business.
> I'm particularly curious about when to split off a new process, and what "if things fail, do something simpler" means in practice.

Processes are failure and concurrency barriers.

Failure: one process crashing does not crash another process, unless you explicitly want it to (e.g., via Erlang's `link` functionality). So, if you have multiple operations that must not interfere with each other in the case of one of them misbehaving (e.g., your application makes multiple HTTP requests in parallel), you want them in separate processes.

Concurrency: processes are independently and preemptively scheduled by the VM. If you have multiple operations that are not necessarily sequentially ordered, and you want to run them at the same time, you put each of them in a process. One example problem where this applies would be the handling of incoming TCP messages, where each message is not related to the previous or subsequent messages, and you want to be able to process multiple messages at the same time.

If you handle each new message in its own process, the VM will schedule the processing of those messages such that the processing of one message will not interfere with the processing of another. It accomplishes this by tracking a rough proxy of CPU time each process uses (called "reductions" in Erlang) and descheduling processes that consume too many resources and giving other processes a chance to run for a bit. (Note that this is just one example and ignores any performance considerations. There are other approaches but I am omitting them for simplicity's sake)

There are a number of good libraries to look at for these in practice. I'd personally go look at Cowboy and/or Ranch as they deal with lots of IO. Oban is an Elixir job queue library that is fantastic and has very high code quality. Another good one would be Poolboy, which is a worker pool library.
If you find your compiles are slow, I found a bug in vscode where builds would compile significantly faster when the status bar and panel are hidden. Compiles that took 20s would take 4s with those panels hidden.

https://github.com/microsoft/vscode/issues/160118
Extra sharp of course
> I read a paper a while back which introduced a different algorithm with tighter bounds on regret

Got a link or cite for that paper? It sounds interesting.
If it isn't made by the cheddar process how can it be called cheddar? How lax can your labelling regulations be?
Why Macs are a terrible platform for gaming
In California, they hover helicopters over avocado groves in the winter to keep the fruit from freezing overnight.

https://www.fairlifts.com/helicopter-services/agricultural/f...
That’s the preferred deployment strategy anyway (less power, more cells)
Sounds great until you realize how razor-thin the margins on farming are; and that all it takes is one bad year.
Give it the appropriate file extension and the os downloads relevant programs and makes it work.
It's one of the best analogies. I usually use rivers, waterfalls, dams, rain to illustrate. Basically the water cycle and how humans manipulate it to do things.
Please don't get into tit for tat spats like this. It's not what this site is for, and destroys what it is for.

https://news.ycombinator.com/newsguidelines.html
I've been keeping an eye on the Pijul[1] VCS which goes all-in on the whole "theory of patches" thing. I don't expect Git will be going anywhere for a long time, bjt it's interesting to think about what could be next.

[1]https://pijul.org/
"Personally, I enjoy compiling everything from source and the flexibility that comes with it."

Is this referring only to ports (Portage) or does this mean enjoy compiling kernel and userland.
Marital infidelity rate is about 50% - and that's just for self-admitted [1]. Actual rates are likely much higher. A large majority of people of both sexes admit that they would have an extra-marital affair if they believed they wouldn't get caught.

Anecdotally, when I was I the military I saw much, much higher than 50% when spouses were deployed. This seems to be a pervasive issue [2].

Seems like a culturally relevant health issue to use as an example.

[1] https://worldpopulationreview.com/country-rankings/infidelit...

[2] https://pubmed.ncbi.nlm.nih.gov/28054799/
This. It's a dirty lie, that's not what actually happened!
National Jukebox
> apples-to-apples comparison

No pun intended. :)
Yes, that sounds truly terrifying! :)

Combination of vibrations and actuators fighting the gyroscopic effect of the off-axis spinning monitor would risk the whole thing violently ripping itself off the desk.

Would certainly be exciting!
No I was talking about passive earbuds here. With dampening only.

The edit was on the wrong post. I had meant to put it on this one: https://news.ycombinator.com/item?id=38805601

Hence the confusion, sorry.
I am always supportive of newer tech. But I am a bit surprised by the evolution of standards for both 5G and WiFi over the last few years. Compared with the adoption of hardwire ethernet standards - which have been seemingly stuck at 1/2.5/10GbE for a while now.

I know there are a ton more benefits of these newer standards, but setting those aside for now, are people really feeling limited by the speed of 4G LTE & WiFi 5?

I have 6 APs in my home running WiFi 5(AC). My devices usually connect between ~800-1300 mbps.

On a few ocassions where I am transferring huge files to / from my NAS, I reach for a ethernet adapter.

It's going to cost a lot to upgrade my network, so I've been debating whether it's actually worth it or just marketing hype.
Edit: ah they look similar in construction and filtering to the etymotic ones I have from years ago. They work well indeed. But etymotic seem to be unavailable now.

They don't seem to have a version with volume control though just like etymotic.
Read that as “Lichen: the sea’s build system” and was expecting a comparison of lichen (a kind of moss) to makefiles.

I think my brain is still in holiday mode haha
Sometimes you have a nice dam that can either tap or leave alone, knowing that the water will still be there when you need. Sometimes you just have a flowing river -- and sometimes that river doesn't flow so fast. Hydro isn't a single thing. The former can be used to compensate when the wind doesn't blow and the sun doesn't shine. The latter can't really. Uruguay has the former. Parts of the US has the former. Does all of the US?
I feel like there is a correlation between fast-twitch programming muscles and technical debt. Some coding styles that are rewarded by fast compile times can be more akin to "throw it at the wall, see if it sticks" style development. Have you ever been summoned to help a junior colleague who is having a problem, and you immediately see some grievous errors, errors that give you pause. You point the first couple out, and the young buck is ready to send you away and confidently forge ahead, with no sense of "those errors hint that this thing is really broken".

but we were all young once, I remember thinking the only thing holding me back was 4.77MHz
Right, squash-and-rebase is not very good. You want meaningful history. So if you have a feature branch that adds some feature consisting of N sub-features, R refactorings, B bug fixes, then you want N+R+B commits. The commits you squash are the "fixup" commits; all others stay. You also want good commit order. Basically, write your code, commit, then refactor your commits so that you get nice history of all the changes you made as if you were starting from the final state of play (because you are).
You can buy a bZ4X. I’m not sure why you’d want to, but you can.

https://www.toyota.com/bz4x/
Natural Language Corpus Data: Beautiful Data (2009)
Please don't post flamewar comments like you repeatedly did in this thread. We eventually have to ban accounts that do that.

If you'd please review https://news.ycombinator.com/newsguidelines.html and stick to the rules when posting here, we'd appreciate it.
> I think your issue might just be with understanding how version control is supposed to work.

This has nothing to do with how it's "supposed to" work, and all to do with the standards and constraints we're putting on ourselves here. No god has made any commandments about how thou shalt organize your commits.

> I would have the same problem on any VCS ... commits are supposed to be small, isolated, single change commits

It sounds to me like you've got some self-imposed issues. Nobody told you every commit has to be a "single change", unless you're very loose with what you mean by that. Sure, a commit should be a group of related functionality, such that you either want all of it or none of it. But it's perfectly fine for one commit to involve 20+ files. In fact one of the (many) things people hated about CVS was that you couldn't bundle changes like this! And if you're that concerned about commits being single changes, then you should never squash! It's hypocritical to say every commit should be tiny, but then squash them!

> this makes the PR easier to understand and review

I already addressed this. The problem is the 1:1 mapping between commits and PRs. There's no reason for that.
And Chinese military build out seems to be "perfect is the enemy of good enough" and "quantity has a quality all its own", so soon we're likely to be the ones playing catch up despite our huge military budget and outlays.
You broke the site guidelines extremely badly and repeatedly in this thread—far worse than the other commenter. And it unfortunately looks like you've been posting unsubstantive comments and/or aggressive comments (e.g. https://news.ycombinator.com/item?id=37737463) in other places too.

If you keep doing this, we're going to have to ban you again. I don't want to do that, so if you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
Whatever best supports your claim
I believe the last x86-compatible chips without 64-bit support were launched around 2006 or so (Intel Core; Core 2 had 64-bit support), a couple of years after Opteron initially came out.

It's not really clear how long the Linux kernel itself will continue supporting such CPUs. The architecture certainly isn't something anyone really cares about (e.g. Meltdown wasn't patched for several months after it went public and 64-bit x86 got fixed).
One thing to point out: this particular case was the response to a crisis.

"But in the 1980s, disaster struck. Growers over pumped the coastal groundwater, allowing saltwater from the Pacific Ocean to seep in below their fields, up through the roots of the berry crop."

It doesn't seem likely that a similar change would happen elsewhere without a similar crisis.
The current state of Ethernet in 2023 in consumer devices is quite sad. I mean, most TVs and players (and usually not the cheap ones, yes, I'm looking at you, Sony) come with 10/100 Mbit ethernet adapters. I'd expect gigabit to be standard everywhere by now.
The fight isn't over yet and there is trouble in the Red Sea and it could all turn into WW-III at some point.
In addition to getting nagged on the regular (every update?) to turn on the ads.
At some point, we decided that proposed changes (patches) should live in source control before they were approved and brought into history. In my view, this is where the problem lives.

I don't care about having an immutable record of the history of patches the same way I don't care about having an immutable record of your keystrokes as you produced the change. That's an implementation detail.

However, once something is merged into trunk, I want to know what was merged, when it was merged, who merged it, and any people who approved it.
> Imagine a wireless factory robot in a situation where a worker suddenly steps in front of it and the robot needs to make an immediate decision.

If there is a factory that allows a worker to step in front of a robot and depends on a wireless communication mechanism for safety, something is very very wrong.
unpaywall : https://archive.ph/3Nk0U
The trick I discovered is to have a 500-sqft home. Wi-Fi 6 has been great!
http://archive.today/2023.12.28-162826/https://www.economist...
It's done by NGV, which was described as:

NGV develops, operates and invests in energy projects, technologies and partnerships
to accelerate the development of our clean energy future.

Maybe they're one of those places which invests in developing infrastructure tech, to pave the way for subsequent generations?
> It's local history that one rewrites, so there's nothing "insane" about it.

Squashing PRs on remote is quite common.

You could also do without the disparaging comments.
When I do code reviews,

- first I review the commit list (including commentary),

- then I review all the diffs in one go unless it turns out that it's better to use a different approach, in which case I review all the small commits, then all the large commits.
Hubble's constant is typically measured in kilometers per second per megaparsec, which can be converted to Hertz.
There's a big difference between securing containers, and using them to prevent Adobe from polluting they entire system. Containers are an excellent way to provide lower guarantees of security (though still more than is there currently), with higher usability. Microvms also fit into the model very cleanly and could be used transparently when higher security was required.

The fact that VMs are necessary has shown how much OSes have failed. That we need to take an OS and package it into multiple VMs to get any real isolation is a problem that OSes should solve for.
There's an easy way around this, and that's to namespace in some way branches that are free to be overwritten, ie WIP work not yet merged into the canonical branches. Works just fine.

If the project is too large for this, you can also fork off the repo itself and then merge in your changes to the main canonical version when you're ready.
Cocaine bricks washed up on Australian beaches may have been due to king tides
In this case, they freely admitted to doing it with the intent to harm. A person slapping me in the face doesn’t have a contract with me, but they are still liable for that harm. This isn’t rocket science.
I don't know if your listing these as "fun" facts, or as a means to try to denigrate wind turbines. If it pays for itself in 7-8 months while operating for 20 years that's 3% of its lifespan. That's 232 months of clean energy being generated. That's impressive to me. So I don't know what your intent is here, but I'm on board for all of it as a good thing
I would be calculating the fine vs water bill comparison.

Or ripping up the lawn to plant something more sensible.

Or just not living somewhere where an HOA can tell me what to do with my own house
Ok, please explain what you mean by "results of radiation throughout generations". Or how nuclear power in France can go wrong if you didn't have either a Chernobyl scenario in mind or a "tsunami hits the right bank of the Seine". If what you did wasn't a reference to Chernobyl or Fukushima then, pray tell, what was it?
> The U.S. "won" Korea, Iraq, Vietnam, and Afghanistan in the same sense that they "won" WW2 - those countries were bombed back into the stone age and the existing governments fell.

This might be taught in US schools, but outside the US we have a rather different take on how the Vietnam war ended - the US-backed government fell and the North Vietnamese government took over the rest of the country. And we learned that the Korean war ended in some kind of stalemate, where the government structures on both sides exist largely intact today.
You can push your local work to a private remote branch. (By private, I don't mean that other people can't see it, I just mean some convention which means other developers will ignore it in normal circumstances.)

If a person commits a lot, they can end with all kinds of little commits which are just fixing typos or syntax errors, exploring half-baked ideas, can't be bothered writing a commit message right now, etc. What's the point of keeping all that stuff long-term?

Then, when it is ready to be reviewed, you rewrite that real history into something more logical - e.g. first commit creates an interface, second commit implements it, third makes other parts of the code call it, etc - and then submit that for review as a PR - that "fake" history is likely to be much more useful to others (and to one's own future self) than the real development history was
The problem with rebase IMHO is that it's very hard to grasp and explain on a "how does it work in practice" way, and it's very easy to mess up into a state that permanently loses data, even for seasoned developers.

The combination of both makes rebasing completely unusable for teams largely comprised of junior and intermediate developers - your seniors will spend an awful lot of their time helping juniors to revert git rebase fuck-ups, which is why I've seen it banned in quite the few places. We got enough of our own crap to do without having to deal into what exactly the juniors did prior to noticing they've screwed up.

IMHO, it's therefore not surprising to see Facebook using rebase - they have money in abundance, they don't care about some senior dev wasting half a day wrangling with basic tooling.
Yes, local is the wrong word. Or rather, it's imprecise. A better word is unshared. But even that is imprecise, because you might consider pushing a set of commits to the Internet as sharing. Maybe an even better word is collaborate. I don't rewrite history of source code that I am collaborating with someone else on. For example, the history on master never gets re-written. But that feature branch I pushed to get review before being merged? Absolutely. I'll rewrite its history without a second thought before it gets merged.

It doesn't matter what source control system you hand me. It could be your ideally perfect system. I would still rewrite history that I'm not collaborating with others on. I try treat source history (as much as is practical) as a sequence of logical changes to the code. I treat it like I treat the code. I try to optimize for making it intelligible and understandable to other humans (including myself).

You can look at any of my projects on GitHub for examples.
It looks like lack of mobility at the top end, but probably another factor near the bottom.
From the article:

"While corporate growers of premium products like berries, which are shipped to the shelves of major chains like Whole Foods, Safeway and Trader Joe’s, can absorb the price of Pajaro’s water, there is no way farmers of commodity crops like cotton, alfalfa and soybeans can make the economics work, said David Sanford, the agricultural commissioner of the Santa Cruz County, which includes the Pajaro Valley.

"In the years since the price on water was imposed, growers of those crops either shifted to high-priced berries and lettuces, or simply left the region for cheaper pastures."

The increased cost could only be handled by shifting to higher-margin crops.

On the other hand, anyone growing alfalfa or soybeans in the stinking desert deserves whatever happens to them.
One of the more interesting options they provide the user is the ability to pay for an ad-free Brave Search.
A very good book, although being 31 years old some of the characters are dead now (like the then-head of Nucor.)

The chapter describing the accident (where a ladle of molten steel fell and the steel drained into a depressed area with standing water) is horrific. It's fortunate the body count wasn't higher.