Search the archive

Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.

Results

9,381 matches

TOO MUCH OF A GOOD THING: THE TRADE-OFF WE MAKE WITH TESTS

Aiming for 100% code coverage can lead to unintended consequences, such as having engineers write unrelated tests or "cheating" the system to reach 100% at all costs. Teams should be deliberate in deciding how much risk to take on when writing tests. Measure the cost of writing tests versus the cost of bugs to make informed decisions. In certain contexts, it’s the ethical thing to do to write extensive tests, such as for critical software like pacemakers.

2024.02.07
ntietz.com5 min readTLDR Web Dev

WE MIGHT WANT TO REGULARLY KEEP TRACK OF HOW IMPORTANT EACH SERVER IS

A significant air conditioning failure in a machine room led to the need to power off machines to prevent overheating. Deciding which machines to turn off was not straightforward. Maintaining documentation on the importance of each machine and its dependencies is helpful for situations like these. While this documentation takes a lot of effort, it also helps engineers understand the system's connections and dependencies, making it a valuable resource in case of future failures.

2024.02.07
utcc.utoronto.ca2 min readTLDR Web Dev

WHY WE CAN'T HAVE NICE SOFTWARE

There’s a paradox of software being too powerful and efficient, which makes it challenging to maintain profitability and often causes unnecessary software churn. Software today often is never completed due to the need for yearly growth by companies. Old software “rots” and is then replaced by new and supposedly better software. The endless quest for growth means that today’s software often never gets to reach a state of perfect completion.

2024.02.07
andrewkelley.me9 min readTLDR Web Dev

GEPPETTO

Geppetto is a Slack bot that lets teams easily interact with ChatGPT. It integrates with OpenAI's ChatGPT-4 and DALL-E-3 models. Each message generates a conversation thread. The application uses the message history to formulate coherent responses.

2024.02.07
github.comGitHub repositoryTLDR Web Dev

BOUNCY BALL

Bouncy Ball compares web animation techniques by showing how to bounce a ball with each one. Multiple code examples in different languages are shown, including vanilla JavaScript, pure CSS, jQuery, Anime.js, and more.

2024.02.07
sparkbox.github.ioToolTLDR Web Dev

SERVOR

Servor is a dependency-free file server for modern web app development. It supports HTTPS, live reloading, gzip, hot reload, frontend routing, and more.

2024.02.07
github.comGitHub repositoryTLDR Web Dev

HOW SLOW IS SELECT * ?

"SELECT *" SQL queries fetch all columns from a row-store database. This is often quite slow due to issues like index-only scans, deserialization cost, external storage for large columns, network cost, client deserialization, and unpredictability. Selecting only the necessary columns avoids unnecessary overhead and leads to faster, more efficient queries.

2024.02.07
medium.com4 min readTLDR Web Dev

INTRO TO WEB MONETIZATION

The Web Monetization API simplifies online payments for website users and owners by allowing visitors to pay a chosen amount directly to websites using a browser extension or native browser support. With the API, website owners no longer need to integrate multiple payment methods and currencies. Instead, they can merely signal their acceptance of payments in code, and browsers would facilitate the payment process.

2024.02.07
webmonetization.org4 min readTLDR Web Dev

POSTGRES IS ENOUGH

A list of GitHub repositories that demonstrate how PostgreSQL can be used for everything, including access control, audit logs, authorization, time-series data, graph data, data visualization, and more.

2024.02.07
gist.github.com1 min readTLDR Web Dev

WHAT IS A HARD ERROR, AND WHAT MAKES IT HARDER THAN AN EASY ERROR?

In Windows, "hard errors" are error messages generated from within the I/O system, below the user interface level. Hard errors of this type disappeared in 32-bit Windows - the term "hard error" has been repurposed to describe other critical low-level error messages.

2024.02.07
devblogs.microsoft.com1 min readTLDR Web Dev

Sponsored

The event of the year, POST/CON [5] is the place to be if you’re looking to hear from industry leaders, gain new skills, or engage with the global API community. And there’s a 50% discount if you sign up early [5]! A small taste of what you can expect from the huge two-day event on April 30-May 1:

2024.02.06
postman.comSponsorTLDR Web Dev

HOW WE INCREASED SEARCH TRAFFIC BY 20X IN 4 MONTHS WITH THE NEXT.JS APP ROUTER

Properly optimizing a Next.js web application can lead to much faster load times, and thus, much better search traffic from Google. Some of the techniques that can be used to speed up a Next.js web app include using server-side rendering as much as possible, fetching server-side and hydrating client-side, bootstrapping the most important data, creating ghost components, removing excess providers, and optimizing font loading. This post goes deep into the technical aspects of each of these techniques, providing detailed images, explanations, and code examples.

2024.02.06
hardcover.app21 min readTLDR Web Dev

REDUCING BIGQUERY COSTS BY 260X

Implementing clustering in large tables can help reduce BigQuery costs significantly. This article provides an example of a MERGE query and compares the costs and performance between clustered and unclustered tables. The results show that clustering can lead to a 260x reduction in data processed, 20x lower slot time, and 268x lower costs.

2024.02.06
blog.peerdb.io4 min readTLDR Web Dev

WHY DOES GOOGLE RECOMMEND MODULAR MONOLITHS INSTEAD OF MICROSERVICES?

A recent Google paper found that most of its developers split binaries for one of the following reasons: performance improvements, fault tolerance, abstraction boundaries, and/or flexible rollouts. The paper recommends developers use modular monoliths to write applications and leverage a runtime to dynamically and automatically assign components to physical processes. This approach has worked for Google: it reduces application latency by up to 15x and costs by up to 9x.

2024.02.06
x.com3 min readTLDR Web Dev

HOW NOT TO BOMB YOUR OFFER NEGOTIATION

This is one of the most original guides on offer negotiation for software engineers. It covers both the big picture and the nitty-gritty of offer negotiation, including a step-by-step process of a successful negotiation. Some of the advice offered includes trying to negotiate over the phone if possible, having alternatives, and asking for more by being motivated by more than just money. This article provides several real-life example scenarios of negotiation.

2024.02.06
haseebq.com29 min readTLDR Web Dev

2024 GUIDE TO MENTORING FOR SOFTWARE ENGINEERS

Mentoring others is often an essential part of being a senior engineer or manager. This article covers everything you need to know about finding someone to mentor and setting them up for success from start to finish. Topics range from how to find a mentee to managing your relationship to help them grow, how to provide actionable feedback in an empathetic way, and tools for crafting a growth plan with them.

2024.02.06
open.substack.com8 min readTLDR Web Dev

BROWSERS ARE WEIRD RIGHT NOW

Arc Browser has intuitive tab management and a good picture-in-picture mode. Firefox has cross-platform support and personal customization options. Chrome is what everybody practically uses. Safari is battery-friendly on macOS.

2024.02.06
tylersticka.com2 min readTLDR Web Dev

PANDA CSS

Panda CSS is a styling engine that generates CSS-in-JS styles in a type-safe and readable way. It is compatible with various frameworks, including Next.js, Vue, Svelte, and Astro.

2024.02.06
panda-css.comToolTLDR Web Dev

WEB2PDF

Web2PDF is a CLI to convert web pages into well-formatted PDFs.

2024.02.06
github.comGitHub repositoryTLDR Web Dev

NATURALSQL

NaturalSQL is a series of LLM models that can produce accurate SQL from natural language.

2024.02.06
github.comGitHub repositoryTLDR Web Dev

VESUVIUS CHALLENGE 2023 GRAND PRIZE AWARDED: WE CAN READ THE FIRST SCROLL!

The Vesuvius Challenge asked people to use AI to read an ancient library of papyrus scrolls that are now stored in Naples, Italy. The scrolls are rolled up and practically lumps of carbonized ash, so they cannot be opened without being severely damaged. A team of three won the prize of $700k for being able to read 5% of the scroll. There are now multiple new challenges and 6-figure dollar amounts available in prizes to continue reading the rest of the scroll. So far, the scroll talks philosophically about pleasure and how to enjoy life.

2024.02.06
scrollprize.org18 min readTLDR Web Dev

MAKING A PDF THAT’S LARGER THAN GERMANY

A couple of years back, a tweet claimed that the maximum size of a PDF is half of Germany. This post dives into this claim and proves how big PDFs can actually be. It also explains the inner structure of PDFs and how you can change page sizes. Most PDF sizes are limited only by the PDF reader and not the PDF itself. Turns out, the biggest size of a PDF is 15 million inches, or roughly the distance of Earth to the moon.

2024.02.06
alexwlchan.net9 min readTLDR Web Dev

GOOGLE THROWS $1M AT RUST FOUNDATION TO BUILD C++ BRIDGES

Google has donated $1 million to the Rust Foundation to enhance interoperability between the Rust programming language and C++. This move aims to improve memory safety, as memory safety errors are a significant source of vulnerabilities for Google and Microsoft.

2024.02.06
theregister.com4 min readTLDR Web Dev

HTTP GARDEN

The HTTP Garden is a collection of HTTP servers and proxies with scripts to interact with them that allow for finding vulnerabilities easier.

2024.02.06
github.comGitHub repositoryTLDR Web Dev

SQUEEZING LAST BIT OF JAVASCRIPT PERFORMANCE FOR MY AUTOMATION GAME

An author of a web-based factory automation and economy simulation game shares how they used various performance optimization techniques to reduce the game’s execution time from 21 seconds to 4 seconds. These techniques include replacing strings with small integers, using memoization extensively, and switching to Map/Set data structures when possible. Each optimization is walked through with a corresponding code example.

2024.02.05
ruoyusun.com13 min readTLDR Web Dev

CONSISTENCY

The concept of linearizability involves translating potentially overlapping histories of operations into equivalent sequential behaviors. This is an important concept to understand when implementing queue data structures. Achieving linearizability in a distributed queue is difficult as it’s challenging to achieve consistency without trading off availability and partition tolerance. This post explains various consistency properties, including monotonic reads, read-your-writes, writes follow reads, monotonic writes, and the consistent prefix. These properties allow developers to understand how to reason about correctness in distributed systems.

2024.02.05
surfingcomplexity.blog13 min readTLDR Web Dev

INTRODUCTION TO WEB COMPONENTS AND HOW TO START USING THEM

Web components are a way to create encapsulated, reusable code blocks for web development. They are custom HTML elements that allow developers to define their own elements, register them, and control them using JavaScript. The benefits of web components are that they offer stability, independence from JavaScript frameworks, and allow for better collaboration between UX and development teams.

2024.02.05
thenewstack.io7 min readTLDR Web Dev

WRITE CODE FOR THE WEB

Apple primarily prioritizes its consumers over developers, so some developers are shifting their focus towards writing code for the web. The web is open and therefore cannot be locked down by corporations. Each company has different incentives when it comes to users, which can lead to Google not fixing certain bugs and Apple being strict about the capabilities of developers on its devices. A strategy for dealing with this is reducing your dependence on big company products when they try to put you in a zero-sum game and re-engaging more with them if they're willing to be more symbiotic.

2024.02.05
mrmr.io8 min readTLDR Web Dev

BROWSER EXTENSIONS ARE UNDERRATED: THE PROMISE OF HACKABLE SOFTWARE

Browser extensions are a great platform for users to modify and personalize their online experiences in creative ways. Today, most users use browser extensions for utilities like ad blocking and password management. Extensions in the future should be more malleable, where users are able to control and personalize the experience each browser extension offers. This article shares some tools to help developers monetize browser extensions and also create extensions from a spreadsheet.

2024.02.05
geoffreylitt.com8 min readTLDR Web Dev

Sponsored

📺 DEBUGGING NEXT.JS APPLICATIONS WITH SENTRY

This 7-part technical video series [11] is a must-bookmark for anyone building in Next.js. Learn about application monitoring, sourcemaps, event context, alerts, distributed tracing, session replay — and everything else you need to build and test resilient apps. Free to

2024.02.05
sentry.ioSponsorTLDR Web Dev

TINTS

Tints is a Tailwind CSS color palette generator. Each palette is easy to create and has a unique shareable URL for teams.

2024.02.05
tints.devToolTLDR Web Dev

HIGHLIGHT

Highlight is an open-source monitoring tool. It comes with full support for web-based session replay, error monitoring, and logging.

2024.02.05
github.comGitHub repositoryTLDR Web Dev

PKL

Pkl is a programming language for configuration files. Developers can define their data in Pkl and generate output in JSON, YAML, and other configuration formats easily. Pkl allows developers to catch errors before deployment.

2024.02.05
pkl-lang.orgToolTLDR Web Dev

THE PAIN POINTS OF BUILDING A COPILOT

AI copilots are AI assistants that use LLMs to assist with various tasks. The development process for copilots involves exploration, implementation, evaluation, and productization. However, it is a messy and iterative process due to the non-deterministic nature of LLMs. Pain points faced by developers in this process include prompt engineering, orchestration of data sources, testing difficulties, lack of best practices, safety and privacy concerns, and the developer experience. There are opportunities for tools and processes to assist developers in building copilots more effectively, such as prompt authoring and validation support, transparency and control enhancements, automated measurement methods, and a centralized platform for integrating AI into projects.

2024.02.05
austinhenley.com4 min readTLDR Web Dev

OVER THE EDGE: THE USE OF DESIGN TACTICS TO UNDERMINE BROWSER CHOICE

Mozilla commissioned a report by independent researchers that details how Microsoft hinders browser choice on Windows. Microsoft promotes its Edge browser within its operating system, using user interface design tactics to discourage users from selecting rival browsers. These tactics are not always in line with Microsoft's own design guidelines and can harm consumers and competition. The report emphasizes the need for global regulatory action to ensure browser choice and competition are restored to be more fair.

2024.02.05
research.mozilla.org3 min readTLDR Web Dev

41 YEARS IN UX: A CAREER RETROSPECTIVE

In this article, Jakob Nielsen, a prominent figure in the field of user experience (UX), reflects on his 41-year career in UX. He traces his journey from childhood experiences with psychology and early encounters with computers to his time as a university professor and his transition into the real world of UX. Nielsen highlights three significant achievements: presenting a paper on discount usability and the 10 usability heuristics, publishing the book "Designing Web Usability," and his efforts to raise public awareness of UX. He also mentions his involvement with Google in its early days and emphasizes that while technology has evolved, the mission of making computers suitable and pleasant for humans has remained constant throughout his career.

2024.02.05
uxtigers.com14 min readTLDR Web Dev

WHY ISN’T THE HTML ELEMENT 100% SUPPORTED ON CANIUSE.COM?

The html element is not 100% supported on CanIUse because of some deprecated and non-standardized features associated with the element. However, that doesn’t explain it entirely and the exact reasons are unknown, though rounding errors are suspected as a possible cause. CanIUse is a site that lists what HTML tags are supported by browsers.

2024.02.05
anderegg.ca2 min readTLDR Web Dev