@tatterdemalion@programming.dev avatar

tatterdemalion

@tatterdemalion@programming.dev

Professional software engineer, musician, gamer, amateur historian, stoic, democratic socialist

This profile is from a federated server and may be incomplete. Browse more on the original instance.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Of all the stuff I’ve seen in the comments, this is actually feasible today.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Easy install is not the only benefit. You also get fearless upgrades. When I upgrade my Nvidia driver and it inevitably exposes bugs in one of my apps, I can always jump back to the previous build version without uninstalling anything.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Well you have a variable foo being mutated. Maybe that’s what they’re for?

tatterdemalion, (edited )
@tatterdemalion@programming.dev avatar

You can replace return foo with just foo.

tatterdemalion,
@tatterdemalion@programming.dev avatar

; is just a monad after all

tatterdemalion,
@tatterdemalion@programming.dev avatar

Would you rather have semicolons or significant newlines?

tatterdemalion,
@tatterdemalion@programming.dev avatar

Oh wow. I hate this lol

tatterdemalion, (edited )
@tatterdemalion@programming.dev avatar

I can’t speak for OCaml, but type inference provides a lot of benefit in Rust. I already have too many keystrokes as it is, and forcing me to be explicit about everything would just add to the stress of using a keyboard.

I agree that types should be explicit at API boundaries. That’s precisely where you want to catch misuse.

As for the point about inference making code harder to read: I suppose that’s true if you spend a lot of time reading code outside of your editor where you also must know what the types are. But that just sounds like a bad workflow in general. Why are you avoiding using a better tool for the job? Modern code review tools like Github even support LSP-like features to solve this problem; and if your language isn’t supported… just pull the feature branch to review it.

tatterdemalion,
@tatterdemalion@programming.dev avatar

But now your requiring more tools and effort on the reviewer over, just reading the code.

This should be completely negligible if you are writing code in the same code base.

tatterdemalion, (edited )
@tatterdemalion@programming.dev avatar

You don’t need to restart your LSP to switch to a new branch. You also don’t need an LSP to find the types.

Even with all of these issues aside, I can’t think of the last time I was reviewing a PR where it wasn’t clear from context what the types were, or they were irrelevant.

tatterdemalion,
@tatterdemalion@programming.dev avatar

I assume this means that standard library locking primitives will not be usable in the kernel? What about atomic intrinsics?

tatterdemalion,
@tatterdemalion@programming.dev avatar

Rebase feature branch, merge commit into main (NO SQUASH).

tatterdemalion,
@tatterdemalion@programming.dev avatar

Selling life-saving drugs at large multiples of the cost to manufacture + distribute. The most obvious example being insulin.

Switching political party in the same term that you were elected to office.

CEOs making 100x the median worker at the same company.

Assault rifles and other automatic or military-grade weapons. They have no practical purpose in the hands of a citizen. Pistols, shotguns, and hunting rifles should be sufficient for hunting and self defense.

Generic finance bro bullshit. Frivolous use of bank credit for speculative investment. Predatory lending. Credit default swaps. It’s just a spectrum of Ponzi Schemes. Let’s reinstate the Glass-Steagall Act.

Non-disclosure of expensive gifts to Supreme Court judges. Looking at you, Clarence.

Military recruiting at high schools.

Junk mail. You literally have to pay a company to stop sending it.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Some forms of it are illegal, but it’s hard to define what exactly constitutes Gerrymandering. Rather than enumerating all of the ways the Gerrymandering is possible, we really just need to make it so only one specific policy for forming districts is used. I think mathematicians have been proposing models for this that attempt to create districts with roughly uniform distribution of population and isotropic borders.

tatterdemalion, (edited )
@tatterdemalion@programming.dev avatar

An “assault rifle” is specifically a selective-fire rifle with detachable magazines and intermediate cartridges. AR-15s, AK-47s, and M16s meet this definition. You are likely thinking of “assault weapon,” a term which is not well-defined.

And while it’s true that most mass shootings and gun deaths in general are perpetrated by handguns, assault rifles are responsible for the deadliest mass shootings.

Because it is so challenging to pass gun control legislation in the US, the least we can hope to do is forbid ownership of the deadliest types of guns.

I agree that this is not sufficient though. We need to have more stringent requirements for acquiring any firearm. 28 states don’t even require background checks for private sale of guns. Our laws fall way too short on gun trafficking.

The illegal gun market is just a symptom of the very legal gun market. The head of the ATF even said, “virtually every crime gun in the US starts off as a legal firearm.”

We need background checks, and I don’t think private unlicensed gun sales should be legal either.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Yup I paid the fee to stop getting marketing junk mail. Then when I started an LLC, they started sending all of that mail again addressed to the LLC. You can’t fucking win.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Pistols are still the deadliest type of guns no matter what metric you use.

That’s a silly statement. Why do you think soldiers prefer to use assault rifles in combat? I said “deadliest” meaning the most capable of killing, not the most statistically likely gun to kill someone.

tatterdemalion,
@tatterdemalion@programming.dev avatar

The head of the ATF is also responsible for operation fast and furious.

That’s just whataboutism.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Ok I don’t really agree with all of your lines of reasoning but I’m curious what you think the solution to our gun problem is. We at least agree that we have a problem, right?

tatterdemalion, (edited )
@tatterdemalion@programming.dev avatar

It might not be a fad, but it’s definitely a local maximum and/or a limitation that many devs seem to be stuck with.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Especially because devs actually have to go out of their way to exclude Linux these days. Proton makes it so damn easy to support Linux. If you don’t, it’s because you did not even try or you intentionally added some bloat to your software to make it incompatible.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Strongly agree with everything in this. And wouldn’t you know, it’s written very well!

tatterdemalion,
@tatterdemalion@programming.dev avatar

Right but it’s pretty rare that a tiny PR actually accomplishes a valuable user story.

So my point is just that lines of code is mostly irrelevant as long as it’s organized well and does no more than necessary to accomplish the agreed upon goal.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines