Cloudflare uses lava lamps for their encryption.
No, I am not kidding.
In their San Francisco office, Cloudflare has a wall filled with lava lamps with cameras pointed at them 24/7. At random intervals, a picture is taken, and that image is sent to the Cloudflare servers.
That is then turned into a series of numbers that is then turned into an encryption key.
You're probably wondering "Why not just have a computer do it." Well, computers are actually really bad at making things random.
They follow patterns, and those patterns are easy for hackers to figure out. Thus making Cloudflare susceptible.
So the solution is the real world.
Nature is random. Wild, dare I say.
If these giant tech companies see the value in the wild and natural and random, you should too. ;)
#Python 3.14 is out now!
🐍 - Free-threading
🐍 - Deferred annotations
🐍 - t-strings
🐍 - ZStandard compression
🐍 - Multi-interpreter support
🐍 - JIT compiler included for Windows and MacOS
🐍 - and more!
Happy 20th birthday Django! 💝🎂🎉
https://t.co/ApiKOUIYrR
Our open source journey started 20 years ago today, on July 13th 2005. Come celebrate this big milestone at one of our many community events this year #Django#DjangoBirthday
Demis Hassabis is CEO of Google DeepMind, a Nobel Prize-winning scientist, and a former chess prodigy.
I sat down with him to talk about:
-How AI could cure all diseases
-The future of human-AI relationships
-Vibe coding and the moat for startups
Here's what he said:
🚨 BREAKING: Claude 4 just made every dev tool outdated.
If you’re building agents, coding copilots or AI workflows - pause everything and read this.
Anthropic dropped code-native super intelligence and it’s wild: 🧵👇
First light! The color data is now being delivered over WiFi, rendered on the Mac/PC, and sent to the Pi which renders it on the matrix banner. Frames are buffered and timestamped and shown when due, so it's all syncs nicely.
Code at: https://t.co/i20MxqJAoF
The database that handles 350 billion requests daily at PayPal at 6 nines of availability.
That’s 99.9999% availability or just 86.40 milliseconds of downtime per day.
For reference, your average eye blink takes 100 milliseconds.
Theoretically, you can miss JunoDB going down while you blink your eyes.
PayPal open-sourced JunoDB some time back, revealing some great facts about it.
- Written in Go
- Multi-core and CPU-bound
- Consists of the JunoDB client library, a proxy and storage servers.
- Used in every back-end service at PayPal (login, risk management and so on)
- The main use cases are caching, implementing idempotency, counters and latency bridging
Want to know more?👇
Scaling Database: When and How to Shard
Database sharding refers to splitting data across multiple database servers and is commonly used for scaling. However, sharding introduces major operational and infrastructure complexity that should be 𝗮𝘃𝗼𝗶𝗱𝗲𝗱 𝘂𝗻𝗹𝗲𝘀𝘀 𝗮𝗯𝘀𝗼𝗹𝘂𝘁𝗲𝗹𝘆 𝗻𝗲𝗰𝗲𝘀𝘀𝗮𝗿𝘆.
𝗔𝗹𝘁𝗲𝗿𝗻𝗮𝘁𝗶𝘃𝗲 𝗦𝗰𝗮𝗹𝗶𝗻𝗴 𝗔𝗽𝗽𝗿𝗼𝗮𝗰𝗵𝗲𝘀
Vertical Scaling: Use more powerful single database servers with more CPUs, memory, storage and I/O bandwidth. Much simpler to manage than sharding.
SQL Optimization: Tune SQL queries and database schema to maximize performance on a single server using proper indexes, efficient SQL, etc.
Caching: Use in-memory caches like Redis to reduce database load by serving common queries from the cache instead of hitting the database every time.
Read Replicas + Load Balancer: Add horizontal read scaleability without full complexity of sharding. Directs reads across replicas.
These optimization approaches should be exhausted before considering sharding.
𝗦𝗵𝗮𝗿𝗱𝗶𝗻𝗴 𝗠𝗲𝘁𝗵𝗼𝗱𝘀
There are two high-level approaches:
Vertical Sharding: Split database into columnar tables or sections vs rows. For example, having one table for names and another table for emails.
Horizontal Sharding: Split database into row partitions distributed evenly across multiple servers. Methods include range based, directory based, and hash based sharding.
𝗪𝗵𝗲𝗻 𝘀𝗵𝗮𝗿𝗱𝗶𝗻𝗴, 𝘂𝘀𝗲 𝘁𝗵𝗲 𝘀𝗶𝗺𝗽𝗹𝗲𝘀𝘁 𝗮𝗽𝗽𝗿𝗼𝗮𝗰𝗵 that meets requirements to minimize complexity. Seek to avoid sharding until necessary despite the scaling benefits. The infrastructure and operational overheads often outweigh gains.
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/kNfv0DVDdf
Did you know Postgres DB can be used as a pub-sub broker with the LISTEN/NOTIFY commands? 🤔 This opens a world of possibilities, including using it as a robust task queue. Curious to learn more?
A thread 🧵
The best tech for each task:
- batch pipeline: Apache Spark
- data visualization: Apache Superset
- web api: NextJS (spring boot close second)
- SQL database: Postgres
- NoSQL database: DynamoDB
- Graph database: Neo4j
- front end web: React
- front end mobile: React Native (Flutter close second)
- CI/CD system: GitHub Actions
- data quality checks: Great Expectations (Deequ close second)
- data lake file management: Apache Iceberg (Delta Lake a close second)
- job orchestration: Apache Airflow (Mage and/or Prefect close second)
- machine learning model: XGBoost (linear regression close second)
- LLM: GPT-4.5 Turbo
- programming language: Python (Rust close second)
- message queue: Kafka (RabbitMQ close second)
- cache: Redis (Memcached close second)
#softwareengineering
New short course on sophisticated RAG (Retrieval Augmented Generation) techniques is out! Taught by @jerryjliu0 and @datta_cs of @llama_index and @truera_ai , this teaches advanced techniques that help your LLM generate good answers.
Topics include:
- Sentence-window retrieval, which retrieves not just the most relevant sentence, but a window of sentences around it for higher quality context.
- Auto-merging retrieval, which organizes your document into a hierarchical tree structure, where each parent node's text is split among its child nodes. Based on the relevance of the child nodes to a user query, this lets you better decide whether the entire parent node should be provided as context to the LLM.
- Evaluation methodology for separately evaluating the quality of the key steps of RAG (context relevance, answer relevance, groundedness) so that you can perform error analysis, identify which part of your pipeline needs work, and tune components systematically.
Please check out the course!
https://t.co/O23Z2CDldk