Issue #464

10 November 2023


Issue #464
pointer.io


Friday 10th 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.

It's All Just Leadership After All

— James Stanier


tl;dr: "The pertinent question is whether you should manage senior managers and senior ICs differently. After all, they have different roles and responsibilities, and so it would be natural to assume the way that you manage a Staff Engineer would be different than the way that you manage an Engineering Manager. Right? Nope, that assumption would also be wrong. Sorry. You don't need special approaches for managing both roles. In fact, you can apply the same strategy to both, and not only does this simplify your approach, it actually encourages the best behaviors from both roles." James discusses his approach.


Leadership Management

A Guide To Public Speaking For Software Engineers

— Jordan Cutler


tl;dr: Jordan discusses: (1) How to improve your body language, wording, and tonality. (2) How to create a presentation structure that keeps people listening to you. These concepts can be applied to in-person & remote tech talks, demos, technical direction presentations, leading meetings and interviews. 


CareerAdvice

The Ultimate Guide To Next.js Authentication

— Nick Parsons


tl;dr: Next.js 13 introduces the App Router, focusing on React Server Components (RSC) for server-side rendering, enhancing performance and edge network efficiency. This shift changes traditional development practices in Next.js, especially in authentication methods. The article explores how authentication works with both the Pages Router and the new App Router, helping developers adapt to these changes and understand the differences in authentication processes between the two systems.


Promoted by Clerk

Guide NextJS

Tests Too DRY? Make Them DAMP!

— Erik Kuefler, Derek Snyder


tl;dr: The authors discuss the balance between the DRY (Don't Repeat Yourself) and DAMP (Descriptive and Meaningful Phrases) principles in unit testing. While DRY promotes code reuse and minimizes duplication, it may not always suit unit tests, as it can make them less readable and harder to manually inspect for correctness. The authors argue for prioritizing DAMP in tests to enhance readability, even if it leads to some code redundancy. They illustrate this with an example where creating users and assertions directly in the test, rather than using helper methods or loops, makes the test clearer. They acknowledge the relevance of DRY in tests for certain aspects but suggest leaning towards DAMP for better clarity and understanding in unit tests.

 

BestPractices Testing

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


— Edsger W. Dijkstra

My Awakening Moment About How Smartphones Fragment Our Attention Span

— Tom Johnson


tl;dr: Tom recommends several strategies to mitigate the negative impact of smartphones on attention span: (1) Conscious reduction of smartphone use. (2) Engaging in long-form content, such as books, podcasts, and articles. (3) Creating "phone-free" zones and times e.g. before bed or when you wake up. (4) Awareness of when you reach for your phone to fill time. (5) Experimenting with reduced usage. 


Health

Git Notes: Git's Coolest, Most Unloved­ Feature


tl;dr: "A common use of git notes is tacking metadata onto commits. Once a commit cements itself in git’s history - that’s it. It’s impossible to amend a commit message buried deep in a repo’s log. But git notes enable you to amend new information about old commits in a special namespace. And they’re capable of so much more. Notes stow metadata about anything tracked by git - any object: commits, blobs, and trees. All without futzing with the object itself."

Git

Building Modern Web Applications: 5 Essential Frontend Architecture Principles

— Patrick Roos


tl;dr: Principles you should always follow: (1) Async or defer load, consider the critical path. (2) Tree-shake, consciously bundle and eliminate dead code. (3) Define and respect a performance budget. Principles you should follow when possible: (4) Stick to the web platform APIs and web standards. (5) Use new generation frontend frameworks. Patrick discusses each in this post. 


FrontEnd Architecture

Building In-Video Search


tl;dr: "Suppose it’s Christmas, and you want to create a great instagram piece out all the best scenes across Netflix films of people shouting “Merry Christmas”! Or suppose it’s Anya Taylor Joy’s birthday, and you want to create a highlight reel of all her most iconic and dramatic shots. Creating these involves sifting through hundreds of thousands of movies and TV shows to find the right line of dialogue or the appropriate visual elements (objects, scenes, emotions, actions, etc.). We have built an internal system that allows someone to perform in-video search across the entire Netflix video catalog, and we’d like to share our experience in building this system."


ML Video Search

Notable Links


DeepSeek Coder: Let the code write itself.


Inshellisense: IDE style command line auto complete.


MilliForth: Smallest real programming language ever.


Sshx: Live terminal sharing over the web.


Tech Interview Handbook: Curated interview preparation materials.


Click the below and shoot me an email!


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


12345