LLM VISUALIZATION
Visualize different components of an LLM, such as the input embedding matrix, transformers, and more.
Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.
Visualize different components of an LLM, such as the input embedding matrix, transformers, and more.
REST remains the most popular API protocol in 2023 due to its simplicity, scalability, and web integration ease, despite a slight decrease in usage. GraphQL is rising in adoption for its precise data retrieval and flexible queries. Webhooks, WebSockets, and gRPC are increasingly used too. Other protocols like MQTT, AMQP, SSE, and EDI, each serve specific use cases, such as IoT and enterprise messaging.
A problem arose where Chrome was crashing for users of Gusto’s internal software during an on-call rotation with Gusto's internal tools team. After ruling out the Chrome version and extensions as the causes, a stroke of luck led to the discovery that the Grammarly desktop app was a common factor among affected users. Further investigation revealed that a specific GIF file in the software was causing the crashes when Grammarly was installed. Replacing the GIF resolved the issue, although the exact reason for the crash remains unknown due to lack of access to Chrome and Grammarly's source codes.
Perceived performance focuses on how users feel about the speed and responsiveness of a website or app, rather than just relying on metric-driven performance. This subjective perception is influenced by various factors, including the user's environment, device, network, and emotional state, making it difficult to quantify. Perceived performance can be enhanced by smartly communicating status and progress, keeping users engaged during load times, avoiding sudden page movements, and preventing intensive processing. This article teaches how to use design and psychological principles to increase perceived performance by users.
Dynamically typed languages like JavaScript and Python are known for their ease of learning and flexibility but can lead to quirks and issues due to type coercion and the lack of a solid typing system. This is why TypeScript and type hinting have gotten so popular. Statically typed languages, with modern features like type inference, offer strong type safety, catching errors at compile time and providing comprehensive documentation. However, their use results in slower development velocity and harder-to-read code.
PowerSync is a service that keeps backend SQL databases in sync with on-device databases embedded in an SDK. It currently supports Postgres and has SDKs for Flutter, React Native, and JavaScript on the web. The SDKs operate on the client side to keep both the client-side and server-side SQL databases in sync. Usually, the client-side database is a SQLite database.
Animotion lets you create CSS animations visually by dragging, resizing, rotating, clipping, and more. It includes a keyframes editor, a collection of ready-to-use animations, and 29 built-in easings.
This article explains Graphite’s journey from a simple single-page app (SPA) architecture to the adoption of a more robust solution. It explains why the company considered various hosting options, the technical considerations that guided the decision, and why it ultimately chose to host its Next.js web application on ECS. Graphite’s decision to containerize its application with AWS ECS aligned with its goal of maintaining performance standards and cost efficiency within its AWS Virtual Private Cloud.
Intuit has embraced generative AI, developing various applications like Intuit Assist, which aids small business owners, marketers, and others in making informed decisions. The company also created GenOS, an operating system that enables product teams to integrate generative AI into their applications easily. GenOS contains various components that Intuit built, such as GenStudio for experimentation, GenUX for UI tools, and GenRuntime for hosting AI capabilities.
This author discusses their preference for not using a build system in small frontend JavaScript projects. They give examples of how simple it is to work without a build system, using Vue 3 directly with script tags, and express frustration that some libraries, like CodeMirror 6 and Tailwind 3, now require a build system. Build systems, like webpack, rollup, esbuild, parcel, or vite, are used to translate and optimize JavaScript or TypeScript code for web deployment, but can be overkill for small projects.
Qdorks is an advanced Google Search query composer.
When you scroll rapidly to the top or bottom of a webpage you might notice a “bounce” effect. To prevent this with CSS, you can add the overscroll-behavior property on the document root to none.
Prioritizing user needs and operational aspects is more important than developer preferences in software development.
Sponsored
APIs are a big deal at PayPal—powering billions of dollars of transactions in 200+ markets. Their public APIs for multiple functions, including billing, invoicing, and subscriptions, are used by external developers worldwide. PayPal needed to find a way to scale collaboration across its diverse teams and the external developer community. 🚀 Learn how [7] PayPal achieved this and sped up testing time from
Tailwind CSS is known for its focus on class-based design, but the emphasis on classes can pose scalability challenges. These scalability issues arise from complex, dynamically generated class strings for components and conflicting styles due to the unpredictable order of class insertion. There are two solutions for addressing these problems: Class Variance Authority (CVA) and tailwind-merge. CVA introduces a Variants API for Tailwind, allowing developers to define variants and compound variants, which are activated based on specific prop combinations. Tailwind-merge resolves class conflicts by merging class sets and removing duplicates, ensuring that custom class overrides work as intended.
Dependabot is a GitHub feature that automates dependency updates via pull requests. Users can configure Dependabot to update certain dependencies at desired frequencies, which can be useful for targeted dependency updates in large projects or libraries with numerous dependencies. Combining Dependabot with automated testing tools like GitHub Actions ensures that updates do not break existing code.
After getting proficient in languages and frameworks, the next step to growing your career is working on soft skills. These soft skills include being a team player, breaking down complex problems, focusing on software quality, developing a business mindset, and enhancing communication skills.
Tracking and measuring developer productivity is an age-old problem and DORA metrics attempt to solve it by honing in on 4 key metrics: deployment frequency, lead time for changes, change failure rate, and time it takes to restore service. This article challenges the efficacy of measuring productivity using DORA metrics and outlines some of the bottlenecks it presents, such as measuring velocity properly. It also offers tips that will help you successfully work on a team that relies on DORA metrics.
It can be hard to manage an overwhelming workload of tasks as a developer. The “Do it, delegate it, ditch it” model offers a solution. It involves categorizing tasks into those that require personal attention, those that can be delegated, and those that are unnecessary and can be discarded.
Aws-lite is an extensible Node.js client for interacting with AWS services. It’s faster than the official AWS v3 SDK. Aws-lite features simple semantics, customizability, detailed errors with stack traces and line numbers, built-in pagination, a debug mode, and more.
jaq is a tool for processing JSON data quickly. It has a fast startup time, compact package size, and a focus on correctness.
Hysp is an independent package manager for Unix and Linux. It can be used just like any other package manager through the command line.
This article shares helpful tips for using LLMs effectively as coding assistants. It considers factors like the speed and reliability of feedback loops, the margin of error, the longevity of the code, and the recency of information needed, giving advice on each factor. Setting a time limit for using AI input and creating a persona for an AI assistant can help to better manage expectations and usage.
Python is an incredibly popular language. Its amazing readability makes it a common starting place for students and new developers. Despite this, it’s not a simple language. Building with Python can lead to issues with runtime and dependency management. Go, on the other hand, is much simpler. This article uncovers in more detail the strengths of both languages and how they can be used in tandem to support each other.
A website showing Node.js Monthly Downloads by version and by operating system.
This article introduces the ‘hanging-punctuation’ property in CSS and shows when and how to use it with code samples included.
Seven best practices that will help frontend developers create better designs, improve UX, and bring added value to the products they work on.
Sponsored
Managing APIs and requests gets messy fast. We all know the feeling: you trawl through documentation and code to figure out how to write a request. A month later, you need to update some parameters and end up repeating most of your work. Not ideal!
HTML Web Components are versatile because they can be decoupled from JavaScript frameworks, allowing for multiple frameworks to be used at the same time. This article demonstrates this approach through the creation of a simple todo app where each component is written in a different framework including React, Solid, Svelte, and Vue, as well as a component in vanilla JavaScript. From a usage point of view, web components are just HTML tags, even though they are more complex under the hood.
Front-end security plays a critical role in safeguarding web applications against threats like cross-site scripting (XSS), cross-site request forgery (CSRF), and other vulnerabilities. Key practices for front-end security include input validation and sanitization to filter and clean user input, avoiding inline scripts and implementing Content Security Policies (CSPs) to restrict unauthorized code execution, using HTTPS for secure data transfer, conducting penetration testing to identify and address vulnerabilities, and efficient dependency management to keep libraries updated.
This article by AWS outlines a five-step process for transitioning from a stateful to a stateless architecture, which includes identifying stateful components, decoupling user profile data, offloading session data, scaling components dynamically, and designing a stateless architecture. Data from one session carries over to the next in stateful systems, while stateless systems do not preserve data between sessions and rely on external entities for state management. The article elaborates on the benefits of stateless architecture, such as scalability and extensibility, while acknowledging that the right architecture depends on the specific needs of the application.
Communicating in the workplace effectively is essential for a growing developer career. This article suggests six small changes you can make in the way you phrase questions and requests, with evidence and anecdotes provided for each one. These small tweaks can help facilitate smooth communication with your team and collaborators on the job.
While practices like test-driven development (TDD) provide stability and help in maintaining quality, they can become a trap if they hinder the delivery of the software. Kent Beck, the creator of TDD, reflects on their own experience with JUnit, emphasizing the need to sometimes prioritize progress over perfection. They advocate for a pragmatic approach, acknowledging that while it's essential to follow good practices, they shouldn't become an excuse for not shipping.
This repository introduces browser DOM APIs and teaches how to use them with small practical examples. It contains live demos, tips, and real use cases.
Chardet is a character detection module developed entirely in TypeScript designed to identify encoding based on occurrence analysis. It is versatile and compatible across various environments (Node, Browser, Native) and platforms (Linux, Mac, Windows), without any dependencies or native code/bindings.
This GitHub Action makes it easy to quickly write a script in a GitHub workflow that uses the GitHub API and the workflow’s context. To use this action, a developer needs to provide an input named `script` that contains the body of an asynchronous function call.
Effective crisis management and learning from failures in tech leadership roles are essential for successful software companies. Blameless post-mortems are crucial learning tools for improving future practices. Mistakes are inevitable, but the response to these mistakes, including clear communication, owning up to errors, and implementing corrective measures, defines effective leadership.
OpenAI, which initially opted for a non-profit model when it was founded in 2015, later adopted a for-profit model. The company recently experienced a major crisis, with its CEO Sam Altman being fired, leading to employee revolt and threats of mass resignation. The crisis was resolved with Altman's return and board restructuring. This article not only summarizes the recent OpenAI saga, but also touches on OpenAI's fast-paced success with ChatGPT, the contrasting directions it has pulled the company in, and Microsoft's interest in maintaining an independent OpenAI team.
Organizational structures have evolved constantly in response to technological advancements, beginning with the New York and Erie Railroad in 1855 and its innovative use of the telegraph and organizational charts. This article draws parallels between historical shifts in organizational practices due to technological changes, like Henry Ford's assembly lines, and the current potential impact of AI on organizational processes. Using the example of Wharton Interactive, a software startup, the article illustrates how AI, specifically large language models like GPT-4, can be integrated into various organizational roles.
This article discusses 6 trends that might become commonplace in 2024 in the API ecosystem, such as APIs from multiple sources and the evolution of API gateways.
This article covers 10 HTML tricks from the past and the present, such as using HTML tables for layout.
A tutorial on building a web page layout with container queries.
This article explores common retry methods for network requests, which are necessary for preventing errors from reaching users. The article starts by demonstrating basic retry handling without delay, which increases server load and the risk of overload. To counter this, exponential backoff is introduced, which is a method that initially retries quickly and then gradually increases the wait time. The interactive study concludes with a Go code example implementing exponential backoff with jitter, a technique to randomize wait times between retries.
DoorDash transitioned from a Python monolith to a microservices architecture, using Kotlin and gRPC for service communication. To minimize latency, it focused on reducing network requests, primarily by implementing caching with Caffeine for local caching and Redis Lettuce for distributed caching. However, different teams independently creating caching solutions led to issues like cache staleness, lack of runtime controls, inadequate metrics, and inconsistent key schemas. To address this, DoorDash developed a shared caching library with features like layered caching (request local, local, and Redis caches), runtime feature flags for customization, and observability tools to monitor cache performance.
Ian Hickson, the creator of Flutter (cross-platform app SDK) reflects on their 18-year tenure at Google, from its early post-IPO days to recent years. Initially, Google's culture was driven by a genuine desire to do good, guided by the "don't be evil" principle. However, over time, cultural shifts occurred, with less transparency and a shift in focus from user benefit to company and individual gain. Recently, Google's morale has declined, especially due to layoffs, and Hickson perceives a lack of visionary leadership and an increase in inept middle management.
Meetings are often seen as detrimental to the productivity of software engineers. Writing is a more efficient alternative to reduce the load of meetings. There are several advantages to writing: it enables faster information consumption as reading is quicker than listening, facilitates easier referencing and searching of technical content, and typically results in higher quality outcomes due to focused preparation.
CodeSnaps is a minimalistic UI library of React and Tailwind CSS components. It doesn’t require any package installations and comes with various pre-built components, like blog sections, contact sections, footers, and more.
React-quiz-component is a React component for implementing a quiz. It takes in a JSON-based input and comes with a quiz landing page, input validator, results page, explanations, a scoring system, and more.