This week’s system design refresher:
Top 7 ways to 10x your API performance (Youtube video)
Cloud services cheat sheet
Subjects that should be mandatory in schools
What is FedNow?
5 inter-process communications
Sponsor US
Generate SDKs and documentation for your API with Fern (Sponsored)
Fern is an open-source CLI that creates SDKs and API docs for REST APIs.
SDKs: generate idiomatic client libraries for interacting with APIs, eliminating manual SDK writing. Fern supports automatic publishing to registries like NPM and PyPI.
Documentation: get Stripe-like API docs that can be personalized to match your existing company website.
Compatible with OpenAPI: use your existing OpenAPI spec
Top 7 Ways to 10x Your API Performance
A nice cheat sheet of different cloud services (2023 edition)
Guest post by Govardhana Miriyala Kannaiah.
Latest articles
If you’re not a subscriber, here’s what you missed this month:
"I Was Under Leveled!" — Avoiding the Tragedy of Making Only $500k a Year
Everything You Always Wanted to Know About TCP But Too Afraid to Ask
To receive all the full articles and support ByteByteGo, consider subscribing:
An interesting list of subjects that should be mandatory in schools
While academics are essential, it's crucial to acknowledge that many elements in this diagram would have been beneficial to learn earlier.
Over to you: What else should be on the list? What are the top 3 skills you wish schools would teach?
Credit: Instagram accounts on startup_rules
What is FedNow (instant payment)?
JPMorgan, Wells Fargo, and other major banks will use the new Federal Reserve's 'FedNow' instant payment system. Let's take a look at how it works.
Federal Reserve launched FedNow instant payment service on 20 Jul. It allows retail clients to send and receive money within seconds and it is available 24x7.
What does this mean?
1. Peer-to-peer payment services in the private sector like Venmo or PayPal act as intermediaries between banks, so we need to leverage payment schemes for clearing and Fed systems for settlement. However, FedNow can directly settle the transactions in central bank accounts. [1]
2. Fedwire, another real-time payments system, will still function in large-value or low-value payments. FedNow is not designed to replace Fedwire.The diagram below shows a comparison between FedNow and ACH (Automated Clearing House), which is used in domestic low-value payments.
FedNow [2]
Step 0 - Bob wants to pay Alice $1000.
Step 1 - Bob initiates a payment transaction using FedNow.
Step 2 - The sender’s bank submits a payment message to FedNow.
Step 3 - The FedNow service validates the payment message.
Step 4 - The FedNow service sends the payment message to the receiver’s bank, where it is confirmed.
Step 5 - The receiver’s bank replies to FedNow, confirming that the payment is accepted.
Step 6 - The FedNow service debits and credits the designated accounts of the sender and receiver’s banks.
Step 7 - The FedNow service notifies the sender’s bank and receiver’s bank that the settlement is complete.
Step 8 - The banks debit and credit the bank accounts.ACH
Step 1 - Bob receives authorization from Alice that he can deduct from Alice’s account.
Step 2 - The payment transaction is sent to the receiver’s bank.
Step 3 - The bank collects files in batches and sends them to the ACH operator.
Step 4 - The ACH operator sends the files to the sender’s bank.
Step 5 - The sender’s bank pulls funds from Alice’s account.
Step 6 - Withdrawn funds are sent to the ACH operator.
Step 7 - The ACH operator distributes funds to Bob’s bank.
Step 8 - Bob receives the fund.
Step 9 - The clearing instructions are sent to Fedwire.
Step 10 - Fedwire sends clearing broadcasts to banks for settlements.
Over to you: What types of instant payment systems does your country provide?
References:
[1] Federal Reserve launches FedNow instant payment service that could bypass Venmo and PayPal
[2] Q&A on the Federal Reserve’s FedNow Service
How do processes talk to each other on Linux?
The diagram below shows 5 ways of Inter-Process Communication.
Pipe
Pipes are unidirectional byte streams that connect the standard output from one process to the standard input of another process.Message Queue
Message queues allow one or more processes to write messages, which will be read by one or more reading processes.Signal
Signals are one of the oldest inter-process communication methods used by Unix systems. A signal could be generated by a keyboard interrupt or an error condition such as the process attempting to access a non-existent location in its virtual memory. There are a set of defined signals that the kernel can generate or that can be generated by other processes in the system. For example, Ctrl+C sends a SIGINT signal to process A.Semaphore
A semaphore is a location in memory whose value can be tested and set by more than one process. Depending on the result of the test and set operation one process may have to sleep until the semaphore's value is changed by another process.Shared Memory
Shared memory allows one or more processes to communicate via memory that appears in all of their virtual address spaces. When processes no longer wish to share the virtual memory, they detach from it.
Reference: Interprocess Communication Mechanisms
SPONSOR US
📈Feature your product in the biggest technology newsletter on Substack.
ByteByteGo is the biggest technology newsletter on Substack with 500,000 readers working at companies like Apple, Meta, Amazon, Google, etc. They have the influence and autonomy to make large purchase decisions. If you are interested in sponsoring us, please send an email to hi@bytebytego.com.