HN user

c-linkage

992 karma
Posts9
Comments199
View on HN

Which shows the lie of the common engineering trope "use the right tool for the job."

It really should be "use the same tool that everyone else is using so you don't have decide which tool is the right one -- the herd made that decision for you!"

There are a few reasons that I can see why they don't integrate the latest .net.

First is that the security model changed with .net 5. Next is that they subsume Mono/.net core into the foundation of the language and this cost them them the ability to support Windows native development, specifically anything to do with Win32 API.

If you look at .net 10 and compare that to .net 5 you can see that they are trying to reintegrate the Win32 API but now it is in the all new Microsoft namespace.

The amount of change is too significant to act as a drop in replacement for the original .net framework. Maybe they could have gone a side-by-side installation, but the rapid development of The NET Framework I think made it too hard to tie to an operating system update. They wanted to free it from that update cycle of once a year or every two years and allow the development to progress rapidly at the cost of having to download it and install it each time.

For the owner of a five-year-old EV, this results in a repair bill ranging from $3,000 to $4,500.

This is the EV equivalent of a blown engine caused by a faulty spark plug.

Its an interesting problem. Many people focus on batteries and motors, but the fact that capacitors turn out to be so critical AND not replaceable seems to change the economics of EVs after 5 years.

The F Word 5 months ago

Litigation can be one reason, but I think the more likely reason is that people want to avoid confrontation.

Could you tell the person taking the pizza that that is inappropriate behavior? Sure. But that is confrontational. The people who might set the boundary are worried both about how they will appear to others (am I being a bully?) AND about the possible repurcissions (is the guy I'm telling off going to yell at me or threaten me?)

Its far easier to just stop buying the pizza.

That's crazy to me. At this point, I don't even know if the git commit log would be useful to me as a human.

Maybe it's just me, but I like to be able to do both incremental testing and integration testing as I develop. This means I would start with the lexer and parser and get them tested (separately and together) before moving on to generating and validating IR.

It looks like the AI is dumping an entire compiler in one commit. I'm not even sure where I would begin to look if I were doing a bug hunt.

YMMV. I've been a solo developer for too many years. Not that I avoided working on a team, but my teams have been so small that everything gets siloed pretty quickly. Maybe life is different when more than one person works on the same application.

The problem is that convenience trumps everything.

  - It is convenient to use Facebook to chat with family
  - It is convenient to use credit cards to pay the local shop
  - It is convenient to use Netflix to watch movies
  - It is convenient to pay a (lower) monthly fee than a (higher) purchase price for MS products
  - It is convenient to have Apple / Google take care of email
  - It is convenient to use Uber instead of a taxi
The golden cage of convenience is why nothing will change in the US -- we prize convenience above all else.

It's pretty clear that the security models designed into operating systems never considered networked systems. Given that most operating systems were designed and deployed before the internet, this should not be a surprise.

Although one might consider it surprising that OS developers have not updated security models for this new reality, I would argue that no one wants to throw away their models due to 1) backward compatibility; and 2) the amount of work it would take to develop and market an entirely new operating system that is fully network aware.

Yes we have containers and VMs, but these are just kludges on top of existing systems to handle networks and tainted (in the Perl sense) data.

We focus on negative outcomes because that relates directly to survival. Our brains are wired for it. Talking about negative outcomes means we learn about them and have a better chance of avoiding them. Plus, the fear response is much stronger and lasts longer than the happy / joy response.

Note that for humans and other social animals "survival" doesn't always mean life or death -- it can mean being included or excluded from a social group which indirectly affects survival chances.

OT: Is Cloudflare breaking the internet again?

This is the third link off the HN Front Page that yields the following error in Firefox:

Websites prove their identity via certificates. Firefox does not trust this site because it uses a certificate that is not valid for philippdubach.com. The certificate is only valid for the following names: cloudflare-ech.com, *.cloudflare-ech.com

Error code: SSL_ERROR_BAD_CERT_DOMAIN

This seems like a tragedy of the commons -- GitHub is free after all, and it has all of these great properties, so why not? -- but this kind of decision making occurs whenever externalities are present.

My favorite hill to die on (externality) is user time. Most software houses spend so much time focusing on how expensive engineering time is that they neglect user time. Software houses optimize for feature delivery and not user interaction time. Yet if I spent one hour making my app one second faster for my million users, I can save 277 user hour per year. But since user hours are an externality, such optimization never gets done.

Externalities lead to users downloading extra gigabytes of data (wasted time) and waiting for software, all of which is waste that the developer isn't responsible for and doesn't care about.

Usually a root-cause analysis asks for five why's so your analysis seems a bit short.

One should ask why it is that housing / land is more profitable than those investments in which banks and private equity previously invested. And then when you follow that line of reasoning (too much capital and credit -- thanks quantitative easing! -- poor performance on bonds due to low interest rates and restrictions on the quality of investment vehicles) and you'll see that the root cause is probably more financial rather than _just_ too little housing.

Debts need to be cleared, losses need to be accepted, and leverage unwound. Building more housing just gives banks and private equity more stuff to buy.

The Mythical Man-Month calls for a single person to be responsible for the design of a system. Steve Jobs was that guy for Apple. But once he left, there was no one strong enough to define the system across the whole company.