Hello again.
Links of the week
DevEx: What Actually Drives Productivity
Our framework distills developer experience to its three core dimensions: feedback loops, cognitive load, and flow state (illustrated in figure 1). These dimensions emerged from real-world application of our prior research, which identified 25 sociotechnical factors affecting DevEx.9 These three key dimensions crosscut those 25 factors, providing a practical model for understanding DevEx.
Two-Factor Authentication Apps: Mistakes to Malware
Authenticator apps are a strange bargain. On the one hand, they provide a non-repeating login that will help defeat eavesdroppers. On the other hand, the secret needs to be used in an unhashed form, both on your phone and on the server that authenticates it. This means that there’s not a super-safe way to store them on the server side, unlike regular passwords which can be stored salted and hashed. So the safety of your TOTP keys relies on the authentication server not getting hacked. Your TOTP keys are much more vulnerable to a server database breach than a regular password.
Do You Really Need a Feature Store?
One of the major challenges in machine learning is training-serving skew. When an ML model is trained on preprocessed data, it is necessary to carry out the identical steps on incoming prediction requests. This is because we need to provide the model data with the same characteristics as the data it was trained on. If we don’t do that, we will get a skew between training and serving, and the model predictions will not be as good.
There are three ways to ensure that preprocessing done during training is repeated as-is during prediction: by putting the preprocessing code within the model, using a transform function, or using a feature store. Let’s discuss them one-by-one.
▶ "Design in Practice" by Rich Hickey
Rich Hickey, the author of Clojure and designer of Datomic, is a software developer with over 35 years of experience in various domains.
Rules of Thumb for Software Development Estimations
Uncertainty is your constant companion: Requirements change, stakeholders change their minds, and unforeseen challenges pop up like a bad case of acne. The best you can do is remain calm and adaptable and ensure your estimations have some buffer for the “human factor.” I usually add 20-25% on top of the estimates for things like people getting sick, third-party vendors being slow to respond, bureaucracy, and misunderstandings.
▶ The One Thing Every Influential Guitar Tone Has In Common
Less than 1% of guitar players know this.
Book of the Week
Unwinding Anxiety: New Science Shows How to Break the Cycles of Worry and Fear to Heal Your Mind
Do you have any more links our community should read? Feel free to post them on the comments.
Have a nice week. 😉
Have you read last week's post? Check the archive.