HN user

initplus

1,857 karma
Posts1
Comments389
View on HN

Will be an underlying safety issue in some system library, but they have only seen "in the wild" exploits targeting Intel. "Defence in depth" - better to push the bugfix to all than to scrutinize ARM security features to understand if an exploit is possible there as well.

It's not just that there are few signals to prevent the wrong person being put in charge, but this kind of government bureaucratic actively selects for the wrong person. These kinds of government IT projects are often soul sucking to work on, and so they attract a specific kind of applicant.

I mean they aren't designed for rack mounting? It's a consumer product, likely <0.1% of units produced will end up in a rack.

The port on the bottom is really the least offensive element of the design. I know people find it fun to clown on, but if any of them had ever used one for 5 minutes they would realize it's a terrible mouse for a bunch of other more important reasons (weight, feet quality, tracking accuracy, polling rate etc.).

Sounds like a really interesting problem space. I'm curious if you have any comments about how you approached dealing with inconsistencies between information sources? System A says X, system B says Y. I suppose best approach is again just to bail out to manual resolution?

One example is that instead of adding support for edge case mutations/changes late in a process, it's sometimes better to force those records to be thrown away and reset with a new record from the start of the process. You avoid chasing down flow on effects of late unexpected changes in different parts of the application.

To give a contrived/trivial example, imagine a TLS handshake. Rather than building support to allow hosts to retry with a different cert, it's better to fail the connection and let the client start from scratch. Same principle can be applied to more complex process automation tasks in business. Imagine a leave tracking system. It might be better to not support changing dates of an existing leave application, and instead supporting cancel & re-apply. Best part is that the user facing part of both versions can be exactly the same.

Even grosser is that they explicitly limited the iOS version of Google Photos to refuse to work with scoped access. So on iOS the app will refuse to work without being granted whole library access, a permission that Google no longer allows to any third party photo app on Android. Blatantly anticompetitive.

I'm also completely sick of fielding API migration emails from Google on mobile Android/Firebase. Feel like I get some "action required" every couple of weeks. This stuff saps our resources, both to fix it, and to diagnose if the issue even applies to us in the first place. If you are lucky Google includes details of the app using the API, but often this part is even left out.

It seems that way because it kind of is. The early days of functional research were equally focused on designing alternative computer architectures that were more suited to functional paradigms.

Now that hardware angle has not been very successful on the whole, and we are left with languages that end up feeling a bit out of place on the hardware we have today.

Another thing to note is that there is a lot of untapped potential in fb compilers. It’s suffering from underinvestment.

Channels and async/await aren’t really equivalent features. Beyond the fact that they both deal with concurrency.

You can do channels (message passing) on top of async await.

Yes - the value of functional programming isn't that working in OCAML, or F#, or Haskell is 10x as productive as other languages. But that it can teach you worthwhile lessens about designing software that apply equally to imperative languages.

Modelling the business domain, reasoning and managing side effects, avoiding common imperative bugs, these are all valuable skills to develop.

F# is a great language to learn, and very approachable. Worst part about it is interacting with antiquated .NET API's. (I can't believe the state that .NET support for common serialization formats is still in...)