Reading list November 2023

The list of things I read or watched this month How To NOT Get Screwed As A Software Engineer - https://www.youtube.com/watch?v=fcfVjd_oV1I Failing Startups : Maybe I should get a job - https://www.indiehackers.com/post/failing-startups-maybe-i-should-get-a-job-653e1efd52 Cross shard transactions at 10 million requests per second - https://dropbox.tech/infrastructure/cross-shard-transactions-at-10-million-requests-per-second Let’s implement a basic hotel reservation system with 2PC using pessimistic and optimistic locks in Go - https://blog.stackademic.com/lets-implement-a-basic-hotel-reservation-system-with-2pc-using-pessimistic-and-optimistic-locks-in-581256d142e8 Postgres: PREPARE TRANSACTION - https://www.postgresql.org/docs/current/sql-prepare-transaction.html Building a Streaming Platform in Go for Postgres - https://blog.peerdb.io/building-a-streaming-platform-in-go-for-postgres Using MySQL to stop freeloaders (in only 8 minutes) - https://www.youtube.com/watch?v=goC5BdyCvms You don’t need NoSQL (use MySQL) - https://www.youtube.com/watch?v=QZBxgX2OWbI Towards Modern Development of Cloud Applications - https://dl.acm.org/doi/pdf/10.1145/3593856.3595909 Diamond Architecture - How to build HUMONGOUS Apps FAST! - Part 5 - Less Boilerplate Please - https://www.youtube.com/watch?v=SQengjF8gXs Essence of Domain-Driven Design (DDD) - https://www.youtube.com/watch?v=Y0txTmT3k7M Event-Driven Architecture lost its way - https://www.youtube.com/watch?v=YusVrd9rHJU Paper Notes: Bitcask – A Log-Structured Hash Table for Fast Key/Value Data - https://distributed-computing-musings.com/2023/01/paper-notes-bitcask-a-log-structured-hash-table-for-fast-key-value-data/ Wikipedia: readahead - https://en.wikipedia.org/wiki/Readahead Manpage: readahead - https://man7.org/linux/man-pages/man2/readahead.2.html P99 CONF 2023 | A Deterministic Walk Down TigerBeetle’s main() Street by Aleksei Kladov - https://www.youtube.com/watch?v=AGxAnkrhDGY why yelling at your code makes it better (software fuzzing explained) - https://www.youtube.com/watch?v=diUiwAEPjcQ Complex database indexing strategies - https://www.youtube.com/watch?v=IcIkjfXoHV4 Domain Modeling Gone Wrong - Part 1 - https://www.youtube.com/watch?v=0EQCcALt9Cc Domain Modeling Gone Wrong - Part 2 - https://www.youtube.com/watch?v=2Tvb1fA3PLQ If your service doesn’t own data, it’s NOT a service. - https://www.youtube.com/watch?v=S46f1-0ciHA Transactions Are Not Locks - https://www.benburwell.com/posts/transactions-are-not-locks/ Rust: Polonius update - https://blog.rust-lang.org/inside-rust/2023/10/06/polonius-update.html How to Detect Threads & Bypass Anti-Cheat Detection - https://www.youtube.com/watch?v=KzD_nc5B_8w Storing feature flags as JSON (with indexing) - https://www.youtube.com/watch?v=cDzrY-QW4Ck Message Queue From Scratch In Golang With Only STD LIB - https://www.youtube.com/watch?v=99OEUGbk3vc Store 8 feature flags in 1 integer (Bitwise operations in MySQL) - https://www.youtube.com/watch?v=Kf8SWqljM18 Criptografia na Prática - Certificados, BitTorrent, Git, Bitcoin - https://www.youtube.com/watch?v=iAA8NrfQtHo What Makes The Top 10% Of Founders Different? - Michael Seibel - https://www.youtube.com/watch?v=ZtfTOuSHGg8 Let’s Build A Distributed CAS Storage In Golang - https://www.youtube.com/watch?v=d_pVmR_0p0E Why Checked Exceptions Failed - https://borretti.me/article/why-checked-exceptions-failed P2P Protocol In Golang For My Distributed CAS - https://www.youtube.com/watch?v=TFkOzuUz6Wo Announcing Rust 1.74.0 - https://blog.rust-lang.org/2023/11/16/Rust-1.74.0.html Saving a SaaS on the weekend - https://www.youtube.com/watch?v=kkjAxSViOAA Build a Monolith and Deploy like Microservices? Maybe with Service Weaver - https://www.youtube.com/watch?v=Srt_8a5Nam0 Building and operating a pretty big storage system called S3 - https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-storage-system.html Distributed CAS Storage In Golang - RPC Networking - https://www.youtube.com/watch?v=_5RrYWKbyVg Uncensored Models - https://erichartford.com/uncensored-models Coding TCP Transport For My P2P Distributed Storage In GO - https://www.youtube.com/watch?v=-Ung58PHgus Streaming Large Files In Golang But Distributed - https://www.youtube.com/watch?v=3mO5MUbCzKQ Your database will break in 2038 (or sooner) - https://www.youtube.com/watch?v=d6HaTHkXqcQ Neural Networks From Scratch in Rust - https://www.youtube.com/watch?v=DKbz9pNXVdE Episode 001: Intro and (Absence of) Message Parsing - https://www.youtube.com/watch?v=hPUL8Xo6MJw Two Ways To Do Dynamic Dispatch - https://www.youtube.com/watch?v=wU8hQvU8aKM How Do You Convince Someone to Join Your Startup? - Dalton Caldwell - https://www.youtube.com/watch?v=N8deM6B4eE4 The magic of content-addressable storage - https://hal.science/hal-02559031v1/file/content-addressable-storage-preprint.pdf There is No Now: Problems with simultaneity in distributed systems - https://queue.acm.org/detail.cfm?id=2745385 Database enums are weird - https://www.youtube.com/watch?v=ej8jzMloE_4 Pizza Wars: The Exorcism of Papa John’s - https://www.youtube.com/watch?v=6eAcykBJsUM Kubernetes Autoscaling: HPA vs. VPA vs. Keda vs. CA vs. Karpenter vs. Fargate - https://www.youtube.com/watch?v=hsJ2qtwoWZw interrupts is threads - https://onevariable.com/blog/interrupts-is-threads/ MIT 6.824: Distributed systems - Lecture 4: Primary-Backup Replication - https://www.youtube.com/watch?app=desktop&v=M_teob23ZzY&%3Bfeature=youtu.be ZooKeper wiki: Zab vs. Paxos - https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos The Postgres replication dilemma - https://medium.com/@hnasr/the-postgres-replication-dilemma-72bef6cc4599 Inside logical replication in PostgreSQL: How it works - https://www.postgresql.fastware.com/blog/inside-logical-replication-in-postgresql The cost and benefit of synchronous replication in PostgreSQL and YugabyteDB - https://dev.to/yugabyte/the-cost-and-benefit-of-synchronous-replication-in-postgresql-and-yugabytedb-2ej0 How I became a machine learning practitioner - https://blog.gregbrockman.com/how-i-became-a-machine-learning-practitioner It’s time to become an ML engineer - https://blog.gregbrockman.com/its-time-to-become-an-ml-engineer My path to OpenAI - https://blog.gregbrockman.com/my-path-to-openai What Is Platform Engineering - https://www.youtube.com/watch?v=JP8-9WXBcgg Top 8 Most Popular Network Protocols Explained - https://www.youtube.com/watch?v=P6SZLcGE4us You don’t* need JOINs - https://www.youtube.com/watch?v=5hsl47I3svw Writing Tests For My Distributed File Storage In Golang - https://www.youtube.com/watch?v=MKwYkV9JWLw Everything You Know About MongoDB is Wrong! - https://www.mongodb.com/developer/products/mongodb/everything-you-know-is-wrong/ Why async Rust? - https://without.boats/blog/why-async-rust/ What is a MESSAGE QUEUE and Where is it used? - https://www.youtube.com/watch?v=oUJbuFMyBDk Basic Amazon SQS architecture - https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-basic-architecture.html The Big Little Guide to Message Queues - https://sudhir.io/the-big-little-guide-to-message-queues Using the expand and contract pattern for schema changes - https://www.prisma.io/dataguide/types/relational/expand-and-contract-pattern Andrej Karpathy: [1hr Talk] Intro to Large Language Models - https://www.youtube.com/watch?v=zjkBMFhNj_g Tim Brady - How Much Equity Should I Give My First Employees? - https://www.youtube.com/watch?v=B2QdN0-fAbw Implement Raft in Rust - https://www.pingcap.com/blog/implement-raft-in-rust/ What is a Multiraft? - https://sergeiturukin.com/2017/06/09/multiraft.html Scaling Raft - https://www.cockroachlabs.com/blog/scaling-raft/ Elasticell: Multi-Raft - https://elasticell.readthedocs.io/en/latest/architecture/multi-raft/ TiKV: Multi-raft - https://tikv.org/deep-dive/scalability/multi-raft/ Raft or not? The Best Solution to Data Consistency in Cloud-native Databases - https://milvus.io/blog/raft-or-not.md Dan Lüdtke: Implementing Distributed Consensus - https://www.usenix.org/sites/default/files/conference/protected-files/srecon19apac_slides_ludtke.pdf Distributed consensus made simple (for real this time!) - https://decentralizedthoughts.github.io/2021-09-30-distributed-consensus-made-simple-for-real-this-time/ Machine Learning Interview - Design Spotify Recommendations - https://www.youtube.com/watch?v=vyZMYlGBSBM Vertical Slice Architecture Myths You Need To Know! - https://www.youtube.com/watch?v=TfMArQnepco Database Replication Explained - https://towardsdatascience.com/database-replication-explained-5c76a200d8f3 Paxos, Raft, EPaxos: How Has Distributed Consensus Technology Evolved? - https://www.alibabacloud.com/blog/paxos-raft-epaxos-how-has-distributed-consensus-technology-evolved_597127 It’s About Time! - https://brooker.co.za/blog/2023/11/27/about-time.html How Git Works: Explained in 4 Minutes - https://www.youtube.com/watch?v=e9lnsKot_SQ Many to many relationships in MySQL - https://www.youtube.com/watch?v=csLHXmVLGbs Announcing the new Amazon S3 Express One Zone high performance storage class - https://aws.amazon.com/blogs/aws/new-amazon-s3-express-one-zone-high-performance-storage-class/ S3 Express is All You Need - https://www.warpstream.com/blog/s3-express-is-all-you-need The Golang Function Nobody Talks About - https://www.youtube.com/watch?v=INcV8kNlDPM How To Build A Tech Startup With No Technical Skills - https://www.youtube.com/watch?v=ZpKu2wvquWg Write throughput differences in B-tree vs LSM-tree based databases? - https://www.reddit.com/r/databasedevelopment/comments/187cp1g/write_throughput_differences_in_btree_vs_lsmtree/ LSM Tree: Data structure powering write heavy storage engines - https://distributed-computing-musings.com/2022/07/lsm-tree-data-structure-powering-write-heavy-storage-engines/ WiredTiger: Btree vs LSM - https://github.com/wiredtiger/wiredtiger/wiki/Btree-vs-LSM How OmniPaxos handles partial connectivity - and why other protocols can’t - https://omnipaxos.com/blog/how-omnipaxos-handles-partial-connectivity-and-why-other-protocols-cant/ Raft does not Guarantee Liveness in the face of Network Faults - https://decentralizedthoughts.github.io/2020-12-12-raft-liveness-full-omission/ Design an Amazon S3 or Object Storage - https://www.youtube.com/watch?v=vTPR6fIgC-I All Web Services API What are the benefits and drawbacks of using token bucket or leaky bucket for API rate limiting? - https://www.linkedin.com/advice/0/what-benefits-drawbacks-using-token-bucket-leaky

December 1, 2023 · 5 min · poorlydefinedbehaviour

Consistent hashing

As the World Wide Web became more popular all of sudden a server could receive way more traffic than it could handle causing the server to service requests slowly or to not be able to serve them at all1. An intuitive solution to this problem is to cache2 the content served by the servers and allow the clients to fetch content from the caches instead of going to the original server. Several clients communicate with the same cache servers which means that if client 1 fetches the contents for the page example.com, client 2 can fetch the same contents from the cache instead of going to the oirignal server if it decides to visit example.com as well. ...

October 6, 2023 · 6 min · poorlydefinedbehaviour

Reading list September 2023

The list of things I read or watched this month Farewell EC2-Classic, it’s been swell - https://www.allthingsdistributed.com/2023/09/farewell-ec2-classic.html Building a Firecracker-Powered Course Platform To Learn Docker and Kubernetes - https://iximiuz.com/en/posts/iximiuz-labs-story/ The Power Of Struct Embedding And Interfaces In Golang - https://www.youtube.com/watch?v=fXZJu_JuH0A Beginners Should Think Differently When Writing Golang - https://www.youtube.com/watch?v=PyDMqgOkiR8 How to Get Transactions Between (Almost) Any Data Stores - https://petereliaskraft.net/blog/epoxy How to do Distributed Transactions the RIGHT way? Microservices - https://www.youtube.com/watch?v=vGOEO6mO674 “Workflows, a new abstraction for distributed systems” by Dominik Tornow (Strange Loop 2022) - https://www.youtube.com/watch?v=V_5WeVmyhzg Domain Modeling Gone Wrong - Part 2 - https://www.youtube.com/watch?v=2Tvb1fA3PLQ dbdb: etcd - https://dbdb.io/db/etcd Shuffle Sharding: Massive and Magical Fault Isolation - https://aws.amazon.com/blogs/architecture/shuffle-sharding-massive-and-magical-fault-isolation/ System Design: Apache Kafka In 3 Minutes - https://www.youtube.com/watch?v=HZklgPkboro Serializability - https://jepsen.io/consistency/models/serializable Strict Serializability - https://jepsen.io/consistency/models/strict-serializable Linearizability - https://jepsen.io/consistency/models/linearizable What is Linearizability in Distributed System? - https://hongilkwon.medium.com/what-is-linearizability-in-distributed-system-db8bca3d432d Towards Inserting One Billion Rows in SQLite Under A Minute - https://avi.im/blag/2021/fast-sqlite-inserts/ You Cannot Have Exactly-Once Delivery - https://bravenewgeek.com/you-cannot-have-exactly-once-delivery/ Pagination in MySQL - https://www.youtube.com/watch?v=zwDIN04lIpc Free your API. Misconceptions are holding you back! - https://www.youtube.com/watch?v=nS8XHgMvqNo Understanding Consensus - https://bravenewgeek.com/understanding-consensus/ Algorithms You Should Know Before System Design Interviews - https://www.youtube.com/watch?v=xbgzl2maQUU Distributed consensus - https://shachaf.net/w/consensus are “smart pointers” actually smart? - https://www.youtube.com/watch?v=tSIBKys2eBQ There is plenty of room at the bottom - https://muratbuffalo.blogspot.com/2021/08/there-is-plenty-of-room-at-bottom.html Raft does not Guarantee Liveness in the face of Network Faults - https://decentralizedthoughts.github.io/2020-12-12-raft-liveness-full-omission/ What is Zig’s “Colorblind” Async/Await? - https://kristoff.it/blog/zig-colorblind-async-await/ A Gentle Introduction to LLVM IR - https://mcyoung.xyz/2023/08/01/llvm-ir/ Single-Decree Paxos - https://mwhittaker.github.io/blog/single_decree_paxos/ I Wrote A String Type - https://mcyoung.xyz/2023/08/09/yarns/ Little Computer 3 - https://en.wikipedia.org/wiki/Little_Computer_3 LC3 Instruction Set Architecture - https://winniewjeng.github.io/organization%20&%20programming/2020/06/09/Instruction-Set-Architecture/ LC3 Machine Instruction - https://winniewjeng.github.io/organization%20&%20programming/2020/06/08/LC3-Machine-Instruction/ What is a spinlock? //Source Dive// 002 - https://www.youtube.com/watch?v=ZE9OODanrDA Sign extension - https://en.wikipedia.org/wiki/Sign_extension Use your database to power state machines - https://blog.lawrencejones.dev/state-machines/ ZooKeeper: Zab vs. Paxos - https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos University of Washington: Replicated State Machines Primary-Backup - https://courses.cs.washington.edu/courses/cse552/19au/notes/lect3.pdf Princeton: Replication State Machines via Primary-Backup Replication - https://www.cs.princeton.edu/courses/archive/spring22/cos418/docs/L11-rsm-pb.pdf MIT 6.824: Lecture 4: Primary-Backup Replication - https://www.youtube.com/watch?v=M_teob23ZzY Large Language Models from scratch - https://www.youtube.com/watch?v=lnA9DMvHtfI Large Language Models: Part 2 - https://www.youtube.com/watch?v=YDiSFS-yHwk Searching by location in MySQL - https://www.youtube.com/watch?v=QgnCB8X_sN4 why do header files even exist? - https://www.youtube.com/watch?v=tOQZlD-0Scc Alternative to the Outbox Pattern? Not so fast. - https://www.youtube.com/watch?v=cuQ9zuNF1cI Container Loading in AWS Lambda - https://brooker.co.za/blog/2023/05/23/snapshot-loading.html JDK 21 LTS - All Features Explained! - https://www.youtube.com/watch?v=bgxuSIhkQZg 4x shorter WebGPU access from Wasm, featuring Nelua, Zig, & Rust - https://www.youtube.com/watch?v=I-tN3dS2zwA Fixing For Loops in Go 1.22 - https://go.dev/blog/loopvar-preview Another way to check pointers at runtime in C - https://www.youtube.com/watch?v=xCxI2GIFdZo RabbitMQ vs. Kafka – An Architect’s Dilemma (Part 1) - https://eranstiller.com/rabbitmq-vs-kafka-an-architects-dilemma-part-1 RabbitMQ vs. Kafka – An Architect’s Dilemma (Part 2) - https://eranstiller.com/rabbitmq-vs-kafka-an-architects-dilemma-part-2 295 - LOCK otimista no CASO DE USO | theWiseDev CleanArch - https://www.youtube.com/watch?v=e6cxVjv5rN0 Transactions: Write skew & why we need serialization? - https://distributed-computing-musings.com/2022/02/transactions-write-skew-why-we-need-serialization/ Transactions: Introduction to serializability techniques - https://distributed-computing-musings.com/2022/02/transactions-introduction-to-serializability-techniques/ Transactions: Two-phase Locking - https://distributed-computing-musings.com/2022/02/transactions-two-phase-locking/ Transactions: Serializable Snapshot Isolation - https://distributed-computing-musings.com/2022/02/transactions-serializable-snapshot-isolation/ Best Developer Interview Question - https://www.youtube.com/watch?v=h1w4X3CmRH4 How to create an alert rule in Grafana 10.1 - https://www.youtube.com/watch?v=nPdzomH6bno New flame graph features for continuous profiling data in Grafana 10.1 - https://www.youtube.com/watch?v=bezFLhbzDOM How to to filter trace spans in Grafana 10.1 - https://www.youtube.com/watch?v=VP2XV3IIc80 Grafana 10.1: TraceQL query results streaming - https://www.youtube.com/watch?v=7BRapaDM_2c Understand Paxos with Rust, Automerge, and TLA+ — Part 1: The Synod. - https://medium.com/@polyglot_factotum/understand-paxos-with-rust-automerge-and-tla-part-1-the-synod-371df5f16f45 Loki Log Context Query Editor in Grafana 10 - https://www.youtube.com/watch?v=t6SG-w_bVss What is Podman? How is it Different Than Docker? - https://www.youtube.com/watch?v=5WML8gX2F1c Relational Databases vs Time Series Databases - https://www.influxdata.com/blog/relational-databases-vs-time-series-databases/ Linux network ring buffers - https://medium.com/coccoc-engineering-blog/linux-network-ring-buffers-cea7ead0b8e8 How do databases execute expressions? - https://notes.eatonphil.com/2023-09-21-how-do-databases-execute-expressions.html Rustonomicon: Poisoning - https://doc.rust-lang.org/nomicon/poisoning.html Make Kubernetes and Platform Engineering Easier Part 2 Monitoring and Observability - https://www.youtube.com/watch?v=RjtT1Q7DpmQ Make Kubernetes and Platform Engineering Easier Part 4: Application Workflows - https://www.youtube.com/watch?v=YPuAAS3lba8 ORMs can lead to FAT domain models. Slim them down! - https://www.youtube.com/watch?v=4UZXUc9jmHc Adding Nested Loops Makes this Algorithm 120x FASTER? - https://www.youtube.com/watch?v=QGYvbsHDPxo Mark Zuckerberg: First Interview in the Metaverse | Lex Fridman Podcast #398 - https://www.youtube.com/watch?v=MVYrJJNdrEg Faster database indexes (straight from the docs) - https://www.youtube.com/watch?v=5aezDBaNfcc Containerization Strategy - https://www.youtube.com/watch?v=iLyBEEkm5e0 why do void pointers even exist? - https://www.youtube.com/watch?v=t7CUti_7d7c The Pros and Cons of Encrypted Client Hello - https://www.youtube.com/watch?v=1ezrBsJCVqw Why Do You Only Get Motivated After Midnight? | Night Owls - https://www.youtube.com/watch?v=jiIhOgpOWcA Why You Should Be Ashamed Of Yourself - https://www.youtube.com/watch?v=COHThDr1uvg Server Name Indication (SNI) TLS Extension Explained - https://www.youtube.com/watch?v=manTiXESYG0 50 years later, is Two-Phase Locking the best we can do? - concurrencyfreaks.blogspot.com/2023/09/50-years-later-is-two-phase-locking.html

October 1, 2023 · 4 min · poorlydefinedbehaviour

Reading list August 2023

The list of things I read or watched this month Aplicação do Open Closed Principle: Exemplo prático com metaprogramação mais polimorfismo - https://www.youtube.com/watch?v=-gOR0WXZmYg Firecracker: Lightweight Virtualization for Serverless Applications - https://www.usenix.org/system/files/nsdi20-paper-agache.pdf SEC02-BP02 Use temporary credentials - https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_identities_unique.html 5 Tips for Building Resilient Architecture - https://www.youtube.com/watch?v=gm6Y4vPlOLg Containers at the edge: it’s not what you think, or maybe it is - https://blog.cloudflare.com/containers-on-the-edge/ What is a Point of Presence (PoP) in networking? - https://rahi.io/articles/what-is-a-point-of-presence-pop-in-networking/ A Programmer-Friendly I/O Abstraction Over io_uring and kqueue - https://tigerbeetle.com/blog/a-friendly-abstraction-over-iouring-and-kqueue/ Intrusive linked lists - https://www.data-structures-in-practice.com/intrusive-linked-lists/ Case Study: TigerBeetle Simulator (VOPR) - https://github.com/LAC-Tech/laterbase/blob/master/deterministic_simulation_testing.md Dependency Injection, The Best Pattern - https://www.youtube.com/watch?v=J1f5b4vcxCQ How to Add AI to Your Apps Faster with Embedded AI - https://www.youtube.com/watch?v=OThahaOga20 Why Google and Meta Put Billion Lines of Code In 1 Repository? - https://www.youtube.com/watch?v=x3cANGNPyx0 Cybersecurity Architecture: Response - https://www.youtube.com/watch?v=Jk79QJCxPkM What happens before the Backend gets the Request - https://www.youtube.com/watch?v=gSQoA4SYhJY Torturing Postgres: extreme autonomous testing for distributed architectures - https://medium.com/@thinkx_/torturing-postgres-extreme-autonomous-testing-for-distributed-architectures-e1c4139ed72e FoundationDB or: How I Learned to Stop Worrying and Trust the Database (Markus Pilman, Snowflake) - https://www.youtube.com/watch?v=OJb8A6h9jQQ Autonomous Testing and the Future of Software Development - Will Wilson - https://www.youtube.com/watch?v=fFSPwJFXVlw How does the Kernel manage backend Connections? - https://www.youtube.com/watch?v=Mc7hAjgFBvY Let’s implement a basic leader election algorithm using Go with RPC - https://itnext.io/lets-implement-a-basic-leader-election-algorithm-using-go-with-rpc-6cd012515358 Pattern: 3rd Party Registration - https://microservices.io/patterns/3rd-party-registration.html Let’s implement basic service discovery using Go - https://itnext.io/lets-implement-basic-service-discovery-using-go-d91c513883f6 Most Common Kubernetes Deployment Strategies (Examples & Code) - https://www.youtube.com/watch?v=lxc4EXZOOvE As HashiCorp adopts the BSL, an era of open-source software might be ending - https://www.runtime.news/as-hashicorp-adopts-the-bsl-an-era-of-open-source-software-might-be-ending/ Configure Grafana private data source connect - https://grafana.com/docs/grafana-cloud/connect-externally-hosted/configure-private-datasource-connect/ Circuit-level gateway - https://en.wikipedia.org/wiki/Circuit-level_gateway Dynamic Reverse Tunnels in SSH - https://blog.benpri.me/blog/2019/05/25/dynamic-reverse-tunnels-in-ssh/ SOCKS5 Proxies Explained - https://www.youtube.com/watch?v=EfOjTkFR1iw Git MERGE vs REBASE: Everything You Need to Know - https://www.youtube.com/watch?v=0chZFIZLR_0 Database Replication Explained (in 5 Minutes) - https://www.youtube.com/watch?v=bI8Ry6GhMSE Database Replication Explained - https://towardsdatascience.com/database-replication-explained-5c76a200d8f3 Fundamentals of Neural Networks - https://wandb.ai/site/articles/fundamentals-of-neural-networks Gradient Descent: All You Need to Know - https://hackernoon.com/gradient-descent-aynk-7cbe95a778da Apriori — Association Rule Mining In-depth Explanation and Python Implementation - https://towardsdatascience.com/apriori-association-rule-mining-explanation-and-python-implementation-290b42afdfc6 is it wrong to use numbers in your code? (low level code review) - https://www.youtube.com/watch?v=cjarxeW9_Wo Storing money in MySQL (the right way) - https://www.youtube.com/watch?v=fhwEFZ34c7g SOCKS - https://en.wikipedia.org/wiki/SOCKS SOCKS 5 — A Proxy Protocol - https://medium.com/@nimit95/socks-5-a-proxy-protocol-b741d3bec66c Backward Compatibility, Go 1.21, and Go 2 - https://go.dev/blog/compat Containers at the Edge - https://www.youtube.com/watch?v=LBx56Q10G3Q How a startup loses its spark - https://blog.johnqian.com/startup-spark The Bitter Lesson - www.incompleteideas.net/IncIdeas/BitterLesson.html Kubernetes and Platform Engineering Part 1: k8s Operators - https://www.youtube.com/watch?v=1i9C-QWQUE8 294 - Concorrência na CLEAN ARCHITECTURE | theWiseDev NFR - https://www.youtube.com/watch?v=QEJUAInPKjw Your CPU May be FASTER than You Think - https://www.youtube.com/watch?v=WgTr79htuM4 A Real World Project Use Case Of Golang’s Sync.WaitGroup - https://www.youtube.com/watch?v=96scGqEV0pc Why we use the Linux kernel’s TCP stack - https://blog.cloudflare.com/why-we-use-the-linux-kernels-tcp-stack/ Cloud Computing without Containers - https://blog.cloudflare.com/cloud-computing-without-containers/ Career advice for young system programmers - https://glaubercosta-11125.medium.com/career-advice-for-young-system-programmers-c7443f2d3edf Distributed Transactions at Scale in Amazon DynamoDB - https://muratbuffalo.blogspot.com/2023/08/distributed-transactions-at-scale-in.html DynamoDB’s Best Feature: Predictability - https://brooker.co.za/blog/2022/01/19/predictability.html Why do we use the Linux kernel’s TCP stack? - jvns.ca/blog/2016/06/30/why-do-we-use-the-linux-kernels-tcp-stack/ Top 6 Load Balancing Algorithms Every Developer Should Know - https://www.youtube.com/watch?v=dBmxNsS3BGE Understanding Transaction Isolation in DynamoDB: From Concepts to Conflicts - https://blog.calvinsd.in/understanding-transaction-isolation-in-dynamodb Timestamp-based Algorithms for Concurrency Control in Distributed Database Systems - https://muratbuffalo.blogspot.com/2022/11/timestamp-based-algorithms-for.html Fantastic Learning Resources - https://matklad.github.io/2023/08/06/fantastic-learning-resources.html CONSENSUS: BRIDGING THEORY AND PRACTICE - https://web.stanford.edu/~ouster/cgi-bin/papers/OngaroPhD.pdf Viewstamped Replication Made Famous - Joran Greef - https://www.youtube.com/watch?v=qeWyc8G-lq4 Revisiting Viewstamped Replication with Brian Oki and James Cowling - https://www.youtube.com/watch?v=ps106zjmjhw How To Identify File Types - File Format Analysis Tools - https://www.youtube.com/watch?v=xwpNYpFRLf0 Kubernetes Canary Deployment (Manual vs Automated) - https://www.youtube.com/watch?v=fWe6k4MmeSg What is gained and lost with 63-bit integers? - https://blog.janestreet.com/what-is-gained-and-lost-with-63-bit-integers/ What Rust Discovered - https://www.youtube.com/watch?v=v6RxJsk8otY Starting my own hobby language (again) - https://www.youtube.com/watch?v=2bvltIjqrRg The Dark Side of .reserve() - https://www.youtube.com/watch?v=algDLvbl1YY Stop using COUNT(id) to count rows - https://www.youtube.com/watch?v=H6juZ8c_Nu8 Tooling for Tooling - https://uptointerpretation.com/posts/tooling-for-tooling/ Solutions Architect Interview - How Do CDNs Work? (with Salesforce SA) - https://www.youtube.com/watch?v=j9KT9geE5SU Your CPU May be FASTER than You Think - https://www.youtube.com/watch?v=WgTr79htuM4 Kubernetes and Platform Engineering Part 2: Cluster API - https://www.youtube.com/watch?v=K1fGoWCoeSs Data Consistency Between Microservices - https://www.youtube.com/watch?v=uKURpE12Mgo Viewstamped Replication explained - https://blog.brunobonacci.com/2018/07/15/viewstamped-replication-explained/ A Proxy Protocol - https://medium.com/@nimit95/socks-5-a-proxy-protocol-b741d3bec66c So Long, Twitter and Reddit - https://andrewkelley.me/post/goodbye-twitter-reddit.html Getting into formal specification, and getting my team into it too - https://brooker.co.za/blog/2022/07/29/getting-into-tla.html Simple Simulations for System Builders - https://brooker.co.za/blog/2022/04/11/simulation.html Stateful Property Testing in Rust - https://blog.readyset.io/stateful-property-testing-in-rust Exactly-Once Semantics Are Possible: Here’s How Kafka Does It - https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/ Viewstamped Replication: The Less-Famous Consensus Protocol - https://brooker.co.za/blog/2014/05/19/vr.html Everything You Always Wanted To Know About fsync() - https://blog.httrack.com/blog/2013/11/15/everything-you-always-wanted-to-know-about-fsync/ Why we built Restate - https://www.restate.dev/blog/why-we-built-restate/ EC2 Enhanced Networking Tutorial - https://www.youtube.com/watch?v=DsNEtIS_q_E Top 5 Most Used Architecture Patterns - https://www.youtube.com/watch?v=f6zXyq4VPP8 Want to build a good API? Here’s 5 Tips for API Design. - https://www.youtube.com/watch?v=HBH6qnj0trU 5 Strong Opinions On Everyday Rust - https://www.youtube.com/watch?v=8j_FbjiowvE Durable Objects: Easy, Fast, Correct — Choose three - https://blog.cloudflare.com/durable-objects-easy-fast-correct-choose-three/ Serverless Workflows with Durable Functions and Netherite - https://arxiv.org/pdf/2103.00033.pdf “Formal Modeling and Analysis of Distributed Systems” by Ankush Desai (Strange Loop 2022) - https://www.youtube.com/watch?v=5YjsSDDWFDY The Time Traveler’s Guide to Distributed Applications - https://qianli.dev/blog/timetravel Kubernetes and Platform Engineering Part 3: Crossplane - https://www.youtube.com/watch?v=CPjAiYSoBRE Emulation Fundamentals - Writing A Basic x86 Emulator - https://www.youtube.com/watch?v=HPrqOIdNlrQ

September 1, 2023 · 4 min · poorlydefinedbehaviour

Notes on formal languages: alphabets, strings and languages

An alphabet is any set of finite symbols such as a and b. For example, the alphabet Σ = {a, b} is an alphabet that contains the strings that can be built by combining a and b and the alphabet Σ = {0, 1} is the an alphabet that contains the strings that can be built by combining 0 and 1. Symbols such as a and b put together to form something like bbaa are called strings. ...

August 8, 2023 · 1 min · poorlydefinedbehaviour