My roommate circa 1989 had a bunch of Apple II’s with multiple modem cards per machine to run a bulletin board. Not sure why an Apple II could support multiple users logging into the BBS via multiple modems but DOS based machines could not.
People new to Rust sometimes assume every abstraction is free but that's just not the case, especially with lifetimes and dynamic dispatch. Even a small function call can hide allocations or vtable lookups that add up quickly if you're not watching closely.
Why do you mention lifetimes here? They are exclusively a compile-time pointer annotation, they have no runtime behavior, thus no overhead.
Dynamic dispatch in general is much, much faster than many people’s intuition seems to indicate. Your function doesn’t have to be going much at all for the difference to become irrelevant. Where it matters is for inlining.
Dynamic dispatch in Rust is expected to be very slightly faster than in C++ (due to one fewer indirections, because Rust uses fat pointers instead of an object prefix).
The signature check is actually not uncommon, particularly if the vote is contested or a recount done.
We had a vote thrown out of an election several years ago, the woman died right after the election, the signature on the card looked nothing like hers and was probably done by her daughter.
That said all indications are voter fraud is not any kind of wide spread problem in the United States.
Many years ago I was doing due diligence on a point of sale hardware company, I had to head up to an acquisition they had done. People bitched and moaned about the level of physical security added, and when I asked them why they were so upset, they told me to go to the loading dock in the back.
The loading dock was kept completely open "because it's hot and we don't have A/C back here!".
The worst I ever saw was an engineer misunderstood microservices, and made a service per endpoint.
He started complaining to management that 50 CI/CD setups was his limit he could support.
He was absolutely amazed when I showed him he could combine endpoints into a larger logical service. 50 services became three, and it’s still three a few years later now.
You got it. Scala had a shot being an early mover in the JVM functional programming space, but they really shot themselves in the foot with their version transition problems and tooling issues you allude to. Java is probably "good enough" for most shops now, and if you are not bound to the JVM I really don't understand why you would go with Scala today.
Scala's decline started before Scala 3, which brought its share of breakage (sometimes for dubious reasons, like the new syntax) but also fixed many warts. Tooling has improved a lot lately, but it's too late.
> if you are not bound to the JVM I really don't understand why you would go with Scala today.
Scala's metaprogramming abilities coupled to a powerful type system are still unmatched. Among mainstream languages, only TypeScript gets somewhat close. For your typical service oriented architecture, libraries such as Tapir or ZIO HTTP are pretty nice. I haven't found anything as pleasant in other languages.
That said if an LLM can write 95% of your code today, this point is a bit moot, sadly.
It's not really moot though. The primary benefit of concise but robust frameworks like ZIO is that they are easy to read (like the program is mostly business logic with minimal syntax noise/programming language bookkeeping), not that they're easy to write (though that's true too). Metaprogramming also works nicely with LLMs because you get the expressiveness of something like Python (or better) while retaining a strong type checking layer to give a feedback loop to the LLM. In fact, it kind of shines with an LLM because you largely don't care if things like macros are ugly as long as they produce correct code to present to the typechecker/compiler, so it makes more sense to vibe code the metaprogramming layer to give yourself whatever you need to have straightforward business logic. Conciseness and direct encoding of business logic also helps to keep context focused.
Really this is all true with humans too, but IMO it's multiplied with LLMs because they are insanely capable at dealing with the guts of metaprogramming wizardry if they need to, so you don't end up in a world where that one guy that understands it leaves and then no one can possibly maintain it.
> They protect the team from unnecessary stress and pressure, but don’t hide reality from them.
I was going to highlight this as well, but it is also one of the trickiest parts of the equation, because by definition this inevitably involves a lot of politics and social implications.
What I have learned over the years: let the overall direction, and also the overall competitive pressures, filter down through your umbrella. But shield them from the details and your specific efforts here, unless it is relevant.
Maybe even more important, though - recognize inflection points in your company and your group. How you manage during routine times and during stressful times may well be very different. If they're not, then you have a serious problem.
I agree with that. It's useful for (most) people to understand the overall environment the company is operating in. Probably less every top-down decision the company is making.
I get the sentiment, but at least for me at home, iOS iMessage still works fine with Wifi. So it's not impacted, and in fact I had to relogin to a client machine with a very persnickety 2FA and it had no issues.
Most users don't notice any real differences vs using their ISP DNS, and seeing it up and configuring it is yet another thing to take time or go wrong.
We had edge delivery issues when I didn't use my ISP's DNS, especially from Apple. Not exactly sure of the mechanism, but downloading Xcode would take 2 hours instead of 10 minutes.
That’s really weird that’s the case. DNS simply resolves “google.com” to an IP address (8.8.8.8 or something). Shouldn’t impact anything download related. I’m pretty sure DNS isn’t used for geolocating either
I wanted to correct you but than I stopped myself because I'm not sure if you meant that sarcastically. Because with a /s at the end your post makes sense.
DNS servers can take the IP address of the client into account. If you query a record for amazon.com from the USA you will get a different answer than from Europe. (And you don't need anycast for that.)
That the client information doesn't get lost when it goes through different resolvers
the DNS extension EDNS Client Subnet (ECS) was invented.
explains it better than me. The whole point of the extension is to make geo-guessing the original client over DNS more stable.
Now you can have privacy conscious DNS servers that strip the ECS information (or mess with it somehow) and instead of the server closest to you you get the global fallback for example.
(controld.com goes as far to say "switch countries without a VPN" by only messing with ECS. No idea how stable that is though.)
Interesting! I always just assumed sites used geoDNS to figure out where the user is. I like the "Controversy over lack of support" section in the wikipage. I've been mainly using NextDNS and learned that they anonymized this information https://medium.com/nextdns/how-we-made-dns-both-fast-and-pri...
I’m on Comcast with a UniFi cloud gateway max with my DNS pointed towards adguard. I have not noticed any rate limiting. I actually don’t know how they would rate limit against DoH.
Many reasons not do use the provided DNS. First, you don't want to give the ISP more information on your browsing habits than it can already gather otherwise. Second, in some countries, ISPs censor websites at the request of of the movie and music industries. Those are enough reasons to rely on a neutral DNS provider like Quad9 or your own DNS server.
Do you use your car’s built in navigation function — that you paid for — or do you plug your phone in and use its free Google Maps or Apple Maps to navigate?
I didn't pay for any navigation for my car, so I'm not sure what your point is? ISPs provide DNS. People shouldn't have to fuck with the internet's phone book when they plug their modem in (and they haven't for a very long time). Maybe we can expect more from the people who provide the services society relies on, instead of just saying "why don't you just..." every time someone has a legitimate complaint about something that ought to Just Work.
reply