IF YOU SUCCEED, YOU WILL FAIL
Sometimes, success can lead to inevitable failure. This is especially when success is achieved through short-term strategies.
Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.
Sometimes, success can lead to inevitable failure. This is especially when success is achieved through short-term strategies.
Google has released a command line tool for performing code reviews on git repositories. This tool is a distributed code review system for git repos. Code reviews are stored inside of the repository as git objects. Every developer in a team has their own copy of the review history that they can push or pull. The tool automatically merges updates from the remote repo when pulling.
LearnDB helps students better understand the internals of databases by implementing a relational database management system from scratch. It allows students to delve into the internals of a functioning relational database and learn from it.
Supabase Studio 3.0 has been released with big improvements to its AI SQL editor. You can interact with your SQL queries as easily as talking to ChatGPT.
An interesting read on how Discord rolled out WebAuthn and YubiKeys to all its employees in global locations. The article talks about why Discord made the decision to transition - the vulnerability of traditional MFA methods to phishing and SIM jacking attacks. Discord's rollout involved migrating to Okta as their primary Identity Provider, distributing two or more Web Auth authenticators, like YubiKeys, to all employees, and implementing a phased rollout plan across different departments. The article highlights the challenges and lessons learned during the rollout, many of which can be applicable to many other corporate environments.
No matter what kind of company you intend to build — open source or proprietary, DevTool or not — at least one of the company founders will have to close deals at the beginning of the company’s life. Even as the company gets larger, founders still need to be involved in sales, especially big deals. Selling open source software can be difficult, but talking to multiple experienced open-source salespeople can provide some eye opening perspectives.
A quick look into JavaScript’s waitFor, an async function that allows developers to provide a condition function, polling interval, and optional timeout.
Short stories about some of the ways AI regulation could increase existential risk to humanity.
Interacting with the server used to be painful in React. React’s new Server Actions makes building forms much easier.
Sponsored
How confident are you that the new feature you launched is performing as expected? Synthetic monitoring enables teams to launch new features in production while maintaining software quality. If you’re in application engineering, quality assurance, or DevOps/SRE, it should be an important part of your toolkit.
Explore is a recommendation system on Instagram that uses machine learning to show users content they'll like. Meta uses advanced machine learning models, like Two Towers neural networks, to help Explore be more scalable and flexible. This article goes over the techniques the Meta team uses, such as ranking and Bayesian optimization.
The Linux kernel is often mentioned as an overwhelmingly large piece of open source software. However, the first version of Linux, v0.01 was pretty small. It consisted of only 10,239 lines of code. This article dives through some interesting tidbits in Linux v0.01, such as system calls and what the file system supported at the time.
Back in 2009, anyone with a Nokia phone could have a personal website running on their own phone. However, this was never widely adopted because there was no incentive for large companies to standardize it. Being able to run a server on your phone should be more normal, especially with the computing power that phones today are able to provide.
Senior engineer (L5) is the first level that big tech recognizes as a “terminal” level. This article gives actionable advice on how to get from being a mid-level to a senior engineer as fast as possible. The advice includes taking on impactful projects from the start, focusing on team leadership and influence, and uplifting one’s teammates.
Infisical is an open source, end-to-end encrypted secret management platform that teams can use to centralize their secrets like API keys, database credentials, and configurations. It features a user-friendly dashboard, client SDKs, a CLI, and more.
CodeLite is an open source, free, cross-platform IDE, specialized in C, C++, Rust, Python, PHP, and JavaScript, mainly for backend developers using Node.js.
During World War II, the British invented radar to help their pilots shoot down German planes at night. To keep this technology a secret, they spread propaganda that their pilots had developed exceptional eyesight from eating carrots. This is an example of a "Carrot Problem," where people are misled into wasting time or effort on something that doesn't work.
Artificial intelligence is often portrayed as a job killer. However, instead of cutting jobs, companies are using the technology to get more done with the same number of people. For example, Allen & Overy, a firm that employs more than 3,000 lawyers worldwide, started working with a generative AI tool called Harvey last year and hasn’t replaced a single person with it. Harvey helps employees perform better and adds value to the firm.
80% of bosses regret their initial return-to-office decisions and say they would have approached their plans differently if they had a better understanding of what their employees wanted. Many companies are realizing they could have been a lot more measured in their approaches by focusing on employee data first and foremost.
This chart shows the last 20 years of development in the Vim git repository.
3 ways to spot conditional rendering patterns in React and how you can improve them.
Quora has over 300 million monthly active users with tens of thousands of questions posted per day. To serve this traffic, it makes heavy use of MySQL. Quora has a sharded configuration that stores tens of terabytes and can scale to serve hundreds of thousands of queries per second. This article goes over how Quora handles such a heavy database load using MySQL with a focus on scaling read volume, write volume, and data size.
This article discusses the efforts made by eBay to enhance the performance of its sites and apps for a faster user experience. Every 100-millisecond improvement in eBay’s search page loading time leads to a 0.5% increase in "Add to Cart" counts. The article delves into various optimization techniques employed by eBay, such as reducing payload across text resources, image optimizations, predictive prefetching of static assets, and edge caching strategies.
This article breaks down conclusions from thousands of discussions debating GraphQL vs REST. It’s good to start with REST as it’s simpler than GraphQL. Then, as a product scales, it might be worth it to switch to using GraphQL for optimization purposes.
Coding speed and efficiency is something many developers don’t spend much time optimizing, but it’s an important trait to produce more quality work and get promoted faster in one's career. This blog post breaks down tips on how to code faster, such as avoiding multitasking, making decisions based on goals, and batching tasks together.
Google has announced Project IDX, a browser-based development experience built on Google Cloud and powered by Codey, a foundational AI model trained on code and built on PaLM 2. Project IDX is designed to make it easier to build, manage, and deploy full-stack web and multiplatform applications with popular frameworks and languages. There is currently a waitlist to try Project IDX.
Google has released Typograms, a lightweight image format useful for defining simple diagrams in technical documentation. Like Markdown, Typograms is heavily inspired by pre-existing conventions found in ASCII diagrams. Typograms uses a small set of primitives and rules to connect them to build larger diagrams.
This blog provides steps and strategies for repositioning a product that isn't meeting its intended goals. It emphasizes the importance of understanding the root cause of a product's failure before making drastic changes. The article outlines various tactics for repositioning, such as targeting a different persona or addressing a different use case, and underscores the significance of customer feedback in guiding the repositioning process.
Traffic is down at Stack Overflow, but Stack Overflow claims that the drop is not as big as recent reports say it is. Search engine traffic and Q&A activity is down, presumably due to coding assistants like GPT-4.
id Software has re-released the source code to Quake 2 on GitHub.
Slack is about to roll out its biggest-ever redesign, changing both the look and the layout of the app to hopefully make things easier to find and easier to manage.
Documents are the core of Amazon meetings. While documents can take time to produce, they increase meeting quality.
Vite is a platform-agnostic frontend tool for building web applications quickly that solves some common developer headaches. It is a replacement for Create-React-App, which is no longer recommended by the React team. This article provides a comprehensive overview of Vite, including its key features, advantages, and how it can be integrated into existing development environments.
This article delves into the evolution of frontend development and how React, once a revolutionary framework, has become somewhat antiquated compared to newer alternatives. Many developers might be missing out on the advancements in the frontend world due to their adherence to React. There are various aspects where React lags, such as its lack of support for web components, stubborn incompatibility with the platform, and implementation of styling.
Form validation is the process of checking input data against specific criteria before it is processed. React Hook Form stands out as a robust, easy-to-use solution among the numerous tools and libraries available for form validation in React. This article explores the capabilities of the React Hook Form, particularly when it comes to form validation.
Many people think that reaching the right outcomes happens by prioritizing the company first, your team second, and yourself third. However, working according to this framework can lead to burnout. A long-term career depends equally on being impactful and staying engaged. This article offers tips to help you achieve this.
Engineering management is a road often riddled with potholes, a journey where the terrain is as unpredictable as the evolution of technology itself. Whoever believes management is an easier job compared to the individual contributor role can’t be farther from the truth. The focus of this article is to dismantle this belief and present some of the most challenging aspects of being a manager.
Meta has released a new linter, Fixit 2 for Python, designed from the ground up to make developers more efficient and capable, both in open source projects and the diverse landscape of its internal monorepo. Fixit 2 for Python allows developers to efficiently build custom lint rules and perform auto-fixes for their codebases. It is available on PyPi today.
Open-source Retool for Enterprise. Build your internal tools, admin panels, dashboards, and B2B apps with flexibility in mind.
A website to easily see the dependency graph of NPM modules.
Data and graphs regarding Stack Overflow’s traffic have been circulating on social media channels over the last few weeks. The Stack Overflow team is using this opportunity to provide additional context and information on the origin of that data, the traffic trends we are seeing, and the work being done to ensure Stack Overflow remains a go-to destination for developers and technologists for years to come.
This article highlights the beneficial role of friction in enhancing machine learning algorithms within user interfaces. While traditionally seen as a UX hindrance, strategic friction can improve algorithmic prediction and user interactions. Examples like TikTok's design in displaying one video at a time lead to an increase in understanding users' focus, which leads to better content recommendations.
The era of tech layoffs has not passed yet, but it is losing some of its intensity and changing into a unique trend. The number of tech workers asked to leave since we saw layoffs peak in January 2023 has come down steadily.
A curated compilation of exceptional testing articles by a testing consultant. Topics range from generic testing concepts, such as testing in production and how to evaluate when to write unit vs integration tests, to specific topics, like testing microservices in distributed environments and Javascript unit testing. These articles provide an overview of modern testing concepts and tools.
Supabase has improved its local development experience.
A list of requests an open-source developer has gotten to sell data from his Chrome extension.
React Server Components (RSCs) individually fetch data and render entirely on the server, streaming the resulting HTML into the client-side React component tree and interleaving with other Server and Client Components as necessary. This process eliminates the need for client-side re-rendering, thereby improving performance. When an RSC needs to be re-rendered, due to state change, it refreshes on the server and seamlessly merges into the existing DOM without a hard refresh.
This is a comprehensive and advanced guide to TypeScript type casting. It covers the problems and limitations with using the ‘as’ keyword to type cast and how to go about solving these problems with code examples. The guide also explains foundational concepts like subtype and supertypes, type widening/narrowing, and how the satisfies operator works.
A Staff Software Engineer at Meta details his tips to grow fast throughout the levels. He breaks down what each level does, what the role of the staff engineer is, and the uniqueness of Meta’s engineering culture.
Without standards for code quality, and with mounting pressure to complete the project at hand, it can be easier to let bad code linger in the codebase for the sake of speed. But that approach is ultimately self-defeating. It slows down the entire development cycle while also hurting product quality and creating security issues. Instead, embracing a Clean as You Code approach is the best way for development teams to deliver quality, bug-free code while still moving swiftly.