INTRODUCING SPIN 3.0
Spin is an open-source developer tool for building and running serverless WebAssembly applications. Its latest release includes new features like component dependencies and selective deployments.
Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.
Spin is an open-source developer tool for building and running serverless WebAssembly applications. Its latest release includes new features like component dependencies and selective deployments.
This developer considered Cooklang, a recipe markup language, and the Recipe Schema Type, a JSON-LD format used by large recipe sites, for his own recipe site. Cooklang is more simple and flexible, but Schema Type has benefits for SEO and recipe extraction. The developer decided to use a combination of both, rendering Cooklang recipes on his website, providing the raw Cooklang content for download, including the Schema Type for extractors, and using the h-recipe microformat for better semantic markup.
ScrollView in React Native for large datasets has limitations compared to FlatList and SectionList as built-in solutions. FlashList is a new type of list built by Shopify that has 5x-10x faster performance compared to FlatList. It uses an optimized RecyclerListView that provides near-native list performance.
The expression `f(x)` can have multiple meanings in C++ depending on the context, including function calls, operator invocations, object creation, type declarations, and casts.
Front-end job descriptions often fail to recognize the vital role of bridging the gap between design and engineering.
A company banned JetBrains IDEs, citing licensing costs and security concerns, leading to developer frustration and a potential productivity decrease.
Keras creator Francois Chollet is leaving Google but will continue contributing to the Keras project and its open-source community.
Innovations like local-first software, automated reasoning, and advancements in cross-platform development are trends that are quietly leading to better developer and user experiences. For example, Notion was able to improve its web app performance by over 20% by using SQLite in browser, which is a combination of the SQLite, WebAssembly, and local-first software trends.
Shopify built an interactive 3D globe visualization for its Black Friday Cyber Monday (BFCM) event in 2023. This article dives into the engineering challenges and solutions used to optimize performance, particularly in instancing and GPU-based animation. It goes through the creation of various elements, such as arcs representing orders, city dots, fireworks, and animated pins, with the use of Three.js, React-three-fiber, and psrdnoise for noise generation.
Reddit built a unified metadata store using AWS Aurora Postgres to handle over 100k reads per second for its massive user base. Postgres was chosen over Cassandra since it was easier for querying, debugging, and managing data relationships. To scale, Reddit used table partitioning and JSONB denormalization, achieving low-latency reads without needing a read-through cache.
This is a collection of tips and advice for working with Postgres databases. It covers how to improve psql usage, optimize queries, and understand the impact of locks and JSONB on application performance. It is important to normalize data and follow the recommendations of the Postgres developers.
Many engineering managers stop coding as they take on more meetings and management duties and gradually lose the habit. Managers can still write some code by choosing small, impactful tasks that aren't in the critical path of important projects. This benefits their team and helps keep their skills sharp.
Code is an asset, but each line of code creates a maintenance liability, which if not managed properly, can lead to decreased productivity and eventually a cycle of technical debt.
Sponsored
Storybook 8.4 provides new improvements to UI component testing and development. The release features a new UI for running and debugging component tests in the browser with one click and reduces bundle size and lockfile size by 50% and 75% respectively. It also brings full support for Svelte 5 along with improved TypeScript and JSDoc support for Svelte components.
vlt is a new open-source JavaScript package manager. vsr is a serverless registry for npm-compatible packages. vlt has a unique dependency query syntax, while vsr provides a scalable, secure, and cost-effective solution for hosting packages.
This blog post presents a benchmark of long context Retrieval Augmented Generation (RAG) capabilities for OpenAI's o1 models and Google's Gemini 1.5 models. OpenAI's o1 models outperform other models on long context RAG benchmarks up to 128,000 tokens, while Google's Gemini 1.5 models maintain consistent performance at extremely long contexts up to 2 million tokens, albeit with lower overall accuracy.
This article compares the new WebGPU Shading Language (WGSL) with the established GLSL. WGSL seems to be the future of shaders on the web, especially with the upcoming release of WebGPU. It introduces new features like explicit types, struct declarations, and function declarations that follow Rust conventions, which allows it to be more robust overall.
Increased effort doesn't always lead to proportional results in complex systems. Adding more developers to a project or adding features to a product doesn't always lead to increased efficiency or user satisfaction. Instead, try new approaches and recognize that past successes may not guarantee future success. This can help move things forward in ways that combat diminishing returns.
Microsoft has released .NET 9, which has improved performance, AI integration, enhanced developer tools, and updates to programming languages like C# and F#.
Effective delegation involves both assigning tasks and establishing accountability without micromanaging.
This developer created an interactive map that displays BlueSky's structure and local communities.
This post goes over various methods for discovering and utilizing undocumented APIs to reverse-engineer web apps. These techniques range from searching GitHub for public code and analyzing fetch requests and robots.txt files to leveraging Google's cached errors and guessing API endpoints based on patterns.
This article discusses the optimization of a WebGPU matrix multiplication kernel that achieved over 1 TFLOPS performance. It explores each stage of the kernel optimization, starting with a naive implementation and progressing through increasing thread count, 2D workgroups, kernel tiling, and loop unrolling. Through these optimizations, the kernel achieved a performance improvement approaching the theoretical peak of the Apple M2 Pro chip.
Shipping projects in big tech companies requires a unique skillset that goes beyond just writing code. The most important aspect of shipping is gaining the trust and approval of company leadership, which means understanding their expectations, communicating well, and proactively addressing potential problems.
Many security controls are useless because they lack clear, understandable explanations. These controls often arise from compliance requirements or security "best practices" that don't consider their actual value.
While AI can help with repetitive tasks and code generation, over-reliance can lead to a deterioration of fundamental skills. AI assistants are most beneficial for handling implementation details and tedious aspects of coding so that devs can focus on problem-solving, design, and strategic thinking.
stdlib is a standard library for JavaScript and Node.js that focuses on numerical and scientific computation with a fully decomposable architecture.
Skeleton is an adaptive design system for Tailwind that provides opinionated solutions for themes, colors, typography, and more. It offers both Tailwind-based and framework-specific components.
WebLLM Chat is an open-source, private AI chat interface that runs large language models natively in browsers using WebGPU, ensuring privacy and offline accessibility.
Better Source is a $20 million business that specializes in liquidating office furniture from failed Bay Area tech companies. The company has witnessed the rise and fall of numerous tech giants. Its business has boomed in recent years because of the shift to remote work and the changing demands for office spaces.
Google has experimented with two internal prediction markets, Prophit and Gleangen. Prophit, launched in 2005, was initially popular but ultimately failed to launch publicly due to legal challenges and a shifting regulatory landscape. Gleangen, launched in 2020, has been much more successful internally, with a larger user base and more consistent use, but faces ongoing challenges in proving its value to Google management.
You can reverse engineer game data by extracting and decrypting files and scripts to find exploits in video games. You can also analyze network traffic using tools like AssetsTools.NET, Fiddler, and Wireshark. By analyzing the game's authentication flow, packet structures, and opcodes, you can identify vulnerabilities and test for potential exploits.
Herb Sutter, a prominent C++ expert, is leaving his position at Microsoft Visual C++ compiler team to join Citadel Securities, where he will be working on C++ training initiatives and advising on technical strategy.
Architectural Decision Records (ADRs) are a structured way to document key decisions, align teams, and prevent repetitive debates.
Apple's new ads for Apple Intelligence portray the features as tools for laziness, rather than highlighting their potential to help people be more productive and thoughtful, missing an opportunity to showcase the service's positive aspects.
Despite loving clean code, developers hate writing documentation - AI-powered tools can automate documentation creation, which is a win-win.
JavaScript generator functions provide a way to create lazy iterators, allowing on-demand data processing for tasks like handling large datasets or infinite sequences. They allow for the creation of custom iterators without loading all elements into memory, which is helpful for complex operations such as generating prime numbers or managing unique identifiers. Generators support two-way message passing, which can be used to mimic async/await syntax in JavaScript.
NoSQL database schemas evolve over time. Evolving them in an efficient manner requires a good understanding of keys, indexes, and queries. For example, knowing how to set and use composite primary keys and secondary indexes is necessary for handling various search and sort requirements. This article goes into how to evolve NoSQL schemas, with a deep dive into both concepts and also advanced issues like getting around the issue of partition limits by using shard keys.
This developer discusses an interesting software development methodology where developers start a feature each day and delete it if not completed, repeating the process until success. This encourages frequent rewrites, leading to cleaner code and a deeper understanding of the problem.
Starting new projects has a cost of maintenance due to framework versions and dependencies going out of date. Using solutions like plain PHP and considering commitment levels beforehand can make sure a new project survives to see long-term usage.
This article provides a comprehensive guide on how to navigate salary expectations questions during job interviews. For example, disclosing your current salary or expected salary can reduce your negotiation power.
Mergiraf is a tool designed to resolve Git merge conflicts by understanding the structure of files in various programming languages. It can be configured to automatically resolve conflicts during common Git operations like merging, rebasing, and cherry-picking.
Jawsm is an experimental JavaScript to WebAssembly compiler written in Rust that aims to achieve 100% JavaScript language support without requiring a compiled interpreter.
skellyCSS is a lightweight CSS framework for quickly implementing skeleton loaders in web projects. It offers various customization options like line width, alignment, and image shapes.
In this post, the CTO of Roots, a mindfulness app, goes through his approach to leading a remote team. Leading a remote team requires having a strong vision and hiring highly independent people. In terms of team culture, Roots' team focuses on investing in the right features before hiring more people and prioritizing thoughtful product development over rapid releases.
There are various typesetting engines available, and they can be evaluated on some key criteria: Knuth Plass line breaking algorithm, CJK typesetting support, pagination, and instant preview. This article goes over HTML and CSS, LaTeX.js, Typst, and React-pdf. Only LaTeX consistently meets all the requirements.
Exponential distributions come into play in various fields like queueing theory, control theory, and performance modeling. The "memoryless" property of the exponential distribution makes it useful for simulating systems involving events occurring independently at random intervals. This post explains how to simulate such events using the exponential distribution and provides an example of how to model a queuing system with code.