📜 You’re not FAANG

If you process less than 10k requests per second, you’re not Google nor are you Facebook. — Henryk Plötz in Should I Use JWTs For Authentication Tokens? - Tinker, Tamper, Alter, Fry

May 28, 2024 · 1 min · 32 words

🔗 The Composable Architecture: My 3 Year Experience

The Composable Architecture: My 3 Year Experience • Rod Schmidt I recently finished a 3 year stint with a company that uses the Composable Architecture (TCA) from PointFree. I wanted to write about my experiences with TCA and some of the problems I see with it. It’s Complicated The [High] Churn Architectural Issues Performance Issues Company Organizational Issues Company Risks You might be more productive onboarding new developers and adding features with another architecture and still be able to achieve your desired architectural discipline with MVVM or Clean Architecture....

May 7, 2024 · 1 min · 89 words

🔗 Hypermedia Systems

Hypermedia Systems We hope to have convinced you that hypermedia, rather than being a “legacy” technology or a technology only appropriate for “documents” of links, text and pictures, is, in fact, a powerful technology for building applications. In this book you have seen how to build sophisticated user interfaces — for both the web, with htmx, and for mobile applications, using Hyperview — using hypermedia as a core underlying application technology....

April 6, 2024 · 1 min · 71 words

🔗 The State of Engineering Productivity in 2024

The State of Engineering Productivity in 2024 📊 1) Hybrid is hard Teams who work in hybrid mode have the hardest time. It is tough to create an environment where the playing field is level for everybody: there is less incentive to build a truly remote-friendly environment than in full-remote teams, while at the same time you don’t get the full benefits of co-location. Committing decisively to one of the two extremes might bring better results in terms of productivity — but of course it can be more challenging in other departments....

March 28, 2024 · 2 min · 367 words

🔗 Difftastic, a structural diff

Difftastic, a structural diff Difftastic is a CLI diff tool that compares files based on their syntax, not line-by-line. Difftastic produces accurate diffs that are easier for humans to read.

March 22, 2024 · 1 min · 30 words

🔗 Test-Driven Development Guided by ZOMBIES

Test-Driven Development Guided by ZOMBIES | Agile Alliance The acronym stands for: Z – Zero O – One M – Many (or More complex) B – Boundary Behaviors I – Interface definition E – Exercise Exceptional behavior S – Simple Scenarios, Simple Solutions

March 15, 2024 · 1 min · 43 words

🔗 Approval Tests

Approval Tests - Home Unit testing asserts can be difficult to use. Approval tests simplify this by taking a snapshot of the results, and confirming that they have not changed. Interesting approach to testing using Combination Approvals: @Test public void upateQuality() throws Exception { CombinationApprovals.verifyAllCombinations( this::doUpdateQuality, new String []{"foo", "bar", "baz"}, new Integer []{-1, 0, 11}, new Integer[0, 1, 49, 50}); } private String doUpdateQuality(String name, int sellIn, int quality) { /*....

November 6, 2023 · 1 min · 115 words

🏞 How Big Tech does Quality Assurance (QA)

The pernicious effect of having a separate testing team: How Big Tech does Quality Assurance (QA) - by Gergely Orosz The change in the number and type of tests the Visual Studio Team Services experienced after merging the dev and the test teams. Before the merge: end-to-end tests dominated, but unit and integration tests were rare. This flipped after the merge. (Microsoft Dev Blogs) In 2 years, almost all “old” tests from when test was separate from dev, were gone....

September 20, 2023 · 1 min · 91 words

🏞 SQL Iceberg Meme Explanation

“SQL Iceberg Meme” (Avestura’s Blog) Explaining The Postgres Meme One of the best ways to learn something is to explain it, and this blog post aims to do exactly that. Let’s review and explain every part of this meme, while unraveling its meaning and secrets.

September 6, 2023 · 1 min · 45 words

🔗 Cheat Sheets Finder

Cheat Sheet Finder | finders This page provides links to and short descriptions of content that provides succinct guidance on many different topics, which fall under domains such as Agile software development, and working in teams. The Cheat Sheet Finder includes the following categories: Flow/Getting Stuff Done Psychological Safety Kanban, eXtreme Programming (XP), Scrum Software Development

August 24, 2023 · 1 min · 56 words

📺 How to measure and improve developer productivity | Nicole Forsgren

Dr. Nicole Forsgren is a developer productivity and DevOps expert who works with engineering organizations to make work better. Best known as co-author of the Shingo Publication Award-winning book Accelerate and the DevOps Handbook, 2nd edition and author of the State of DevOps Reports, she has helped some of the biggest companies in the world transform their culture, processes, tech, and architecture. In today’s podcast, we discuss: Two frameworks for measuring developer productivity: DORA and SPACE Benchmarks for what good and great look like Common mistakes to avoid when measuring developer productivity Resources and tools for improving your metrics Signs your developer experience needs attention How to improve your developer experience Nicole’s Four-Box framework for thinking about data and relationships Chapters...

July 31, 2023 · 5 min · 1030 words

🔗 How to Write Error Messages

A good error message has three parts: The problem – explains that an error has happened; The cause – explains what caused the problem; The solution – explains how to overcome the problem. After you ensure your message contains all these three parts, its time to review it. You need to edit it to ensure it: Is user centred – avoid jargon and words your audience will have an hard time understanding; Is direct – as William Strunk said, “Put statements in positive form....

August 7, 2015 · 1 min · 111 words

🔗 Jibber – iOS, meet JSON. A new way to debug.

{width=“1440” height=“900”} Jibber makes network debugging a breeze. (…) You’ll be able to view both request and response parameters on your Mac in real time!

August 4, 2015 · 1 min · 25 words

🔗 Protocol-Oriented Programming in Swift

{width=“600” height=“368” srcset=“tumblr_nqe5e41a5x1qz82meo1_1280.png 600w, tumblr_nqe5e41a5x1qz82meo1_1280-300x184.png 300w” sizes="(max-width: 600px) 100vw, 600px"} From the WWDC15 talk “Protocol-Oriented Programming in Swift” Print it and put it in your wallet. — Rui Peres Print it and put it in your wallet. pic.twitter.com/bhVADs7Hdj — R. Peres (@RuiAAPeres) June 22, 2015

June 23, 2015 · 1 min · 45 words

🏞 Pick two! Escolha

[![Como você quer o seu projecto](linkedin-2a383b27-dc7c-4632-820f-8d9dab9c576f-large.jpeg){width="410" height="410" srcset="linkedin-2a383b27-dc7c-4632-820f-8d9dab9c576f-large.jpeg 410w, linkedin-2a383b27-dc7c-4632-820f-8d9dab9c576f-large-150x150.jpeg 150w, linkedin-2a383b27-dc7c-4632-820f-8d9dab9c576f-large-300x300.jpeg 300w, linkedin-2a383b27-dc7c-4632-820f-8d9dab9c576f-large-268x268.jpeg 268w" sizes="(max-width: 410px) 100vw, 410px"}](linkedin-2a383b27-dc7c-4632-820f-8d9dab9c576f-large.jpeg) Como você quer o seu projecto? Rápido & Grátis → Lixo Rápido & Barato → Mal feito Rápido & Qualidade → Bem pago Barato & Qualidade → Não pode ser rápido Grátis & Qualidade → Faça você mesmo Escolha duas!… Três ou não existe ou é utopia.

May 13, 2015 · 1 min · 66 words

🏞 The structure of JUnit

{width=“562” height=“388”} By version 4.11, transitive dependencies have proliferated seemingly unchecked. We are far from the short dependency-chains and few cyclic-dependencies of good structure. A better way… There are many ways to do this, but one way is to practice radial encapsulation . (…) shows the evolution of a radially-encapsulated program that is bigger than JUnit yet has throughout its history retained a structural clarity that JUnit seems to have abandoned....

May 12, 2015 · 1 min · 94 words

🔗 BrowserSync – Time-saving synchronised browser testing

BrowserSync – Time-saving synchronised browser testing Efficient and pleasurable programming is all about having a “fast feedback cycle”: BrowserSync makes your tweaking and testing faster by synchronising file changes and interactions across multiple devices. It’s wicked-fast and totally free.

May 2, 2015 · 1 min · 39 words

📜 Programs must be written for people to read, and only incidentally for

Programs must be written for people to read, and only incidentally for machines to execute. Hal Abelson and Gerald Jay Sussman in MIT Structure and Interpretation of Computer Programs course (via Brevity vs. Clarity · An A List Apart Blog Post )

March 8, 2015 · 1 min · 42 words

🏞 The Writing Process

{width=“598” height=“337” srcset=“tumblr_nk2ojojvBA1qz82meo1_1280.jpg 598w, tumblr_nk2ojojvBA1qz82meo1_1280-300x169.jpg 300w” sizes="(max-width: 598px) 100vw, 598px"} Nice illustration of the writing process, or any other creative/development endeavor, for that matter. Original Tweet: I love this illustration of this writing process. From Nicely Said book. pic.twitter.com/w5ccIVsrNX — ★ Sean Johnson (@seanuk) February 20, 2015 TODO: Link to the book source?

February 20, 2015 · 1 min · 53 words

🏞 Mobile App Lifecycle

{width=“1280” height=“1013” srcset=“tumblr_niy1tlT1uJ1qz82meo1_1280.png 1280w, tumblr_niy1tlT1uJ1qz82meo1_1280-300x237.png 300w, tumblr_niy1tlT1uJ1qz82meo1_1280-1024x810.png 1024w” sizes="(max-width: 1280px) 100vw, 1280px"} (…) diagram image for understand [a mobile app] Life Cycle (iPhone / Android) — RDC (via What is the Life Cycle of an iPhone application? – Stack Overflow )

January 29, 2015 · 1 min · 41 words