skysight-inc/HackerNews huggingface dataset:
My team started off piloting a self hosted Mattermost instance used by our developers and quality assurance testers. Tons of information exchange as well a team bonding.

Then they rolled out Teams for the whole company. We lost a ton of features that made Mattermost a delight to use. The way channels worked felt less intuitive, and it was just harder to care about group messages. And the worst part? A 30 day deletion policy.
> Religion is part performance
Yeah...? Religious people want to build a society which fit there view of how things should be, of course they "perform" actions which reinforce it. Literally everybody, every single person, does this.
I think you might need to define what you mean by dynamic dispatch, because it is very clearly something totally different than how the term is commonly understood.
I would like to marry a Neanderthal woman and make a baby with her.

I would much rather do that than go to Mars with SpaceX.

I know it isn't lawful to create a Neanderthal woman from the Neanderthal genomes that we have already sequenced, but if it was, I would like to try it.

If I knew someone in a lab who had access to the technology, I would ask them to undertake this project with me in secret.

I know this is controversial, but something kind of similar happened with Jennifer Lawrence in the movie Passengers and she ended up falling in love with the guy.
Yep, we moved away because MS themselves are simply not serious about it.
Tractability vs possibility.

You don't grok the difference.

You can implement EVERYTHING in Brainfuck. Tractability is the reason you don't.

The goalposts are exactly where I set them. With my first comment.

"Every programming paradigm is a good idea if the respective trade-offs are acceptable to you."
> Modern design is so beautiful to look at - but an absolute nightmare to use. You either need to use trial an error on every element, or hope that someone else can tell you what you need to do.

This. Aesthetics has overtaken usability. Back when it was web design, a good interface was defined as one that was easy to use first, pretty to look at second. During the rise of mobile interfaces, this got flipped. Now pretty to look at ranks highest, and easy to use is secondary.

Is this because of real-estate? Mobile screens are smaller, and something had to go.
I started writing a long-winded thing to enumerate the problems with Teams that no product person at Microsoft will ever see, so why bother? It's a terrible product. The purported sticker price for enterprises disguises the costly loss of productivity due to this mess. It's just a godawful mess.
Please, no! They would fuck it up somehow, and then abandon it after a few years. Qt has been very stable and dependable for.. ages. MS has created and forgot then forgot too many frameworks during the same time.
I love how much we’ve come to expect from services we’re not willing to pay a dime for.
Well the reply was to a comment that didn't seem to have read the link so I felt it was apt but alright.
It's really sad to me that Xamarin doesn't get more love and adoption.
If you're an exchange - why on earth would you give up your USD for USDT - which has never been redeemed for USD - and you can't use for anything except to BUY crypto - when your business is to SELL crypto??

It doesn't make any sense.

What does make sense is the exchange wants to do business. No one wants to give the exchange USD. So they accept USDT.

1. Tether prints USDT then offers above market price on the exchange.

2. People put their crypto in the exchange to arbitrage the high/fake price.

3. Tether buys real bitcoins for fake printed money.

4. The exchange is happy with taking a small cut, even if it's just fake USDT money.

5. Now Tether is backed by Bitcoin - an asset they can guarantee appreciates.

6. The exchanges can use their USDT cut to buy crypto on their exchanges, too.

This is risk free for Tether as long as they can keep the scheme going.

It also makes complete sense to me why when Tether is printing vast sums - meme coins explode.

It's easier for the exchanges to convert their USDT into meme coins. No one wants to hand over their bitcoins to a shady exchange for fake money. But they'll fork over their Shiba Inu coins for 1000x the price. Why not?

Just look at the volumes on the exchanges that trade Tether and meme coins while Tether is printing money.
I don't think people generally think the internet as a network was wasting energy.

I tend to think it's mainly the mass amount of commoditised hardware that's the problem, especially if it's thrown away and not recycled, and recently hoarded for mining.
Right! My company switched from Slack to Teams and even though we recreated all our original channels, public discussion has all but died. Having to context switch between private messaging and public channels, even though it's just another tab, is apparently just too much friction.

Also opening docs and excel sheets inside the main window by default and blocking chat while doing it is absolutely atrocious.
You could even just give them a used car and free supplies. The same amount of money per person spent in schools will do wonders for everyone and the state. Stop the government corruption.
i am interpreting this as "monads are a structural type, not a nominal type".

which to me is an interesting debate given Haskell's emphasis on strong interfaces strictly enforced.

We seem to be converging on a world where we agree that declaring and enforcing types is very important, yet also that it's the structure of the type, not its name, that is most critical. At some point, with sufficiently advanced type inference, do you end up in a world that looks like a lot like fully dynamic languages, where the actual declaration of the type is purely optional?
I've worked for or in some contracting capacity for 3. My thoughts:

1. If you're joining in the very early stages (like YC batch time), make a plan in writing with the founders for how your compensation will change once the company raises/grows. Those early days will be hectic and it's easy to let those changes get delayed, and something unexpected (good or bad) always comes up since they're startups. You are going to be sweating a lot to get things done by Demo Day or whatever the milestone is, so make sure the comp situation is clear.

2. Do your own analysis on the unit economics of the business to evaluate your potential payout. There will be lots of projections thrown around to attract investors -- as an engineer, you will be able to see all the data and make your own projections.

3. The more industry experience the founders have, the better. Worked for a top 100-500 company? Managed? You're de-risking the job culturally.

4. As far as evaluating character/people you want to work with, pay close attention to how people you are considering working with treat people significantly below them in pay grade. Go out for a coffee and see how the founder treats the waiter -- it sounds silly or obvious but I find it's a good judge of character.

Teams I've worked with: 2-6 people, very early stages.
So, in other words, you have intentionally tried to break your system and you succeeded. So, congratulations?

pacman and apt have a different feature-set. Handling a neglected system and recovering from terminated upgrade are explicitly not what pacman does. If you expect such features from your system, why did you install Arch in the first place?
So what? That’s not a reason to write a full and accurate report. Sounds like the guy who wrote the paper is a symptom of the state of their entire state bureaucracy
Reddit is an absolutely grotesque website, both for these UI issues and the toxic hate it engenders on all the subreddits. It’s magnitudes worse than any other social network. I have a genuine question: do people openly say they work for this company or is it workplace where people have to hide that they are part of it?
Changing user agent to Google it or whatever also lets you past quite a few paywalls too. Or at least it used to. These days I don't even bother
CT may be appropriate to further evolve Haskell as a language, but for programming implementations; mathematical categories aren't directly useful. There Haskell is more like any other programming language, just that it's FP.
In case someone is interested in shorting Tether, thanks to DeFi this can now be done without explicit exposure to a crypto exchange or dangerous BTC shorts. For the uninitiated, I think this is also a good example for the kind of craziness that is possible now:

Deposit a "good" stable coin (for what counts as good in this space, which is USDC) on Aave or Compound and borrow Tether against it (75% and 80% loan-to-value respectively). You can now either send it to an exchange (e.g. Kraken) and swap USDT to real USD, or go to curve.fi and swap USDT for more USDC and deposit back to Aave or Compound. Repeat until either 4x/5x leverage (theoretical max) or your personal risk tolerance is reached. Remember to service the position by depositing more USDC occasionally (otherwise will be liquidated with penalty). As of this writing, variable interest rate is ~3.5%, fixed interest rate is 11%.

Scenarios:

- USDT goes to zero, buy as many as needed for scrap, pay back the loan, free the original stablecoins, sell for real USD and make between 1.75x to 4x/5x, depending on which route you chose above.

- Both USDT and USDC go to zero, you lose between 25 to 100%, depending on the route you chose above.

- There's a USDT shortage (real or somehow engineered) and it goes way above $1 causing your position to be force-liquidated, causing you lose between 25 to 100%, depending on the route you chose above.

- Only USDC falls below peg (temporarily or permanently) and you get force-liquidated (25 to 100% loss)

- You forget to service the debt or a spike in the variable interest rate causes you to get force-liquidated (5% penalty)

- Tether never goes to zero and you keep paying 3.5% interest (variable)

- Smart contract hack / Ethereum shuts down, you lose up to 100%

- Unkown scenarios

While there's no explicit exposure to a crypto exchange, there's still the implicit exposure to Coinbase/Circle via USDC. DAI offers no escape here, since its 50% collateralised by USDC (the other 50% crypto would likely be in serious turmoil in case USDT collapses potentially losing its peg as well).

In spite of this, I think this is a considerably better way to profit from a Tether collapse then the much more dangerous route of shorting BTC futures, or shorting via an unregulated crypto exchange where there's no guarantee that they'll pay or even be operational in such an event.
Tor has a couple of hundred exit nodes and they are all on public lists, the Tor network is easy to identify and block.

If you are in a position were you need a rotating list of proxy servers in the cloud to scrape, Tor is probably way too slow.
Just checked, and looks like you are right — modules don't offer more facilities to distribute proprietary code than GOPATH already did.

I stand corrected.
Yeah I my argument is that those tools are ok but a bit inadequate. Certainly not first class solutions. It’s just a thought, I’m not sure it would open up a world of possibilities but there could be more rigorous ways on showing how the logic has changed over time and keeping that alongside the current state of the logic.
Reddit's model is based on unpaid moderators managing most of the site. There's already controversy around a few moderators controlling all the large communities, karma farming and behind the scenes deals. Introducing money into the mix will just result in even more abuse as moderators try to take their own cut. It's a very messy eco-system that money will just make even messier.
Reasonable balance of capital to assets, you mean. Bank capital is what makes account holders whole when the value of the bank’s assets takes an unexpected hit.
> There is no comparable -ism for ugliness despite the obvious parity of reasoning.

The articles uses "lookism," which admittedly is nowhere near as well known as racism, sexism, etc., and is probably a non-starter as a word to build a movement on. But I guess some equivalent term will show up in the vernacular at some point (maybe along with heightism?)
> there are a good few updates since then that are labelled "requires manual intervention"

That's by design. If you choose Arch as your system, you're agreeing to that (otherwise why would you choose it in the first place - that's a direct consequence of its value proposition). I'm not sure I would call that a "problem".
By 'compact', do you mean i.reddit.com, or old.reddit.com?

I've found that the former does sometimes redirect me to the garbage mobile version when I click on a thread (even while logged in), but the latter persists as long as the setting is enabled in my account.
You literally have to pay to have a private repo. It isn't just a common use, it is feature you have to pay for.
You appear to be conflating compilers with runtimes.

Dynamic dispatch happens at runtime.

C++ and Rust are compile-time tools, not runtimes.
Reddit bought Dubsmash last year, too. I imagine the app will eventually operate almost similar to TikTok: funny picture, advertisement, cat video, person live-streaming.
Whether or not they can attract more of these power users to use the official app to upload short videos and livestream remains to be seen. I don’t think they’re able to on third-party apps. I’m not able to on Apollo, at least.
If your “political opinions” violate a platform’s terms of service, what do you expect should happen?
Toffler's book Future Shock has some interesting discussion about advanced production techniques allowing high degrees of bespoke customisation with very little additional costs beyond a generic production line.

We're still a long way from there RE smartphones, though projects like the PinePhone with hardware switches for things like microphone, camera, WiFi etc, along with a less locked down OS perhaps show a path to achieving this.
Even without the deletion policy, searching only brings up matching messages without the context and scrolling back takes ages (and jumps to the present from time to time).
Windows have PAGE_WRITECOPY and PAGE_EXECUTE_WRITECOPY.

Those are essential for efficient shared library loading.
There would still be the “beyond reasonable doubt” standard applied to false accusations - just like every other crime.
> verify and validate once, then put it in a specially marked datastructure

Not to steal vvillena's thunder, but that's pretty much the dictionary definition of "parsing"

> analyze (a string or text) into logical syntactic components, typically in order to test conformability to a logical grammar.

Parsing is taking some collection of symbols, and emitting some other structure that obeys certain rules. Those symbols need not be text, they can be any abstract "thing". A symbol could be a full-blown data structure - you can parse a List into a NotEmptyList, where there's some associated grammar with the NEL that's a stricter version of the List grammar.
Burden of proof is irrational now? Rubbish. Have a nice day.
Neither the miners nor the developers control bitcoin's consensus.

The stability of bitcoin is the tyranny of the installed base. Even non-mining nodes will not relay invalid blocks that break the fundamental rules.

See also: Ethereum Classic, a case study in developer-as-dictator
Absurd. It is like saying the collapse of Lehman Brothers would be good for other bank stocks.

When Tether implodes the entire space will deleverage.
From Wikipedia [1]

> A Ponzi scheme (/ˈpɒnzi/, Italian: [ˈpontsi]) is a form of fraud that lures investors and pays profits to earlier investors with funds from more recent investors.[1] The scheme leads victims to believe that profits are coming from legitimate business activity (e.g., product sales or successful investments), and they remain unaware that other investors are the source of funds

Do you see a distinction between this and the system theli0nheart described?

[1] https://en.wikipedia.org/wiki/Ponzi_scheme
Something that's a resource hog will likely consume a lot of battery as well. That's a big deal for something you want running all the time.
> They all do. If they don't, then the cheat just needs to run first.

That is nonsense, otherwise the driver would have to be loaded at boot time, which in turn would mean installing a game would need a reboot which just isn't the case these days.

> It's completely different to DRM where there is no knock on impact to other legit customers.

The media industry claims that piracy cuts into their profit which would imply that it raises prices for everyone. So no, it very much is like DRM in many aspects.

> In the most extreme side you can just pixel stream a rendered video feed

Which is expensive since you now have to pay for the hardware instead of your customers paying for it, so that too is about profit. In a more extreme case you could put cloud gaming machines wherever CDNs put their edge acceleration boxes.

> You inevitably need to let the client have some sort of say (I shot at X), and it _will_ be abused.

No, not really. The client does not have to compute the canonical outcome of game mechanics, after all for any action they predict locally there might be an action taken by another player that is inconsistent with that prediction and they will only learn about that incompatibility once their lightcones intersect (which takes a few milliseconds). Something has to reconcile those, which might as well be the server rather than the client.

All a client has to do is to compute a tentative game state and the pixels that go along with it. That state will later be corrected once it learns about the canonical update, which can result in the infamous rubberbanding effect.

Most cheats that don't involve a broken game engine are of two flavors A) extracting information that the software has but the human shouldn't know (e.g. wallhacks) or B) having software perform inputs that the human should do (e.g. aimbots).
A) Can be prevented by reducing the information the server sends to the client to the necessary amount to render their current view. B) cannot be prevented by any means as one could always hook up the output pixels of a GPU to an external computer and an emulated mouse via USB, this is analogous (heh) to the analog hole in DRM.

Neither of those have to do with the client determining "I shot at X" on its own.
I’m also an immigrant and often lament the difference in attitude between immigrants and natives in any country. But it’s not a fair comparison because immigrants as a group self select. If you had the motivation to move to a different country, often one that doesn’t speak your language, you’re naturally more driven and motivated.
Some of the most buggy software I interface with are games. They crash and break in strange ways. I often wonder what it would be like if someone tested some edge cases or enabled a fuzzer for some functions. Like "what happens if I kill a freed entity", or "what happens if my character is 50% in a wall", etc.

Some of these bugs are experience ruining: think Fallout 76.
What's crazy is that at one point the new wave of designers was hailed as digital native designers replacing the bad old print-trained designers. They'd save us from treating the screen like paper, unlocking the true potential of these interfaces.

The worst sins of the print-designer era may have been pretty bad, but I'd say the average actually got a lot worse when the new crowd took over. First for the Web, then for native when Web-trained designers started working there, too.
> The wording sounds as if it is trying to assign blame for the problem.

Yes. Sadly, people often write incorrect programs.

> What, then, is the guaranteed thread stack size?

I can't be bothered to look up the POSIX guarantees, the gist of it anyway is that it depends on the application developer and system administrator.

> A developer would obviously need to know this (and other things such as the amount of stack size required by variables, parameters and frames) to not fall into this trap of writing non-portable programs.

If you're not going to calculate the exact requirements (probably unnecessary), guess/measure a number of bytes and allocate a stack that's 50 or 100 times greater than that. That's better than ignoring the existence of the stack, anyway.
You understand it. It's using the word "parse" metaphorically, to mean "validate, then put it in a specially marked data structure". For example, `parse_int :: string -> maybe int` is a parsing function, and it "validates that the string is an integer, then puts it in a specially marked data structure called int". However, the post uses the word "parse" not only for true parsing functions (that convert text into a data structure), but also for conversions from data structure to data structure.

I also find this a confusing use of the word "parse", and it's not explained in the post, and I think "parse, don't validate" is a poor slogan as a result. The traditional slogan is "make illegal states unrepresentable", though that's a bit narrower of a concept.
Surely it does move faster, because it's lower pressure/you're putting less resistance on it?

If I have a wing shaped like ∖, air going in -> direction, which is what you need to generate lift with a flat wing, then the air on the bottom is running into the wing and slowing down, while the air on the top is being pulled into the region the wing swept clear of particles and speeding up.
We don’t use Google Analytics anymore
I'm looking for balance, here. Let me provide an example:

I have a "left-swipe-to-delete-from-list." That's the standard way that Apple has decreed that items should be deleted. They provide no affordance.

You can add an "Edit" button to the navbar, but that means you don't have room for other, more important (and frequently-used) items. In my case, this is a non-starter. I need the room for more important stuff.

So far, I have added the left-swipe, but no affordance. It relies on the fact that the platform standard is left-swipe to delete. I need to make sure that the screen shows a fairly standard list (not getting too fancy), so users that are trained on platform standard will know that they can left-swipe.

In some cases, affordances can actually interfere with usability.

I can develop my own affordance, but I am not sure what a suitable one would be.

Implied training is also a big part of usability. I think it was Tufte that talked about that. He has some really strange UIs that don't make sense, until you learn them, and then, you don't ever want to go back.

In my experience, train maps in Tokyo are like this. They are a fearsome mess, when you first look at them, but, once you understand them, they are marvelous.
Haphazard US crackdown on websites included Iranian dissidents
>until you choose to give it up

PRECISELY

You have to give up the safety to get the feature.

So you "want type-safety". Until you don't.

>static languages can have compile-time type safe dynamic dispatch

"Compile-time dynamic dispatch" is an oxymoron. Dynamic dispatch happens at runtime.
Ma Mati Manush
When one buys a product one literally buys into the product vision of the vendor. But if you also win, then it's a win-win, isn't it?
There was a time when Google search would punish sites like this… enable competition… reward smaller sites…

I really wish Google would start de-ranking behavior like this.
That completely destroys a whole class of games. How do you suggest I get 60 of my friends together at once for a game of Apex Legends?

You'll never completely stop people cheating, but that doesn't mean that game developers should just give up. Thankfully the people clamouring for less, rather than more, anticheat is relegated to a vocal minority.