This developer built a meme search engine as a way to learn about vector embeddings and image encoding. They used OpenAI's CLIP model to encode images into vector embeddings, which are a way to represent images or text as numerical vectors, for similarity searches. These embeddings were stored in a vector database, which then made memes searchable with just natural language.
The number of vulnerabilities in AI and ML applications is increasing rapidly. In April 2024 so far, 48 vulnerabilities were discovered in popular open-source projects, which is a 220% increase since November 2023.
Google is reorganizing its teams to focus on integrating AI into its products. Its newly formed Platforms and Devices team will oversee Pixel products, Android, Chrome, ChromeOS, Photos, and more, while integrating AI natively into all of them.
The number of software development job postings peaked in early-to-mid 2022 and has dropped since then.
Supabase Storage now supports the S3 protocol with a new API and newly supported multipart uploads with the S3 protocol.
The CFPB issued an order against BloomTech and its CEO, Austen Allred, for misleading students about the costs and risks of "income share" loans and falsely advertising job placement rates.
A documentary on how governments across Europe are reliant on Microsoft software, which can be seen as a conflict of interest.
Centering UI elements is surprisingly hard due to factors like font metrics (which can be inconsistent), line height complexities, and the difficulty of aligning text with icons. This article shows multiple examples of non-centered text on websites from companies like Apple, Slack, Microsoft, GitHub, and Google. Some tips to align elements properly: stop using fonts for icons, understand your font metrics, and pay more attention to alignment in the first place.
Shopify uses Vitess, a tool that helps distribute database data across multiple servers, to better handle large amounts of data. To integrate Vitess into its stack, it created logical data groupings called keyspaces and implemented features like connection pooling and transaction management to support the Shop app's growth.
Projects benefit from investing upfront in foundational elements like READMEs, developer docs, websites, and clear process documentation. Code quality should always be upheld on the main branch. These kinds of elements are a productivity multiplier when a project gets larger and are much harder to introduce into a large project that doesn't already have them.
Young developers often focus too much on premature optimization, which leads to over-engineering things too early. It's better instead to focus on writing clear, concise, and testable code. This author tells a story where they wrote over-engineered code as a young developer, but when it came time to debug it months later, they could no longer understand the code they had written.
One of the best ways to fight distractions is to have planned productive hours and get into a “flow state.” To be productive and focused while coding, it's useful to prioritize tasks ahead of time and code with good habits.
React Query Builder is a fully customizable query builder component for React. It has a collection of utility functions for importing from - and exporting to - various query languages, like SQL and MongoDB.
Low-level design resources to improve your design skills and prepare for interviews.
Devin AI has been promoted with claims that it can perform software engineering tasks by itself. However, it has been revealed that the company cherry-picked tasks and hid the true capabilities of Devin AI with flashy demos.
2024.04.18·machine-learning-made-simple.medium.com·12 min read·TLDR Web Dev To build a documentation-first culture, CTOs and engineering leaders should lead by example, provide tools and templates, and establish documentation as a key part of the company's values. Documentation saves time for everyone since it leads to less meetings, chat pings, and knowledge loss.
Campfire utilizes CSS features like custom properties and the ‘oklch()' color function to streamline design consistency and adaptability across devices. The ‘:has()' pseudo-class allows for conditional styling based on element content.
Antithesis, a bug-finding platform, explores complex system state spaces to uncover bugs quickly.
The HTML popover attribute allows for native modals to be created.
An overview of all of the missing web features in iOS.
To conduct effective meetings, developers should prepare ahead of time, drive the discussion, and follow up with meeting notes.
PostgreSQL's query optimizer has improved massively over the past decade. Using the Join Order Benchmark (JOB), this author shows that tail latency has been nearly halved between PostgreSQL versions 8 and 16, with each major version offering an average 15% performance increase. One of the best decisions teams can make to make their database query speeds faster is to simply keep their Postgres instances up to date.
JunoDB is a highly reliable database developed by PayPal with an architecture that supports near-constant availability and efficient handling of massive data request loads. Its architecture includes a client library, a proxy with load balancing, and storage servers using RocksDB.
Railway, a cloud deployment platform, used to rely heavily on Google Cloud's Key Management Service (KMS) for encrypting sensitive user configuration variables. To improve performance, security, and reduce dependency on a single provider, Railway implemented envelope encryption, which encrypts data with a data encryption key that is itself encrypted with a key encryption key. This change reduced KMS usage and allows Railway to have potentially no dependencies on external cloud infrastructure in the future.
Despite the increase in internet speeds, the user experience on many websites has not proportionally improved due to bloated websites and performance issues. Websites designed to load static content all at once remain the most accessible universally and often outperform all other websites. Modern websites that prioritize complex features over basic usability like scrolling and search are often slower than average.
To bring a side project to completion, start by defining specific goals, then break the project into smaller milestones to maintain motivation. Work on it consistently but sustainably by prioritizing features properly.
This article shares a tech co-founder's struggle with anxiety and burnout, which stemmed from the intense work environment in the startup world. Neglecting mental health can take a heavy toll. To manage his anxiety better, the author set boundaries and prioritized self-care.
Sponsored
QA Wolf gets web apps to 80% automated test coverage in just 4 months [10]. They build and maintain your automated test suite, plus provide unlimited parallel test runs. → Learn how Salesloft saves $750k/year [11] in QA engineering + executes >300 parallel tests in minutes, on every PR
Paper Code is a fast and performant C++ IDE.
Reader converts any URL to an LLM-friendly input.
MikroORM is a TypeScript data-mapper ORM. Recently released MikroORM v6.2 introduces support for Microsoft SQL Server and libSQL, along with better handling of collection updates and pagination.
In programming languages, failures are systemic limitations that come from constraints and might be recoverable. Mistakes are code-based errors that violate program logic and usually need safe termination. Failures and mistakes should be handled differently by software.
Authorization is complex and creates problems in microservice-based applications. Existing approaches either mix authorization logic with application code (making it hard to understand and update) or centralize authorization data, leading to tough data synchronization. A new service called Oso Cloud solves these issues with policy-based logic and a new distributed authorization architecture, allowing developers to define logic centrally while still using local data to make authorization decisions.
MIT researchers have identified a major challenge in quantum programming: the lack of control flow instructions like those in classical computers. To address this, they proposed a new model called the quantum control machine which includes modified instructions that make quantum computers easier to program.
A detailed guide to customizing your terminal setup to use productivity-oriented plugins, themes, aliases, and command-line utilities.
2024.04.17·read.highgrowthengineer.com·8 min read·TLDR Web Dev Chen's algorithm is a new quantum algorithm that, if proven correct, could potentially break lattice-based cryptography schemes, which are currently used to secure many systems today.
2024.04.17·blog.cryptographyengineering.com·4 min read·TLDR Web Dev To profile the CPU usage of a Node.js application, launch the application with the ‘--inspect flag' and connect to it using Chrome DevTools via ‘chrome://inspect'. Start and stop the CPU profiling using the Record button in the Performance panel of DevTools to capture how CPU time is spent during application execution.
A service named Spy.pet has collected over 4 billion Discord messages from public chat servers and is now selling access to this data.
React Server Components (RSCs) allow server-exclusive code, which can lead to better performance. However, this means that popular styling options, like CSS-in-JS libraries which rely on React's lifecycle, can conflict with RSCs. RSC's server-side focus clashes with the browser-centric nature of traditional CSS-in-JS libraries, but there are “zero-runtime” CSS-in-JS libraries that are fully compatible with RSCs today. If your application doesn't use these and already has a good “time-to-interactive” time, then migrating to these libraries is not worth it.
This article is a detailed walkthrough in building a basic code formatter, with code examples along the way. To create a code formatter, first transform the code into an abstract syntax tree (AST) and then build a formatting tree using nodes that represent concepts like text, whitespace, and indentation. Traverse the formatting tree, rendering each node into the final formatted code.
Database indexes are similar to organized lists that help you find information quickly. To be most effective, indexes should align closely with how you typically query your data. Indexes don't magically work well at random and take careful thought to get correct.
An engineer is dealing with serious family matters that requires them to put in less effort at work. While they want to tell their manager, commenters tell the original poster not to. Instead, they should continue working, albeit slower, and not tell the manager anything as nobody will probably notice.
Data engineers can avoid burnout and build effective data platforms by aligning the infrastructure with business needs, automating tasks, and prioritizing reliability. They should monitor infrastructure proactively and plan for failures ahead of time.
A code author should have a growth mindset and approach code reviews as an opportunity to learn. A fixed-mindset code author views feedback during code reviews in a defensive way.
Tired of coding forms? With SurveyJS UI components [9], you can generate and style dynamic JSON-based forms of any complexity right in your JavaScript application with no need for manual coding. The libraries utilize JSON objects for both form metadata and results, and support seamless integration with any backend system. You can render your custom forms and collect responses, while retaining full control over your data.
Semantic Autocomplete is a performant React component that extends Material UI's autocomplete component with a local, quantized ML model. The model is used to perform similarity search and helps match by meaning, not just letters. The component is full-featured and doesn't require any extending.
An AI-powered answer engine with a generative UI.
Convert any webpage to Markdown with images included.
This author, who develops an app that controls monitor settings, has observed unusual monitor bugs over the years. These bugs include monitors randomly swapping positions after standby, turning monochrome unexpectedly, blacking out after receiving specific commands, and ignoring input switching or mute commands. Monitors often have faulty firmware and weird workarounds to these problems.