Top 3 in Tech: Coding principles, Cryptography for developers, Favicons

Hi again!

Mads here with more development advice and awesome resources to help you crush it as a developer and improve your career - issue #40 of the Top 3 in Tech newsletter in a row!

Huge thank you for being a part of this journey so far, I'm glad you're enjoying the weekly updates. And without further ado, let's go:

1. Coding principles

If you work as (or currently study to become) a developer, you might've heard of something like the SOLID principles of object-oriented programming.

In case you haven't, SOLID is an acronym for 5 software engineering principles: 1. Single Responsibility 2. Open/Closed 3. Lisskov Substitution 4. Interface Segregation and 5. Dependency Inversion.

And if you're anything like me, these words don't mean a single thing to you.

These principles, while great, can feel very disconnected from how we actually develop websites and apps nowadays. That's why I prefer coding by a few easier to understand concepts, that you can apply in your own work every day:

  1. Keep it simple stupid (KISS). The KISS principle helps you answer which direction you should take a certain feature, or design, or idea. By forcing yourself to always keep it simple, you’ll end up with systems that are easier to use and has less bloat. It helps to avoid unnecessary complexity that evolves from convoluted design. And making systems simple is actually the best ways to make them awesome - because simple systems are easier to use, and avoids many pitfalls of complex systems.
  2. You aren't gonna need it (YAGNI). The idea behind YAGNI is that “you should not add functionality until deemed necessary”. It stems from the fact that a lot of software becomes bloated, or worse, never gets shipped because there’s always more features to add. Whenever you’re about to add a piece of functionality to your project, try to think if this feature will actually benefit the user (or if it’s just a fancy idea that someone came up with). If you don't need it right now, then don't create it right now. Simple.
  3. Don't repeat yourself (DRY). Keeping your code "DRY" means to avoid copy/pasting code, as that can lead to inconsistencies and be difficult to maintain. If you find yourself copy/pasting code, chances are that you need an abstraction. Example: you need a global navigation across all the pages on your website. In pure HTML, with 4 pages, you would need to copy/paste the navigation code 4 times, once for each file. If you then wished to change one of the navigation items, you’d have to change it in 4 places - or the result will be inconsistent. By moving this into a template partial or component, you can keep all the navigation code in 1 place.

I find these 3 principles much more tangible, easier to understand AND more applicable in day-to-day work. I also recommend using them mostly as guidelines, rather than hard and fast rules. Sometimes you need to create something complicated, and sometimes copy/pasting code once is a better solution than creating an abstraction.

But keeping these 3 basic rules in mind should help you make much better decisions when working on your projects!

2. Cryptography for developers

I promise, this is not about Bitcoin.

Cryptography is one of the most fundamental concepts of computer security, and every day you're using a web browser, you're making use of cryptography.

In this video by Fireship, he covers the fundamental building blocks of cryptography and how to implement them in Node. And while you may not be actively thinking about these things daily, understanding the underlying concepts is a great investment for all developers.

Check out the video on 7 Cryptography concepts every developer should know

3. Favicons

The final pick for this week is an awesome article I came across recently, where the author analyzed 425,909 Favicons from different websites. The favicon is a very subtle, but important part of a website - and the article covers a lot of "do's and don'ts" around favicons (and is just generally super entertaining).

Educational AND fun - just like this newsletter!

Check out the article


Thanks for reading! I would really appreciate if you would share the newsletter with your friends on Twitter, Facebook, LinkedIn, by email or copy/paste the link mads.fyi/top3 on other platforms. It really helps to keep me motivated and let the newsletter grow ✌

Until next time,

Mads Brodt

Older messages

Top 3 in Tech: You are not your code, NextJS 12, Tailwind JIT CDN

Wednesday, October 27, 2021

Getting too attached to your code can be dangerous, as it hampers your ability to learn - here's how to deal with it. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Top 3 in Tech: JavaScript array methods, New MacBook Pros, Have single-page apps ruined the web?

Wednesday, October 20, 2021

Properly learning the common JavaScript array methods will be a huge productivity boost when writing JS code ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Top 3 in Tech: Embracing your tools, React Remix, SVG animations with CSS

Thursday, October 14, 2021

How learning basic tools can greatly increase your development productivity and improve your workflow ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Top 3 in Tech: Facebook's downtime, Animating with Lottie, CSS Box Model

Wednesday, October 6, 2021

What can we learn from Facebook's disastrous downtime? ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Top 3 in Tech: Beating the interviews, Animating with GSAP, Rethinking Reactivity

Wednesday, September 29, 2021

Landing a development job can be tough - but with a few simple tactics, you can greatly improve your chances of getting hired ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your