skysight-inc/HackerNews huggingface dataset:
> Rust isn't any more complex, but it's not radically simpler either.

Safe Rust doesn't have classes, inheritance, copy constructors, move constructors, header files, preprocessor, textual substitution macros, code executing before main(), exceptions, global variables, pointer arithmetic... Looks radically simpler to me.
I suppose I might try being the grump that says the best trick is to not do any tricks. As in don't be cute[a], I guess.

There was a series[b] of 'Dirty Coding Tricks'[0], originally posted on Gamasutra from 2009. I remember getting something out of them at/around the time, maybe you'll find something of interest. I think most were more like "hacks I can't believe we shipped" rather than tricks, but you did mention dirty hacks, so...

* [a] Is "don't be cute" not a thing? -- I'm struggling to find usages/source of the phrase right now

* [b] Well, I remember a series of them but I could be wrong. To find out either way would require navigating the hellscape that is informa's gamedeveloper magazine's website's repackaged Gamasutra content which happens to be unavailable due to "navigating some downtime on our legacy web pages".

* [0] https://web.archive.org/web/20220707000222/https://www.gamed...
> This is why companies need a HR hiring process that filters out candidates who haven't yet developed the level of maturity needed to listen to contrary perspectives without taking such conversations emotionally.

The problem is that listening is a lot less flashy and glamorous than violent self-promotion. As long as the people who are in positions of power have got there by violent self-promotion, they will, from intentional or unintentional self-interest, bias the hiring process towards people like them.
That's true (and minimal APIs help a lot) but ASP.NET still has a real problem with too much magic.

For example, the secret incantations required to output a mere string as raw json mimetype or log incoming deserialization errors* are unintuitive and very labourious - see InvalidModelStateResponseFactory. Or that I had to create a custom output formatter to output raw json. Why? Sometimes I just want ASP.NET to get out of my way and it's not trivial to tell it to let go.

* For example, url?parameter=1 for a boolean parameter, which would have worked with .NET Framework but won't for .NET Core/.NET.
" in this world nothing can be said to be certain, except death and taxes."
Do browsers not check CAA? They could.
Does anyone know what the move / copy semantics are in Carbon? I can't figure it out from the docs (admittedly I have not looked hard at all).

I would say the number one weakness of C++ is its model of copy by default and often by surprise. For example: f(std::move(x)) will copy x if x is const or f takes its value by const ref - rather than a compiler error as you might reasonably expect (if you don't know the C++ reference model inside out).

In Rust, moves are destructive (which simplifies implementions - you don't need an "empty" state) and always bitwise (which is usually fine, so long as they're destructive); and copies are always explicit so you don't have the above problem. I personally think that is all more useful than the borrow checker.

If Carbon has the same bizarre move/copy rules as C++ then the effort is wasted IMO.
The first half of the article started to feel like the XKCD "15th standard" meme, but at the end, the more nuanced point was presented: If you're already using Rust, stick with Rust. Carbon is positioned as successor language for those with large C++ codebases difficult to convert to Rust.

Interesting tact, and at face value that concession might undermine adoption given that Rust has a big head start and not hinged to a corp with a well-earned reputation for killing projects.
Sure. Some people lack vitamin D. Not really the issue I'm talking about here.
If you don't trust your government then you have bigger issues. And that governmant could always choose to start to regulate Twitter to their advantage if they have that much public support no matter what regulations there are now.

Also, I think if any single party can get that much of a majority (or even just a majority on its own) then your already have an extremely unhealthy democracy even if such setups are quite common in "developed" countries.
> themselves into ownership of freenode is closely associated

Wonderful. Using a guilt by association to discredit a project due to someone else's involvement rather than critiquing the technology and its goals.

Facebook have been involved with allowing the spread of misinformation, hate crimes, etc and have built systems that use Rust to aid this and are also a platinum member (Amongst other surveillance big tech companies like Microsoft, Google, Amazon, etc) involved with funding the Rust Foundation.

Given that deep association, does that mean you should stop learning and using Rust?
This. I wish more people realised there were about 200 million humans on the planet during the Roman Empire's existence. Nobody was worrying about eugenics or world crises.

What I'm worrying about is raising children in a continually prohibitive and hostile world where we sacrifice the quality of life in the name of the environment and financial frugality. What's the point? Where is the incentive to reproduce?

Humans will not disappear naturally. Anyone who's seen a Lotka-Volterra model will not be surprised we haven't reached equilibrium. There is no equilibrium. There is no infinite growth.
Great book indeed. By Henry S. Warren, ISBN 0-321-84268-5.

Another classic book, a bit less down to the metal than Hacker's Delight (which deals with bit fiddling a lot):

Programming Pearls by Jon Bentley.
I believe that the percieved threshold of “giant asshole who 100% deserved it” is lowering.
This comment and parent comment don't appear to have read the article. It's specifically targetting C++ compatibility, that means compatible threading model, memory model, ABI, type system, ...

Rust has none of these. For every line of Rust code in the world, there are likely 10e3 - 100e3 lines of C++. You can either label it all "legacy code" and pretend your employer has the budget or time to rewrite it all, or you can find something in between writing new "legacy code", or throwing away your (for a company like Google) absolutely huge investment.

FWIW projects that build for interoperability have a much higher chance of long term success than those that don't. This is true for everything in software, not just programming languages. For this reason alone you can't easily compare Carbon and Rust. Carbon sounds something a little closer to Vala (C compatibility) than anything like Rust
I would recommend to not read most of these originals. New editions modernize the language and are well worth the money to buy or read at subscription services.
The issue with ROS are mostly cultural, and heavily ingrained into the community. ROS2 isn't going to fix that and has been shown to repeat the same mistakes of ROS.

The atrocious build system has stayed the same. People continue to add even more brittle automagic to the pile. (.e.g. automagic compilation of C++ to FPGAs)

The grown semi ad-hoc messaging semantics for services has stayed the same. Even if DDS was an acceptable foundation, adding a ROS message translation layer and ROS semantics on top of a perfectly valid schema language is bringing the same pitfalls that Object Relational Mappers have, in that you now have to understand three systems, the source, the compiler, and the target.
And given that ROS1 had a 'wontfix' issue on the message schema checksums being computed wrongly (ignoring the cardinality of fields), which could result in your robot literally ripping your head of when it received messages from two different library versions, I don't trust anybody from the community to get it right this time.

The whole DDS vendor based ecosystem is antithetical to open source. The DDS standard is way too big, and a bunch of vendors meeting every couple years to demonstrate that their systems can send messages about shapes between one another simply doesn't cut it to prove correctness.

ROS(2) is an attempt to make C++ more easy by layering automagic and complexity on top. Most robot shops I know waste most of their time fighting that magic and complexity. The other ones don't use ROS(2).

ROS should have been:

* A bunch of libraries (not frameworks) to solve robotics, vision, and knowledge representation related tasks.

* A bunch of best practices to work with common middlewares, none of which are developed as part of ROS.

* A repository of competing data schemata for the above libraries and middlewares to facilitate interoperability but allow for experimentation.

* Dataviz libraries for common notebooks, e.g. jupyter, observablehq, that work with the common data schemata.

Instead we got one of the hairiest C++ projects and a bunch of shell scripts to open your default text editor more conveniently. Yay.
I have only dabbled in Rust but I found the interop situation to be less than ideal. Plenty of C/C++ libraries either don't have Rust wrappers at all or have been long abandoned.

I like the ability of Carbon to seamlessly integrate with existing C/C++ code and libraries.
This is why appraisals for tax purposes should always come with the right to sell the property back to the city for 90% of this value. If you won't pay $900k for a $1m home, then it isn't a $1m home.

Also, there should be carveouts (like we have in Toronto) for the elderly and disabled to have their taxes paid from the residual value of their home until they die, so our communities don't just push out our most vulnerable fifth of society when housing booms.
> Write code that is obvious, clearly readable by future programmers maintaining the code.

This is something I've come to realise more and more strongly as time's gone by. The code that I write isn't for me, it's for everyone coming after me. Including future-me. Gotta look after future-me.
All that stuff is important, and I enjoy it more than most.

But I also keep in mind that the only point of it is to enable shipping more features faster and better.
I mean, nothing on Youtube is particularly credible. But at least with Lindybeige you never get the impression he is a definitive source.

History in particular is a field where even trained historians can't help but nitpick each other to death. So I think people should just enjoy pop-history for what it is.
In C++ you can access a private member of a class A by defining a class B as exactly the same but making that member public, and casting to B*: B* b = (B*)&a; b->private_member... Shouldn't be used more than once in every 20 years though :)
> Frustrated by the slow evolution

I think already the very first sentence is already wrong.

1998 ISO/IEC 14882:1998 C++98
2003 ISO/IEC 14882:2003 C++03
2011 ISO/IEC 14882:2011 C++11
2014 ISO/IEC 14882:2014 C++14
2017 ISO/IEC 14882:2017 C++17
2020 ISO/IEC 14882:2020 C++20

Where C++11 and C++20 are huge major upgrades.
Did anyone think this wouldn't happen?

The idea that an average car buyer won't understand that computer stuff can be "hacked" so they don't have to pay is pretty ridiculous. If your making money to buy a new BMW you probably don't live under a rock and have some idea of how computers work in a very high level way.
I can't see details of the Carbon syntax for pointer, array and function types, but this is where Rust's type syntax really excels compared to the C++ style.

let foo : & fn(&[MyType], i32) -> String = ...

(a reference to a function that takes a slice and a 32bit signed integer as arguments and returns a string)

is dramatically simpler than the C/C++ equivalent.

More subjectively, I find `var` or equivalent makes code much easier to read, because you can scan for variable declarations much more easily. With C++ code, almost any token could be a variable declaration and you have to think about the type even if you wouldn't otherwise care about it. It also allows you to have inferred types without a separate auto keyword.
Depending on the "history" you read, you'd think that the US, and not the USSR, was pivotal in defeating hitler in Europe.
I still need to get into OCaml. I of course know bits by virtue of having used F# and SML, but OCaml definitely has its own unique features. For F#, I appreciate how well it sits upon the host VM for the CLR and .NET. It just integrates almost seamlessly while still being a functional-first ML. When I use F#, it's by far the easiest code I write. I find myself just writing out the domain and boom, I got a working program. Recently, I wrote some bindings for a C/C++ DLL, and F# really made that easy. It's the easiest time I've ever had creating such bindings in a language.

For the Ionide stuff, I agree. I don't use it, even though I use Visual Studio Code for other languages, and am happy enough with Visual Studio on Windows and Visual Studio for Mac on macOS.
I like to implement features from end-to-end and keep them as lean as possible so I can fit the execution flow in my head. Each time an edge case or a question pops up, I leave a TODO in the code explaining why it could be a problem but I don't solve it yet. Then I proceed to implement the next call in the stack. Once the happy path is done and tested, I go back the TODOs.

I also like to implement the feature top-down: starting with the caller and implementing the chain of callee. It helps designing the abstraction layers by forcing you to answer "does the caller care/know about this argument or should it abstracted away elsewhere (config or service)?" By starting from the top, you tend to add arguments only if they are needed.
Definitely up there with one of the greatest scenes for sure. As the article states the impact of the scene is only magnified by real world events at the time, but it's also timeless. I've always loved Casablanca and this is without doubt my favourite scene, it gives me goosebumps.
What an amazing niche!
California has a nearly useless homestead exemption of 7000 dollars off the assessed value[1].

[1]https://www.boe.ca.gov/proptaxes/homeowners_exemption.htm
used to develop drivers for infortainment system. boring as hell.

Arm/cpp/linux
Along with Wodehouse, I would also suggest E F Benson.
Apple patent data shows its growing interest in Project Titan and EVs
I fail to see the good intentions behind not letting you go outside.
Or you can simply trust the organization bootstrapping the naming system by other means and not use a blockchain to defend against this hypothetical scenario at a high energy/compute cost.

Some reasonable measures:

1. the organization could be a non-profit co-operative owned individually by its investors
2. the organization could establish a contract that enforces desired behaviour of participants by the judicial system

Voila, no blockchain needed.
We feed the animals from our arable land.

I used to be in your camp until I did the research. Eating meat makes no sense outside of personal enjoyment.
The more recent editions of C++ do seem to support this idea. Things are at least better than when the trade off was taking advantage of C++ features (and more C++ like) or performance (and more C-like C++). The problem that there are only a handful of people who could realistically claim to be experts in C++ has gotten worse over time as the language has expanded though. It's a language where you potentially have to train new C++ programmers that join your team in how your team uses C++.
GitBit Is Launched
GitBit is launched!

Get Certified in MS-500 Microsoft 365 Security Administration with our free lessons and practice questions. Learn everything you need to receive your MS-500!

Go to https://www.gitbit.org to get started.
Paywalled : https://archive.ph/wip/4zs6Q
To avoid https://cdecl.org/ is good reason enough. Enjoy parsing middle-out, I’ll take a keyword any day of the week.

On that note, is there any recently created programming language decided to go with that type before name?
Swimming pool sinkhole: Safety is not a luxury – editorial
Are you sure? I thought chip cards worked using certificates signed by the card issuer. And transactions involved sending a nonce to be signed. Everything can be verified by the public key. I could totally be wrong though.
We do think that demographic collapse can be "an event involving destruction or damage on an awesome or catastrophic scale." There was, admittedly, internal debate about using alarmist language in the title, though, and we appreciate the criticism (everything in this document is subject to change based on feedback).

We care about what happens to humanity after we die. We acknowledge that not everyone does. No judgment there. This document is more relevant to people who care about what happens to humans beyond their own personal lifespans.
Haha, you're right, I meant `(completed + 1)/(committed + 2)`. A value close to 1 means you completed a lot of what you committed, and a value close to zero means you completed a very little. I stole it from Laplace's rule of succession.

[0]: https://en.wikipedia.org/wiki/Rule_of_succession
The cause seems to be social distancing preventing necessary exposure to two types of adenovirus.

Sounds like another 2nd-order effect from lockdowns that has been disproportionately harder on children than adults. Really glad I moved out of my “pro lockdown” state.
> But trying to sound compassionate when you are angry doesn't work very well. And it requires a huge amount of energy to maintain (ask any politician :)).

But that's a good and self-reinforcing thing! If you are spending all your energy on compassion, then you are not spending your energy on talking angrily, and so are inadvertently lulled into listening, or at least not over-talking. If one can't be genuinely compassionate yet, then at least falling into a neutral non-attacking position is a good thing.
I would argue that convenience of users is more important than easy of parsing.
The standups I've been in are about reporting to the rest of the team what you're doing.

This way, everyone has a clue what's going on, and can also chime in with advice and questions.
My language of choice, LiveCode, is a superset of HyperTalk. The concept of "words" has been built-in (not a library) since the '80s. Hash tables since the '90s.

A solution to every aspect of this problem but the line-by-line bit took just over a minute to write. Adding that took another minute.

The trade-off is that LC is slower than almost any of the languages listed, and optimization is almost impossible -- the idiomatic way is the fastest (almost). And if you don't like the way LC parses words, there is almost no way to change it without going into the source code (a big pain).
Not Youtube, but I've found Thinking About Things (www.thinking-about-things.com) another great place to find reading material for the intellectually curious.
Great advice! I call that the "Mad Dash" - just try to get something working in a quick and dirty fashion. I often don't understand the problem until I work on the solution.
This is a facility that is critical to US stockpile stewardship. None of the tech or engineering or manufacturing has been offshores/outsourced.

The engineering and fabrication side is just that precise.

In this facility they indirectly drive the target with the lasers. So instead of uniformly heating a sphere with lasers, they heat the inside of both ends of a gold tube (holhraum). This causes a bath of x-rays to uniformly heat a glass sphere that contains your fusion fuel. That glass sphere needs to be suspended in the center of the tube, but any inconsistency can cause huge knock on effects on yield. So they hold it between two <1um thick sheets of plastic. But if you can imagine, part of the sphere will be in contact with this plastic and part will not. That adds some reduction in how uniformly you heat the glass sphere.

But let's back up, how do they even make this perfect sphere of glass that is hollow? And how big is it? Well the sphere can be anywhere from 420um to 800+ um in diameter. From what I recall, the only way to make these is to drop small amounts of glass from a tall tower into water. Then do metrology on it, and toss away >90% of them right off the bat. Another issue is that some of the fuel leaks out of this hollow glass sphere over time. So timing from when you load the target from storage to actually firing the lasers can have non-zero effects on the yield.

Long story short. It's really hard to convey how close to the edge of precision ICF research is to the edge of micro fabrication. Now add the fact that some of these targets need to survive going from atmosphere to ultrahigh vacuum, and not break or tear... Remember that 1um thick plastic?

So yeah, no one is outsourcing this stuff. It's not being negatively effected by brain drain or lack of funding. It's just absurdly difficult to build to the designed tolerances the physics demands.

Fun fact, this is why a lot of physicists got behind the ITER project. The bigger you make something, the less important the minor fluctuations are to the overall yield. :D
I'm reminded of how polio paralysis only really became a thing with improved hygiene. Polio, for some reason, almost never paralyzes newborns. Until the late 19th century it was implausible to not get infected shortly after birth, and then constantly have that immunity built up with reinfection. But toilets and sewers changed that, and a child might not catch it until much older, where paralysis is a risk. Similarly someone in adulthood might have little immunity left, get a huge exposure eventually, and then develop neurological symptoms.
Martin Shkreli's New Venture “Druglike” – A Web3 Drug Discovery Platform
Yep, I write comments to figure out what I'm doing, and then the code writes itself. It's gotten to the point where it's hard to code without writing the comment first, and usually the comment gets rewritten multiple times before I write a single line of code (thus saving me rewriting dozens of lines of code multiple times.)
Website: https://screen.druglike.com/
The Apple Store Time Machine
> You adjusted 300 fatalities per year by a factor of 4 that you got from the number of transit commuters and the number of the motorists and got 47 people per day? I am still not following.

47 people per day is just the ratio from the NY troopers' site's statistics. If we use the NHTSA instead, it's 32. If you then adjust that downwards by 4, you get 8, which is an order of magnitude higher than the daily deaths on public transit by all causes.

> Because you don't need to wait for bus when you drive?

Sure. Instead you wait at gas stations, rest stations, wander through underground parking lots, and so forth. This is not a compelling justification for introducing a category error to the comparison, and I suspect that it isn't one that will ultimately favor your position (given that 5% of all violent crime happens in the first two categories).

> I don't believe it's silent. I have reasons to believe a lot of people get assaulted on the bus stations and in subway stations.

Sources that substantiate this would be fantastic. Absent those, it's an unsubstantiated feeling.

> Perhaps they count "pushed under the train in such a way it could not have been written off as suicide or negligence on the victim's part"?

The NYPD does not miss an opportunity to characterize events as homicides or other violent crimes. Again: unless you have a sourced reason to believe that the NYPD lied about homicide numbers in the subway system between 1990 and 2003, this is baseless.
Even among the people who "know about VMs" how many of them could confidently plug in a physical device to a physical machine and be sure that it was somehow isolated to the VM? I must have a dozen ways to run VMs here, but I couldn't do that.
It may also be a mistake to assume that it's always possible to break down a system into logical parts and simplify that system until it fits your complexity budget prior to development without knowing the upper bound of your problem's complexity.

Some things still have to be discovered before they can be measured.