skysight-inc/HackerNews huggingface dataset:
Aircraft carriers are a weapons platform that requires both tech prowess and organizational culture to wield. For this reason, America has more than a single carrier task force. Russia and the handful of others could only field a single one. (Instead, Russia had focused on building up their submarine fleet). The carrier groups have allowed the US to project both military and soft power around the world.

But that is just on the surface. What may not be as well-known are asymetric weapons platforms that are cheaper to operate and have been demonstrated effectiveness against larger naval vessels, within the US's own military war game exercises. In the last one, the oppositional team had been able to use such platforms to defeat their larger opponents, to the point that the exercise was cancelled. China has definitely been developing those weapons platforms. (I think the US has been as well, but the US also need to maintain the facade that the carrier groups are the premier projection of power).

Furthermore, the cultural aspects are eroding. The US military is a voluntary service organization, which has been the leading explanation of why the US can field multiple carrier groups, and no other country could. However, training and operational fitness has been eroding. This is what lead to the several naval disasters a couple years ago. They threw the commanding officers under the bus, but the deeper causes are (1) erosion of quality training for ship handling and (2) the personnel are running ragged, where normal ship operations are being affected (let alone what that says about their ability to operate in wartime conditions). This all happened within the US 7th Fleet, that operates within China's sphere of influence.

It's just as well that US pressure on China is being exerted through a trade war instead of military positioning.

(I also have had talks with friends about space-based kinetic weapons platforms, which, if fielded, changes the game dramatically in favor of the US).

As far as China's economic and technological power in the civilian sector ... There is a lot of advantages there. Probably the biggest thing is that China has cultural unity, greater economic optimism, and a cohesive will of the populous to catch up and displace US as the leading world superpower. The US, in contrast, is wracked with a culture war, and 70 years of policing the world and 30 years of trying to maintain the post-Cold War liberal order has left a very tired, pessimistic country.
The only purpose of the ICO structure is to run a scam. Was true from the beginning and is true now
Agreed, but I also think it's worth pointing out that science-based medicine has been around for a long time now, yet why has there been so little attention paid to the issue of healthy breathing? Why do doctors not assess a patient's breathing rate just like they would their heart rate or blood pressure? It's astounding that an advanced medical science would bypass something so foundational for so long.
Neither I nor the company I work for are American (both Euros) and yet every one of us in the company, many thousands globally, have received this email today.

Thankfully it seems to have went directly to spam, as I had to look to find it, but the point remains.
We’ll add some more options. Thank you for the feedback!
The author does mention JSON5 which implements all of those features.
It's the same thing as today, you learn best when you implement systems yourself. For example, I didn't learn web animations until I built my own (internal) library to do it well rather than relying on a third party one.
if you are sending data to "yourself" and performance is important, defining your own binary protocol can be very effective. every time I go to grok protobuf, thrift, et al. I end up just rolling my own format because it's so much simpler and I can take all the tradeoffs that benefit what I'm doing instead of what anyone might possibly do with it. this doesn't apply in many situations (i.e. sending data to outside parties) but I've experienced a lot of success with it that seems at odds with conventional wisdom on the subject.
It varies considerably. If you write the kind of simple PHP pages which gave it that reputation, it's almost always going to be limited by I/O. If you use a framework which encourages enterprise-style apps with hundreds of includes and object hierarchies which would make a J2EE developer weep, even the opcode cache won't be enough to get back to that spot. I don't follow it enough to see if this passing away niw but there was definitely a sizable chunk of the community which really thought that Real Programmers™ didn't write simple code.
I said elsewhere in the thread: “Early Christianity was pretty plainly against sex as such, straight or gay.” I think this verse supports it.
There's no theoretical difference between phis and basic block parameters.

When you do SSA conversion, you need a notion that allows you to bind a value to a variable along an edge in the control-flow graph. You can choose to actually have some edge data that indicates these bindings, but this tends to be a poor engineering solution. If it has to go into a basic block, you need to either bind it to the source basic block or the target basic block. Bind it to the target, and you get phi nodes. Bind it to the source, and you get basic block parameters.

The choice of which to use is an engineering tradeoff. Phis have the issue that they are pseudo-instructions existing as the leading instructions in a basic block, and you may well need to special-case them in transformation or analysis passes. Using basic block arguments also provides a more direct analogy to interprocedural optimization, and you could potentially use the exact same code with a touch of specialization to handle that domain.

Since the two forms are moving the edge instructions to different places, they make different questions easier. With a phi node, it's quick to see if all predecessors are providing the same value. With a basic block argument, it's quick to see which variables are live out (assuming you're restricted to using only basic block-local variables [1]). In general, if you need to query all-predecessor analyses, it's easier with phis; if you need all-successor analyses, it's easier with basic block arguments.

[1] The choice of where variables can be used is also orthogonal to phis versus basic block arguments. Loop-closed SSA already exists, which prevents you from using a variable outside of its loop.
I agree, although there are still some potential obstacles:

1. the US is becoming increasingly liberal and India is becoming increasingly jingoistic/illiberal.

2. The US views Pakistan as an important strategic ally.
Show HN: Perfect Pitch Ear Training
The wikipedia article for sarin gas is also extremely frightening, but the example Bret gives of the Tokyo subway attack shows that it’s probably less effective than advertised in a modern military context. The bar isn’t “is this stuff deadly”, it’s is it deadly enough to overcome the expense, complication, and incompatibility with highly mobile modern doctrine to make it worth using on a militarily relevant scale over conventional options.

I’m certainly no expert, so I’m not going to go any further with “is this poison poisonous enough”, but that wikipedia article at least doesn’t seem to make the case.
How to Buy a Computer for Cross-Platform Development
Given this is your area of expertise, I'm genuinely interested in how/why you believe that these vulnerabilities wouldn't show up in the real world. Generally speaking, isn't the software developer community littered with developers who aren't adequately skilled/copy-paste-from-Stack-Overflow, etc?
It's actually slightly wrong to just say "variables start with $". It's more like "$ dereferences a string":

$foo = "I am foo\n";
$bar = "foo";
echo $$bar;

This is in the documentation under "variable variables" [0]. This also lets you create dynamic function names:

function run_foo() {
echo "I'm a foo\n";
}

$method = 'foo';
$picked = "run_$method";
$picked();

[0] https://www.php.net/manual/en/language.variables.variable.ph...
https://twitter.com/danrothschild/status/1319646560607752194
It's a bold stance. It says that because "Team Red," as the tweet puts it, is attacking the foundations of democracy (the OS, if you will), this justifies extreme responses, including the breach of norms, trust, or perhaps even laws that this email represents. This person/company has decided to fight fire (breaking of norms) with fire. Sometimes that works, sometimes you burn the whole forest down faster.
I'm skeptical of any Uncle Bob-isms (and to some degree of Fowler's stuff) as well, but if you want a good description of technical debt and why it's actually a problem, Ousterhout does it nicely in his "A Philosophy of Software Design".

That book is a little gem, short and well-written
This. I don’t have a link handy, but at present China’s superpower is effective final assembly. The common example is the iPhone, where once you subtract out the value from imported parts, China is only keeping something like $4. (From memory, so there may be some more recent and/or accurate numbers)
If you look at the fifty year picture, China and the US have been developing trade with each other and the rest of the world and growing in prosperity. Particularly vs important rivals from the last fifty years, such as the USSR and Japan. You can argue about the distribution of the prosperity in the US, and you can argue about the political liberalism in China, but neither country is exclusively responsible for the other countries problems in either regard.

Both countries depend on world trade and have a lot to loose from any event (like a war) that would upset trade. Neither country is really threatened by each other or any other power. It is possible that this could be a situation like the United States and Great Britain, where one country passed up another in power and wealth without a need for conflict.
I think you just showed that such evidence is not likely to be available at a casual Google search. Older professors who probably didn't have to do postdocs are probably less likely to post their CVs online.
Attitude is what I like to think of as a qualitative marker for success. The defintion of attitude is quite nuanced.
Attitude determines how you go about actions that can make or break your career.

I wrote about this in https://leveragethoughts.substack.com/p/what-is-excellence
Two things China has in common with the West are aging demographics, and asset price bubbles.

I figure somewhere the two go hand in hand, and I will go out on a limb here and suggest that by the end of the decade, either or both lateral hemispheres will experience an asset price bubble the likes of which have never been seen before.

I think there is scope in China for heinously priced real estate in the coming years, for example.

I believe it's human-behavioural stuff like that which will confound the best laid plans of our leaders, in both east and west.
Money, perhaps more than anything else in human society, exhibits network effects that incline it toward winner-takes-all dynamics.

That's not how money works, if by money you mean a currency. Currencies are issued by sovereign governments, and don't exhibit network effects within that sovereign jurisdiction, because they don't need to. They're legal tender; you're required to accept them, and everyone needs them to pay taxes.

If you mean money as in wealth, that's an entirely different topic.
>Before sending it we had a long discussion, designed to be as inclusive and respectful as possible. In particular, we made a fact check Slack room where anyone can contest a factual claim and argue for/against it, then a group of top employees votes on our official opinion.

Oof imagine working there and speaking up from the "other side". I'd just leave tbh. Or just stay silent. There is a reason a lot of people don't want to talk about things like that in a workplace.
You only need to serialize faster than the guy next to you, or something
The primary problem with XML is that it's a document markup language being used to do data serialization. Schemas were bolted on after the fact to add enough metadata for data serialization, but that's a whole lot of added complexity on top of the already complex process of parsing a lightly specced document.

So you have an already complex document parser (which you are using only a fraction of the full functionality!) with the added complexity of a schema system layered on top. This is why JSON took off so fast, it ditched the whole document part and just gave you the data.
Not a company, but a project. It has not died yet, it is instead being rewritten while the old one is on life support.

The technical debt accrued due to:

1. Poor code practices (C++, poor use or understanding of pointers and threads created most of the actual errors in the program that make it unstable)

2. Excessive copy/paste (so bad decisions propagated quickly)

3. Poor architecture (didn't scale, performance is technically fine but development costs exploded as new capabilities were added)

4. Poor testing (almost entirely manual, as the system grew this grew with it to the point of creating major delays in releases)

They're rewriting it now keeping these lessons in mind. They're surviving because they're part of a larger org that can afford to keep them around for the rewrite, but essentially this now 10-12 year old system is dead. The other reason they're surviving is they happen to have only one competitor, whose product costs 10x as much per seat. So their customers want them to survive if they can hit the quality improvements in the rewrite, failing that they'll be disbanded.
“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”
― C. A. R. Hoare

This is how I approach software, but there are so many people out there who won't approve simple code, because it doesn't have enough configs, or classes, or whatever. It seems that the person who wants the most over-engineered code tends to get their way. Psychologically the absence of 'things' is always inferior and harder to argue for than having more 'things'.
Ok, that’s fair. But, then the number makes more sense in relative terms than in absolute. Still, absolutely impressive.
If using safari, any extension that utilizes the content blocker API is safe — they all merely provide a blocklist to safari and have no access to page contents themselves.
It seems like your definition of technical debt is whenever anything is not completed (to your satisfaction), which seems a bit broad. I look at technical debt as the results of deliberate (architecture, design, or prioritization) decisions which have adverse impacts on maintainability.
I really wouldn't mind other country taking leadership of the world from the US. What scares me the most is that this leadership can be taken from a selfish leaded country and their expansionism program:

* Xinjiang
* Hing Kong
* Taiwan
* Inner Mongolia
* Tibet
* Spratly Islands / Nine dash lane.
* Northern India
* Vietnam sea

They cannot just be nice with their neighbours. And, for some reason, they think they have the rights to take and to threat.

I personally don't want these bully leaders to be the leaders of the world. But unfortunately, this is happening in front of us right now and there's not too much we can do about it.
But we can reason theoretically about what could be the outcome of the thought experiment, and if that is compelling enough, that I think is sufficient insight, that carrying out a real experiment wouldn't give any additional knowledge.

Also since this human behaviour we talking about here. Experimental Psychology is a field known for its credibility crisis, its inconsistent and possible non-reproduceable results, that I have not much faith in it to give us useful insights, and I would be more interested in hearing many of those matters addressed from a purely theoretic point of view, than through conclusions from dubious experimental data.
It's impressive that this checks for the system theme switches between dark/light modes
> "Dumping the old Windows Mobile platform for Windows Phone was understandable, but the compatibility break between Windows Phone 7 and Windows Phone 8 was really off-putting."

My memory is fuzzy on the specifics but the breaks weren't done just for the fun of it. If I recall correctly, refactoring on a titanic scale on the Windows Phone OS was underway along with the same on Windows itself to both make Windows a componentized OS that would work on anything from a tiny mobile device to a huge server and to synchronize the architecture of WP to Windows. By the time of WP10, as the old joke goes, "the operation was a success but the patient died". It's kind of a pity.
Benchmarking the global 5G user experience – October update
Somehow this made me feel happy that GraphQL is part of the Linux Foundation
This is only true if the recent success of democracy is random, and not systematic.
duplicate:

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

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

https://news.ycombinator.com/item?id=24868076
> Probably the biggest thing is that China has cultural unity

China does not have more cultural unity, it simply has more of a stomach for suppressing minority or rebellious subcultures. See: Tibetans, Mongolians, Hong Kongers, Uyghurs.
I don't understand why we are lusting for great power wars in the first place beyond the fact that they are so damaging as to be nearly (but not quite) unthinkable.
Yes, XML is verbose.

It's also highly redundant (so it basically can't be hand written), undesrpecified (do I put this value as an atribute, value, or sub-element?), underpowered (how does it represent numbers? Byte streams?), complicated (have you ever created a DTD by hand?), and just out badly designed.

Of course, JSON and YAML share some of those same problems, and add some different ones. But the complaints about XML aren't some superfluous opinions about how it looks.
I think https://github.com/rentzsch/lich gets the basic primitives right as well, and in a binary-friendly format, but it has never been pushed by any organization, so it’s essentially unknown.
There's also the joke that nobody wants to take the blame for inventing XML.
Of course, there is the (obvious) point that ~100 billionaires in government is not contradictory with capital allocations being made by smart people. How many of those billionaires inherited their wealth?

> China's parliament has ~100 billionaires, and the concentration of wealth is even more extreme than that when you count those with a net worth exceeding, say, $100 million instead.

I mean, just looking at the facts - independent observers put US wealth concentration at higher levels than China, look at the wealth gini coefficient.

> The difference is access to raw power, national unity, and a massive foundational population.

This combination has existed elsewhere. The intensive testing/promotion scheme used in the CCP has been a little less common. The difference between the US and China is that we put this "raw power" in the hands of private enterprise and management, whereas in China they sequester a lot of that talent into the party and sometimes loan it out to private industry.
140 000 ton ?
Thank you. I am taking a big risk by making the statement in 4.11 (in the online Appendix E), since it directly implies that none of C++, Java, Python et al actually do any exception handling at all. It's all control flow, always has been.

Still, I've actually wanted to write it there since I considered it to be important, and because that argument came into existence during the first Hacker News discussion about the book (and therefore is a product of more than just my mind).
> new billionaires we hear about on HN etc, are pretty intelligent.

New billionaires are the ones most likely to be intelligent (although again, measures of intelligence can't be detached from the opportunity you were provided), this is entirely consistent with the point I'm making.
> It was because every developer in the West was taught that inheritance based OOP was the one thing to rule them all.
>
> And that unfortunate school of thought created the Java mythos that spread to many languages, not only PHP, eg JavaScript (everyone trying to write inheritance based OOP in a prototype based language)

I don't think it's as simple as OOP being bad but rather the culture of complexity that everything had to have deep object hierarchies, layers of indirection and runtime configuration, etc. If you write Python, JavaScript, PHP, etc. classes which don't try to follow the enterprise Java style and only pay for the complexity needed by the problem domain the results are fine.

I think a large part of it was that many people learned not OOP but how the Java standard library and J2EE worked, and internalized the idea that you were trying to produce a reusable abstraction for the entire stack which could be used by unrelated projects without realizing how expensive that kind general framework development is.
Hi, thank you for your feedback!

Google -> fair point, we’ll add some more options

Signing in is needed though. We could maybe find a way without it but it would be a bog hassle. At minimum we would need an email adress for when the render is done.

For now, we have a very basic pricing scheme. We add a subtle watermark to the video. If you pay to remove it, all the renders (also new ones) for that project will be without watermark. For now, we don’t put any limitting, except on audio length and file size.
Do you think this is a fair model? Or would something else be better?

Legal -> it’s your video. But we’re not responsible for storage.
I fully agree, but I think this is an issue in most languages (not counting compiler optimizations)
Congrats! The condition system isn't very well described elsewhere, especially relative to how cool it is. I just ordered your book, looking forward to reading it.
I certainly wouldn't want to debug this ball of mud if there were no log statements, no :)

But, I think we're depending on different programs in our workflow. I much prefer a logfile with statements that focus on what I want to inspect at the time.

I'm quite proficient with debuggers on both Windows and Linux, but I tend to use them less when dealing with my own multi-threaded code.
It doesn't make sense to use PPP when asking questions about a country's economic strength or power. It's designed for questions of manufacturing or cost of living.

China has a high PPP GDP simply because it has hundreds of millions of people living in some form of poverty, which drives down costs locally. Clearly if the driver of your high PPP GDP is a massive underclass living in poverty, you can't turn around and use that as an argument in support of your economic might -- it's incoherent.