Conversely, I’ve written C++ code to into DLLs interop with .NET. It makes a lot of sense given what .NET was developed for.
Rust adds the curly brace syntax so you can import a specific subset from a module, but I can’t decide if I like that. In C# you just keep adding extra lines which take up more vertical space, but if you sort your using a alphabetically (which your IDE can do), I think you get a very readable list. In sum, Rust adds a feature that I don’t really actually like.
I have so little Python experience I didn’t even mention it, but I remember enjoying that too.
Wow, now I have something to hold over all my Java dev friends. Thanks!
I think C# handles this pretty well. You include namespaces with whatever granularity you need, down to a single class (or interface or whatever) and can alias them.
using MyProject.Domian.Entities; //the whole module
using Routes = MyProject.Api.Contract.Routes.Http; //an aliased single class
I bet Java had this too, C# us still mostly Java: Microsoft Edition.
I hosted GitLab Community Edition on-prem as a trial for a very small team, but switched to a Microsoft offering. Part of it was it being demanding, part of it was not. The point is you can host CE yourself and get an experience that’s very similar to their service, “for free,” where “free” translates to your hardware requirements and responsibility. I’d even say it’s worth it to go with GitLab, in that context, for the familiarity you can provide your team. “You’ll have to learn gitonator9000” turns into “you’ve used GitLab, right?”
Personal use? You could run it in a container and periodically backup your data. Is it proportionally more demanding than other things? Probably.
A method in an interface (or a function in a trait or equivalent) should be unequivocal, as it’s literally a contract.
I think there’s nuance in the private scope, especially in variable names, but I’d still expect the name to be fairly explanatory. Maybe not EnsureUserCreated(UserDto userData), but still EnsureCreated(UserDto user).
I’ve helped people with Fork before, in so much as I helped them do relatively simple things in the Git CLI that were buried in an unknown menu in Fork.
I think it’s really cool that we gave more consistent - arguably more intuitive - interfaces to interact with Git, including in IDEs, but there’s something to be said for the consistent and unambiguous nature of the command line.
So even if this can actually be easier in some specific tool, I find it’s useful to have an idea of how to do this the old way too.
This looks incredibly useful!
Thanks for the TLDR! That looks very clean and handy. I like how HTML is slowly evolving to do more of the simple stuff we need.
You accidentally replaced the alt with another arc.
I bet it’ll still work, to be honest. HTML parsing is so widely lax.
Exactly. Imagine the board meeting where somebody has to suggest “maybe we don’t want that many more users.” I was about to type “customers,” but realistically a significant portion of this new load is on free plans.
To be clear, that was during recovery, not a root cause.
The closest to that is this:
Neither outage was caused by a code or configuration change. Both incidents were capacity failures at their core. We failed to scale critical components before demand exceeded their capacity. Since April, monthly commits have grown from 1.4 billion to 2.9 billion. That growth explains the pressure on our systems, but it does not excuse these outages.
One could argue they still DDOSd themselves by promoting tools that produce commits at a much higher rate.