I know firsthand just how difficult it is to work with all the disparate APIs for the different hardware providers, particularly with smartlocks. How do you deal with providing an ergonomic API on top of the access management and key/credential granting itself? Each of the APIs has different concepts, e.g. Salto's API has "binary keys", "zones", "access groups", "audit trails", etc...whereas SMARTair has "sites", "locking plans", etc. How do you deal with all of this? In other words, does your API abstract over all the APIs for purposes of setting up access? How would I, for example, given any type of lock, grant keys to a visitor which should expire in one week?
HN user
badbath
How much do I need to know about Linux before taking this course?
Would this be faster if we not calculate powerset xs twice? I don't know how GHC works well enough so I ask.
That's nuts. All of your code now has to check if err != nil, etc.
Furthermore, the sendEmail and validateEmailForm values are essentially ignored and used only for their possible error values.
Why should I wrote my program as if the thing I'm concerned primarily with is errors? Much better to encode the failure into the type. You could have, for example, some function that returns Either[Error, SendEmailAction] where SendEmailAction is a function that, when called, will perform the effect of sending an email. Now I can deal with the happy path by mapping on the right-biased Either.
No, all of the content is user-generated. For this content, we just display it in the language it was submitted. The localization I was talking about is more for static things like buttons and general navigation around app.
I did for android app. we simply looked at number of installations by country and we had a lot of people asking for their language to be supported. we used google services to do the localization. for us, main thing was simply making all labels, etc make sense for native speakers of the two other languages (beside english) that we added