• Hungry Minds
  • Posts
  • 🍔🧠 Chaos Engineering: How To Intentionally Break Your Systems For Fun And Profit

🍔🧠 Chaos Engineering: How To Intentionally Break Your Systems For Fun And Profit

PLUS: Hotstar delivers 5 billion emojis 😮, cut BigQuery costs 260x 💶, and build a search engine in Python 🐍

Happy Monday! ☀️

Welcome to the 246 new hungry minds who have joined us since last Monday!
If you aren’t subscribed yet, join smart, curious, and hungry folks by subscribing here.

🍔 THIS WEEK’S MENU 🥗

  1. 📚 Increase search traffic with Next.js, learn chaos engineering, and see how Disney delivered 5 billion emojis.

  2. 🗞️ Google launches chatbot Gemini, OpenAI gets trillions for AI chips, and Apple reveals image editor.

  3. 👨🏻‍💻 Quick byte: Utility types in TS enhance safety and productivity.

Reading time: 5 minutes

Food for Thought
A mindset, an example, and an action item to start the week

‘Make mistakes, just don’t make them permanent.’

James Clear

Mindset: Mistakes are inevitable, but learning from them and course correcting is key.

Example: Netflix quickly abandoned Qwikster after negative customer feedback.

Action item: Reflect on a recent mistake and brainstorm one small change to adapt moving forward.

The Rabbit Hole
Deep dives, trends, and resources curated to stay ahead

💾 SIDE DISHES 💾

GITHUB REPO (money money)
The OS for your personal finances

ARTICLE (design patterns)
7 must-know object-oriented software patterns (and their pitfalls)

TUTORIAL (python, again)
How to build a search engine in 80 lines of Python

ARTICLE (job search)
Tips to help yourself stand out during a tech job search

The Weekly Digest
Software, AI, and startup news worth your time

Google introduces Gemini Advanced, a new chatbot experience powered by the Ultra 1.0 AI model, enabling users to engage in complex tasks like coding, logical reasoning, and creative collaboration while providing tailored learning and content generation features.

OpenAI's CEO Sam Altman aims to raise trillions of dollars to revolutionize the semiconductor industry by establishing a global network of AI silicon chips, tackling the scarcity of specialized computer chips, and advancing artificial general intelligence.

Apple introduces "MGIE," an open-source AI model utilizing multimodal large language models (MLLMs) to edit images based on natural language instructions, enabling tasks from Photoshop-style modifications to global photo optimization and local editing.

The Browser Company introduces the Arc Browser, an AI-powered tool that enables users to navigate the web without relying on search engines, providing instant access to web pages and information through features like "browse for me" and "instant links."

New York-based startup Hugging Face introduces a customizable chat assistant that lets users choose from various open-source language models, challenging OpenAI's GPT Store.

Reviewers on the Vision Pro subreddit express mixed feelings about Apple's "spatial computer," highlighting issues such as a "smaller than expected" field of view and reflections in the lenses, while others offer helpful advice and humorous insights.

The Quick Byte
One coding tip because you’re technical after all

This week’s coding challenge:

This week’s tip:

TypeScript's utility types provide powerful tools for flexibly transforming types, significantly enhancing type safety and developer productivity. Types like Partial<T>, Readonly<T>, and Record<K, T> allow for more precise type definitions without writing verbose interfaces:

Wen?

  • Refining Type Definitions: Ideal for situations where you need to create variations of existing types, such as making all properties optional or read-only.

  • Dynamic Data Structures: Useful when working with data structures whose shape might not be fully known upfront, like dynamic JSON objects from an API.

    Type Transformation: Essential for cases where you need to map over the properties of a type, such as converting all properties to read only to enforce immutability.

Why?

  • Code Reusability: Reduces duplication by allowing you to reuse and transform existing types, leading to cleaner and more maintainable code.

  • Improved Type Safety: By accurately describing the shape and behavior of objects, utility types help prevent common errors, such as unintended mutations or incorrect property assignments.

  • Developer Productivity: Simplifies the process of working with complex types, making TypeScript code easier to write, read, and refactor.

Burp-A-Laugh
The most important meal of your day

That’s it for today! ☀️

Enjoyed this issue? Send it to your friends here to sign up, or share it on Twitter!

If you want to submit a section to the newsletter or tell us what you think about today’s issue, reply to this email or DM me on Twitter! 🐦

Thanks for spending part of your Monday morning with Hungry Minds.
See you in a week — Alex.

Icons by Icons8.