Async/await in Rust is a way to achieve concurrency without using threads. Threads, while efficient for small numbers of tasks, become inefficient and resource-intensive when dealing with thousands of tasks. Async/await, using futures and tasks, is a more scalable and efficient way to manage concurrency, especially for tasks that involve I/O operations.
The State of React 2024 Survey aims to measure the awareness and popularity of React APIs and libraries in the React ecosystem.
A world map visualization of AWS data center latencies by milliseconds.
Improving focus is like building muscle — start with manageable focus periods and gradually increase them by using timers and breaking tasks into small parts.
This developer was promoted at Amazon quickly after successfully completing a complex migration project thanks to techniques like gating mechanisms, which helped make sure it happened smoothly.
This developer built 14 interactive projects in a week using Claude Artifacts, finding Claude very versatile for both rapid prototyping and solving immediate problems quickly.
Vercel, once a single large Next.js application, switched to vertical microfrontends for better build times and developer velocity. It reduced dependencies, improved preview build times, and boosted end-user performance by dividing its website into logical sections. Vercel used Turborepo and Next.js Multi-Zones to manage the migration process and implemented prefetching and prerendering techniques to optimize performance and navigation.
ClickHouse has created a new JSON data type designed for high-performance handling of JSON data. This new type overcomes the challenges of storing and processing JSON data in columnar databases, such as dynamically changing data types, data integrity, and large datasets.
Uber engineers improved the efficiency of their Experimentation platform by shifting from a remote evaluation architecture to a local one. This change reduced experiment evaluation latency by a factor of 100, from milliseconds to microseconds. The new architecture distributes experiment data to all host agents, allowing microservices to read experiment data locally without relying on a central service.
Anthropic's new "Computer Use" API mode for its Claude model allows the model to interact with users' computers through screenshots and coordinate support. This author has experimented using the feature to compile and run Hello World in C, install FFmpeg, use tools to count database queries, and try to solve Sudokus.
“Docs-as-code" goes beyond simply writing documentation using developer tools. It means recognizing the importance of documentation as software infrastructure. This requires shared responsibility and standards and treating documentation with the same care and attention as code.
Anthropic has released two new AI models: Claude 3.5 Sonnet and Claude 3.5 Haiku. Claude 3.5 Sonnet is an upgraded version of its predecessor (with the same name) that is much better at coding. Anthropic has also introduced an experimental beta feature, computer use, which allows Claude to interact with computers like humans by using a cursor, clicking buttons, and typing text.
Svelte has released a blog post detailing the official release changes for Svelte 5. Svelte 5 is backwards-compatible with Svelte 4. Key changes include the introduction of runes for explicit reactive state management, simplified event handlers, and a new slot mechanism.
Route-list is a command-line tool that displays routes for Express, Koa, Hapi, and Fastify applications.
Quarkslab researchers discovered four vulnerabilities in the boot chain of Samsung Galaxy A devices, enabling them to execute code in the bootloader, gain root access with persistence, and leak data from the Secure World, including Android Keystore keys. These vulnerabilities affect two crucial components: Little Kernel, the third bootloader, and Secure Monitor, the highest privileged software. The researchers presented their findings at BlackHat USA 2024 and released proof-of-concepts for the vulnerabilities on GitHub.
When this developer discovered an MMO game hack, he decided to learn how to hack the game himself and make it more difficult for the hack's author to keep up. Through clever code modifications and observation, he was able to identify the hack's author and even the users who were exploiting it. This led the hacking company to eventually abandon its project.
Hono is a fast, lightweight framework that runs on various JavaScript environments, like Cloudflare Workers, Deno, Bun, and Node.js. Providing a "write once, run anywhere" experience, the framework has various features like middleware, helpers, RPC, and server-side JSX. It was initially built because the framework's creator felt that creating applications for Cloudflare Workers was too verbose without a framework.
Ryde is a single-file web framework for Rust that aims to eliminate boilerplate by using macros to define a web development DSL built on top of axum, tokio, and SQLite.
Tailwind CSS's group modifier and data-* attributes can be used to conditionally apply styles based on scroll position.
A developer with 10 years of experience, laid off after 6 years at his last job, seeks advice on how to balance catch-up learning in C# and web development with job hunting and interview preparation.
This author describes his journey of promoting and using Linux on the desktop, starting with his early experiences fixing computers for friends and family.
When organizing React folder structure, devs should separate components, features, and technical concerns into dedicated folders and files for better organization and maintainability. A "barrel file" approach should be used for public APIs, but this is becoming less popular in JavaScript due to its impact on tree shaking.
Spotify has built a platform to manage and scale its content annotation processes. It focuses on three key areas: scaling human expertise, developing flexible annotation tools, and establishing a robust infrastructure for integration. The platform allows Spotify to generate millions of high-quality annotations efficiently, letting it develop and iterate on ML models faster.
2024.10.22·engineering.atspotify.com·6 min read·TLDR Web Dev There are four categories of UI abstractions: Headless UI, Boneless UI, Skinless UI, and Lifeless UI. "Headless UI" is a common term where the abstractions often have underlying functionality and structure. "Boneless" refers to UI libraries that provide composable styles but no markup, while "skinless" provides functioning markup with no styling. "Lifeless" UI abstractions, like TanStack, offer typesafe hooks and logic without rendering actual UI elements, leaving the developer responsible for applying those functions to elements and styles.
A good Git workflow has frequent commits, well-structured pull requests, and a focus on the main branch. This developer personally prefers using the CLI and advocates for a simple branching strategy. Pull requests should also have clear commit messages with descriptions that explain the "Why" behind the changes made.
2024.10.22·registerspill.thorstenball.com·16 min read·TLDR Web Dev Using AI to generate code hinders personal growth and undermines programming skills. AI-generated code is comparable to "script kiddie" behavior. Developers may potentially develop a dependence on AI tools, which can lead to job displacement.
While the industry constantly evolves, fundamental principles remain timeless. Good developers practice avoiding premature optimization, thinking critically before coding, and mastering good practices like clean code, design patterns, and SOLID principles.
2024.10.22·newsletter.techworld-with-milan.com·16 min read·TLDR Web Dev Sponsored
Curious about upping your PPM game? Join an Appfire Solution Advisor for a live session [10] on how to turn Jira into the ultimate Project/Product Portfolio Management tool. Learn about creating informative timeline and roadmaps, allocating resources, and tailoring your approach to fit your organization's goals. Register for tomorrow's event [10] to have your questions answered live.
2024.10.22·appfire.registration.goldcast.io·Sponsor·TLDR Web Dev Next.js 15 is now stable and ready for production use, with a range of updates such as a new @next/codemod CLI for smoother upgrades, asynchronous request APIs, and caching semantics changes. It also supports React 19 and includes performance improvements with Turbopack Dev. Next.js 15 has better observability with a new Static Route Indicator and APIs like unstable_after and instrumentation.js.
Fast Grid is a high-performance web table library that utilizes multithreading and a shared array buffer to be fast and efficient. It can render millions of rows in constant time and maintain 120 frames per second even while sorting, filtering, and scrolling simultaneously.
Repopack is a tool that can convert an entire code repository into a single file optimized for use with AI models like ChatGPT and Claude. It automatically formats code for AI understanding, counts tokens for context limits, and offers options for inclusion, exclusion, and security checks.
This developer attempted to create a raycasting engine for the GameBoy Advance. The project was initially successful, with a focus on technical development, but ultimately failed due to the developer's lack of interest in creating content. The process of building assets, designing controls, and addressing the limitations of the GBA screen was too tedious and frustrating.
Web components, though technically useful, have been hampered by over-aggressive promotion and a lack of early support from major browser vendors. Meanwhile, React gained popularity by promising a magical solution to UI development and by inadvertently commodifying developers. This situation has led to a schism within the web development community, with three factions: standards-oriented developers, web component framework implementers, and other reactive framework developers.
LLMs can be used to rank people's suitability for roles based on their online social media comments.
OpenAI is losing billions developing AI, and it's not making much money from ChatGPT.
WiFi Solver is a live, physically-accurate simulation that uses your device's GPU to model WiFi signal strength in your house.
STDF is a mobile web component library built with Svelte and Tailwind with support for internationalization.
Civet is a programming language that adds concise syntax and features to TypeScript.
Sponsored
Join cloud native enthusiasts and open source innovators at KubeCon + CloudNativeCon North America, November 12 -15 in Salt Lake City!
JSON Patch is a standardized format for describing modifications to JSON documents that offers a simple and efficient method for applying partial updates (especially over HTTP). It works by applying a sequence of atomic operations, each specifying a type of change and a path within the JSON document. This allows for precise modifications, efficiency through transmitting only changes, atomicity for rollback, and idempotency for safe retries.
For efficient SQL sampling techniques for large datasets, the A-ES algorithm can be used for weighted sampling without replacement. This article explains a novel SQL-based approach for sampling with replacement, using the A-ES algorithm and showing off its effectiveness through a biased coin flip simulation.
PostgreSQL's Multi-Version Concurrency Control (MVCC) has shortcomings. Despite PostgreSQL's overall popularity, its MVCC design suffers from several problems: excessive data duplication, table bloat due to dead tuples, secondary index maintenance overhead, and difficulty in managing the autovacuum process.
This Reddit user is overwhelmed by the immense size and complexity of the codebase at their new FAANG job, which involves over 8 million lines of legacy code with lost knowledge. Their task is to replace an outdated build process with a new one using currently unsupported technologies. Comments suggest that the author should prioritize understanding the existing codebase, document their findings, build relationships with colleagues who possess relevant knowledge, and write test cases for legacy code before starting to make changes.
The trend of rewriting JavaScript tools in "faster" languages like Rust or Go overlooks JavaScript's capabilities for optimization that haven't been fully explored. The perceived speed gap is often attributed to low-hanging fruit and the advantages provided by browser-based optimizations like bytecode caching and JIT compilation. Moving away from JavaScript would create a more complex and inaccessible ecosystem, hindering contributions and debugging.
The industry has rampant title inflation, with developers being labeled "senior" with minimal experience. This devalues the title and undermines the meaning of career milestones. The root of this problem lies in a combination of fierce competition for talent, personal branding pressures on social media, HR departments struggling to categorize specialized roles, and companies using title promotions as a retention tactic.
Sponsored
"Daily Reps" is a workout tracker app designed to set daily goals and track progress toward workouts, resetting each day. Built with React Native and Expo, it uses Clerk for user management and Convex for real-time data, creating a powerful cross-platform solution for fitness tracking.
Svelte 5 has been officially released. It introduces runes, a new feature that utilizes signals to simplify state management and prop handling. Runes replace Svelte 4's stores and complex syntax.
Gomponents is a Go library for building reusable HTML components that makes it easy to create web applications in Go without needing complex template languages.
Drasi is a data processing platform that simplifies detecting changes in data and taking immediate action by tracking system logs and change feeds, evaluating them for relevance, and automatically initiating appropriate reactions.
Automattic, the company behind WordPress, has been accused of open-source theft by its competitor, WP Engine, after it took ownership of a popular plugin called Advanced Custom Fields (ACF) and replaced it with a fork called Secure Custom Fields. This act involved silently migrating over 2 million users to the new plugin and is considered ethically questionable.
2024.10.21·blog.pragmaticengineer.com·11 min read·TLDR Web Dev