oautholaf's comments

oautholaf | 1 year ago | on: Eazel, ex-Apple led Linux startup

As a former Eazel employee, I can say that indeed Eazel did not get acquired by Apple.

As the Wikipedia page states, a sizable pool of people went to work on Safari 1.0 (and some are still working on Safari). Others went to Apple to work on the Finder or Core Graphics.

Another big chunk of people went to Danger to work on the T-Mobile Sidekick.

But the company shut down. No one was left besides the CFO.

oautholaf | 1 year ago | on: Why Linux developers do not fix reported issues or ignore bug reports

This is totally a thing. In the late 90s when I worked at Microsoft and then at startups, QA was made up of full time employees whose leadership had input into the product process.

Today at my large tech company, QA is mostly contract employees validating test plans that the normal engineers author. Zero autonomy or ownership offered.

oautholaf | 1 year ago | on: Osprey Is Unsafe and Unairworthy

They seem to be a common part of the Airforce One entourage. When the President is in the SF Bay Area, I see these commonly fly over residential areas. Given their history and the apparent unexplained failure, this has always struck me as unwise.

oautholaf | 1 year ago | on: DJI might get banned next in the US

Have to say, I bought a DJI drone that I enjoyed, but then the app stopped working after my Android phone upgraded to a new OS version. Even months later, it appeared that DJI had made no effort to fix this issue (which clearly did not affect only me). There are open source apps, but the existing open source apps at the time did not control a specific unique and important feature on the drone I bought.

Never buying DJI again.

oautholaf | 3 years ago | on: If you like startups you should love anti-trust

Not reset, reprioritize. Fred Vogelstein only talked to one source who was on the Android team for his book, and that source may have had their own agenda.

Other sources, such as Chet Haas's book, make it clear that what became the G1 was already on the roadmap. It was just prioritized.

oautholaf | 3 years ago | on: Why to not use JWT (2021)

In my experience, a working strategy for handling signout or revocation for statically verifyable tokens like JWT is straightforward:

- Clear client side state where you can. - Write signed out/expired tokens to something with a cheap heavy read/eventual consistency model - Fail to signed in if unavailable - Acknowledge that you are gaining latency/availability/ lower costs by trading some precision

I am aware of a very large website most folks use every day that did this for more than a decade and it worked fine.

oautholaf | 4 years ago | on: Woe be unto you for using a WebSocket

Most applications written using HTTP, in my experience, do not have deep dependencies on the longevity of the HTTP2 connection. In my experience, TCP connections for HTTP2 are typically terminated at your load balancer or similar. So reconnections here happen completely unseen by either the client application in the field or the servers where the business logic is.

For us -- and I think this is common -- the persistent WebSocket connection allowed a set of assumptions around the shared state of the client and server that would have to be re-negotiated when reconnecting. The fact that this renegotiation was non-trivial was a major driver in selecting WebSockets in the first place. With HTTP, regardless of HTTP2 or QUIC, your application protocol very much is set up to re-negotiate things on a per-request basis. And so the issues I list don't tend to affect HTTP-based applications.

oautholaf | 4 years ago | on: Woe be unto you for using a WebSocket

I worked for a while on a well-known product that used (and perhaps still uses) WebSockets for its core feature. I very much agree with the bulk of the arguments made in this blog post.

In particular, I found this:

- Our well-known cloud hosting provider's networks would occasionally (a few times a year) disconnect all long-lived TCP sockets in an availability zone in unison. That is, an incident that had no SLA promise would cause a large swath of our customers to reconnect all at once.

- On a smaller scale, but more frequently: office networks of large customers would do the same thing.

- Some customers had network equipment that capped the length of time of that a TCP connection could remain open, interfering with the preferred operation

- And of course, unless you do not want to upgrade your server software, you must at some point restart your servers (and again, your cloud hosting provider likely has no SLA on the uptime of an individual machine)

- As is pointed out in the article, a TCP connection can cease to transmit data even though it has not closed. So attention must be paid to this.

If you use WebSockets, you must make reconnects be completely free in the common case and you must employ people who are willing to become deeply knowledgeable in how TCP works.

WebSockets can be a tremendously powerful tool to help in making a great product, but in general they are almost always will add more complexity and toil with lower reliability.

(edited typos)

oautholaf | 4 years ago | on: Before General Magic there was Paradigm (2018)

Sort of feel it would really be helpful to replace the narrative of the creation of the modern smartphone ("the iPhone sprung forth from the head of Jobs!") with a picture of the decade+ of efforts made by the computer industry to make consumer electronics.

Note also that this article mentions the Danger Hiptop and folks who worked on it. Some folks who worked on that worked on iPhone 1.0 and some even still work on iPhones!

oautholaf | 4 years ago | on: Alexa leaks private wishlists

This type of thing has also happened to me with Google Maps and Android Auto. I used Google Maps to locate a store to get a gift for my wife. Later, we used the car. When I plugged in my phone, Google Maps displayed the store as a recommended destination on the center console screen. This ruined the surprise.

Now, Google Maps has an Incognito mode, but now I know I must use it when buying surprise presents.

The problem is this interaction is impossible to anticipate, and makes me not want my preferences on communal devices at all.

oautholaf | 4 years ago | on: How Google bought Android

As important was Apple's brand power. Everyone already had an iPod in their pocket and loved it. That gave them legitimacy to set terms with carriers.

oautholaf | 6 years ago | on: How Swift Achieved Dynamic Linking Where Rust Couldn't

Here's one thing I don't understand: In addition to enabling dynamic linking, this mechanism allows Swift to compile less code (generic functions only need to be compiled once) and therefore reduce instruction cache misses.

But certainly the tradeoff for this type-info-vtable "witness table" and much more heavy boxing must impact the data cache miss rate. What's the tradeoff end up being in practical terms? Is it worth it?

Also, although it seems there's features that let you "freeze" a type, is there a practical way that a non-language expert could ever profile and discover that they may want to use such a feature to improve performance?

Especially given that Swift programs on iOS probably only dynamically link to the system libraries, this seems like a powerful language feature to enable something that could have been achieved by writing the Swift system libraries as typed facades around a typeless core, which you so often see in C++ STL implementations.

oautholaf | 7 years ago | on: Noah: Bash on Ubuntu on macOS

This runs linux binaries on darwin. You know what would be awesome? Running darwin binaries on linux so I can do iOS development without a Mac.
page 1