Newslurp

<< Stories

Shopify’s React Native migration 📱, easy diagrams 🧑‍🎨️, write more design docs ✍️

TLDR Web Dev <dan@tldrnewsletter.com>

November 5, 12:08 pm

TLDR WebDev
Shopify has completed migrating its mobile app to React Native, where 86% of its code is now shared between iOS and Android. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌  ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ 

TLDR

Together With dotCMS

 TLDR Web Dev 2024-11-05

dotConnect24: explore the new era of CMS and web development (Sponsor)

AI, multi-channel complexity, and experimentation are forcing developers and marketers to adopt a new playbook for web development. Stay on top of the latest trends at dotConnect — a fully virtual and free 2-day event.

Join for expert sessions, roundtables, and networking with leading front-end developers. Some of the key topics on the agenda:

  • Optimizing content workflows with tech
  • How multi-tenancy and AI are changing CMS
  • The role of AI in the content lifecycle
  • Introducing Universal CMS by dotCMS

If you're building or managing websites, you don't want to miss this event. Sign up for free here

🧑‍💻

Articles & Tutorials

The Architecture of Dropbox's Load Balancing Service (7 minute read)

Dropbox's Robinhood load balancing service improved its hardware utilization, reducing fleet sizes by 25% and saving millions annually. Robinhood operates by collecting load reports from services, using these reports to distribute traffic evenly across servers based on metrics like CPU utilization and geographic location. The performance indicators for Robinhood include max/avg ratio, p95/avg ratio, and p5/avg ratio.
Writing secure Go code (14 minute read)

It's easier to write secure Go code with tools for static code analysis, such as go vet, staticcheck, and golangci-lint, which help identify potential security issues and improve code quality. This article covers the use of govulncheck for scanning code and binaries for known vulnerabilities and introduces fuzzing as a method for automatically testing code with randomly generated inputs.
The most effective ways to improve Core Web Vitals (19 minute read)

Better Core Web Vitals mean better web page user experiences. To improve Core Web Vitals, focus on breaking up long tasks, minimizing JavaScript, and optimizing rendering to improve Interaction to Next Paint (INP). Images should be preloaded and a CDN should be used where possible to reduce Time to First Byte.
🧠

Opinions & Advice

I've had a change of heart regarding employee metrics (4 minute read)

Tools designed to track individual work output initially may have been predicted to identify "slackers" but they aren't a good gauge for productivity. Instead, managers should take responsibility for their own teams' performance.
Please just stop saying "just" (5 minute read)

Using the word "just" in software engineering discussions can be detrimental. This is because "just" implies simplicity, which is very often not the case when building software.
Get Me Out Of Data Hell (15 minute read)

This author worked in a data warehouse platform he calls the "Pain Zone." It had poorly designed code, illogical data structures, and a culture that prioritizes speed over quality. After deciding to resign, he decided that he prefers places that respect good code and craftmanship over speed.
🚀

Launches & Tools

Measure what you ship with Statsig (Sponsor)

Looking to advance your experimentation culture? Try Statsig - with a single integration you can instantly get access to best-in-class experimentation, feature flag, and product analytics tools built by an ex-Facebook team. With lightweight performance SDKs and scaled infrastructure, Statsig supports customers of all sizes from early-stage startups to leading SaaS and AI companies (OpenAI, Anthropic, Notion). Measure what you ship - $0 for 2M events/month.
Diagrams (Website)

Diagrams is a Python library that allows you to draw cloud system architecture diagrams in code. It's designed for prototyping new architectures and visualizing existing ones. Diagrams supports major cloud providers like AWS, Azure, GCP, and Kubernetes, along with on-premise nodes, SaaS services, and popular programming frameworks.
HTML to React & Figma (Website)

This is a Chrome extension that allows users to convert any webpage or section into React code or an editable Figma design. It can be used to quickly grab designs for inspiration, import existing designs to work from, and use AI to customize them.
🎁

Miscellaneous

Benchmarking Ruby Parsers (8 minute read)

Prism is a new Ruby parser that is much faster than other parsers. It's tested against other parsers like RubyParser, Ripper, and the Parser gem in different scenarios like parsing and walking the Abstract Syntax Tree (AST) and parsing directly to C structs. Prism is more than 10 times faster than the Parser gem and RubyParser when parsing and walking the AST, and it is 2.56 times faster than the traditional parse.y when parsing to C structs.
Anthropic hikes the price of its Haiku model (2 minute read)

Anthropic has released Claude 3.5 Haiku, which surpasses its predecessor in performance on various benchmarks. The company has decided to increase the price of the model fourfold from Claude 3 Haiku due to its increased intelligence.
Rewrite it in Rails (10 minute read)

This developer tried to rewrite a Rails application he was working on in Rust and Svelte. This effort failed due to the complexity and the lack of immediate user benefits. After returning to Rails, he realized that while learning new tech is fun as a developer, it comes with significant trade-offs.

Quick Links

Shopify completes React Native migration (3 minute read)

Shopify has completed migrating its mobile app to React Native, where 86% of its code is now shared between iOS and Android.
Reasons to write design docs (11 minute read)

Writing design documents leads to better design, collaboration, knowledge sharing, and understanding the rationale behind decisions.
The overlooked GenAI use case (3 minute read)

Data analytics and decision support are the most overlooked GenAI use cases.
Differentiating router.push() and redirect() (3 minute read)

Use router.push() for client-side navigation triggered by events in client components and use redirect() for server-side redirects within server components, server functions, or route handlers.

Love TLDR? Tell your friends and get rewards!

Share your referral link below with friends to get free TLDR swag!
Track your referrals here.

Want to advertise in TLDR? 📰

If your company is interested in reaching an audience of web developers and engineering decision makers, you may want to advertise with us.

If you have any comments or feedback, just respond to this email!

Thanks for reading,
Priyam Mohanty, Jenny Xu & Ceora Ford


If you don't want to receive future editions of TLDR Web Dev, please unsubscribe from TLDR Web Dev or manage all of your TLDR newsletter subscriptions.