Search the archive
Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.
Results
9,381 matchesBLOCKIN' BOTS
This author blocked AI bots from scraping their website's content by directly editing their .htaccess file to enforce the block, rather than relying solely on robots.txt.
NEW C# 12 FEATURE PROVES CONTROVERSIAL: PRIMARY CONSTRUCTORS ‘WORST FEATURE I'VE EVER SEEN IMPLEMENTED'
The new C# 12 primary constructors feature (for easier class/struct creation) is poorly implemented and less readable, according to C# devs.
Sponsored
GET YOUR BRAND IN FRONT OF MILLIONS OF DEVELOPERS
Companies like AWS, Google Cloud, and Vercel work with TLDR to reach developers at scale with highly customized campaigns (like this one!).
A BRIEF HISTORY OF WEB DEVELOPMENT. AND WHY YOUR FRAMEWORK DOESN'T MATTER
Web development started with simple HTML and CSS. Eventually, client-side JavaScript allowed for more dynamic websites. The need for SEO and performance led to the creation of server-side rendering and frameworks like Next.js. JavaScript's shortcomings led to TypeScript and Svelte. At the end of the day, the core goal of all these evolutions was to create enjoyable user experiences, so the tools being used don't matter much.
HIDDEN GEMS OF TAILWIND CSS
Tailwind CSS has some lesser-known features that can make developing web UIs easier. This article goes over a couple of them, such as using gap-* to add space between elements, accent-* utilities to change the color of checkboxes/radio buttons, and peer-* modifiers to style elements based on the state of sibling elements.
SPEEDING UP C++ BUILD TIMES
C++ build times at Figma were getting so long that it was reducing dev productivity. Figma was able to reduce build times by 50% by using libclang's Python bindings to identify and remove unnecessary header file inclusions, reducing the amount of code the compiler needs to process. It also used a tool to track and address build time regressions over time and “fwd.h” files to centralize forward declarations within code directories.
WE WERE WRONG, WE NEED A DATABASE
This author built a web game called "Binary Duel" using only Go and claimed that features like a cache, queue, and database weren't necessary. However, he admitted that his initial claim was premature and wrong. For better user retention, he decided to add features like a database, login, leaderboard, and ranking system, using Go to implement solutions like in-memory caching and bulk database writes efficiently.
WHY READING WHITEPAPERS TAKES YOUR CAREER TO THE NEXT LEVEL (AND HOW TO DO IT)
Reading academic whitepapers can help engineers build a strong foundation of technical expertise and keep up with industry trends. To get the most out of reading them, devs should use a three-step process to internalize them: first do a high-level skim of the paper, then go through it in a slower, detailed manner, and lastly, write down your takeaways to fully internalize your understanding.
PYSHEETS
PySheets provides a spreadsheet UI for Python in the browser. Users can load any Python package and JS module and perform exploratory data science, use Pandas, create charts with matplotlib, import Excel sheets, analyze data, and create reports.
TEABLE
Teable is a no-code database built on Postgres. It uses a simple, spreadsheet-like interface to create enterprise-level database applications.
COHERE TOOLKIT
A collection of prebuilt components allowing developers to quickly build and deploy RAG applications.
GOOGLE MADE ME RUIN A PERFECTLY GOOD WEBSITE: A CASE STUDY ON THE AI-GENERATED INTERNET
To monetize their website, this author reluctantly added low-quality content to their site to appeal to Google's AdSense approval process. They used AI-generated recipes, poetry, riddles, and a fictional blog to have more content on their site to get through the process successfully. Ironically, despite the site's original high quality, this absurdly bad content allowed them to gain Google's approval to display ads.
THE WALLS OF APPLE'S GARDEN ARE TUMBLING DOWN
Apple's strategy of locking users into its ecosystem with exclusive features and tight control over the App Store is facing external pressures through antitrust lawsuits, legislation, and developer dissatisfaction. Apple is being forced to slowly make concessions, such as the allowance of third-party app stores following European regulation.
ISBOOLEANTOOLONGANDCOMPLEX
To improve the readability of complex Boolean expressions, break them down into smaller, well-named intermediate Booleans or encapsulate the logic within a separate method.
DID WE LOSE OUR WAY IN MAKING EFFICIENT SOFTWARE?
A simple ~30MB Word document is sluggish in Google Docs (on a capable laptop), whereas the same file opens instantly in LibreOffice.
Sponsored
GET YOUR BRAND IN FRONT OF MILLIONS OF DEVELOPERS
Companies like AWS, Google Cloud, and Vercel work with TLDR to reach developers at scale with highly customized campaigns (like this one!). We help manage your campaigns from end to end, ensuring that your performance marketing efforts hit your internal KPIs without breaking your budget. Learn more about working with us [4].
NO ABSTRACTIONS: AN INCREASE API DESIGN PRINCIPLE
HOW ROBINHOOD USES GRAPH ALGORITHMS TO PREVENT FRAUD
Robinhood uses graphs to represent relationships between user accounts. To combat fraud, it uses vertex-centric algorithms (BFS, DFS) for targeted exploration and graph-centric algorithms (Connected Components, PageRank) for broader network analysis. The company uses graph databases to store and query graph-structured data with built-in analytics.
TYPESCRIPT: BRANDED TYPES 🔧
TypeScript's structural typing can make it difficult to differentiate between types with identical structures. To solve this, this article introduces the concept of "branding," which adds a unique symbolic identifier to a type. It shows real-world examples of a “Brand” type and relevant methods like AddBrand and RemoveBrand.
MOST TECH JOBS ARE JOKES AND I AM NOT LAUGHING
While recruiting for a tech job, this author went through a lot of negative interviewing experiences and found that interviewers often focused on superficial factors during interviews. They also found it hard to find a “good” work environment with talented colleagues, minimal bureaucracy, and meaningful work. Still, the author tells readers to not settle for a mediocre job and to try their best to prioritize passion and meaning in their work.
WHAT'S YOUR ONBOARDING LIKE? (REDDIT THREAD)
The dev onboarding process at companies varies a lot, but a good onboarding process allows new devs to build relationships across the team, improve the team's documentation, and get up to speed quickly. A popular comment on this Reddit thread emphasizes the importance of giving a new hire a tiny bug or feature that allows them to push to prod within the first week. This allows them to build momentum and confidence within the team's codebase.
PLASMIC
Plasmic is an open-source visual builder for your codebase. It allows teams to design and build websites fast, with or without code. Its main use cases are for content management and web applications, allowing both devs and non-devs to make edits to a website in a clean manner.
MUI X
MUI X is a collection of advanced React UI components for complex use cases. It includes data grids, date and time pickers, charts, and a tree view component. It can be integrated natively with Material UI or extended by your own design system.
MS-DOS V1.25, V2.0, V4.0 SOURCE CODE
Microsoft has open-sourced the original source code for MS-DOS v1.25, v2.0, and v4.0.
F.C.C. VOTES TO RESTORE NET NEUTRALITY RULES
The FCC has voted to reinstate net neutrality regulations, which means that broadband providers cannot block or slow down access to their competitors' services. While broadband providers are expected to take legal action to overturn these reinstated rules, this ruling stands to make the internet more open by not allowing providers to play favorites with internet traffic.
AN ENGINEER'S GUIDE TO TALKING TO USERS
When engineers talk to users, they get the rich context that they may miss by relying solely on filtered information from others, like product managers. The best users to talk to are power users and those frequently contacting support teams. Engineers should focus on two areas when asking questions: problem exploration (to guide future product direction) and solution validation (to assess new features or demos).
PIET
Piet is a programming language where programs are represented by abstract paintings. The language uses 20 colors with commands determined by the color changes encountered as an interpreter travels through an image. The program manipulates data using a stack and includes commands for arithmetic, logic, stack operations, and input/output.
HASHING EXPLAINED FROM SCRATCH FOR NOOBS
Hashing transforms a large amount of text into a short, unique code (a hash) representing the original content, making it easy to compare data, verify file integrity, and securely store passwords.
CANVAS CONFETTI
A performant confetti animation in JavaScript.
CSS BONFIRE
A Bonfire animation implemented in just CSS.
VISUALIZING MALICIOUS IP ADDRESSES
This author visualized the locations of malicious IP addresses that tried to compromise their web server, with most of the attacks concentrated from parts of Asia, Europe, and the US, and (almost) none from South America, the Middle East, and Russia.
MAKE INVALID STATES UNREPRESENTABLE
Invalid states can lead to runtime errors and less reliable code. However, by shrinking the gap between representable, valid states, errors can be moved from runtime to compile time, which allows them to get caught much earlier. Type systems can and should be used to model business logic that makes invalid states impossible and unrepresentable. This article goes through a few examples, such as a “Color” type that prevents invalid colors.
WHY DON'T WE TALK ABOUT MINIFYING CSS ANYMORE?
Minifying CSS files directly is less important today compared to before because popular front-end frameworks automatically handle minification and code-splitting for developers. Modern compression algorithms can reduce file sizes a lot and HTTP/2 can efficiently deliver multiple smaller CSS files. As a result, developers no longer have to manually minify their CSS.
WHY WE SUCK AT ESTIMATING SOFTWARE PROJECTS
Software is hard to estimate correctly because requirements change often, complexities always come up, and external factors can cause delays. There's no perfect solution to this problem because software development is inherently a creative process.
WHAT IS YOUR DEFINITION OF A UNIT, INTEGRATION, AND E2E TEST?
Various software engineers were polled on the difference between different types of tests. The general consensus was that unit tests test the smallest units of code, like methods. Integration tests verify interactions between different parts of a system. End-to-end tests focus on the overall user journey and are more heavyweight.
LANGCSS
LangCSS is an AI assistant specifically trained on Tailwind CSS to help you generate forms, buttons, and other web elements easily. You can chat with it to describe your ideas and the AI assistant will generate code in real time.
REACT NATIVE 0.74 - YOGA 3.0, BRIDGELESS NEW ARCHITECTURE, AND MORE
React Native 0.74 adds Yoga 3.0 (a layout engine), Bridgeless mode as the default, and Yarn 3 as the default package manager. There are other updates such as the removal of deprecated APIs.
PRAGMATIC DRAG AND DROP
This is Atlassian's open-sourced drag-and-drop toolchain. It can be used with any view layer, such as React, Svelte, and Angular, and currently powers products like Trello, Jira, and Confluence.
THE RISE AND FALL OF THE LAN PARTY
LAN parties were gatherings where gamers would connect their computers to a local network to play games with minimal network lag. LAN parties declined over time because the internet got faster and consoles became more popular.
WHY AREN'T WE TALKING ABOUT CONTINUOUS IMPROVEMENT?
Continuous improvement is a key principle of Agile and Lean, but it's not as popular anymore in tech companies. Layoffs and transformations often happen without employee involvement, and there's a general lack of engagement in improving processes.
WEB GAME ENGINES & LIBRARIES
A list of various JavaScript engines and libraries for real-time 2D and 3D graphics in web browsers.
ERIC SCHMIDT-BACKED AUGMENT, A GITHUB COPILOT RIVAL, LAUNCHES OUT OF STEALTH WITH $252M
Augment, a startup backed by Eric Schmidt (former CEO of Google), has launched to rival GitHub Copilot with a new AI-powered coding platform.
THE MODERN REACT TUTORIAL (RSCS, NEXT.JS, SHADUI, DRIZZLE, TS, AND MORE) (3 HOUR VIDEO)
An in-depth YouTube tutorial on modern React.
IBM TO BUY HASHICORP IN $6.4 BILLION DEAL TO EXPAND IN CLOUD
IBM will acquire cloud infrastructure automation company HashiCorp in a $6.4 billion deal to grow its own cloud business.
Sponsored
GET YOUR BRAND IN FRONT OF MILLIONS OF DEVELOPERS
Companies like AWS, Google Cloud, and Vercel work with TLDR to reach developers at scale with highly customized campaigns (like this one!).
LATENCY NUMBERS EVERY FRONTEND DEVELOPER SHOULD KNOW
Frontend developers should know some basic latency numbers as web page load times and user action responsiveness online are often influenced by network latency. For example, 200ms is the duration of time perceived by humans as “sluggish.” It takes about 150ms to parse about 1MB of JavaScript.
LESSONS FROM BIG TECH ON BUILDING RESILIENT PAYMENT SYSTEMS
For resilient payment systems, Big Tech uses idempotency keys to prevent duplicate transactions and sets short timeouts to provide quick feedback to users. Circuit breakers, like in the stock market, are used to prevent cascading failures. These companies monitor the “four golden signals” (latency, traffic, errors, and saturation) to find and fix issues before they affect users.
AI PROGRAMMING TOOLS SHOULD BE ADDED TO THE JOEL TEST
The “Joel Test” rates the quality of a software development team. It should be updated so that employers who allow the use of AI tooling while coding are given a boost.
FROM A LORRY DRIVER TO RUBY ON RAILS DEVELOPER AT 38
This interview tells the story of Pedro, who transitioned from a lorry driver to a Ruby on Rails developer at the age of 38. He was relentless in getting his first job after learning to program online through a bootcamp. Pedro encourages developers to always focus on learning, ask questions often, and find a mentor to help them grow faster.