Codeminer42 Dev Weekly #14

HELLO EVERYONE!!! It’s June 7, 2024, and you are reading the 14th Codeminer42’s weekly tech news report. Let’s check out what the tech world showed us this week!

Why I Retired From the Tech Crusades – by David Heinemeier Hansson, the DHH

The popular DHH reflects on his decision to retire from the "tech crusades" and discusses the importance of showing the greatness of a programming language or framework rather than trying to convince others through arguments. He emphasizes that programmers have different preferences and passions, and it’s important for each individual to find the language or framework that suits them best. David is passionate about programming and encourages others to try coding in a way that works best for them.

How Kubernetes succeeded – by Sergey Pronin

Check it out and understand how the famous Kubernetes (k8s) started as a tool for container orchestration and has now become the leading platform for cloud-native applications after ten years.

Promises From The Ground Up – by Joshua Comeau

Our friend Joshua talks about the importance of understanding Promises in JavaScript, especially for working with asynchronous code. He explains the limitations of JavaScript, the use of callbacks, and the introduction of Promises to solve the issues of Callback Hell.

JAX in 100 Seconds – by Jeff Delaney

Once again here, Jeff introduces JAX, not the Mortal Kombat’s fighter, but a high-performance linear algebra library developed by Google, which allows for fast numerical computing on advanced hardware using immutable arrays and pure functions. JAX is similar to NumPy (used in Python) but enforces these constraints for the automatic compilation of low-level code for GPUs and TPUs. If you love math, you will love JAX

Architectural Trade-Offs: The Art of Minimizing Unhappiness – by Pierre Pureur & Kurt Bittner

The article discusses the importance of making trade-offs in architectural design to minimize unhappiness. It emphasizes that perfect architectures do not exist due to unknown and inconsistent Quality Attribute Requirements (QARs). The main skill in architecting is making trade-offs, which are essential for getting a solution to market and creating architectures that are good enough to survive and thrive, even if they are imperfect.

Managing Architectural Tech Debt – by John Vester

This interesting post talks about the concept of Architectural Tech Debt (ATD) and its impact on software development. The author shares a personal experience with a project that suffered from architectural tech debt due to unsuitable architecture choices. Check it out!

Implementing Role Based Access Control (RBAC) in Node.js and Express App – by Ege Aytin

This useful post shows us how to implement Role-Based Access Control (RBAC) in a Node.js and Express application using Permify. But is good to know that authorization is not a one-time setup, but an ongoing process that requires regular review, testing, and adaptation.

The JavaScript this Keyword Explained with Examples – by Kamaldeen Lawal

The author shows us the importance of the JavaScript this keyword and how it can be implicitly or explicitly determined using the call(), apply(), and bind() methods. He also discusses why these methods were introduced to JavaScript and the benefits of using them. Overall, it provides a comprehensive understanding of how to control the context of a function and its arguments in JavaScript.

How to Use Tailwind CSS for Your Ruby On Rails Project – by Thomas Riboulet

This blog post shows how to use Tailwind CSS for a Ruby on Rails project. It discusses the utility-first approach of Tailwind CSS, compares it to other frameworks like Bootstrap, explains how to set up Tailwind in a Ruby on Rails environment, configure Tailwind for Rails, and provides examples of using Tailwind for styling a form and a responsive navigation bar.

Develop a Serverless TypeScript API on AWS ECS with Fargate – by Camilo Reyes

Our friend Camilo shows us how to develop a serverless TypeScript API on AWS ECS with Fargate. It discusses the benefits of using Fargate over lambda functions for high-traffic volumes and provides step-by-step instructions on building the API. The post highlights the cost-saving potential of Fargate for predictable traffic and heavy loads.

Queuing Theory for Software Engineers – by Oresztesz Margaritisz

This highly recommended article presents us with the basics of queuing theory for software engineers, emphasizing the importance of understanding queues about latency, throughput, capacity estimations, and workload optimization. The article highlights the significance of monitoring queue length, utilization, latency distribution, and setting targets for better system understanding.

And that’s all for this week! Wish you all a great weekend and happy coding!

We want to work with you. Check out our "What We Do" section!