skysight-inc/HackerNews huggingface dataset:
What you see on Tinder is the absolute best presentation of people's lives. Every single one of those people has problems in life that they are not showing in that forum. You cannot judge your entire, flawed life by comparing it to only the best portions of other people's lives.

You are 23 and unmarried, presumably without chilren. That is very young and very free. That doesn't mean you don't have real problems, but it means you have lots of options to change. You can steer your life in any direction you want at this point.

If you're not homeless or incarcerated, you're definitely not a "complete failure in life."

You probably aren't lost, just listless. Satisfaction in life comes from picking a direction and pursuing it, whether it is a career, a family, an art, or something else. It can be hard to figure out what that is, because the options are overwhelming.

I'd recommend putting your efforts towards figuring out what you want to do with your life, and then start down that path. Once you're making some progress and are in a better mental state, then tackle the online dating game (or maybe you'll happen to find someone along the way).
Don't get me wrong - I'm not saying the article is bad or not useful.

However, Monad and Functor are well defined terms. If you write an article where you complain about confusing explanations and try to do better, then you must start with a disclaimer: "I'm not explaining Monads as they are defined in math. I'm explaining something that is quite similar to it to make it more practical and later explain the actual term" or so.

Otherwise you are just adding to the confusion that people experience.

> The laws are less useful and less relevant in strict languages, as is the case with many laws, which is why Haskell programmers are just about the only ones discussing them.

I'm not sure if I would agree with that. But even if I would, the laws are still really important, even in strict languages. I've implemented quite a few monad instances in Scala (which is a strict language) and I'm speaking from experience.
In my circles “Angular” always means new Angular, while old Angular “1” is called AngularJS.
Even if we assume these websites to be accurate, The data and conclusions are wildly speculative and ask more questions than answer. This isn't remotely evidence for your claim.

What are the demographics by age, geography for the people paying for cable tv, going out for dinners 5 times a week and that have $5k of credit card debt. You seem to be assuming they are all the same people, and you are assuming that correlation is causation.

Besides, even I indulge -

The link you shared about cord cutting statistics, if you read through the link, its making the point that cutting the cord was on the rise and in 2018 increased by 32.8% compared to 2017. In 2018 alone 33M people canceled their TV subscription. Seems like your data suggests people are increasingly doing what you want them to do, cutting the cord and saving money.

The link about people going out for lunch and dinner, it actually doesn't have any data in it. It appears to be a blog by a private citizen.

The link you shared about credit card debt, well that actually says that average credit card debt reduced by 14% from 2019 to 2020, while the avg fico across all generations increased. Seems like another trend that you wanted people to do. Surprisingly it also says that while avg credit card debt reduced from 2019 to 2020, student loan debt increased the highest of any debt category, by 9%.

Should I be concluding that people have been cutting the cord and saving money on cable tv, reducing credit card debt and investing in education? Or are we just cherry picking statistics to support a belief without really looking at the data.
On Types: From Assembly to Clojure
Before one speculates this has greater societal ramifications:

They had 276 people play 2 rounds of a video game where bots helped, harmed, or didn’t interact with the player. Only players who were first harmed by bots continued to exhibit “harming” (a mechanic that removes players from the game) into round 2 even when bots stopped doing anything.

Based on this super narrow definition I would hesitate to say this says anything on a societal scale.
Well, most people aren't alcoholics, so I presume most people are able to reason that out and control themselves. But for those who do become alcoholics, I suspect it's because the question "what am I doing with this can of beer?" has an answer along the lines of "because being sober hurts more." That is to say, they are self-medicating for problems that seem even worse.
How important it is to read employment offers from a worst case perspective and redline shit that isn't defined, even if you have a verbal agreement on what something means. Am currently dealing with my (soon to be former) company trying to fuck me out of a bunch of stock because they couldn't c&p correctly.
In America we had it pretty good for awhile.

And it's still a better place than most.

I think the anger comes from those that do remember a time where people/corporations seemed fairer.

I get the anger from the original poster.

It's not that we hate our country. It's the opposite. We are tired of billionaires/corporations pushing us around.

I'm still a bit miffed over the way Uber bought that proposition. I don't like it when wealthy people take out huge low, or no interest, loans in order to not pay taxes, or set up 501c3's with less than 1% of the sacred money going back to the country that provided a relatively safe, fair enviornment to let their entrepreneurial ideas flourish.

I hope we never lose that angst.

Are we better than most corrupt places I will never visit--yes.
Don’t forget .NET Standard. There’s also Xamarin’s Mono flavor, which attempts to implement Framework’s API.

Yeah, it’s a mess. Just remember that .NET 5 is a significant break from legacy and the future.
> For their own good reasons, mathematicians use "functor" as a concrete noun. Haskell copied this, hence how often you hear about "a functor".

> However, interfaces are adjectives that describe a data structure, which is why in many languages they are often named with -able suffixes (Iterable, Serializable, etc.) Programmers are better off thinking of it as Functable or Fmapable or something like that.

Fmapable makes much more sense to me. Naming is hard.
I do wonder about how things like this relate to other real forms of engineering like civil in terms of accountability. As in, if there's a certain amount of responsibility inherent in a product, and that responsibility is assumed by the manufacturer (particularly in cases where everything is proprietary), gradually increasing risk accumulates for customers after a very short supported lifespan.

Bridges have very long useful lifespans wih massive up front cost, after which they're just replaced, and that's fine. Elevators have seemingly rigorous standards they need to hold up, but also there are companies and people specialized to repair them according to standards.
That is a great way to implement a lock, but it won't be a spin lock (which is a good thing by the way). The wait function is a blocking call.
Somebody mentioned to make requirement that if companies want to discontinue supporting a product they should be required to open source the code.
https://store.steampowered.com/subscriber_agreement/

Says all purchases are final. You may only request a refund and they reserve the right to deny it. Forcing it via chargebacks basically locks your account.

https://www.playstation.com/en-us/legal/psn-terms-of-service...

Reserves the right to suspend and terminate accounts associated with chargebacks.
It's easy to fall into traps! I edited my original comment with a link to https://lmax-exchange.github.io/disruptor/ which has all the details on avoiding the pitfalls you mention.

As to your specific concern, I think you should be able to preallocate a large buffer of objects that you want to share. In other words, the allocations only need to happen infrequently.

The conversation going from "ringbuffer" to "multithreaded lock-free memory pool" is throwing up warning signals. It's true that you do need to be allocating memory, but the memory can be allocated by a thread (lock free), and then the slot is claimed and pointer written (still lock free). But there's nothing special about this process -- just allocate some memory, and stick it into the slot.

The ringbuffer is the thing that handles the coordination, enabling you to allocate memory on whatever thread you want.

Is there a reason more complexity is justified? (More complexity might entirely be justified, and I just haven't had that experience.)
By 2050, the out of control inflation has made bread too expensive for everyone except the top 1%. Toasters sold to normal folks scan barcodes on bread slices to check if the bakery is part of their bread insurance network. After playing the 5 minute ad, your toaster happily announces that your bakery is no longer covered, and asks if you want to make a $350 co-pay, with "Sign Up" and "More Details" buttons.
> Web standards (JSON-LD, microdata, RDFa) are inefficient, since you have to download the entire HTML to find a particular piece of data like a phone number.

You might have picked a bad demo project to show off the efficiency of NUM. It takes me 58 requests and (on my very fast connection) 5.3 seconds to download all the information for Barclays. Downloading a JSON blob with all the data for Barclays, parsing it, and displaying it, would take a fraction of the time.

Sure, NUM might be great if you knew ahead of time exactly which DNS record the user would need, but most cases where something like this would be helpful I'd rather see a complete list of all contact information so I can make the correct choice given all the options. Are there use cases you've thought of where the application would know exactly which DNS record to load and display, rather than displaying an index the way you do with companydirectory.uk?
Alan Kay Demonstrates the Rand Tablet
Actually, just learn the construct `Promise.then().catch()` and u already know how to use Monad in your code. The `then` is the `bind` of Monad. What's complicated here ? Want `do` syntax ?

a <- method b

c <- method a

is equivalent to

a = await method(b)

c = await method(a)

Again. Use javascript to learn Monad in real world is a better way to learn.
You might have misunderstood the point of the ML strategy. The idea is to train a model on explainable event data such as weather balloons or wildlife as collected via various existing sensors. Then take this model and use it on historical sensor data to identify events that do not match the traits of the known events. I feel like this is a pretty reasonable use for ML.
The Office suite is no less glitchy.
Pretty much everything, sadly.
To the naysayers in this thread, stay tuned: https://www.cnn.com/2021/06/25/health/fda-covid-vaccine-hear...
I'm hard pressed to summarize the book because it introduces so many ideas. Perhaps I can point you to summaries other folks have written, like [1]. That said, I can rattle off some heuristics from Taleb that I've applied in real life:

1) Look out for fat tails and rare events in real life. Don't obsess over trying to predict them (you cannot -- rare events are such that they are inherently difficult to predict. They're rare!); instead protect yourself against their downsides by designing the appropriate defenses for when they do happen (e.g. having some form of insurance, setting up legal clauses that limit liability, etc.) For instance, contracts can be set up to limit liability from very rare events that have damages that scale infinitely. This can be done by adding a clause that says if said rare event happens, one will only pay damages up to $x, which contains the downside. (Insurance companies do this a lot)

2) When to take risks? In situations where there are low downsides if you're wrong and high upside if you're right. When to not take risks? When the opposite is true.

3) Don't mistake individual risk for systems risk. The startup community valorizes risk-taking (after all, nothing ventured nothing gained). However never fall into the trap into thinking that risk-taking makes everyone stronger. When individuals fail, they don't always get stronger (many are destroyed) -- instead their failures make the system/ecosystem stronger. It's like airplane crashes, which are themselves unrecoverable failures. But each airplane crash actually improves airline safety for everyone through learnings obtained from post-mortems and blackboxes, which lead to new FAA guidelines.

4) Don't obsess over probabilities alone -- pay attention to payoffs (or better yet, focus on "expectation", which is the sum/integral of probabilities times payoffs). (everybody learns this in statistics class but no one has thought about how to apply this). You want to maximize expectation, not probability.

[1] https://tylerdevries.com/book-summaries/fooled-by-randomness...
We ignored it until others reminded us.
This brings back memories of one time being told by a Cisco engineer in the late 90's or early 2000's that a buffer overflow wasn't a critical issue because it only impacted the control plane of a router. Oh and I also found out since it was a custom OS without access to source code that it somehow was immune to exploitation.

I asked for a different engineer who was much more helpful.
The future life and times of consumer us.
Yeah, we've been bitten by horrible degradation as soon as anything else is running on the system next to the main application, like a cron job or unknowingly running CI on a VM where the VM's vCPUs are subject to preemption.

As long as you aren't oversubscribing hardware threads, you'll be fine, but at the cost of pathological behavior once you add just a single additional thread.

Also don't use `sched_yield(2)` for spin locks, unless you're running priority-based RT Linux. A scheduler that is good for that scenario tends to be quite bad at most real-world scenarios that don't try to do their own spinlocks in userspace due to NIH syndrome.
That doesn't tell me a single thing about what 'monad' means.

It's like having someone run hello world in java and declaring they know what 'static' means.
Sadly, in my experience, math is often taught theory first, followed by almost trivial or an insufficient number of examples, with more helpful examples left as exercises for the reader with no solution provided.

Post-secondary math classes were actually amazing to cultivate the habit of persisting through long periods of feeling like a complete idiot. But I have to wonder what the same content would have been like had it been example-driven.

It reminds me of learning a language through exposure to endless examples and internalizing rules without being explicitly taught them, versus deliberately memorizing the grammar rules of a foreign language and then applying the rules to specific examples.
The table is intentionally misleading. Read the text. It's not E2EE.
What sort of things are people doing with this? Has a definite feel of something like a earlier approach risc-v. (Yes, I know its not risc-v)

Has anyone put multiple of these into the same fpga? Eg a spartan 7

Can you put one of these into an icestick? I'm thinking it could be quite a squeeze.
Monads should satisfy the "monad laws": left identity, right identity, and associativity.

IIRC, Haskell relies on two out of the three, but I don't remember which two. But if you write a "monad" that doesn't satisfy them (even though it has the right function signatures), then you're going to get bogus results.
Your weirdly omits any reasoning for why you think that is the case.

One possible reason may be integration, which definitely is a factor for Apple, but Google’s is so hideously bad it might as well not exist.

For consumers it’ll be better whether or not the competitors are from the US (as an EU citizen I’d like to see some local options).
IRC > *
You rock Dan. If HN were Game of Thrones, then you’d be the Night’s Watch.
> Why not keep the notes in a VeraCrypt/TrueCrypt drive/partition?

Because in this case you have to backup the whole encrypted disk, instead of syncing a couple of encrypted files. Also, setting up gpg in Emacs is very easy task. I am using selective encryption of orgmode entries with a specific tag, this case is covered in documentation.
I hope Tyler Ley does a video about it. He's a professor at Oklahoma State University who's all about concrete. He did a video about the I35 bridge collapse a few years ago that was pretty good: https://www.youtube.com/watch?v=57pi53hBByA

His video production quality is a little rough, but nonetheless his videos are quite interesting. I never knew concrete was so fascinating before coming across his channel.
I read the same exact thing here: https://news.ycombinator.com/item?id=27638473
I'm excited to see someone is working on this. I have considered switching from Arch to Sid in the past, mainly so that I could run the same OS on all computers and because I like the DFSG. Two things have stopped me:

* It's so much harder to build your own software packages on Debian. Even patching an existing Debian package can be painful, and having to write your own packages is even worse. I'm sure a dedicated enough user can learn to use the Debian packaging software proficiently, but it's a huge barrier to entry when I have something as easy as Arch's PKGBUILD syntax at my disposal. It looks like this project is interested in solving this problem: rather than using Debian's packaging tools for the DUR, it actually appears to literally be using makepkg with a Debian conversion script running on top. [1]

* The systemd integration is currently quite bad. It's probably the source of a bunch of user complaints about systemd. Debian's systemd install currently still supports [2] and uses init scripts and update-rc.d, the very thing unit files were supposed to take us beyond. In fact, a pretty minimal Debian installation I have on a server has 14 init scripts, while my Arch install doesn't even have an /etc/init.d directory! On the whole, Debian administration is a lot more complicated than on Arch because of the relative complexity of the architecture.

[1] https://docs.hunterwittenborn.com/makedeb/makedeb/intro

[2] https://wiki.debian.org/Teams/pkg-systemd/Integration
As much as I love Cutler... I'm also impressed a news website that existed in 1999 still exists today in 2021!
Do you have more details on this or a source? I’m curious!
I must be one of the few people who actually do know what they want when they go into the store. I want juice, eggs, butter, milk and cheese. Or I need cat food. That’s what I get. I often have wander about the store, but it is extremely rare that I get something other than what I have chosen to get.
It's a sample from the book. First two chapters of thirty-eight.
> Management insists Jira stories be routed to new Epic.

Agile expert called in, who saves the day(night?)...
Because changing stores is not as easy as clicking away from websites. This could be due to choice of items that are available, price, distance from home/office and so on. And, not to forget inertia/habits. Also, what’s behind those doors is only a part of the shopping list.

I think most people will be annoyed, curse it, and then get used to it.

I would love to be proven wrong since this is not the direction we should be going.
The article makes me wonder: how much headroom do compilers of newer slow-to-compile languages such as Rust or Swift have for improving compile times?
Thanks! Yes I liked that article version of the video too. I appreciate the feedback.

What I meant about patents was that normally in engineering companies will patent everything, and it ends up making things very expensive. Then 20 years later the patents expire and the thing could become cheap as happened with 3D printers after a community formed around open source designs. I am saying that we are skipping any phase where we patent the design and going straight to open source community development.
> To me ...

My question remains: What is the basis of that? Do you work with him? Read his biography at least (assuming there is one)?
Hey, this horrible thing that happened might be related to something I’m on a soapbox about, so I’m going to rush to judgement and point fingers. As long as it helps my narrative, I don’t need to wait for ‘facts’.
A few years ago, I had an NYT subscription. I had to cancel it for some reason, and the cancellation flow was some of the worst UX I've ever experienced. You had to actually live DM with some poor sod who was being paid to try to get you to change your mind like half a dozen times. It was worse than old GoDaddy upsells...worse than cancelling Photoshop (which, by the way, fyi, Adobe will drop price at least twice if you keep trying to cancel, cable-company-style)

I would have resubscribed shortly thereafter if the cancellation flow had been good, or even just average. But because of how bad it was, I have never resubscribed, and most likely never will. Their cancellation UX cost them 5+ years of subscription revenue from me. Not only that but I go around telling people about how bad it was
>Everything around us has a billion-gazillion parameter space, and all we're seeing is just a chance occurrence.

So true.

Definitely one of the differentiators you can focus on when adding a software feature, is to consider the vast number of possibilities to accomplish it successfully.

And with natural science like this it can be the vast number of possibilities that will never work, if there even exists one viable solution. Plus the biggest space will always be where there is no documentation since no experiments have yet been done.

So the most promising stuff is when you don't know if what you want to do will even be possible.

Therefore these type projects must always be started against this exact headwind.

Which is why so few of them even get started.

And when they do, they face the most oppressive noise-to-signal ratio and often need to do it for an ungodly long time before any real sign of success can even be seen on the horizon.

When you think about it software projects might often be difficult to finish, while science projects more often are difficult to start.
Also, imagine being that VP's bf/gf and trying to break up with them
> Where C++ gives you many slightly different takes on the same concept (e.g. unique_ptr, shared_ptr and raw pointers), C gives you one way to go and that one has a conveniently compact notation (such as float).

You use unique_ptr and shared_ptr because float is unsafe. If you don't care about the safety that smart pointers provide, you can use float* in C++ too.

> ticking with the example of matrix math, it is baffling how C code is often more compact and readable than C++ code. A matrix declaration would be float matrix[4][4]; [...] Of course, you could take the same approach in C++ but then you are not really using C++. The example from above in C could be simply: float* top = matrix;

But that's not that same thing, is it? I fail to see how you're actually getting the top 3 rows there; you're just assigning a pointer. Again, you're making your code less safe and expressive by using no abstraction at all.

And please, how is `matrix_add(matrix_mul(A, B), c)` more compact and readable than `A*B + c`? And this is being kind to the C version.

If the problem is with C++'s compilation times, then it's perfectly reasonable; this is one of the major problems of the language. But using unsafe constructs and then saying that they're better than C++'s safer alternatives is just comparing apples to oranges.
Every slice has unique nooks and crannies to create a 2D pattern, allowing for DRM and personalization!
Good luck with that later strategy - they would limit their user base to people with enough space for that.

Imagine getting a notification that you don't have enough space to install Uber, but Lyft works fine.

Or realizing that you don't have space for apps after installing WhatsApp, but not Telegram.

Would be fun to see how the pressure on the devs works in this case.