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

Explaining Prompt Engineering

Friday, November 15, 2024

Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 15, 2024? The HackerNoon

iOS Cocoa Treats

Friday, November 15, 2024

View in browser Hello, you're reading Infinum iOS Cocoa Treats, bringing you the latest iOS related news straight to your inbox every week. Understanding SwiftUI's View Update Mechanism:

The Internet Meets : HackerNoon Startups Specials 🤝

Friday, November 15, 2024

Exclusive Discounts For Startups of the Year Nominees. Save up-to 62%! ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ 

How to 'Flyby' Windows 11 rules

Friday, November 15, 2024

Watch Bluesky growth in real time; 5 ways to catch AI lies; Open source fights back -- ZDNET ZDNET Tech Today - US November 15, 2024 keyboard45gettyimages-1400563623 I tried another way to bypass

📽 Webinar: How Convirza Scaled SLMs for Real-Time Call Analytics – Without Breaking the Bank

Friday, November 15, 2024

Companies that rely on analyzing high volumes of data face a core dilemma: how to deliver real-time insights without burning through budget or engineering resources. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

ASP.NET Core News - 11/15/2024

Friday, November 15, 2024

View this email in your browser Get ready for this weeks best blog posts about ASP.NET Core! Introducing the .NET Aspire Community Toolkit — by slace Authentication and Authorization Enhancements in .

⚙️ Anthropic's nuclear red-teaming

Friday, November 15, 2024

Plus: A look at carceral AI ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

CISA Flags Two Actively Exploited Palo Alto Flaws; New RCE Attack Confirmed

Friday, November 15, 2024

THN Daily Updates Newsletter cover Practical Cyber Intelligence ($79.00 Value) FREE for a Limited Time Overview of the latest techniques and practices used in digital forensics and how to apply them to

Empower yourself through language learning

Friday, November 15, 2024

Your Best Vacation Yet Starts with Babbel Every holiday trip is more than just a vacation—it's an opportunity for adventure, connection, and personal growth. With Babbel, you're not just

Digest #150: AWS RDS Sizing, Redis Alternatives, Ansible Blocks, and macOS in Docker

Friday, November 15, 2024

Master AWS cost-saving strategies, optimize PostgreSQL performance, and streamline DevOps workflows. Plus, explore new ways to manage RDS instances, use Ansible blocks, and run macOS in Docker. ͏ ͏ ͏ ͏