skysight-inc/HackerNews huggingface dataset:
While Slack displays all your organizations in a single tabbed UI, presenting you with the number of unread messages on the tab icons in Teams you need to hard switch and you never know what happens in the others. This makes Teams worse than nothing in communications because one half of the communication expects you to communicate and you are not even aware of this. You literally must jump organizations constantly , possibly needing to log in too, just to see who is pinging you.

This has been known since 2016 at least https://microsoftteams.uservoice.com/forums/555103-public/su... "Support for multiple work accounts is still being worked on and will come at a later date."
Ask HN: What's the most challenging leetcode problem you've been asked?
I know these types of problems are often hated on HN because sometimes they are esoteric and not indicative of overall engineering skills (example: a great React engineer probably doesn't need to know the traveling salesman problem), but I'm genuinely curious.
I've had similar waiting experience with Sublime for large text bodies. VSCode, IME (been couple years since I tried) absolutely choked and eventually had to terminate.

These days, I stick to Emacs and Vim (terminal) for large files. Perks of being in a Linux shop, I guess.
It's atrocious that their main interface is like this, but have you tried i.reddit.com?
> Running `pacman -Syu` on any given Friday should NOT leave you with a machine that no longer boots

Says who? That's pretty much not what Arch tries to guarantee at all. You're at the very least supposed to read the announcements and you should upgrade often, as otherwise the end result is undefined. Some distros like Debian support partial updates, Arch very explicitly does not.

If you use Arch the way it's intended to be used, you're not going to have to spend a day every now and then to fix your OS, but if you don't, you will. I use it as my work system for years and every time I broke it was my own fault.

And if you don't want to use it the way it's intended, then just use another OS that better matches your expectations. I don't use Arch on my server after all.
Give them a bus pass and $5,000 cash, and banish them from the state. Many would take up the offer.
Thank you, I’ll give that book a look.

I read the article. After a good amount of time trying Cucumber, I tend to agree with James Shore that specialized acceptance testing tools don’t add enough value to offset the added complexity. I’ve found it more efficient to simply add logging markup to the unit & integration test framework that goes with the language used to implement the app.

The most tester-friendly approach I’ve found is to use Storybook for GUI acceptance and Postman for API acceptance. Those tools keep the tests close to the code, organize scenarios well, and are usable by true non-developers. Plus, test collections in Storybook/Postman double as valuable documentation. I hope Storybook stays focused on real, run-time web components and doesn’t get caught up in too much test-only code.
For one pet project I had to crawl a rather popular site. While that worked in general I would frequently get internal server errors. Turns out that this was the response of their CDN when it detected bot-like behavior. That left me wondering how they prevent search engine crawlers from being detected as bots and getting throttled this way as well. Turns out they just check the user agent for that. As soon as I put "Googlebot" in my user agent the frequent errors vanished. So sometimes it's not about using the right IP addresses, but just the right keywords in your user agent. ;-)
The only reason vtables et all work as well as they do is modern branch predictors are incredible.
In practice, it could. Kafka, for example, doesn't provide a non-hacky way to delete a specific record from a topic.
Both are very expensive on mobile.
My parents immigrated to the US, and we moved 8 times by the time I was in 9th grade, away from friends and family (affording doctors was out of the question). Not to highly desirable places with CA coast weather, but to rural places in the south with heat and bugs, and rural places in the north with the cold. And my parents slowly moved up the ladder in each place doing whatever was in demand and had to be done to establish their footing.

I think there is an interesting discussion of what is and is not owed to people, and where it is owed.
You are me, almost down to the word, but I am 41 now. At 38, I decided to pay for a trainer for a year and a half. At 40, just before pandemic, I was in the best shape of my life. Unfortunately, I let the stresses of pandemic and end of a marriage derail me, but I am remotivated to get back on track now.
I agree that health and relationships are the most important things in retrospect, but I think you can still get to where you want. There is time yet.
i wonder if this sort of stuff doesn't happen more often, people without a seat at the table basically are dependent on the goodwill of the founders, investors etc... and we all know that for many people greed trumps any sort of morality. In your opinion, is there anything you could have done better to protect yourself?
Supporting totalitarian countries from North Korea to china, great.
It could revitalize depressed areas under the right circumstances. Vacant homes aren't desirable either.
To the best of my knowledge, Sci-hub has stopped accepting new articles from the beginning of 2021 due to court orders.
* Introduction to Personal Finance (I think, on Coursera)

Personal Finance is one subject that is not taught is any school across the board. Previously, my spouse and I were influenced by whatever the insurance seller peddled as the best.

Post this course, we can identify most bad investments from good ones and have a basic but solid financial plan for the future.

I have taken many courses, but certainly this one has stuck with me. And I took this one a decade back!
Thats fair, though I don't think anyone is holding cash exactly equal to their liabilities. Tether certainly aren't, they make money by investing the revenue they receive if I understand the "claims" correctly...
Sounds more like you have cookies being cleaned.
This is not sustainable for the clone bees right?

Eventually a disease will evolve to target these bees or the victim bees themselves will evolve some countermeasure. At that point since they are all clones they cannot evolve a defense and will be wiped out.
Miami has been very lucky when it comes to hurricanes.

I wonder how Miami fares if they take a direct hit from an Andrew force hurricane, or a hurricane that drops 40+ inches of rain?
I find myself using `old.reddit.com` more than is needed. Reddit sometimes requires Javascript to read a post properly, and I hate that.
This is one of the reasons why I'm no longer using Alpine as a base in Docker images. I ran into this limit specifically with node-sass.

But in general, the difference in image size is negligible because of shared layers, and I just don't think enough testing happens on Alpine / musl in any given stack. Even if your app runtime is tested this way, how many dependencies are?

Come to think of it, I'm not even sure why there was a push for Alpine-based Docker images at some point. Maybe it was just hype.
This is suck
>The incentive is clear: why would people invested in crypto actively nuke their investment?

That doesn't really make any sense. Holders of USDT are people who sold their crypto, ie. people who aren't invested. Moreover, it's unclear how switching to a more reputable stablecoin would nuke their investment. At best it's a prisoners dilemma and I'm skeptical that everyone chose the "cooperate" option rather than the "defect" option.
> What you need is a way of transforming an effectful computation B -> (F C) into a lifted function (F B) -> (F C) so that you can compose A -> (F B) with (F B) -> (F C) in order to get A -> (F C).

isn't this just applicative? What is needed to turn applicative into monad?
Electron and Edge Webview2 are basically the same: they both wrap Chromium in the end, possibly with some downstream changes. So this is primarily a branding exercise, and maybe and admission that Microsoft isn't upstreaming some improvements to Chromium.
It is about profit. They could simply not ship a root kit, and then presumably fewer people would buy the game because it would be known to have cheaters in it.
Good point, but IIRC Dijkstra didn't like Fortran either. ALGOL (1958) used ":=" for assignment, as did Pascal some years later.
(Can't reply to the other comment)

> Reddit has 10x the traffic because it's free.

Reddit acquired more traffic because it's free, true. But now, they aren't looking to acquire more traffic. They're looking for more revenue.

One way to get that revenue is to allow already existing content creators to charge for a part of the content.

I think that would not only encourage better content but would bring in other users and generate good revenue.
It is not just legal aspects. There are reason why it was sanctioned.

Supporting totalitarian countries, great. Provide the guys who can … tools and whilst you and their own people cannot stop them. Great!

Glory to the supreme leader.
Not grandparent commenter, but I don’t. I switched to the logged out, default experience recently. It’s so user hostile it’s been pretty effective at curbing my Reddit addiction and making me waste less time on that site.
https://www.nytimes.com/2019/09/14/us/homeless-busing-seattl...

https://www.theguardian.com/us-news/ng-interactive/2017/dec/...
> You are applying your own understanding and rules of benevolence to an Almighty creator you cannot even begin to understand.

Is there anything a God entity could do that would cause you to label it not benevolent? If there isn't, then it appears that the word has sorta lost all practical meaning.
Office is special because it's such a cash cow they can afford to make 4 different versions of it.
Convinced they are Chinese-built drones designed to undermine and make the US' technology appear inferior
I had this issue with Teams where if I pasted code from VSCode (even just a 1 liner) it'd add a NUL character to the end and when pasted back into VSCode by the recipient it would mess up the JS file (no longer able to load properly in a web-browser).

Just don't understand how MS can mess up simple copy+paste so badly.
I didn't even read GP's comment as an endorsement. Mere mention of a language, one of its occasional conveniences, and its potential serious downsides, does not constitute shilling or "fanboyism".
For industrial scale Kafka et all.

For more modest scale you could use something like lmdb, where append only hits a happy case optimization.
Same.

Our company (we'll call it Monsarno) was bought by a certain German aspirin company, and our Bavarian overlords are slowly forcing us from Slack over to Teams. It's a nightmare, and very few groups have made the transition willingly.
> Open technology like RISC-V is less affected by the US rules for technology discussion/transfer with China

I understand people see that as a benefit of RISC-V, but I'm not seeing it quite here; how does that benefit Intel?
Nice post! from a fellow bee enthusiast :D
Essentially. All you're doing here is making it easy for the target sites to mass block a bunch of scrapers. Running it off your device is generally better.
True, good point. I updated my comment, thanks!
Time for an analogy and why math is supreme:

x+y+z is associative.

x-y-z is non-associative.

Functor, monoid and monad laws allow for undefined evaluation order, lazy evaluation, parallell execution and same results for same parameters. But only if the laws holds can such be guaranteed when using certain abstractions. Associativity being one obvious caveat that might break abstraction over collections, while using divide & conquer mechanics such as function currying.
Do you understand the difference between compile time and runtime?

Neither C++ nor Rust give you static type safety AND dynamic dispatch because all of the safety checks for C++ and Rust happen at compile time. Not runtime.
I think this has long stopped being a design goal. The OS is not the primary platform any more which everything orients around, it's an access point to the web. Products are determining design language now.

People don't expect Google to look 'like Windows' just because they're on a Windows OS, they expect Google to look like Material apps across all platforms. There's not 'windows spotify' or 'android spotify' but they expect the app to look the feel the same everywhere, and in that way companies actually benefit from using Electron.
Any account crossover? Could they have loaded the email into LinkedIn and found you that way?
I like to say that mutable state is to software as moving parts are to hardware. If you can avoid them, great! But a number of systems/designs simply require them.

https://kristiandupont.medium.com/mutable-state-is-to-softwa...
Nail on the head about marketplace feature. Reddit doesn’t want to build hard products, they want to build easy dark features which aims for more profiling and resultant ad dollars.
Big Tech has Reddit's back: they just ban new platforms for being insufficiently censorious (or at least, not censoring non-Leftists).
Yes, and? How is that relevant here?

You said "you can't", kortex said "you can" and then you moved the goal posts to "you can because of turing completeness, but its bad, Why do you even bother making the point?" to which I replied "because its a valid response to you're `you can't`" now you moved them again to "everything comes at a cost" (which... I also said?).

Of course everything comes at a cost and yes, that's what "trade off" means. Dynamic languages come at a cost too (type checking is deferred to run time). So, this time, let me ask you: Why do you even bother making the point?
Everyone with two braincells knew something didn't check out with housing in the US by 2006.

But nobody cares if they think there's still time to get in and make money.

This is true of most bubbles.
Dynamic dispatch (e.g. function pointers/delegates, virtual methods) is another case that makes figuring out the call graph and thus the maximum stack size difficult (via whole-program data-flow analysis) to impossible (function pointers come from outside your codebase or are constructed in ways analysis can't handle).
Religion fundamentalists the world over very angrily push their myths as literal facts, and often politicians have to at least somewhat indulge them.

While multiple US examples are probably well known here, I’d like to suggest one from India from circa 2008, the controversy over the Sethusamudram Shipping Canal.

India wanted to dig a “canal” (more like dredge a shipping channel) in the waters between India and Sri Lanka. Religious fundamentalists opposed this because it would involve cutting a natural rock formation. What so special about these rocks? Well they were placed there by Lord Ram and his army of monkeys as chronicled in the Ramayana.

https://en.wikipedia.org/wiki/Sethusamudram_Shipping_Canal_P...
Well, ain't that it? If you validate a string so that it contains some angle bracket tags at the beginning and the end, ensure that both the tag values contain the same string (except for one extra marker in the end tag), and store the tag name and the string within the tags in a purpose-made data structure, you can call it whatever you want. Some will call that a rudimentary XML parser.
Is the distinction between Android and iOS here maybe that iOS supports only a limited number of horizontal resolutions? At least on my Android phone, the rightmost element ends up at the screen edge with no padding, with a similar effect as the cut off icon.

(I.e. a design that's appropriate in a tightly controlled homogenous environment might not be any good in a mixed one.)
https://en.wikipedia.org/wiki/Aboriginal_Australians#/media/...

Here is an image of a few Aboriginal Australian men, who could plausibly be the closest human relatives to this fossil (assuming closely related to Denisovan).

The artist impression is somewhat exaggerated, maybe inspired by chimp musculature? But still not too out there.
Yeah, and support it on .net.
Yeah I agree, I think DAI represents the true ethos of crypto pretty well: risk is everywhere (and anyone who suggest otherwise is lying) so let’s just make it perfectly transparent and let the individual decide if they want to play or not.
I've had a friend take his own life over a false rape accusation so it forever changed the way I see such things. I wish most people didn't have to go through something like that to stop blindly believing every serious accusation without solid proof, be they male, female or anything in between.
> Paper doesn't vanish into the shadow realm when I close the window.

No, but it can vanish when you open the window. :-)
They are the one example of messaging done right on the client side.

And it maddens me that their whole team, including ops and backend is like 50 people.

At the same time, they used some pretty unconventional ways to find brilliant people. For example, for iOS and Mac and android apps, they simply held a contest for the best open source app fitting succinct and reasonable requirements. The winner got sizable prize and place on the dev team.

Then they released that app as a Telegram X and then gradually sunset the older app.

Pretty neat on multiple fronts.
This is why i read hacker news
It always forgets for me even when I’m logged in
My understanding is that third-party apps aren't shown at all, per https://www.reddit.com/r/modnews/comments/6pxyvy/traffic_pag... ; "Reddit apps" only lists the official ones in subreddit stats.
So you're assuming that marketing agencies aren't honest?

I'm struggling to understand what are the differences - why isn't the best interest of a marketing agency to generate good results to a business? What's not aligned in that?

Like... it's cheaper to find clients, fool them into getting a chunk of their marketing budget, and dump them? I don't see how this is good business.

Why can't a dev shop just do a bad job, hide behind poor requirements, and keep a infinite scope of work after you're too invested in them?
Unless I’m mistaken, what I’ve read is that Win11 actually supports TPM 1.2 but they’re saying that to be “logo certified”, new machines must come with TPM 2.0

Edit: apparently that was true but now they’re backpedaling and saying “TPM 2.0 is a hard requirement”, thank you for the reply
I want everybody to stop, shake themselves, and realize how “absolutely insane” this situation is. True or not, we’re talking about prison time for helping people write open source code.

This isn’t normal, but everyone’s talking about it like it’s normal.

Anyway! Carry on. :)
> Even the predicted environmental impact of Bitcoin, which does require lots of computing firepower, has been considerably exaggerated by some researchers.

Exaggerated or not, what's aggravating is that Bitcoin is literally secured by the consumption of power through wasting it on hashing.

To process the same amount of transactions per second in a non-trustless (trustful?) system, you'd need, like, a few Raspberry Pis around the world. And the trustlessness is dodgy anyway, with a few big mining pools having over 51% of the mining, with everyone basically having to trust the developers, etc.
> They’re also very much required

That's a weird notion of "required". Very few things are "required", notably food and oxygen. Saying "no" to bullshit like rootkits is very easy in comparison.
Regardless of what the financial markets value them at, their resources are proportional to profits, not market cap.

That aside, they also have lots of products and teams and some have more budget and resources than others.

Saving some memory usage in teams for more than double the development costs, is probably an unattractive position for that team. It also makes it hard to keep features consistent across platforms (as it is, teams struggles with that!)
I think the article goes a little further than what you describe -- it would have you use a strong type that cannot represent illegal values.

There's a follow-up article by the same author (that I unfortunately can't find), in which she explains this point.

As an example, returning a NonZero newtype over Int is not as type safe as using an ADT that lacks a zero value altogether.
Using a NonEmpty newtype over List is not as type safe as using the NonEmpty ADT that has an element as part of its structure.

Basically newtype still has use, but it is not as airtight as a well-designed ADT.
Exactly. Does bussing help the individual or simply get them out of your way?

Sometimes returning people to their support networks in other states can be a solution, but “banishing” doesn’t sound legal or ethical.
> This principle can be applied to dynamic languages as well if you have some mechanism such as type hinting, pre-conditions etc. that are checked by a linter during development, even if it isn't, you can still use it at runtime with sufficient error handling.

Every time I read something like this my mind translates it to "after building an ad-hoc compiler you can do all the things a compiler can do. Just not as well, but you can do it." -- Same with "I don't need a compiler, my tests stop all this kind of bugs"
> Neither C++ nor Rust have dynamic dispatch

You appear to be using some other definition of dynamic dispatch than the rest of the software industry...
Not really, Tether’s terms don’t provide much in the way of redeemability. It’s quite probable that most of the Tethers already minted never had an actual dollar behind them anyway.
Not a great example since they sold over a billion worth of stock. They do actually have more money now.

Microsoft generates more money than they know what to do with so they return large amounts in dividends and probably stock buybacks (I haven't checked for MSFT specifically, but it's all the rage these days.)

That's essentially the opposite of what GME did.
Even that has an upsell dickbar stuck to the top. It's a fractal of user hostility.
Warnings: Tails is safe but not magic
Validation is checking if something looks like a data structure. Parsing is smashing data into a data structure, and failing out if you can't do it.

At the end of parsing, you have a structure with a type. After validation, you may or may not have a structure with that type, depending on how you chose to validate.

But I think the big win is, parsers are usually much easier to compose (since they themselves are structured functions) and so if you start with the type first, you often get the "validation" behavior aspect of parsing for "free" (usually from a library). Maybe title should have been "Parse, don't manually validate."

But if your type doesn't catch all your invariants, yeah it does feel kinda just like validation.
> You have 2 options: either your functions are recursive and you can hope and pray

Or you can try to figure out the maximum number of times it'll recurse: for example, the height of a red-black tree with less than 2^64 nodes is less than 128, iirc.
Dynamic languages do it at runtime too, JUST LIKE rust and C++ do. What's the difference?

C++ and Rust let you have compile-time safety, until you choose to give it up and have runtime checks instead. Dynamic languages only allow the latter. Static languages let you choose, dynamic languages chose the latter for you in all cases. Both can have dynamic dispatch.

Besides, static languages can have compile-time type safe dynamic dispatch, if you constrain the dispatch to compile-time-known types (eg std::variant). You only lose that if you want fully unconstrained dynamism, in which case you defer type checking to runtime. Which is what dynamic languages always have.

So both C++ and Rust DO have dynamic dispatch and the programmer gets to choose what level of the dynamism/safety trade off they want. And yes, these features ARE first class features of the languages.