Google DeepMind has released Gemma 2, a family of high-performing and efficient open models for various AI tasks. Gemma 2 is designed to run efficiently on a single GPU or TPU host, and it is compatible with major AI frameworks like Hugging Face Transformers, JAX, PyTorch, and TensorFlow. It is available in 9 billion and 27 billion parameter sizes.
This is an AI tool that creates CSS animations. You can describe the animation you want and the tool will generate the code. You can also edit the animation after it is created.
Supermemory is like ChatGPT for your bookmarks. You can import tweets or save websites and content using the Chrome extension and chat with your bookmarks.
On May 16, 2024, the rabbitude team discovered several hardcoded API keys in the Rabbit r1 codebase, allowing them to access and manipulate user data. Rabbit Inc. has been aware of this security breach for a month but has not taken any action to mitigate the risk. The Rabbit r1 is a ChatGPT-based personal assistant device.
Generative language models are based on the transformer architecture, a neural network that takes embedded tokens as input and transforms them through masked self-attention and feed-forward operations. These models are pretrained using self-supervised learning with the goal of predicting the next token in a sequence. After pretraining, the alignment process teaches the model to generate text that aligns with human desires by using techniques like supervised finetuning and reinforcement learning from human feedback.
OpenAI developed CriticGPT, a model based on GPT-4, to identify errors in ChatGPT's code output, and found it improves human trainers' ability to spot mistakes during the reinforcement learning process. CriticGPT was trained using RLHF on ChatGPT answers containing errors. It can generate longer, more comprehensive critiques by utilizing additional test-time search against the critique reward model.
Slack transitioned from Enzyme to React Testing Library (RTL) due to the lack of support for React 18 by Enzyme, converting over 15,000 tests using a hybrid approach that combined Abstract Syntax Tree transformations and LLMs.
This blog post demonstrates how to use Web Workers, Comlink, and TanStack Query in a Vite project to offload expensive computations to a background thread, improving UI responsiveness.
Cache memory is a temporary storage located on the processor that increases CPU efficiency by holding frequently accessed data. The CPU cache is organized in levels (L1, L2, L3, etc.) with varying speeds and sizes, with L1 being the fastest and smallest. Cache placement policies determine where data is stored in the cache. Direct mapping is one of the simplest approaches. Programmers can write cache-friendly code by optimizing data locality, avoiding complex loops, and using appropriate struct alignment and compiler flags.
JavaScript's many methods of representing unknown values, including null, undefined (as missing or value), falsy values, ReferenceError, empty slots in arrays, -1, and TypeScript's void, causes confusion and defects.
Search engine dorking is a technique that uses crafted queries to find specific types of sensitive information on the internet, such as leaked documents or API keys. Another way to discover sensitive data is through GitHub dorking, which searches for accidentally committed credentials or API keys in public repositories. Tools like PublicWWW can be used to search for API keys and other sensitive information on live websites, while tools like S3Scanner help find misconfigured cloud storage buckets that expose private data.
Documentation-driven development (DDD) involves writing documentation before coding, which can help clarify project scope and API design. DDD can take many forms, such as design mockups, API reference docs, tickets, or even tests. It is not a "write once and done" process but rather an iterative cycle of refining both code and documentation. DDD can help identify potential issues in the design phase, saving time and resources in the long run.
The plan-execute pattern is a design pattern used to separate the planning phase (decision-making) from the execution phase (actions) when developing software. It helps in testing the decision-making part and debugging by allowing inspection of the plan data structure. This pattern is commonly used in various areas, such as query planning in relational databases and interpreters. The execution phase can be further split into a state machine and a driver loop to handle uncertainties.
Which % of organizations surveyed are using Agile? If you guessed anything other than 94%, you'd be wrong. Take the one-minute Agile quiz [16] to see what other insights you can uncover! The quiz is
Vercel v0 is a tool that uses AI to generate and iterate upon frontend components quickly. It now supports themes. Developers can now create custom themes from prompts, modify individual design tokens, and switch between different themes for their generations.
NodeSwift is a bridge between Node.js and Swift code. It makes it possible to write Swift code that talks to Node.js libraries, and vice versa. This means developers can use native macOS APIs from an Electron app, npm APIs from a Swift app, and more.
OpenStatus is an open-source performance monitoring platform. It supports synthetic monitoring, which monitors websites and APIs worldwide and sends notifications when they are down or slow. It also supports user monitoring, which uses Core Web Vitals metrics to show how users are experiencing your website.
Figma AI is a new suite of AI-powered tools for Figma that helps designers with tasks such as visual search, asset search, text editing, image editing, prototyping, layer renaming, and design generation. These features are powered by third-party AI models and are free to use during the beta period.
Both WrenAI and Pinterest share their Text-to-SQL solutions and how they built them. WrenAI and Pinterest both innovate in Text-to-SQL with indexing and retrieval phases, though WrenAI distinguishes itself through a semantic engine and robust user interaction features, while Pinterest focuses on metadata-driven approaches and table summarization. WrenAI has semantic modeling and user feedback integration in its roadmap.
Node.js continues to be widely adopted with frequent updates and support, such as the addition of ECMAScript Modules, worker threads, and the Fetch API.
This article discusses 10 best practices to improve Spring Boot performance, such as optimizing the JVM, utilizing virtual threads, Spring AOT, class data sharing, configuring threads, caching, and using resiliency patterns.
What if you could cut your Google Maps / Mapbox bill in half — without settling on functionality? Start free today with Radar's geocoding APIs, search APIs, routing APIs, and base maps [4]:
UUIDv7 is a 128-bit unique identifier designed to be time-sortable with 1 ms precision, making it suitable for use in databases, including distributed systems. Unlike its predecessor UUIDv4, UUIDv7 integrates both timestamp and random components, ensuring sequential ordering based on time. This makes UUIDv7 a great option for generating unique identifiers for database records that require precise chronological ordering.
Netflix initially implemented prioritized load shedding at the API gateway level, then extended it to individual service level for finer-grained control and better cloud capacity utilization. One example is its PlayAPI, which prioritized user-initiated requests over pre-fetch requests during an infrastructure outage, maintaining high availability for critical requests. Netflix also created an internal library for prioritized load shedding and experimented with CPU-based and IO-based load shedding.
Undefined behavior (UB) in C code allows compilers to optimize code based on the assumption that no UB exists, potentially removing conditions or altering program flow. However, the handling differs between compilers if the compiler statically detects UB, like division by zero: GCC tends to crash the program, while Clang may ignore the undefined code or continue compiling, potentially leading to unexpected results later. This differing behavior is due to different philosophies - LLVM aims for more lenient handling to match developer expectations, while GCC takes a more conservative approach.
This author proposes a streamlined interview process with only one technical and one non-technical interview, arguing that the approach leads to more effective interviews, attracts better senior applicants, and reduces bias in the hiring process.
This page looks at several custom tools that were developed by engineers to improve automation efficiency in their teams, including a Slack notification system for failing tests, a visual regression testing tool using Selenium and JIMP, a Windows application to automate terminal emulators, and a script to automatically generate API tests from a Swagger file.
2024.06.26·
softwareautomation.notion.site·6 min read·TLDR Web Dev
Stop wasting time building and managing your app's analytics. Give your customers what they want with self-service reporting and deliver new analytics features 10x faster with Qrvey [10]. Development teams
NLUX is an open-source JavaScript library for building conversational AI interfaces quickly with React and other frameworks. It offers components, hooks, and adapters for popular AI models.
Glasskube is a package manager for Kubernetes. It makes deploying, updating, and configuring packages on Kubernetes 20 times faster than other similar tools.
This article goes over the basics of search for engineers. Search involves various aspects like judging relevance, dealing with different information needs, and optimizing metrics like precision and recall. Click models can help understand user behavior, while BM25 is a popular lexical similarity score used in search.
The KakaoTalk Android app had a vulnerability that allowed attackers to execute arbitrary JavaScript in its WebView. The vulnerability leaked an access token that could be used to take over the user's account. Attackers could use the token to register their device on the victim's account and read their chat messages.
Companies typically move to a General Management (GM) model post-scaling when they have multiple proven product lines and need focused leadership for agility and accountability. This model is beneficial when product metrics are closely tied to revenue and requires autonomous business units for rapid decision-making.
The popular Polyfill.js library, which has been acquired by a Chinese company, has been injecting malware into websites that use it, redirecting mobile users to malicious sites during specific hours and avoiding detection by delaying execution when web analytics services are present.
Property-based testing helps find bugs in corner cases by automatically generating random test cases to check if certain properties hold true for a wide range of inputs.
Local-first software stores and processes data locally on users' devices while using the internet for backup when connected. Resilient Sync uses a simple log format to track changes and assets, allowing offline data processing and easy sync across devices. It offers independence from push notifications, the ability to load entries without knowing their content, easy detection of missing data, and the option for data replication and peer-to-peer synchronization.
MobX, a React state management library, automatically tracks dependencies and memoizes components. The upcoming React Compiler is meant to auto-memoize components, but MobX already does this more efficiently with less memory.
Slack detects session forking through the use of last access timestamps, IP addresses, and a two-phased cookie update approach. Session forking is when a cookie is being used from more than one device at the same time. Slack's system helps identify and mitigate the risks associated with stolen cookies while reducing false positives and minimizing performance impact.
Microfeatures, like sidenotes, tables of contents, and easily linkable headings, enhance the quality of life for readers of blogs and personal websites. Little UX details on a website can have huge ROIs on user experience.