🔗 The Frustration Loop

The Frustration Loop | ᕕ( ᐛ )ᕗ Herman’s blog This lead me to an idea: The Frustration Loop The premise is simple. When spam is detected, instead of blocking the blog, fake system error or failure in the most frustrating way possible. Waste their time and make them give up. I got the idea from The Password Game which I highly recommend checking out. Since implementing The Frustration Loop the amount of spam has dropped from about 30% of new blogs, to less than 5% (nothing is perfect). There are a few improvements to be made, and some holes to patch, but it’s working well. ...

25 November 2023 Â· 1 min Â· 105 words

🔗 HTML First

HTML First HTML First is a set of principles that aims to make building web software easier, faster, more inclusive, and more maintainable by
 Leveraging the default capabilities of modern web browsers. Leveraging the extreme simplicity of HTML’s attribute syntax. Leveraging the web’s ViewSource affordance. Principles Prefer Vanilla approaches Use HTML attributes for styling and behaviour Use libraries that leverage HTML attributes Avoid Build Steps Prefer Naked HTML Be View-Source Friendly

14 November 2023 Â· 1 min Â· 71 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) { /*...*/ } Approval Tests has a variety of implementations on a wide range of platforms. You can browse all of the projects at our GitHub Org ...

6 November 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) ...

20 September 2023 Â· 1 min Â· 91 words

🔗 Google Style Guides

Google Style Guides This project (google/styleguide) links to the style guidelines we use for Google code. AngularJS Style Guide Common Lisp Style Guide C++ Style Guide C# Style Guide Go Style Guide HTML/CSS Style Guide JavaScript Style Guide Java Style Guide Objective-C Style Guide Python Style Guide R Style Guide Shell Style Guide Swift Style Guide TypeScript Style Guide Vim script Style Guide

17 September 2023 Â· 1 min Â· 63 words

🔗 The Tyranny of the Marginal User

The Tyranny of the Marginal User - by Ivan Vendrov How is it possible that software gets worse, not better, over time, despite billions of dollars of R&D and rapid progress in tooling and AI? What evil force, more powerful than Innovation and Progress, is at work here? 
 I call this force the Tyranny of the Marginal User. 
 a company with a billion-user product doesn’t actually care about its billion existing users. It cares about the marginal user - the billion-plus-first user - 
 ...

15 September 2023 Â· 1 min Â· 155 words

🔗 The exponential horn of testing

The exponential horn of testing · GitHub The actual model that more closely resembles what we need should have the bare minimum of E2E tests, quite a number of service tests and the vast majority should be unit tests. Exponential model: x = 10^hy So if the height h goes from 1 to 2 to 3 then we have 1 E2E test to 100 service tests to 10,000 unit tests. ...

14 September 2023 Â· 1 min Â· 85 words

📜 Software companies

Your company may not be in the software business, but eventually, a software company will be in your business. — Naval on Twitter

10 September 2023 Â· 1 min Â· 23 words

🔗 PNGme: An Intermediate Rust Project

Introduction - PNGme: An Intermediate Rust Project This guide is intended to fill the gap between heavily directed beginner tutorials and working on your own projects. The primary goal here is to get you writing code. The secondary goal is to get you reading documentation. If you haven’t read The Rust Programming Language yet, I highly encourage you to do so before attempting this project. This guide does not cover any language features. ...

7 September 2023 Â· 1 min Â· 73 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.

6 September 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

24 August 2023 Â· 1 min Â· 56 words

🔗 Weak Passwords

http://weakpasswords.net 100~ common passwords based on last 90 days, updated daily

15 August 2023 Â· 1 min Â· 11 words

📜 Gregor’s Law

Excessive complexity is nature’s punishment for organizations that are unable to make decisions. — Gregor Hohpe in The Architect Elevator You can trace its origin to my original blog post on IT complexity from 2018.

14 August 2023 Â· 1 min Â· 35 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. ...

31 July 2023 Â· 5 min Â· 1030 words

🔗 I fucking hate Jira

I fucking hate Jira. Real opinions from real people about a project management system which unfortunately is also real. “Jira isn’t bad if setup in a lightweight fashion” is a 🩄 argument. If something is customisable, people will customise. Jira is the MySpace of issue tracking systems.

20 June 2022 Â· 1 min Â· 47 words

💭 PHP shenanigans

Pop quiz about PHP and something we’ve stumbled upon last week, while working on a client’s codebase. ...

15 April 2019 Â· 2 min Â· 294 words
Father pointing to a slate board with a lock drawn in chalk and his 2 twin sons looking at it, in black and white crayons

💭 Educating security

A real story of how following good security practices is both easier to do than ad-hoc methods, and it spreads quickly to others.

18 March 2019 Â· 3 min Â· 461 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.

13 May 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. ...

12 May 2015 Â· 1 min Â· 94 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 )

8 March 2015 Â· 1 min Â· 42 words