Issue #487

9 February 2024


Issue #487
pointer.io


Friday 9th February’s issue is presented by FusionAuth

Don’t Build Your Own Auth. Try FusionAuth Today.


FusionAuth integrates with any tech stack and is deployable anywhere – cloud, on-premise, or even the server running under your desk.


You're less than five minutes from login/registration, social logins, SSO, MFA, passkeys, passwordless, user management, and much more.


Join the thousands of developers who trust FusionAuth for their identity needs.

Speak In Stories

— Andrew Bosworth


tl;dr: Andrew, CTO at Meta, discusses the importance of storytelling at work: “Too often we present our work as a series of facts. The sad truth is that most humans are bad at remembering facts. When our audience is in a related conversation days later the data we shared isn’t likely to be top of mind anymore. Our impact remains localized. But humans are amazing at remembering stories. We are suckers for anything with narrative context, dramatic tension, and a satisfying or poignant resolution.” 


CareerAdvice

What Type Of Interruptions Impact Developer Productivity Most?

— Lizzie Matusov


tl;dr: Research shows that: (1) Self-interruptions i.e. voluntary task switching is more disruptive than external interruptions. (2) Developers self-reported that external interruptions are more disruptive than self-interruptions. (3) Contextual factors such as time of day are a stronger determinant of how disruptive an interruption might be than task-specific factors. (4) Switching between programming and testing tasks, compared to other development tasks, makes developers more vulnerable to interruptions.


Management Productivity

Why Passkeys Improve User Security & How to Implement Them.


tl;dr: Passwords are a headache for users and a security risk for organizations. Passkeys, a cutting-edge solution rooted in public key cryptography, are poised to revolutionize authentication, improving security and usability for all. This paper talks about how they work and how to implement them into your ecosystem.


Promoted by FusionAuth

Management Security

Should You Stay Technical As An Engineering Manager?

— Nicola Ballotta


tl;dr: Dedicating 20% of weekly time to technical activities to stay technical is a good balance. Suggested activities to stay technical are: (1) Joining technical meetings to stay up-to-date and engaged with the team. (2) Contributing to documentation to solidify understanding. (3) Building internal tools to maintain coding skills and create resources. (4) Presenting team projects to understand and simplify technical concepts. (5) Participating in code reviews to stay connected with the codebase. (6) Continuous learning through tech talks, conferences, online courses.


Management CareerAdvice

“If we wish to count lines of code, we should not regard them as “lines produced” but as “lines spent””

— Edsger Dijkstra

Too Much Of A Good Thing: The Trade-Off We Make With Tests

— Nicole Tietz-Sokolskaya


tl;dr: “If you aim for 100% code coverage, you're saying that any risk of bug is a risk you want to avoid. And if you have no tests, you're saying that it's okay if you have severe bugs with maximum cost.” Nicole presents us with a way to think about how much code coverage is enough. You need two numbers: (1) The cost of writing tests. To get this, you have to measure how much time is spent on testing. (2) The cost of bugs. Getting this number is more complicated. You can measure the time your team spends on triaging and fixing bugs. The rest of it, you'll estimate with management and product. The idea here is just to get close enough to understand the trade-off, not to be exact.


Tests

The Object-Oriented Software Patterns Every Engineer Should Know… And Their Pitfalls


tl;dr: Class is in session. Dr. Panos Patros, CPEng, explains object-oriented design patterns, highlighting their benefits and risks. The article compares these patterns to ad-hoc solutions, emphasizing code reusability and avoiding overcomplication through misuse or overuse. It also identifies common antipatterns across various programming languages.


Promoted by Raygun

SoftwareDesign

A Search Engine In 80 Lines Of Python

— Alex Molas


tl;dr: “Ever heard of the “Small Website Discoverability Crisis”? The problem it’s basically that small websites, ones like this one, are impossible to be found using Google or any other search engine. My mission? Making those tiny websites great again. In this post I will walk you through the journey of buliding a search engine from scratch using Python. This implementation doesn’t pretend to be a production-ready search engine, just a usable toy example showing how a search engine works under the hood.”


Search Python

Why We Can't Have Nice Software

— Andrew Kelley


tl;dr: “The problem with software is that it's too powerful. It creates so much wealth so fast that it's virtually impossible to not distribute it. Think about it: sure, it takes a while to make useful software. But then you make it, and then it's done. It keeps working with no maintenance whatsoever, and just a trickle of electricity to run it.” Andrew discusses the problem this poses on software development. 


ThoughtPiece

A Distributed Systems Reading List

— Fred Hebert


tl;dr: “This document contains various resources and quick definition of a lot of background information behind distributed systems. It is not complete, even though it is kinda sorta detailed. I had written it some time in 2019 when coworkers at the time had asked for a list of references, and I put together what I thought was a decent overview of the basics of distributed systems literature and concepts.”


DistributedSystem

Notable Links


Atopile: Design circuit boards with code.


Bouncy Ball: Bouncing a ball with each web animation technique.


Meow: CLI app helper.


Slint: GUI toolkit for native user interfaces.


WXT: Next-gen web extension framework.


Click the below and shoot me an email!


1 = Didn't enjoy it all // 5 = Really enjoyed it


12345