---
title: "Latest reads"
description: "The engineering internet, summarised so you can actually read it."
---

# Latest reads
> The engineering internet, summarised so you can actually read it.

## Articles

### [Understanding BigBird's Block Sparse Attention](https://yomu.fyi/post/understanding-bigbird-s-block-sparse-attention.md)
- Company: [Hugging Face](https://yomu.fyi/company/hugging-face.md)
- Author: Vasudev Gupta
- Published: Mar 31, 2021
- Type: Explainer

Transformer-based models face severe computational bottlenecks due to quadratic time and memory complexity, making sequences longer than 512 tokens impractical. BigBird addresses this limitation by approximating full attention with block sparse attention, scaling context lengths up to 4096 tokens at a lower computational cost. Instead of attending to all tokens, BigBird combines sliding attention for local context, global tokens for long-range relationships, and random tokens to accelerate information transfer. The model is integrated into HuggingFace Transformers, enabling fine-tuning for tasks like long-document summarization and extractive question answering. When sequences are shorter than 1024 tokens, using original full attention remains recommended.


### [Storage is now available in Supabase](https://yomu.fyi/post/storage-is-now-available-in-supabase.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: Inian Parameshwaran
- Published: Mar 30, 2021
- Type: Announcement

Supabase launched Storage, adding a scalable object store to its existing Postgres, authentication, and API services. Existing open-source storage servers like Ceph, Swift, Minio, and Zenko were evaluated but rejected due to auth incompatibilities and external dependencies like etcd, MongoDB, and Kafka. Consequently, the team implemented a custom Storage API server built with Fastify and TypeScript behind the Kong gateway. Object metadata and access control reside directly in Postgres, leveraging Row Level Security policies written in SQL rather than a proprietary domain-specific language. Objects stream directly to managed backends like AWS S3 using Node streams with minimal in-memory buffering, accompanied by a default one-hour Cache-Control header.


### [Supabase Beta Pricing](https://yomu.fyi/post/supabase-beta-pricing.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Published: Mar 29, 2021
- Type: Announcement

Supabase outlines its beta pricing structure across different service tiers covering database infrastructure, authentication, file storage, and platform operations. Every tier includes a dedicated Postgres database, unlimited API requests, unlimited total users, and access to basic multi-factor authentication and social OAuth providers. Lower tiers offer fixed resources starting at 500 megabytes of database storage and 50,000 monthly active users, with project pausing occurring after one week of inactivity. Higher tiers introduce automated backups, point-in-time recovery, branching billed by the hour, increased egress limits, and compliance options like SOC2, ISO 27001, and HIPAA add-ons. Additional charges apply to resources exceeding tier allocations, including pipeline data processing, log drains, custom domains, and extra concurrent Postgres changes connections.


### [How to Build a Web App with and without Rails Libraries](https://yomu.fyi/post/how-to-build-a-web-app-with-and-without-rails-libraries.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Mar 26, 2021
- Type: Tutorial

This tutorial builds Mirth, a Ruby web application that lets users view displayed data and enter new data that persists, using a birthday tracker as its example. It first constructs the application with core Ruby libraries, explaining TCP sockets, HTTP requests and responses, persistent storage, and the need for a web server interface such as Rack. It then replaces that lower-level code with Rails libraries, including Action Controller, Action Dispatch, Active Record, and Action View, while using ERB templates and a configured view path. The tutorial shows how routing, database access, request handling, and HTML generation fit together, with the application available at localhost:1337/birthdays after the Rails-library version is run. Its conclusion is that building from scratch clarifies the implementation details Rails hides, while Rails remains the practical choice for web development.


### [Health matters: Store and process healthcare data in a HIPAA-compliant manner using Intercom](https://yomu.fyi/post/health-matters-store-and-process-healthcare-data-in-a-hipaa-compliant.md)
- Company: [Intercom](https://yomu.fyi/company/intercom.md)
- Author: Niamh Young
- Published: Mar 25, 2021
- Type: Announcement

Intercom announces that it has completed a HIPAA attestation examination covering how it stores and processes health-related data, including protected health information (PHI) and electronic protected health information (ePHI). The examination was performed by an independent Certified Public Accounting firm, which reviewed HIPAA policies, procedures, and controls against the HIPAA Security Rule and HITECH Breach Notification Rule requirements. Intercom says the result allows it to enter Business Associate Agreements with applicable healthcare customers and make the attestation report available for review. Reported customer metrics include a 90% median CSAT score, 36% automatic resolution of common healthcare questions, and more than 500k healthcare conversations powered daily. Intercom also says it will perform the examination annually, alongside its stated ISO:27001 certification, SOC 2 Type 2 compliance, GDPR and CCPA compliance.


### [Angels of Supabase](https://yomu.fyi/post/angels-of-supabase.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: Paul Copplestone
- Published: Mar 25, 2021
- Type: Announcement

Supabase announced a 6 million dollar seed round led by Coatue, Mozilla, and Y Combinator, accompanied by over twenty technical angel investors. To guide its mission of providing an open-source alternative to Firebase, the company deliberately assembled a roster of angel backers comprising CTOs, developers, and developer advocates. The post features short interviews with several angel investors who share their career backgrounds, coding habits, and rationale for supporting the platform. Many investors highlighted the appeal of Supabase's developer ergonomics, its open-source foundation, and the advantages of utilizing Postgres directly alongside built-in authentication over proprietary NoSQL alternatives. Supabase also teased its upcoming Launch Week, during which the team plans to release one new feature daily for a week.


### [Launch week](https://yomu.fyi/post/launch-week.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: Ant Wilson
- Published: Mar 25, 2021
- Type: Announcement

Following its transition from Alpha to Beta, Supabase scheduled an intensive Launch Week to deliver multiple major features built over a three-month cycle. The event opened with a pricing model designed around predictable metrics like storage to prevent unexpected billing spikes from API requests. The team subsequently launched Supabase Storage, combining a Fastify Node.js API layer with Kong authentication and Postgres Row Level Security for policy evaluation. Additional launches delivered a CLI supporting database migrations and Docker self-hosting, alongside an open-source dashboard UI component library. Finally, Supabase added PgBouncer connection pooling for Postgres instances, previewed an Elixir workflow engine, and transitioned its primary domain to supabase.com.


### [Anycast the easy way](https://yomu.fyi/post/anycast-the-easy-way.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Mar 23, 2021
- Type: Explainer

Anycast lets an operator announce one IP block from multiple locations so routers connect users to a “nearest” location, but a basic setup requires address space and BGP announcements. The described path involves registering with a Regional Internet Registry, acquiring IPv4 through a broker or obtaining an IPv6 block, and checking purchased addresses for transfer eligibility and abuse-list history. It specifies minimum announcement sizes of an IPv4 /24 or IPv6 /48, notes a roughly $25-per-IPv4-address market rate, and estimates cloud holdings using published ranges. An ASN, available free from RIPE according to the text, groups prefixes and enables independent announcements, while BGP details, traffic direction, and failure scenarios are identified as harder areas left for later.


### [The Partnership: Amazon SageMaker and Hugging Face](https://yomu.fyi/post/the-partnership-amazon-sagemaker-and-hugging-face.md)
- Company: [Hugging Face](https://yomu.fyi/company/hugging-face.md)
- Author: Philipp Schmid
- Published: Mar 23, 2021
- Type: Announcement

Hugging Face and Amazon formed a strategic partnership establishing Amazon Web Services as Hugging Face's preferred cloud provider to simplify training and deploying Transformer models. To facilitate this collaboration, the teams introduced Hugging Face Deep Learning Containers optimized for PyTorch and TensorFlow in Amazon SageMaker. The integration provides an extension to the SageMaker Python SDK, enabling data science teams to configure distributed training jobs across single-node and multi-node GPU clusters. Workflows integrate directly with SageMaker Automatic Model Tuning, SageMaker Studio, and Amazon S3 for managed experiment tracking and artifact storage. The open-source containers allow trained models to be exported for inference via SageMaker or published directly to the Hugging Face Model Hub while utilizing EC2 Spot instances to reduce compute expenses.


### [Developers stay up to date with intheloop.dev](https://yomu.fyi/post/developers-stay-up-to-date-with-intheloop-dev.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: Rory Wilding
- Published: Mar 22, 2021
- Type: Problem & solution

Freelance engineer Kevin Grüneberg created intheloop.dev as an open-source aggregator to help developers track software updates, release notes, changelogs, tweets, and community discussions from a single platform. The initial release provides dedicated coverage for React, Kotlin, and Vite, with plans to introduce user accounts, notifications, and personalized digests. Although Grüneberg previously used Firebase for rapid prototyping, he found relational requirements like count queries, normalization, and foreign keys difficult or impossible to implement. He selected Supabase as the backend to combine fast integration with PostgreSQL capabilities, including SQL queries, constraints, views, and materialized views. This database architecture allows the application to handle structured data relationships efficiently while scaling future feature additions without restructuring core models.


### [How Grab Leveraged Performance Marketing Automation to Improve Conversion Rates by 30%](https://yomu.fyi/post/how-grab-leveraged-performance-marketing-automation-to-improve-convers.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Sc Ng
- Published: Mar 22, 2021
- Type: Problem & solution

Grab faced operational bottlenecks managing direct-response Google Ads campaigns across thousands of ad groups due to its hyperlocal marketing across Southeast Asian markets. To eliminate the manual burden of tracking and updating ad creatives, the team built CARA, an in-house automation tool deployed on AWS serverless compute. CARA utilizes standardized file naming conventions to map assets to specific campaigns and connects with Google Ads and YouTube APIs to detect and replace low-performing assets. During an experimental rollout across more than 8,000 active ad groups, CARA replaced nearly 2,000 underperforming creatives. The automated asset replacement workflow produced an 18% to 30% increase in clickthrough and conversion rates.


### [Remove Circular Dependencies by Using Dependency Injection and the Repository Pattern in Ruby](https://yomu.fyi/post/remove-circular-dependencies-by-using-dependency-injection-and-the-rep.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Mar 19, 2021
- Type: Tutorial

An internal Ruby pricing gem used by Shopify Core and Storefront Renderer needed consumer-owned data while retaining shared pricing knowledge, creating a circular dependency. The proposed design puts calculation logic and shared domain types in a stateless gem, while each consumer implements a repository contract for retrieving and returning the required data. Constructor injection passes a PricingRepositoryInterface implementation into PricingEngine::Engine, and Sorbet interfaces and function signatures enforce implemented methods and expected return types. Testing separates gem-isolated tests using repository mocks, consumer unit tests for repository behavior, and integration tests confirming the gem works within each consumer. The result, according to the post, is removal of the circular dependency and a typed contract that makes consumers responsible for data access.


### [My Journey to a serverless transformers pipeline on Google Cloud](https://yomu.fyi/post/my-journey-to-a-serverless-transformers-pipeline-on-google-cloud.md)
- Company: [Hugging Face](https://yomu.fyi/company/hugging-face.md)
- Author: Dominici
- Published: Mar 18, 2021
- Type: Tutorial

The post documents Maxence Dominici’s effort to deploy a Transformers sentiment-analysis pipeline on Google Cloud for classifying customer reviews from Discord. After considering AI Platform Prediction and App Engine, he chose Cloud Run with a Docker image because custom checkpoint handling, dependencies, and resource requirements made the other options unsuitable. The implementation uses a PyTorch DistilBERT model fine-tuned on SST-2, Flask, Gunicorn, and a GET request protected by an optional API key; the shown handler retrieves a review but passes the hard-coded text “that was great” to the classifier. Cloud Run is configured with 4 GB of memory, one worker, and one thread to limit memory pressure and billing. Requests take under five seconds including model loading, while cold starts may add about ten seconds, and the author reports that the pretrained model’s accuracy was already impressive.


### [The 5-hour CDN](https://yomu.fyi/post/the-5-hour-cdn.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Mar 16, 2021
- Type: Tutorial

The post presents a five-hour path to building a functional content delivery network as a distributed caching proxy rather than a Google-scale infrastructure project. It defines the architecture as NGINX instances deployed across cities, with DNS rules or Anycast directing users to regions and hash-based load balancing assigning URLs to cache shards. Health checks and multi-location monitoring detect failed or slow regions, while peer caches, origin-access protection, and request coalescing address redundancy, security, and cache-miss spikes. The design can improve cache ratios and reduce origin load, but cross-region proxying can add latency, and distributed invalidation remains unresolved; app-specific workloads may be better served by distributing the application itself. The conclusion is that existing NGINX features and modest scripting make a simple CDN practical, while advanced capabilities such as image optimization, WAF, rate limiting, and bot detection remain possible extensions.


### [Capturing Every Change From Shopify’s Sharded Monolith](https://yomu.fyi/post/capturing-every-change-from-shopify-s-sharded-monolith.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Mar 12, 2021
- Type: Problem & solution

Shopify’s separate internal warehouse and Merchant Analytics Platform created duplicated work, differing extraction results, and incompatible tooling while demand grew for fresher, low-latency merchant data. Longboat, its query-based CDC service, polls sharded-monolith replicas in batch jobs using updated\_at, but queries can run only hourly and cannot detect hard deletes or updates that bypass that field. Shopify therefore adopted Kafka and Debezium CDC to capture database changes, standardize extraction, and make the event stream usable by both streaming and batch consumers. CDC-backed Beam modeling reduced average freshness for one migration from one day to one hour, while Kafka became a shared source for operational and analytical data. Shopify still identifies incremental snapshotting and streaming-state problems, including reconciling MySQL table chunks with ongoing binlog events without expensive locks, as ongoing work.


### [Fine-Tune Wav2Vec2 for English ASR in Hugging Face with 🤗 Transformers](https://yomu.fyi/post/fine-tune-wav2vec2-for-english-asr-in-hugging-face-with-transformers.md)
- Company: [Hugging Face](https://yomu.fyi/company/hugging-face.md)
- Author: Patrick von Platen
- Published: Mar 12, 2021
- Type: Tutorial

Wav2Vec2 is a pretrained Automatic Speech Recognition model that learns speech representations from over 50,000 hours of unlabeled audio using a contrastive objective and masked feature vectors. The model can be fine-tuned end-to-end on labeled speech datasets using Connectionist Temporal Classification without requiring an external language model. To demonstrate this process, a base-sized checkpoint is fine-tuned on the Timit dataset, which contains five hours of training data. Data preparation involves normalizing transcriptions to lowercase, removing special punctuation characters, and configuring both a specialized feature extractor and tokenizer. Evaluating the fine-tuned acoustic model without padding on the Timit test dataset yields a word error rate of 22.1%.


### [Using Supabase in Replit](https://yomu.fyi/post/using-supabase-in-replit.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: Ant Wilson
- Published: Mar 11, 2021
- Type: Tutorial

Replit provides a collaborative, browser-based coding environment, but applications requiring structured relational queries or larger datasets need external database infrastructure. Developers can integrate a Node.js repl directly with a hosted Supabase relational database without provisioning or managing server instances. The setup process involves importing the @supabase/supabase-js client library and authenticating using the project URL alongside the anonymous API key obtained from the Supabase dashboard settings. Once initialized, developers can populate sample datasets like Countries and execute read queries using standard promise handlers or async/await syntax. The client library also supports diverse query filtering methods such as .or(), .is(), .in(), and .neq() to manipulate relational datasets directly in JavaScript.


### [Updates on Shopify's Bug Bounty Program 2021 - Shopify](https://yomu.fyi/post/updates-on-shopify-s-bug-bounty-program-2021-shopify.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Mar 11, 2021
- Type: Announcement

Shopify’s 2021 bug bounty update reviews a busier 2020 program and outlines planned improvements for hackers and internal responders. Its first virtual live hacking event brought together 38 hackers from seven countries, generated 83 valid reports, and paid more than $220,000 in bounties plus $54,000 in bonuses. Shopify also raised its maximum bounty to $50,000, surpassed $2 million in total awards, replaced its bounty table with CVSS-based scoring and a public calculator, and published a GraphQL hacking guide. To handle volume, the Application Security team created a dedicated HackerOne team, built a dashboard for follow-up questions, and planned more resources and a revised private Experiments program. In 2020, Shopify triaged 215 reports, paid over $460,000, and reported an average first-response time of 25 hours, while average triage and bounty times increased.


### [Hugging Face Reads, Feb. 2021 - Long-range Transformers](https://yomu.fyi/post/hugging-face-reads-feb-2021-long-range-transformers.md)
- Company: [Hugging Face](https://yomu.fyi/company/hugging-face.md)
- Author: Victor Sanh
- Published: Mar 9, 2021
- Type: Explainer

Standard transformer models face severe memory and compute bottlenecks due to the quadratic scaling of self-attention with sequence length. To scale beyond short sequence limits, efficient architectures introduce varied mechanisms such as custom sparse attention patterns, compressed recurrence, low-rank projections, and kernel approximations. Longformer integrates local dilated windowed attention with task-specific global tokens, functioning as a drop-in replacement that enables standard pre-trained models to process long inputs without full retraining. Concurrently, Compressive Transformers extend temporal memory by compressing discarded activations, while models like Linformer and Performer reduce computational complexity through projection and kernel estimation. Progress in long-range modeling also reveals that incrementally training models from short to longer sequences accelerates convergence and improves downstream performance.


### [Toad, a link shortener with simple APIs for low-coders](https://yomu.fyi/post/toad-a-link-shortener-with-simple-apis-for-low-coders.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Published: Mar 8, 2021
- Type: Explainer

Supabase compiles an overview of customer case studies documenting how organizations deploy its platform across production environments. Multiple companies report infrastructure migrations, including Firecrawl switching from Pinecone to Supabase Vector for PostgreSQL vector embeddings and Mobbin moving 200,000 users from Firebase. Engineering teams document operational gains and cost efficiencies, such as Shotgun achieving an 83% reduction in data infrastructure expenses and Quilia saving 75% in development time using Data API and RLS features. Other organizations highlight infrastructure performance improvements, including Good Tape recording a 60% cost reduction alongside database efficiency gains after migrating to Supabase managed Postgres and Authentication. Teams also report accelerated implementation speeds, with Replenysh delivering OTP functionality in less than 24 hours and Xendit releasing a full solution to production within one week.


[Newer posts](https://yomu.fyi/posts/page/223.md) · [Older posts](https://yomu.fyi/posts/page/225.md)
