

Should also be noted that macOS does support Bluetooth File Transfer natively, so they did already implement it elsewhere.
Should also be noted that macOS does support Bluetooth File Transfer natively, so they did already implement it elsewhere.
JS is fine, it’s more that people overdo it and bundle their heavy, deeply layered frameworks with thousands of npm dependencies for the web. Often times analytics/tracking/ad libraries are a major contributor of bloat, I once shrunk down a package-lock from thousands of lines to a few hundred just by stripping the telemetry libraries from an open-source app.
Use the right tool for the job. Sometimes it’s a static page, sometimes a server-rendered dynamic page and sometimes a single-page application, all of those can be made performant.
Having the ability to overload functions or constructors without a million Stuff::with_x
variants is something I consider more ergonomic and not unsafe. I know the Rust community prefers explicitness in many places, but explicitness and safety are somewhat orthogonal in language design. I consider e.g. Swift to be a safe and ergonomic/sugared language, that borrows, no pun intended, a lot of ideas from Rust
As long as you limit yourself to a subset of modern C++, it’s actually a decent language. Less guardrails than Rust, but more syntactic sugar (think overloading, default parameters, implicit this, implicit reference-taking, implicit conversions). You could argue those are anti-features, but even as someone who really likes Rust, I gotta admit C++ is occasionally more ergonomic.
Seriously. There are a lot of parallels between GPUs (or NPUs for ML inference) and quantum processors in terms of being architected towards a more specialized form of computation and I could totally see QPUs being a thing in the future, probably mostly for number cruncing (see Grover/Shor’s algorithms). Though if Grover search suddenly becomes the way of quickly searching for files or something, who knows, maybe this might be more useful for general computing than we think.
In the 80s no one thought computers would be something normal people would use at home, they were seen as a tool for mathematicians and nerds. Now look at the world today. Who knows what the future will hold.
When case insensitivity is the default I always wonder how many apps unknowingly rely on that due to typos somewhere. I encountered this once while porting a Windows/macOS app to Linux that someone imported a module with the wrong case and nobody noticed
CMake can also emit its own errors during the configure step though, particularly if you have complicated build logic and/or lots of external packages.
That’s mostly still true, with the small caveat that the default prefix on arm64 macOS is /opt/homebrew rather than /usr/local, so you might have to add it explicitly to your PATH
Projects for Apple platforms usually also use .h, where it could mean anything from C/C++ to Objective-C/C++.
In practice, Clang handles mixed C/C++/Obj-C codebases pretty well and determining the language for a header never really felt like an issue since the API would usually already imply it (declaring a C++ class and/or Obj-C class would require the corresponding language to consume it).
If a C++ header is intended to be consumed from C, adding the usual should alleviate the name mangling issues.
or Swift, Rust has semicolons while Swift doesn’t
Why not just add a timestamp that rotates every, say 5 seconds, to the hashed data?
That would make it infeasible to precompute the table permanently (it would have to be precomputed for a very narrow attack window, which is still better than nothing)
Also the iOS SDK isn’t freely available, so you’d have to copy that out of an Xcode installation… but given enough time and effort, you could almost certainly hack together a cross-compilation config for Clang that compiles an unsigned iOS app on Linux. Signing it might in fact be the bigger issue, since I’m not aware of any tools that sign Mach-O binaries on Linux.