skysight-inc/HackerNews huggingface dataset:
>Constant "expression changed after it was checked" errors because the data model change tracking is fundamentally broken

Sounds like are doing something wrong. At least I can't remember that particular one from three years of Angular >=2

> Repeated refactoring of HTML form interop and it still kinda sucks
Major breaking changes on nearly every upgrade that take days to do, even on our small apps.

I did most of upgrades for over a year I think. They were mostly trivial after reading up on the changes and I don't consider myself a 10x engineer. Pro tip: Learn to use this repo: https://github.com/cexbrayat/angular-cli-diff

> Crappy documention. There's no usage examples for most of the library, just the Angular version of Javadoc.

Not perfect (internal inconsistentencies where one paragraph says "don't do this" and a couple of pages down they do exactly that).

But far far from Javafoc.

> Terrible bike shedding by Angular and Material teams. I'm following a bunch of issues and I've never seen one closed. I've been following some of the threads for years.

I don't like Material either ;-)

For everyone else:

Like always: keep it simple. Stick with the standards. Use a good ide/editor. Use Angular CLI, stick to the style suggested by that even though you don't have to use it for every small thing.
The syntax is not the interesting part for programming languages either. Programming languages now have better semantics - things like runtimes, concurrency, data encapsulation, etc. - in addition to better syntax. SQL is not a programming language, its semantics boil down to the relational model. Don't get me wrong, there is room for improvement in the syntax, I have plenty of gripes with it, I just don't agree that it is a fundamental problem. It's already super useful as it is.
I wonder why the current structure is set up like that. I mean I don't think it's by accident – if it were set up like that by accident, surely, it could have been set up so people could direct donations directly at Firefox, if the CEO wanted that.
It took 15 years for llvm and wasm to be made. Sandboxing and cross compilation in a way that isn't crazy has always been a big problem for allowing the web to just run whatever it wants. Though I'm still skeptical on wasms real security given its use in browsers is independently implimented, non seperable from the Js stack, and we're still using JIT. Everyone else goes and impliments their own runtime too.
I think that's called technical debt.
Isn't native-image memory consumption and compile time basically a known issue by the graal team?
Mozilla management is getting paid top dollar, they are trying to act as they deserve it by starting and killing projects they clearly don't understand.

I would love to see a small dedicated team concentrated on the browser and led by manager who are not playing SV hotshots.
I am also optimistic about the long-term value created by DeFi and the new business models it will allow. But for now I think the sole reason it exists is because people use it to get leverage for speculation.
There are tradeoffs. I work on Fly.io, so I can tell you why we chose to use anycast vs DNS for traffic direction.

DNS for traffic direction actually starts with anycast. When you send a DNS lookup, it's typically to an IP announced from multiple locations. The internet does its thing and the nearest DNS server sends a response.

10-15 years ago, conventional wisdom said only DNS should happen over anycast. Routes can change between packets and that will break stateful TCP connections. In practice, this isn't a problem. Routes are stable enough to keep connections alive.

In theory, Anycast is ideal. But it's hard to build out, you can't do it on top of various clouds, and for a 60+ region footprint you end up having to do your own networking and manage agreements with transit providers.

It's also prone to weird routing issues if you don't have a good way to monitor it. Almost everyone who's run an anycast setup has had a "why are people in Chicago getting routed through Tokyo from Dallas?" moment.

DNS is quite a bit simpler for the provider, you can hand out IPs to EC2/Google Cloud/random VPS provider. And routing to one IP in one place is typically pretty good. DNS also lets you rely on more than just anycast for targeting, you can do things like detect end user IPs and be smarter about where you point them.

We chose anycast because we wanted to give users dedicated IPs addresses. This is useful for non-http protocols and helps isolate their workloads from other customers if there's a DDoS. It's a much cleaner end user experience. As a bonus, it gives us a lot of fun power with ipv6 addresses.

I've heard AWS CloudFront was going to be all anycast until the 11th hour, and they switched to DNS targeting because they were getting more reliable results. This was a long time ago, though, I have a feeling DNS over HTTPs and other privacy measure are going to make DNS targeting less accurate in the future.
The counterargument to this is that IF people are willing to pay for something, they must care about it. For both Bitcoin and Ethereum, the amount of money people are willing to pay in fees to propagate on the network are extremely high at the moment... so in theory at least, somebody thinks these networks are "worth" using, or they wouldn't spend this money.
That doesn't seem like a fair characterization. The distinction between "refactoring" and "implementing a feature" is not always very clear. If a new feature violates some assumption of a dependent API, do you hack around it or refactor the dependent API to take change the underlying assumption. The refactor may not be strictly necessary to get the feature to work, but an experience developer may understand that the hack, quick solution will cause other more serious issues later and choose to do more work up front to head it off. Should that be a new ticket or a separate task? Maybe. We have to make judgements calls all the time on stuff like that and I don't think it is really possible to micromanage development of a complex application that way.
Till You KNOW 4 Simultaneous Days
Rotate In Same 24 Hours Of Earth
You Don't Deserve To Live On Earth
Just pointing out the hypocrisy of your statements. Seems like it's only "virtue signalling" when you disagree with the virtues.
How much are you willing to pay for a browser?
this is exactly what happened to an online time bank service I remember.
use tinyurl
This is just another way of saying “the Fed currently only introduces new money by ways that benefit certain corporations and wealthy people”. Just because they only do those two things doesn’t mean they couldn’t do other different things like just sending people more checks.
echo o > /proc/sysrq-trigger
will shutdown a AWS instance immediately. I've used it a couple of times to make real sure my costly spot instance was terminated.

https://www.kernel.org/doc/html/v4.11/admin-guide/sysrq.html...
+1 on the expanse, i was sad when i finished the series. Bobbie Draper is one of the most bamf i've ever seen.
This is really good. It states a lot of things that it has taken me time and experience to learn, which I would have benefited from knowing early in my career. Authority is not always right, people in power have ulterior motives other than doing the right thing, when investigating a problem remove all assumptions and determine the root cause (this is both the hardest to do and also the best advice I've come across for any IT technical worker IMO). So many times I've seen people claim to have solved a problem by throwing a solution at it that appears to have worked, without determining the root cause, only for the problem re-manifest itself weeks or months later in a different manner.
These posts always make me wish that hackernews has a way to block posts from certain users.

These kind of posts always bring out the hateful comments and if I look at their posting history a lot of times they seem to post mostly hateful comments. Call it a filter bubble if you want but I would rather not waste my time trying to convince them they are wrong and would rather be able to block them.
Are you running out of RAM? Swapping onto an HDD is definitely slow. And is this disk actually performing at the expected 100-something MB/s? Alternatively Windows might be doing it even when you aren't running out of RAM. You could try disabling it altogether. Think it's called page file/paging on Windows. May also try disabling SuperFetch.

If that's the problem you want both more RAM and an SSD.
Thanks for the downvotes, I know you don't like the facts, but here they are:

> Today, the majority of Mozilla Corporation revenue is generated from global browser search partnerships, including the deal negotiated with Google in 2017 following Mozilla’s termination of its search agreement with Yahoo/Oath (which was the subject of litigation the parties resolved in 2019.) [0] [1] [2]

[0] https://www.mozilla.org/en-US/foundation/annualreport/2018/

[1] https://en.wikipedia.org/wiki/Mozilla_Corporation#Google

[2] https://www.forbes.com/sites/georgeanders/2015/11/30/mozilla...
I agree, the teams that cause the biggest messes are, in my experience, the ones that passively receive requirements from POs, without thinking about the conceptual integrity of their domain. However, complaints about stories taking “too long” sometimes are complaints that people are trying to do a better job on a story than specified.
Already contributing by allowing all the telemetry & data collection and by having unchanged the default search engine (Google)
I'm really worried about Mozilla's participation in standards now, WebGPU in particular :/
Thanks for adding that acronym to my vocabulary. I use this strategy for a long time but needed more words to explain it.
> If someone in China called you and read out loud every byte in the tiktok app and you wrote it down in notepad and saved it,is that speech or commerce?

Nobody cares about the source code. Everyone cares about sending data back to the CCP. If Tik Tok/ByteDance wants to stop being a tool of the CCP and engaging in the persecution of Uigher Muslims, then they can go back to offering us an app with funny dances.

> They can regulate commerce but for software and crypto they can't regulate the transfer of information,they can only regulate commercial activity with that information

Crypto exports are regulated.

> They can't ban someone from mailing you the communist manifesto for free as a book or handwritten letter

Actually at one point sending pornography through the USPS WAS banned. Typically political speech gets stronger protections though.

> so they can't ban a communist manifesto app download or punish anyone for facilitating that transfer.

The issue isn't spreading the communist manifesto. It's human rights abuses of a religious minority including forced sterilization - https://abcnews.go.com/Politics/china-conducting-mass-steril...
on a side note, i've witnessed a big difference between code that was properly architectured from the beginning, to code that evolved in a purely iterative fashion, driven by end-user feature tickets.

Architecture design is to me a different beast from simply refactoring, because it is also meant to anticipate future evolutions, in order to provide a solid technical layer upon which feature can be iterated.

Unfortunately i don't think a lot of teams knows when is a good time to seriously think about the time to (re)design / architecture a system. Nor what is truely meant by "architecture" ( hint: no, it's not just about picking the latest MVC variation of day).
> Should we end small business programs because not everyone's wealthy enough to own a small business?

The job of financing ventures should be done by private parties and the banking industry, not by government, but since they are too preoccupied chasing assets with cheap money they can't be bothered to.
The case for why Google should be regulated as a public utility
What was the actual, real problem with Pocket? Adding an easily-removed link to the UI didn't leak your private data or otherwise cause problems.
> It grew out of the MaximeVM project at Sun labs.

I think you mean MaxineVM :)
I don't see why this perspective on someone doing things differently is so surprising in an era where we're pushing the advantages of diversity. Everyone comes at things from a different perspective and has different strengths.

I remember having a coworker ask me for advice on a storage array he was working on. He was banging on the UI, checking out all kinds of irrelevant paths, seemingly exploring all possible ways of accomplishing the task at hand, even the ones that were very unlikely to be correct. I was kind of frustrated that he was spending time exploring unimportant elements as I could clearly see it was one of just two or three options. I tried to brush aside some of the exploratory actions and he said "oh, I know that probably won't work, I just wanted to take a look.."

I didn't have the patience or attention span to wait for this ridiculously slow interface, so I wandered away after giving my best advice.

A couple months later, whose experience did we always rely on when trying to figure out a novel problem? That's when it clicked for me. I won't necessarily have more patience myself with the exploration steps, but I certainly appreciate those who do.
Yes, every website returning "application error" is one less chance for procrastination. However, since it is rather hard convincing everyone to break their website for me, I'll continue using a browser extension to keep me from procrastinating. ;)
"Terrific" is not the word I'd use to describe the adaptation. Arrival was entertaining and had, to me, impressive visual and auditory direction, but it completely missed the point of "Story of Your Life" in the way it changed the ending.
The point I was trying to make was just that the syntax was irrelevant; it was neither a major advantage nor hindrance. I think this is the same as your point.
No, it's this. https://en.wikipedia.org/wiki/Cerebellum

Or, it's System 1, the fast system. While your System 1 might make bias mistakes, I believe it can be trained not to make them.
The fed has recently said they aren’t going to try and prevent inflation any longer - they think that acting aggressively to prevent inflation before it hits has actually hurt the economy. So, perhaps there is something to this logic.

But I will say, in many ways we have the opposite problem right now. Too much money chasing too few good opportunities for a return has led to things like SoftBank, WeWork and many others.
each commit's id is an integrity hash of the repository at the time of commit. git doesn't provide access control; it relies on access controls built-into whichever transport mechanisms you choose to enable (https, ssh, etc).

you can sign commits with PGP signatures and with hooks, you can reject commits that aren't signed. i believe maintainers sign commits in the linux repo.
Awesome!

I think it would also be cool to explore alternatives to REST with JSON for a full stack Rust app.
Good question.

> Chat-App-Network

Messenger had >1Billion users and so its users were 98% of our user base. We enabled them to communicate with users of other chat apps and vice versa. We didn't even use the 'Name' of the users.

I applied for their bootstrap phase under their FbStart program but they directly selected it for the Acceleration phase.

As for why I applied for Facebook if I care about Privacy?

I was a disabled, solopreneur from a village in India, without any kind of network strength competing with Valley behemoths and any kind of help is not just a force multiplier but life or death(But my product was selected meritoriously by FB). Facebook privacy issues(Cambridge Analytica) started only several months after I launched the product, so the image of Facebook was not like what's today. But it did bother me and just after a year of running the platform successfully, I had to close my startup due to my health issues[1]. I did not sell my platform to safe guard the privacy of the users.

[1]https://abishekmuthian.com/i-was-told-i-would-become-quadrip...
> To be fair, websites are the memory hogs imo.

Some are, yes, and when your browser is eating a lot of memory, it's usually the website's fault.

But there are many sites out there that are quite lightweight (including this one). On the laptop I'm writing this on, I currently have 31 tabs open in Firefox on Linux (not counting tabs that are just viewing PDF files, only tabs that are on actual websites) and the browser's memory resident set size is less than 700 MB.
> Playing some weird self-sacrifice game to save a few highly skilled employees that will absolutely be able to find work elsewhere is silly.

Silly or not, it would have shown that Mitchell Baker is a leader. This way it shows that she is not.

Guess what happens to organizations without a leader.
Did you think of the risks as a legal issue, reputational issue, moral issue, or some combination of the three?
No, I am not saying you can be a nurse. I am saying there are jobs out there that Uber can model a employer / employee relationship after that will still give you the flexibility you desire and need.
How did people pay for opera back in the days?
I can't live without Tree Style Tabs[0] in Firefox. It's The Thing that finally got me to switch back to FF and I will never look back.

0: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta...
I also think that customers often don’t know their needs, if that makes sense: the team can often see ways to streamline a product that never occur to the customer because the current behavior “anchors” their ideas (although, the reverse is often true too)
Thanks for capturing my feelings around this so well. I absolutely love Firefox, but I can’t help but feel Mozilla’s ambitions are hurting them rather than helping them.

Don’t get me wrong; their “distractions” have given the world a lot of nice things (Rust comes to mind). But first and foremost, Mozilla’s mission should be to ensure a great, competitive browser, and they’re losing the competition badly. And imho they are prioritizing their resources badly as well.

The one reason that I don’t donate to Mozilla is simply because I feel that my money will be used for vanity ambitions, rather than to the core product. I wish there was a way to donate to Mozilla and say “only use this money for Firefox, because that’s the mission I support, and I don’t really care about the other 90% of the things you’re doing”.
I wonder how much of that was by design, if any.

An old friend used to work in a chemical factory in, must have been Minnesota in the 60s or 70s.

She would talk about how they had a row of sheds with three walls for mixing certain dangerous chemicals. Each shed had an open or really thin wall facing the river.

If one went up, well, that person was probably gone, but at least it wouldn't start a chain reaction. It would explode in exactly one direction -- away from the plant, away from all the other dangerous chemical sheds.
Would add HTTPS Everywhere https://www.eff.org/https-everywhere and NoScript https://noscript.net/ to that list
Working on that error. Sorry about that.
To do that now would be financial suicide. They have several new services, if they manage to get revenue from them they could survive cutting Google. But not before.
Often it's because they are being pressured by leadership not to. Leadership's bonuses and promotions are dependent on developers delivering value NOW.
For loyalty to Firefox? Probably $10/month.
This blog posts describes the conflict as "providing value to other developers" vs "providing value to users", but that's false dichotomy. Refactoring isn't about providing value to other developers, it's about reducing the complexity and investment necessary to make future changes. That's valuable to the other developers, sure, but it's also valuable to the business, and also valuable to the users.

While there's certainly something to be said for assigning people responsibilities that work well with their personal strengths, that won't compensate for misunderstanding the purpose of refactors, how and when to apply them, and how to prevent the need for them in the first place. It's essentially hiding the problem rather than identifying the problem and introducing a relevant solution.
Huh, interesting. I'm also not a lawyer, but I guess that means that states can't (but cities and towns can)?
...and to reset the score, yet again, on usability/accessibility. sigh.
AFAICS, Bitcoin has a deeply flawed long-term security model.

Its block reward, which constitutes a subsidy for its security budget, halves every four years.

Unless the halving of the security subsidy is made up for by additional transaction fees, Bitcoin's security decreases.

Given that Bitcoin blocks are full - with only a little space left for further optimizations via SegWit adoption and Schnorr signatures - transaction volumes cannot appreciably increase, and thus the only mechanism by which total transaction fees can increase is by the average fee per transaction increasing.

I can't see any way for transaction fees to ever reach the fantastical sums (e.g. $2,000 per transaction) needed to keep Bitcoin secure when the block subsidy becomes insignificant.

This wasn't the case back in 2015 when Bitcoin still had the hope of undergoing a hard fork to raise the protocol limit on its block size, which would have enabled it to increase the volume of transactions it processes by orders of magnitude. But now its governance structure is firmly captured by anti-hard-fork parties, so I see no long term viability in its protocol.
Agreed. 'Support' can mean compatibility, or it can mean endorsement.
TL;DR: they squirt "St Elmo's water" on it.
In my experience, Freds are often a holdover from an earlier time in the companies' life when autonomy was not only desirable but required. Some years pass, a few managers get hired between the CTO and Fred and sooner or later the manager needs Fred to fall in line because he makes the manager look bad.

Eventually the "make a ticket for everything" scrum crowd wins out and it's now Fred's fault for refactoring without a ticket. Fred long ago learned that refactoring tickets always mysteriously sink to the bottom of the backlog, so he doesn't make them anymore.

TBH, the Freds I encountered are not really in any danger of getting fired. Because they were the only ones touching all parts of the codebase with their refactorings, they were pretty much walking bus factors.
I am sympathetic to this viewpoint, but I realized how infeasible it is with this suggested use of Fred's obsessions: "quick and thorough code review". People like Fred will never be quick in their review, but boy, will they be thorough! Everything presented for review will be rejected for being fundamentally the wrong way to do the job, as explained in great detail.

Similarly, "refactoring and managing tech debt" will become "rewrite from scratch", and "automating anything that can possibly be automated" and "streamlining the deploy process" will be inordinately parameterized in order to cover every possible (and hypothetical) edge case.
https://en.wikipedia.org/wiki/Rule_of_three_(computer_progra...
Let's take bad or short-sighted refactoring off the table and only consider good refactoring. Even in that case it's not obvious when refactoring is justifiable. If it's just one or two small features hacked onto a sub-optimal code base then probably not worth refactoring, but what if it's more? Well, you might want to actually build them first and then refactor once you have good test coverage and proven use cases. But wait, what if the old architecture is forcing a lot of incidental complexity that will be costly to unwind? In that case it may be better to pay the refactoring cost up front.

The point is that any engineer who is always refactoring or never refactoring is doing it wrong. All cases require judgement of the specific situation and balancing short-term goals with long-term vision.
Yeah, The basic point is just about any mask, is better then no mask.