skysight-inc/HackerNews huggingface dataset:
I'm failing to understand some things, maybe because I glanced through the paper with morning coffee. Apology if my tone ends up a little bit harsh, but these are just constructive criticism :)

The first one is lt2 and lt3 implementations. You are implementing cmp2 through lt2, but lt3 through cmp3 (is this omission?). Both of them are stack-sensitive. Without being too harsh, I'm getting the impression that the intention was to write the most horrible comparison possible, which is different than worst-case time complexity.

In the paper, lt2 (actually cmp2 in the paper) will always be at least two passes, and lt3 is at least one pass. I would not say they are two/single pass algorithms because complexity increases depending on list depth when lists are involved.

Maybe I'm wrong, but both Python and C++ comparison operators are designed to be general-purpose comparison functions (and I'm more sure about C++, because this was touted through hundreds of books). As such, they should be good enough for most average cases. If you want speed, you go with balanced trees or something funkier.

Also, for C++ Tree implementation, you are again using probably the worst approach - appending to vector recursively. Use list for this. Python list implements all sorts of tricks, comparing to C++ vector.

And the last thing, but not the least: C++ containers depend on implementation (gcc libstdc++, stlport, msvc whatever), and I've seen substantial speed differences in standard operations. Hell, my old (almost conforming) list implementation was much faster than libstdc++ implementation because it wasn't trying to be too clever with slices and other magic.

I'm sad you haven't used a more scientific approach with much more rigor here: what C++ compiler was used, what version, what assembly output was produced, on what processor, after how many runs, etc... Claiming "Python is faster than C++" sounds like a clickbait title.
On pc by default the memory for the iGPU is a dedicated segment of RAM. There are probably tricks to read from each other RAM but not integrated like Apple has done.
I'm not familiar with the specific debate around the package I question, but what the author attacks is a very unusual, or very exaggerated, argument for SemVer.

The usual argument is not that it prevents all pain; it is widely accepted by its proponents that downstream users need to test minor and even patch releases before deploying them.

What SemVer does do is set expectations. A SemVer major change means that even if you rigorously rely on only the explicit guarantees of the public API, you need to carefully read the channel of before upgrading even for testing unless you are fond of wasted time. Also, you may want to consider whether any new features are useful.

SemVer minor means if you don't rely on things outside the guarantees of the public API, you should still do comprehensive regression testing, but the intent is that you should be safe. And you still might want to explore new features.

SemVer patch is essentially the same as minor for testing, and you don't need to consider new feature.

For SemVer minor and patch, it's also a statement that breakages are considered bugs, which might involve a commitment, or at least greater likelihood, of a fix from the project if you run into any.

SemVer is about communication of intent and setting expectations, not eliminating need for testing dependency updates or avoiding all pain.

Beating strawmen (or fringe arguments) isn't really helpful.
Of course, I meant applying a carbon (i.e. "carbon-dependent") tax at the point of energy production, not on energy production itself in abstract. I can see how it could give that impression by how I phrased my second paragraph in terms of energy-intensiveness rather than carbon-intensiveness, but my intention was to abstract away which specific source of energy each industry made use of, assuming a unified and homogeneous electrical grid.

Ironically, much that I am critical of criptocurrencies' energy expenditure, they may be more adaptable to carbon taxation than conventional digital transaction networks (SEPA, Visa, etc.) because they are in fact more centralised in their energy consumption. A cryptocurrency mining outfit could somewhat easily become self-sufficient in terms of energy relying on wind power or solar power, becoming immune to carbon taxation (and innocent in terms of carbon emissions). The energy consumption from conventional payment networks, even though it is not as inherently energy-expensive as cryptocurrencies, is so massively distributed across countries and businesses at multiple levels that they could not simply go non-carbon overnight.
What happened to "Do not feed the trolls!" ? I had no idea about what you were talking about so i searched it. The new conotation of the OK finger symbol was invented and spread by 4chan. The den of internet trolls.

Have we (actually, you, because this -- meaning the redefining of OK -- is a US thing, maybe an American thing and I am far away from your continent) sunk so low as a society that we are now expected to be up to date with online trolling operations so that we can selfcensor to avoid being fired?
This answer begs the question. (And also provides an opportunity to use that expression correctly, which is so vanishingly rare I am almost giddy.)
New in initializers PHP RFC proposal headway into PHP 8.1
I'm a games designer/developer and I work freelance for other studios.
I say NO way more often than I say yes, precisely because of that particular problem.
Money is nice and all that, but I've seen first hand the damage that these predatory practices can do to people. AND the attitudes of the people working at these game studios ands its frankly disgusting.
PHP 8.1 Looking For Release manager candidates
I'd like just to point out that I find your comment absurd to the point of being really funny.

Since humor is now banned on the internet, would you mind deleting your comment as good praxis?

:)
There's also some practical concerns. You can't check voice messages while you're in a call. You can't check them in an office setting without having to look for a headset. You can't see them on a smartwatch etc. And it takes a lot more time to consume the content. I can read in 5 seconds what it takes 60 seconds to speak :)
It's possible. I've personally reduced the time spent for reading huge XML file on the startup of an application at least 10 times in the application I was in charge of, by avoiding the library dependence and writing a custom code. Having a lot of experience in such kinds of code and in the performance issues, it was quite a fast change with no negative effects.

The prehistory of that was simple: up to some point the amount of data stored was reasonably small. Then from some point on the amount of data grew significantly (a few orders of magnitude), and the startup times became very unpleasant.

There's a lot that is going on when loading huge XML files. As an example, don't forget all the possible Unicode conversions, all the possible allocations of the elements in the handling code, just to be discarded etc.

I don't suggest everybody doing it "just because" but if some specific use is known to have very specific assumptions and it is in the "hot path" and really dominates (profile first!) and it is known that only a small subset of all XML possibilities will ever be used it can be justified to avoid the heavy libraries. For example, in that specific case, I knew that the XML is practically always only read and written by the application, or by somebody who knew what he was doing, and not something that somebody random in some random form would regularly provide from the outside, and I knew that my change surely won't break anything for years to come, as I knew for sure that that part of application was not the "hot spot" of expected future changes.

So it was a win-win. Immensely faster application startup, which is something that improved everybody's work, while preserving the "readability" of that file for the infrequent manual editing or control (and easy diff).
Some would say everyone who puts their phone in a case is someone who prefers a back cover that pops off and takes up milimeters of space.

And a lot of people use phone cases. Of course, it's also true a lot of people don't use phone cases.
Slightly off-topic:

A few years ago I wanted to renovate an apartment. I dutifully applied for the plans from the local council. Only to be told they no longer existed.

I had this, "Well then, it was always like that" moment.

Didn't end up knocking out the wall, for other reasons, but if the plans no longer existed who was to argue that it wasn't always like that.
> And python doesn't?

That's not what they stated. They corrected me and pointed me to BigNum.

BigNum is documented in MDN as a "Global Object" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
I don't find a reference to it in the ECMAScriot standsrd, https://262.ecma-international.org/10.0/

Thus I claim the Python approachbiss till better in that specific area.

I don't know Deno's source for their claim. Certainly relevant is what area of Maths you're looking at. For instance looking at reread rations for vectors and matrices might be relevant for different maths problems. The functional approach in some of these things also might be interesting for some Maths problems ... broad topic :)
I don't study this, but as far as I'm aware there are biological differences between men and women on average that are neither physically advantageous nor disadvantageous. This appears to be supported by this study[0].

[0]: https://science.sciencemag.org/content/362/6412/eaas9899
I once implemented a regex matcher in a SQL dialect. I forget exactly how large the "pathological" expression was that it could beat perl's C implementation for matching, but I'm pretty sure n was less than 30.

See also https://swtch.com/~rsc/regexp/regexp1.html
Well someone has to start somewhere! As someone who gets very attached to things he buys I also hope we go back to the "good old days".
So one simple but not-so-obvious fix: Require manufacturers to sell all individual components that go into their products at the same price + markup that they applied to their final product. Give them exemptions from normal "product" regulations, and boom, you've taken a large step in the direction of having a healthier industry and "planned obsolescence" isn't as economically viable anymore.
Interesting product. But I can see why other HNers are not so kind to it. It's probably because they are not the target market you should be going after. Nobody is going to switch from Slack to Woice simply because they can now send an audio message - I am sure there apps on Slack that can do this.

Instead of going after the enterprise collab segment which is already highly competitive and does well with text, I think this product needs to go after industries where audio is a necessity.

Say media production companies where video makers collaborate with voice artists. Or, english teaching groups where students submit their homework in audio.

These are all large niches to go after and I am not really sure if there are collaboration tools targeted entirely at them.
Naively, I would assume that LLs are best used for long lists which are typically traversed incrementally, like a FILO-only job queue. That wouldn't perform better than a static array of statically-sized objects, but it could be better for eg. a list of structs with flexible array members (ie, variable-sized structs).

They might be good for traversed lists with the possibility of partway insertion too, or performing insertion sort. Hell they might even be good for traversed lists in the general case, but I'm not a low level dev so I don't know without testing it.

Fun exercise though!

I'm guessing they're taught because they're taught, in that special inertial way that education propagates. Originally, I bet they were introduced when implementing your own data structures rather than pulling a library was normal industry practice.

Of course there is tons of value in knowing about data structures and their characteristics, but probably not in knowing how to implement LLs.
I think many businesses will be happy with this change. Currently you have to run an instance of WhatsApp in a container that connects to the WA servers and provides the API that you then use. But Facebook doesn't let random businesses run them directly, so instead you have to use accredited third-party providers who manages the container and gives you their own API to work with. So ultimately you still have this third-party who has access to the message flow.

This sounds like it offers the possibility of cutting out that middle-man and will potentially provide an easier API and onboarding process.
37165 BTU/h is roughly a quite convenient 10 BTU/s. 1 W is 1 J/s, and 1 BTU is about 1000 J. So the AC would need about 10 kW, or 180 kW for all of them.

All in all the computers in the example thus come out at north of 400 kW for total power use. Yikes!

That's a power reduction by a factor of more than 13,000 in less than two decades!

Put differently: If your electrical power comes from burning coal, the 1997 alternative to the computing power of a single M1 would emit about 8000 kg of CO₂ per day. The equivalent of driving 80,000 km with a very modern gasoline car. The mind boggles!
The DOM is just a kind of retained mode graphics, which can be fast depending on implementation. Also the DOM in most browsers is already sufficiently fast for many applications. It will never be as fast as native, but if you think that it needs to be then you are missing the point.
I don't understand your criticism, it doesn't seem to make much sense.

They have done exactly what you are proposing, in that they don't require users to provide KYC to use the browser. KYC is only required to use an additional, optioal feature inside the browser. It works well without any private information, and it even allows some wallet features like redistributing your tokens to content creators you like.
> Any better algorithm to use or recommendation on salting?
Check for common passwords:

https://haveibeenpwned.com/API/v3#SearchingPwnedPasswordsByR...
Goods used to be expensive and labour cheap. So you called a repairman, people even had their ovens serviced. Now goods are cheap but labour is expensive so you replace it...
That is true but the scoring system is not user-friendly. Linear progress makes sense for actual evaluation, but for user recommendation only an exponential progress makes sense.

For instance, iPhones are terrible to repair yet come up with 6/10 score. A user would think it's not that bad. But it is that bad, 6/10 in evaluation should be 0/10 for end-users information (only >9/10 should be considered any good).

Also, in my view it should be a criminal offense and a crime against nature/humanity to build a product that's explicitly designed not to be repairable. But well, we're not quite there yet.
1. People often use set instead of unordered_set (and same for map) despite not needing order. This slows things down.

2. The C++ standard library's maps and sets are known to be rather slow. See, for example:

https://stackoverflow.com/q/42588264/1593077

when you have string values, it's even worse, as you describe. But it's not clear that an overly-clever implementation, which caches numeric ranks of strings etc., is a good idea to have.
> removes any doubt

When you say this, I'm not sure if you mean that the book:

A. Removes doubt from the things that are genuinely simple and straightforward, freeing your mental energy to focus on the complex dynamic uncertain parts.

B. Deceives you into thinking there is a cookie-cutter solution to be applied without concern for uncertainty and risk.
Arduino IDE 2.0 beta released with live debugger, revamped user interface
That's a good chunk of the role and why they got "promoted" though! You want more such cogs, so naturally you expect them to make others into similar-behaving cogs. Otherwise they're just "admin" and you might as well automate-them away with tools and processes.
Not quite.

Consider the following real number made of binary digits:

Enumerate all Turing machines and all possible inputs, iff the i-th machine/input combination holds, the i-th binary digit in our number is 0, otherwise 1.

This number is well-defined (once you fix your enumeration scheme).

But there's no finite algorithm to produce approximations in your sense.

What I was after were what's also called Computable numbers (https://en.wikipedia.org/wiki/Computable_number). But I used the more general term of co-recursion, that also applies to arbitrary other data-structures like infinite lists, or with some generalization, infinite event-loops where the important condition is that each run through the body of the loop only takes finite time.
I hope my Tesla doesn’t get any ideas.
The Magical Journey to Functional Wonderland
Both are rude.

The cashier and customer should both realize that neither of them want to do this, and be polite about it.

The cashier has to do that all day, every day though, so I feel like they get a pass.
The Avro Arrow being destroyed is a meme in Canada, but there's a lot of questions at least in the historical community on whether that was a blessing in disguise. The state of the art was rapidly moving away from bombers coming over the North Pole (which an interceptor like the Avro Arrow) which would have rendered a fleet of Arrows expensive and useless.

That being said, it destroyed a large part of the Canadian aeronautical industry since Avro ceased operations soon after and the well trained workforce was scattered to the States. There's a long history of Canadian governments doing shortsighted things like killing industries and then paying out of the nose to try to restart the industry every generation/ See shipbuilding in Canada and how Canada can't build ships for its own navy now, despite being one of the largest shipbuilders in the world in the early 20th century.
If you're using Linux, run your test programs under valgrind. It'll help you immensely to find memory issues.
>> Although I'm still genuinely interested when a linked list is best suited. I'm also curious why they were invented and why they're taught, maybe just for teaching purposes...

It's not hard to come up with plenty of valid use cases for linked lists. Any time you need some algorithm that does a lot of non-predictable insertions/deletions, on a collection that is not regularly iterated in full or used to find elements (so pointer-chasing/cache effects are irrelevant). And/or when the elements are prohibitively expensive reorder/move on insertions/deletions, or some other piece of code is known to keep direct references to the elements that should not be invalidated when some unrelated element is inserted/removed and. Maintaining validity of iterators while an algorithm is operating on the list is another important benefit.

Some people will come up with all kinds of clever workarounds or more complicated datastructures/bookkeeping so you can achieve the same thing without a linked list, but in most cases I don't see the point of it. Especially not in cases that are not performance-sensitive at all. In such cases you're just increasing code complexity and obfuscating intent because of some ideological objection to using linked lists.
I think it was more motivated by the fact that the first months with the new processor architecture are rough from a software point of view. While Rosetta seems to work great, there are a lot of things which didn't work initially and now slowly come around with more and more native packages appearing. A complete redesign of the machines would have attracted too many customers who would not have been ready for the bumpiness of the software in the first months.
I use adblocking software and can access BBC News fine.
I eat mostly vegan and I have a bite of meat from my partner's plate about once a week. I want to share in her culinary experiences.

A week has 21 meals. If you eat 3 types of food per meal, you will make 63 food choices per week. A person can choose meat for one of those 63 choices (1.6%) and still be a vegetarian. Many folks choose meat for 30% or more of their diet.
> f that’s the case then it’s still a problem we created

Why? Why can't there just be innate biological differences in what people are interested in, between the genders, as a lot of data suggests.

Also if that is your hypothesis, how do you explain the data point that shows that the more egalitarian (free and fair) a country is, the higher the differences between the gender interests?

Also JBP is simply quoting the research in the social and psychological and psychometric fields that already exists, and is being done by a lot of other scientists. Isn't that the exact opposite of being "a hack"?
There's no contradiction here.

You can refine your real-world realization of a geometric construction by eg executing it bigger and bigger. (Or doing something more clever about the errors.)

Similarly, you can keep working on your calculation of sqrt(2) as a decimal number, and keep adding digits.
This site is a prime example of a Mac developers using overflow: auto when they should use overflow: scroll[1].

[1] https://kilianvalkhof.com/2021/css-html/you-want-overflow-au...
I mean, this is entirely a self-inflicted problem. If you'd just use a few more words in the name, none of this would be an issue.

There's nothing wrong with longer function names. They make code a lot easier to read.
Top 21 Data Mining Tools
Don't insist on making names as short as humanly possible. Use more words. That's all it takes.
I suffer silently the wrath of the big G!

Shall I compare them to the Bonnie and Clyde

due their ethical struggling for AI?

Big G can do no evil, plain as that

their critics only will avail squat.-

(... or down votes, apparently :)

While Parkers in the end got their due trap

Our every browse does big G still now track

Who am I meager I to claim that G

cannot do evil, but lone evil be?

As father time allowed for a short while

that Bonnie and Clyde their banking tryst did hide

now does the G control our searches all

But not with evil! No! how dare we call!

An ethical conundrum fore us lies

Is big G fit to master our AIs?

There's only one big G, I need not tell.

The rest of them can burn wholesale in ...
And then the word gets back to your employer, or your potential future employers. Suddenly you find yourself on thin ice for an indeterminate period of time.

No, thanks. I'd just rather my online persona is squeaky-clean under my real name, and anything controversial (oh, I don't know, like holding even one opinion that's got a potential to become controversial a year or two down the line) is under a pseudonym.
Social Network Freedom
And that's probably also why they say that the change is to make it clear that they do get the data.

Of course, if you talk with someone, even if it's a person, you have no control over that other person. If you say something inappropriate in a group then everyone from that group can see it and share it. In the case of business they (probably) share all the chat data with their provider, which in most cases is Facebook (hence my analogy with the 3-persons group chat).

What the change seems to imply is that, even if the business doesn't use Facebook tooling, Facebook will always have access to that business chat. I may be wrong though.
Good Relationships Make People Grow