HN user

ajconway

667 karma
Posts0
Comments294
View on HN
No posts found.

Building complex apps is hard. User-facing, feature-rich apps--especially so. It takes a lot of engineering effort, but also management (which implies some kind of a corporate structure). Coincidentally, it also doesn't align well with open (or any) standards.

Quest 3, the DPI looks somewhat similar to a non-retina Apple display.

It felt really futuristic to log into my office computer from a synthesized apartment via Virtual Desktop. The latency was fine for typing. Even YouTube video/audio was bearable. But the device itself is still too heavy. The fixed lens system can't be good for your eyes.

Apple Vision Pro is even heavier. Even as a hardcore VR fan I cannot imagine the current generation hardware to be useful in productivity tasks.

what percentage of those billions are correctly using the ridiculously long numbers (60 decimal digits) used to represent identities (WhatsApp calls them "security codes") in that system to ensure they are actually communicating end to end?

Assuming one of those billions users is a motivated security enthusiast, WhatsApp is not able to perform MITM attacks at scale, as it would be trivial to prove. If WhatsApp decides to MITM your chats, it can't do so retroactively due to the properties of the protocol. If you're a high-profile target, you should verify your keys.

For me personally, it's a low-fee payment system that can't be blocked and doesn't require any KYC. My friends and I use it primarily as a replacement for cash when we split restaurant bills abroad. There are people who use it to donate funds to organisations under repressive regimes anonymously.

Blockchain is just a useful primitive to build stuff on top of it. As an engineer, I would like to embrace it, NFTs notwithstanding.

Anonymous (or pseudonymous), independently verifiable operations with digital goods are clearly in demand. There may exist a better solution, but blockchain works now.

When to use Bazel? 4 years ago

That is true, Bazel itself is still evolving, and there have been breaking changes between versions. Sometimes the required version number is placed in a .bazelversion file, which makes Bazelisk your top-level dependency.

I'd expect Tensorflow to have some non-hermetic build actions, but if choosing a specific Bazel version was the only thing that was required to build it, that's awesome!

When to use Bazel? 4 years ago

Bazel doesn't have any user-facing java dependency.

what real extra benefit Bazel brings in here

Builds are hermetic by default, so unless the developer chooses to escape the sandbox, everything is guaranteed to build on other machines with no additional setup.

(Also, I genuinely hate when I have to manually install build dependencies system-wide and pray that there will not be any conflicts. Having everything pinned to specific sha256 or git hashes by design is a breath of fresh air)

Apps targeting pre-2018 iOS versions bundle the mid-2018 version of swift runtime for compatibility reasons.

For example, when you run an app made in the iOS 15 era on an iOS 13 device, the app can’t use any runtime features that are not included with iOS 13. Given that swift is still rapidly evolving, that amounts to a lot of useful features. This year, iOS 16 apps get to use the cool new Regex features.

HP Reverb G2 has a 2160x2160 full-matrix LCD. I would say it comes very close to being usable as a virtual monitor, but the virtual screen still needs to be quite large. Extrapolating from this and older generation headsets, I would guess 4K per eye should be enough for a true office experience.

On top of that, the headset itself must be comfortable to wear for sessions longer than 30 minutes. None of the current models are that comfortable.

Both of those could be enabled by combining data blocks semi-randomly. Ie. rather than downloading the data you're looking for, you download a block of data containing what you're looking for and some other data

What you're looking for is Oblivious Transfer or Mix Nets. Unfortunately, no practical solutions currently exist (except for Onion Routing).

Remember that data can be encrypted by content hash, so there is no way to know what you're storing unless you go scouring the public internet for a key to decrypt it.

Censorship does not work this way. First, content that requires censorship resistance is usually public, otherwise one can employ a number of p2p or centralized solutions to share content directly.

Public content is easy to find, so step one: you find and identify the list of nodes that serve the content. Step two: you block the nodes on a level that's available to you (depends on the country). Step three: your users are unable to use the network effectively, because half of the nodes don't work, and revert to using Facebook.

Would you describe Ford as being composed of thousands of brilliant engineers?

Absolutely.

I've seen people believe that creating a browser is no big deal, can you imagine developing, manufacturing, compliance certification, marketing and distribution of actual vehicles, planet-scale?