Skip Navigation

Posts
0
Comments
1082
Joined
3 yr. ago

Aussie living in the San Francisco Bay Area.Coding since 1998..NET Foundation member. C# fan https://d.sb/Mastodon: @dan@d.sb

  • IMO cars that have their own infotainment system should also allow Android Auto and Apple CarPlay. Give the user a choice. Collect metrics about how many people use Android Auto / CarPlay vs the native infotainment system. Maybe survey people who use Android Auto or CarPlay often to see what they think is missing from the native infotainment system. Iterate. Get people to use the native infotainment because it's better, not because you force them to.

    I've got a BMW iX and the in-built map is very good, but I like knowing that I can switch to Android Auto if I encounter issues with it.

  • I didn't realise they do tours every Friday at 1pm. I'll have to visit some time!

    I really hope the lawsuits don't kill the Internet Archive. It's an important resource.

  • Throwing exceptions is fine since errors are an exceptional circumstance (not expected during normal use of the app), and you probably want errors to follow a different code path so that they can be logged, alerts triggered if needed, etc.

  • This is basically the difference between HTTP 4xx and 5xx error codes. 4xx means the client did something wrong (invalid request, tried to load something that doesn't exist, doesn't have access), whereas 5xx means the request was OK but something broke on the server.

  • thousands of times a second

    Modify your Nginx (or whatever web server you use) config to rate limit requests to dynamic pages, and cache them. For Nginx, you'd use either fastcgi_cache or proxy_cache depending on how the site is configured. Even if the pages change a lot, a cache with a short TTL (say 1 minute) can still help reduce load quite a bit while not letting them get too outdated.

    Static content (and cached content) shouldn't cause issues even if requested thousands of times per second. Following best practices like pre-compressing content using gzip, Brotli, and zstd helps a lot, too :)

    Of course, this advice is just for "unintentional" DDoS attacks, not intentionally malicious ones. Those are often much larger and need different protection - often some protection on the network or load balancer before it even hits the server.

  • For what it's worth, SVN is a much simpler object model compared to Git, which makes it easier to understand.

    It's centralized rather than distributed like Git is, which has some disadvantages. Most operations require access to the server, as opposed to Git where you usually have a copy of the entire repo and can work offline. Git users can clone the repo from other users rather than relying on a centralized server.

    On the other hand, a centralized server also simplifies some things. For example, instead of commit hashes, SVN has revision numbers, which are natural numbers that start at 1 and are incremented for every commit. A lot of software that used SVN used to use the revision number as part of the version or build number.

    Git is definitely the source control system to choose today, but SVN can still have its place.

  • Visual SourceSafe

    Yes! That's the one I was struggling to remember the name of. My previous employer started on Visual SourceSafe in the 90s and migrated to Team Foundation Server (TFS) in the 2000s. There were still remnants of SourceSafe when I worked there (2010 to 2013).

    I remember TFS had locks for binary files. There was one time we had to figure out how to remove locks held by an ex-employee - they were doing a big branch merge when they left the company, and left all the files locked. It didn't automatically drop the locks when their account was deleted.

    They had a bunch of VB6 COM components last modified in 1999 that I'm 80% sure are still in prod today. It was still working and Microsoft were still supporting VB6 and Classic ASP, so there wasn't a big rush to rewrite it.

  • Before Git, we used SVN (Subversion), and CVS before that. Microsoft shops used TFS or whatever it's called now (or was called in the past)

  • Your accounts where? 🤔

  • You have to instead blindly trust the company that runs the VPN, though. Some of them intentionally obscure who owns the VPN service given they're often used for things like P2P and spam, and the larger VPN providers (the ones that you see commonly advertised online) aren't always truthful in their advertising.

    The best VPN is one you run yourself. If you're on an insecure network like a coffee shop, you can route traffic through a known secure network like your home or a VPS/server you rent. It's very easy to do with Tailscale.

  • Aren't some Amazon warehouses unionized too?

  • I love Hoarder. What a useful app.

  • What does this mean for Lemmy servers based in the UK, and for Lemmy instances that have users from the UK?

  • Tesla used to also have radar (and maybe lidar?) but they removed it as a cost cutting measure. If you ever see older videos of a Tesla slowing down or stopping due to a potential collision a few cars ahead, that's from before they switched to only relying on cameras. The collision avoidance was significantly better back then.

  • Most non Tesla brands that have some sort of self-driving functionality use lidar and/or radar. I've got a BMW iX and as far as I know it uses cameras, radar, lidar, and ultrasonic sensors.

  • Not to mention all the extra instruction sets the newer CPU supports. The i7-870 is old enough that it doesn't even support AES-NI, so encryption/decryption is significantly slower compared to even the lowest-end modern Intel or AMD x86 CPU.

  • Thanks for the correction! I'm glad to have learnt something new today.

  • QWERTY is one of the least efficient keyboard layouts. It was designed to intentionally slow down typing by spacing common letters far apart, to prevent typewriter keys from jamming. It's really not great for modern electronic devices, but it's so widespread that it's very hard to change.

  • Maybe one day it'll even work on Android!