tech/webdev magazine

October 1, 2024

How to fetch data in React

Tuesday, October 01, 2024 Teklinks

Newcomers to React often start with applications that don't need data fetching at all. Usually they are confronted with Counter, Todo or TicTacToe applications. That's good, because data fetching adds another layer of complexity to your application while taking the first steps in React.

Full article

September 27, 2024

Web Components Are Not the Future

Friday, September 27, 2024 Teklinks

A few years ago I wrote an article suggesting that Web Components might not be the most beneficial direction for Web development to head. It was a soft-handed look at where they made sense and where things fall apart. It wasn't geared as a "us against them" argument and I hoped people would come to reasonable conclusions for themselves.

Full article

Why we developed the Node.js reference architecture

Friday, September 27, 2024 Teklinks

Welcome to this new series introducing the Node.js reference architecture from Red Hat and IBM. This article is an overview of our reasons for developing the Node.js reference architecture—both what we hope the architecture will offer our developer community and what we do not intend it to do.

Full article

September 25, 2024

Vim for React Developers

Wednesday, September 25, 2024 Teklinks

Vim has been around for over 30 years, and vi (which Vim extends) almost 50 years. So why does it feel like everyone is talking about Vim right now? There’s been a Vim renaissance lately from the popularity of Neovim and its growing community.

Full article

Component Composition is great btw

Wednesday, September 25, 2024 Teklinks

When I first learned about React, I heard about all of its advantages: Virtual DOM is super fast, one-way data flow is very predictable, and JSX is ... an interesting way to put markup into JavaScript. It's easy to miss this advantage if you've always been used to it.

Full article

Compile and run C in JavaScript

Wednesday, September 25, 2024 Teklinks

From compression to cryptography to networking to the web browser you're reading this on, the world runs on C. If it's not written in C, it speaks the C ABI (C++, Rust, Zig, etc) and is available as a C library. C and the C ABI are the past, present, and future of systems programming.

Full article

September 24, 2024

Storage Disaggregated Databases and Shared Transaction Log Architecture In Comparison

Tuesday, September 24, 2024 Teklinks

There are two great papers published recently regarding database storage architecture:Understanding the Performance Implications of the Design Principles in Storage-Disaggregated Databases — Xi Pang et. al., Sigmod, June 2024 (I will call it the “LogDB” in this post, a term from the paper). Taming Consensus in the Wild (with the Shared Log Abstraction) — M. Balakrishnan, ACM SIGOPS Operating Systems Review, August 2024 (I will call it the “shared log” in this post to differentiate from the above)

Full article

September 22, 2024

Introducing TanStack Router

Sunday, September 22, 2024 Teklinks

TanStack Router is an incredibly exciting project. It’s essentially a fully-featured client-side JavaScript application framework. It provides a mature routing and navigation system with nested layouts and efficient data loading capabilities at every point in the route tree.

Full article

Your company needs Junior devs

Sunday, September 22, 2024 Teklinks

Getting coffee with a bunch of local tech leaders, I surprised myself with how stridently I argued why companies should hire junior engineers. Lately, BigTech only wants elite squads of Staff devs that can “hit the ground running” on the big (often AI) initiative.

Full article

September 19, 2024

Cleaner JavaScript promises with safe-await

Thursday, September 19, 2024 Teklinks

Nested try/catch blocks are a common pattern in JavaScript when working with promises. However, they often lead to hard-to-read and maintain code. This code is hard to read and maintain. The final return result is buried halfway through the script, making it difficult to trace error handling.

Full article

Optimising for High Latency Environments

Thursday, September 19, 2024 Teklinks

Last week, I posted a short update on LinkedIn about CrUX’s new RTT data. Go and give it a quick read—the context will help. Chrome have recently begun adding Round-Trip-Time (RTT) data to the Chrome User Experience Report (CrUX).

Full article

September 18, 2024

How Infinite Queries work

Wednesday, September 18, 2024 Teklinks

This week, a very interesting bug report was filed for Infinite Queries in React Query. It was interesting because up to this point, I firmly believed that React Query doesn't have any bugs.

Full article

Hey, this is Hono's RPC

Wednesday, September 18, 2024 Teklinks

The web framework Hono is often compared to another popular JavaScript framework, Express. Both can do similar things, but Hono has an advantage: it supports TypeScript as a first-class.

Full article

September 17, 2024

Claude 3.5 Sonnet vs GPT-4o — An honest review

Tuesday, September 17, 2024 Teklinks

Anthropic, the company behind the Claude series of models, has released Claude 3.5 Sonnet. It comes at a time when we all have accepted GPT-4o to be the default best model for the majority of tasks like reasoning, summarization, etc.

Full article

September 15, 2024

Why GitHub Actually Won

Sunday, September 15, 2024 Teklinks

A few days ago, a video produced by @t3dotgg was posted to his very popular YouTube channel where he reviews an article written by the Graphite team titled “How GitHub replaced SourceForge as the dominant code hosting platform”.

Full article

Zustand adoption guide: Overview, examples, and alternatives

Sunday, September 15, 2024 Teklinks

Since the rise of dynamic applications, state management has been a primary concern for developers using modern frontend frameworks to build SPAs. State management solutions enable developers to share data locally in a component and globally between the multiple pages of an application.

Full article

September 13, 2024

From Parcel to Vite: A short story of a 100K LOC migration

Friday, September 13, 2024 Teklinks

We have three main frontend projects at Logto: the sign-in experience, the Console, and the live preview. These projects are all in TypeScript, React, and SASS modules; in total, they have around 100K lines of code. We loved Parcel for its simplicity and zero-config setup. I can still remember the day when I was shocked by how easy it was to set up a new project with Parcel. You can just run parcel index.html and boom, all necessary dependencies are installed and the project is running.

Full article

Sticky Headers And Full-Height Elements: A Tricky Combination

Friday, September 13, 2024 Teklinks

Sticky positioning is one of those CSS features that’s pretty delicate and can be negated by a lot of things, so here’s another one to add to your mental catalog: Sticky elements don’t play nicely if they have to coordinate with other elements to make up a combined height, like 100vh. Philip Braunen explores why this happens and presents a solution to fix it.

Full article

September 12, 2024

The web's clipboard, and how it stores data of different types

Thursday, September 12, 2024 Teklinks

If you've been using computers for a while, you probably know that the clipboard can store multiple types of data (images, rich text content, files, and so on). As a software developer, it started frustrating me that I didn't have a good understanding of how the clipboard stores and organizes data of different types.

Full article

React and FormData

Thursday, September 12, 2024 Teklinks

Learn React's newest and yet oldest standard for accessing form data, and the tricks to use it with TypeScript. When you learn how to access form data in React, historically you would have learned about controlled and uncontrolled fields.

Full article

An SSR Performance Showdown

Thursday, September 12, 2024 Teklinks

Server-Side Rendering (SSR) is an often overlooked aspect when building high-performance web applications with Node.js. During my time consulting, many engagements centered around debugging Node.js performance issues. In these scenarios, the culprit is almost always SSR.

Full article

September 11, 2024

The AI Driven Development Glossary

Wednesday, September 11, 2024 Teklinks

As I covered in the introductory article, “The Art of Effortless Programming” (currently being expanded into a book of the same name), AI Driven Development is the process of building software leveraging AI to produce source code or applications, largely automating tasks like code generation, documentation, testing, etc. It can produce profound improvements in productivity, up to an order of magnitude or better.

Full article

Preloading files to reduce download chains in the browser

Wednesday, September 11, 2024 Teklinks

I made a little update to the site today to fix how browsers were loading files needed by other files. The custom font I use and the random quote in the header loads in slightly faster now because the browser is downloading all the files it needs at the same time.

Full article

The future is standalone!

Wednesday, September 11, 2024 Teklinks

Angular v19 will make standalone: true the default for components, directives, and pipes. In v14 we introduced a developer preview “standalone” feature, which made it possible for the first time to build an application that didn’t rely on NgModules.

Full article

September 10, 2024

Web Workers, Comlink, Vite and TanStack Query

Tuesday, September 10, 2024 Teklinks

I've written previously about combining Web Workers and Comlink. I recently found myself needing to use Web Workers again. As I picked them up this time I found myself making some different choices, now I was working in a codebase that used Vite to build.

Full article

Tips from 8 months of TanStack/Router in production

Tuesday, September 10, 2024 Teklinks

On my last day at Tia I wrote a master vision doc for our TanStack Router app. Here are the parts I can share. These are battle-tested patterns and lessons learned from using TanStack Router in production since before v1.

Full article

September 9, 2024

Governing data products using fitness functions

Monday, September 09, 2024 Teklinks

Decentralized data management requires automation to scale governance effectively. Fitness functions are a powerful automated governance technique we've applied to data products within the context of a Data Mesh.

Full article

Good Retry, Bad Retry: An Incident Story

Monday, September 09, 2024 Teklinks

Sometimes, a seemingly simple and obvious solution can lead to a series of problems later on. This is especially true when adding retries. My name is Denis Isaev, and I’d like to share my experience dealing with reliability issues caused by retries.

Full article

Thinking Like an Architect

Monday, September 09, 2024 Teklinks

Key Takeaways Architects aren't the smartest people on the team, they are the ones making everyone else smarter. An architect is an IQ amplifier. Riding the architect elevator means connecting the penthouse with the engine room.

Full article

September 5, 2024

Unified Grid: How We Re-Architected Slack for Our Largest Customers

Thursday, September 05, 2024 Teklinks

All software is built atop a core set of assumptions. As new code is added and new use-cases emerge, software can become unmoored from those assumptions. When this happens, a fundamental tension arises between revisiting those foundational assumptions—which usually entails a lot of work—or trying to support new behavior atop the existing architecture.

Full article

A bundler story: migrating from Webpack to Rspack

Thursday, September 05, 2024 Teklinks

Here at Alan, we have been using Webpack for years. While it has served us well, it has become a bottleneck for development. We recently completed the migration to Rspack, a Rust alternative promising better performance. This is a short story of our journey and learnings.

Full article

My Architecture Drivers

Thursday, September 05, 2024 Teklinks

I don’t feel like an authority or an expert. I prefer to think about myself as a practitioner. Our industry is filled with self-proclaimed experts; we need more doers. For similar reasons, I was reluctant to call myself an “Architect” for a long time.

Full article

September 4, 2024

Component testing in Storybook

Wednesday, September 04, 2024 Teklinks

Over the past decade, web UI technology has evolved by leaps and bounds. In spite of that, it’s harder than ever to build/maintain a production UI in 2024. At Storybook, we work with thousands of the top UI teams around the world, at places like Microsoft, Supabase, and JPMorganChase.

Full article

September 3, 2024

How Micro-Frontends are reshaping Modern Web Architecture

Tuesday, September 03, 2024 Teklinks

Are you frustrated with slow deployment cycles, tightly coupled dependencies, and the cumbersome nature of managing monolithic front-end codebases? These common issues plague many development teams, leading to decreased productivity and delayed project delivery.

Full article

Why Playwright is less flaky than Selenium

Tuesday, September 03, 2024 Teklinks

Yes, this is a link post to my own post on switching Rails system tests from Selenium to Playwright, which is newer, faster, and by all accounts I've ever heard from anyone who's used both of them: better.

Full article

How To Create An NPM Package

Tuesday, September 03, 2024 Teklinks

In this guide, we'll go through every single step you need to take to publish a package to npm. This is not a minimal guide. We'll be setting up a fully production-ready package from an empty directory. This will include:

Full article

September 2, 2024

Regexes Got Good: The History And Future Of Regular Expressions In JavaScript

Monday, September 02, 2024 Teklinks

Although JavaScript regexes used to be underpowered compared to other modern flavors, numerous improvements in recent years mean that’s no longer true. Steven Levithan evaluates the history and present state of regular expressions in JavaScript with tips to make your regexes more readable, maintainable, and resilient.

Full article

How to make your web page faster before it even loads

Monday, September 02, 2024 Teklinks

As developers (and as front end developers in particular), we usually talk about web performance in the context of measuring what happens when we start to see things appear in a browser window, and when we can consume content or interact with the page.

Full article

August 29, 2024

React is (becoming) a Full-Stack Framework

Thursday, August 29, 2024 Teklinks

React, with its addition of Server Components and Server Actions, is evolving into a full-stack framework. Once the most popular frontend framework, it has now successfully bridged the gap between frontend and backend to reign over both sides of the chasm.

Full article

School Bus Tracker System Architecture

Thursday, August 29, 2024 Teklinks

Joud W. Awad In this blog post, we will explore how to build a tracking system for vehicles, specifically focusing on school buses. The design of this system will enable the monitoring of school buses across a broad spectrum of educational institutions.

Full article

August 27, 2024

Implementing React From Scratch

Tuesday, August 27, 2024 Teklinks

My goal here is to walk through my process of building react from the groundup, hopefully giving you an intuition to why things behave the way they do in react. There are many cases where react leaks its abstraction in the interface, so learning how the internals could by implemented is extremely useful to understand the motivation behind those interface designs.

Full article