Issue #463

7 November 2023


Issue #463
pointer.io


Tuesday 7th November’s issue is presented by Clerk

Authentication & User Management For The Modern Web


Clerk is the easiest way to add authentication and user management to your app. With prebuilt UI components and feature-rich SDKs & APIs, Clerk is purpose-built for the React, Next.js, and the modern web, and designed to get developers up and running in minutes.

Productivity

— Sam Altman


tl;dr: "I think I am at least somewhat more productive than average, and people sometimes ask me for productivity tips. So I decided to just write them all down in one place." Sam discusses what to work on, how to prioritize tasks, physical factors (eating, sleeping, drinking, etc...) and more. 


CareerAdvice

The Human Side Of Software Engineering Teams

— Abi Noda


tl;dr: Developers were asked to rate a set of challenges to determine which factors had the highest impact. The two most impactful challenges identified were insufficient analysis at the beginning of a task and lack of leadership. Other impactful challenges included missing documentation, demotivation, and information not being made known to the team. Abi discusses how to address these.


Management Leadership

A Complete Guide To Session Management In Next.js

— Nick Parsons


tl;dr: "We’re going to produce a simple two page site that allows us access to a protected page if we are logged in. Fundamentally, this is an authentication setup, but we are going to set it up using JSON Web Tokens (JWT) that we’ll store on the client. This will give the user a live "session," so once they have logged in, they can continue to access the protected page, until the token and session expires."


Promoted by Clerk


Guide NextJS

Write Clean Code To Reduce Cognitive Load

— Andrew Trenk


tl;dr: Cognitive load is often higher for other people reading code you wrote than it is for yourself. The key to reducing cognitive load is to make code simpler so it can be understood more easily by readers. Andrew elaborates on the following: (1) Limit the amount of code in a function or file. (2) Create abstractions to hide implementation details. (3) Simplify control flow. (4) Minimize mutable state. (5) Include only relevant details in tests. (6) Don’t overuse mocks in tests. 

 

BestPractices

“Computer programming is an art, because it applies accumulated knowledge to the world, and it requires skill and ingenuity, A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better.”


— Donald Knuth

Tests Are Bad For Developers


tl;dr: Stephan argues that while tests are crucial for software development, they are perceived negatively by developers because they highlight mistakes without immediate benefits. He suggests that tests become a burden when under business pressure, as they can lead to blame for missed deadlines. Stephan advocates for tests as non-negotiable and part of professional engineering, urging QA to support developers in creating effective tests.


Management Testing

Oso Golf Tournament


tl;dr: Oso Golf is a logic game designed to teach you authorization principles using Oso’s policy language, Polar. The objective is to solve specific problems using as few objects as possible. This one day tournament will challenge the greatest minds to complete 9 holes of Oso Golf on November 15.


Promoted by Oso


Event

Lessons Learned From Twenty Years Of Site Reliability Engineering


tl;dr: (1) The riskiness of a mitigation should scale with the severity of the outage. (2) Recovery mechanisms should be fully tested before an emergency. (3) Canary all changes. (4) Have a "Big Red Button". (5) Unit tests alone are not enough - integration testing is also needed. (6) Communication channels and backup channels. (7) Intentionally degrade performance modes. (8) Test for Disaster resilience. (9) Automate your mitigations. (10) Reduce the time between rollouts, to decrease the likelihood of the rollout going wrong. (11) A single global hardware version is a single point of failure.

Reliability

Confusing Git Terminology

— Julia Evans


tl;dr: "One of my biggest problems is that after almost 15 years of using git, I’ve become very used to git’s idiosyncrasies and it’s easy for me to forget what’s confusing about it." Julia asked folks "what git jargon do you find confusing? thinking of writing a blog post that explains some of git’s weirder terminology: “detached HEAD state”, “fast-forward”, “index/staging area/staged”, “ahead of ‘origin/main’ by 1 commit”, etc."


Git

Real-Time Analytics For Mobile App Crashes


tl;dr: "At Uber, we have built a system called “Healthline” to help with our Mean Time To Detect (MTTD) and Mean Time To Resolve (MTTR) issues and to avoid potential outages and large-scale user impacts. Due to our ability to detect the issues in real time, this has become the go-to tool for release managers to observe the impact of canary release and decide whether to proceed further or to rollback. In this article we will be sharing details on how we are leveraging Apache Pinot™ to achieve this in real time at Uber scale."


Mobile Scale Analytics

Notable Links


Formbricks: OS survey toolbox.


Grist: Modern relational spreadsheet.


Highstorm: OS event monitoring.


Localpilot: GitHub Copilot locally.


Tailspin: Log file highlighter.


Click the below and shoot me an email!


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


12345