https://skyzh.github.io/mini-lsm/
In this tutorial, you will learn how to build a simple LSM-Tree storage engine in the Rust programming language.
In this tutorial, you will learn how to build a simple LSM-Tree storage engine in the Rust programming language.
https://martinfowler.com/articles/bottlenecks-of-scaleups/
There is a new series of articles on Martin Fowler's blog titled "Bottlenecks of Scaleup."
It's a collection of articles discussing common problems that startups encounter when scaling up.
It started in March 2022, and each article has been written by different authors.
There is a new series of articles on Martin Fowler's blog titled "Bottlenecks of Scaleup."
It's a collection of articles discussing common problems that startups encounter when scaling up.
It started in March 2022, and each article has been written by different authors.
martinfowler.com
Bottlenecks of Scaleups
Common bottlenecks that prevent startups from scaling as quickly as they should
https://www.atlassian.com/team-playbook/why
Team playbook by Atlassian
Good resource for team working lessons.
Team playbook by Atlassian
Good resource for team working lessons.
Atlassian
At Atlassian, Great Work is Built on Teamwork | Atlassian
We found that hiring great talent and using the right tools wasn’t enough. How we worked together, as a team, made the difference.
https://googleprojectzero.blogspot.com/2020/07/mms-exploit-part-1-introduction-to-qmage.html
good article about finding vulnerabilities by fuzzing on Android
good article about finding vulnerabilities by fuzzing on Android
Blogspot
MMS Exploit Part 1: Introduction to the Samsung Qmage Codec and Remote Attack Surface
Posted by Mateusz Jurczyk, Project Zero This post is the first of a multi-part series capturing my journey from discovering a vulnerable...
Prefer collabration over categorization
Prefer guidance over governance
Prefer Automation to Adhoc verification
Prefer subscriptions to milestones
Prefer evolution to prediction
#software_architecture
Prefer guidance over governance
Prefer Automation to Adhoc verification
Prefer subscriptions to milestones
Prefer evolution to prediction
#software_architecture
predictability is a short term value, and adaptibility is much more charactristict for architectures.
Don't follow the money, follow the things that. you are interested in in your career, in terms of your passions or trend industry.
Colossus - Google File System
Colossus is Google cluster-level file system, successor to the Google File System (GFS).
https://cloud.google.com/blog/products/storage-data-transfer/a-peek-behind-colossus-googles-file-system
Colossus is Google cluster-level file system, successor to the Google File System (GFS).
https://cloud.google.com/blog/products/storage-data-transfer/a-peek-behind-colossus-googles-file-system
Google Cloud Blog
A peek behind Colossus, Google’s file system | Google Cloud Blog
An overview of Colossus, the file system that underpins Google Cloud’s storage offerings.
This article discusses the separation of logs from the state machine itself. As you may know, there is a famous quote in Cloud Data Systems about the 'Disaggregation of compute and storage,' which helps to separate hardware and software. In line with this approach, the author of the article discusses a hypothetical system called S2 (Stream Store), which is equivalent to S3 for logs. The author suggests that 'it may not be hypothetical.' To me, it seems without head and tail, but nevertheless, I have subscribed to the S2 interest form
https://blog.schmizz.net/disaggregated-wal
https://blog.schmizz.net/disaggregated-wal
unofficial blog
The disaggregated write-ahead log
The traditional way replicated systems are architected is to physically co-locate the write-ahead log (WAL) on the nodes where the state is being maintained. Then a consensus protocol like Paxos or Raft is used to make sure the log on each replica ag...
if you guys never heard about Disaggregated Database Systems, I'll refer you to an article with the same name
https://www.cs.purdue.edu/homes/csjgwang/pubs/SIGMOD23_Tutorial_DisaggregatedDB.pdf
https://www.cs.purdue.edu/homes/csjgwang/pubs/SIGMOD23_Tutorial_DisaggregatedDB.pdf
Distributed systems reading list by Fred Hebert, a well-known Software architect in industy, and well-known contributor on Erlang community.
https://ferd.ca/a-distributed-systems-reading-list.html
https://ferd.ca/a-distributed-systems-reading-list.html
ferd.ca
A Distributed Systems Reading List
An old document I surfaced with my quick tour of distributed systems theory fundamentals
The Single Transferable Vote (STV) system is a way of voting in elections that aims to achieve proportional representation. It's like trying to make sure everyone's voice is heard as fairly as possible in deciding who gets elected. Here's a simple way to understand how it works, using a "pizza party" analogy.
Imagine you and your friends are deciding what kind of pizza to order for a party. Everyone has different tastes, so you decide to vote on it, but you want to make sure as many people as possible get something they like.
Everyone Votes for Their Favorites: Each person makes a list of their favorite pizzas in order, from most to least favorite.
Counting the Votes: To decide which pizzas to order, there's a certain number of "pizza spots" available (like seats in an election). A pizza needs a certain number of votes to claim a spot (this is like the quota in STV).
First Choices Counted First: Initially, everyone's first choice is counted. If your top choice pizza gets more votes than it needs to secure a spot, it's definitely being ordered.
Extra Votes Go to Next Favorites: If your favorite pizza gets more votes than it needs, your vote isn't wasted. Instead, it's as if your vote is partly for your top choice and partly for your next favorite, based on how many extra votes the winning pizza got. This way, part of your vote helps decide the next pizza.
No Hope Pizzas Are Out: If a pizza doesn't get enough votes to be in the running, it's out. Then, votes for that pizza go to the next choice on those voters' lists.
Repeat Until All Spots Filled: This process of redistributing votes from winning pizzas with too many votes and from losing pizzas continues until all the pizza spots are filled.
So, STV tries to make sure that the pizzas ordered reflect what the group as a whole likes, not just the most popular choice. It reduces wasted votes and helps more people get at least one of their top choices. In real elections, this means that the elected representatives better reflect the diverse preferences of the voters.
Imagine you and your friends are deciding what kind of pizza to order for a party. Everyone has different tastes, so you decide to vote on it, but you want to make sure as many people as possible get something they like.
Everyone Votes for Their Favorites: Each person makes a list of their favorite pizzas in order, from most to least favorite.
Counting the Votes: To decide which pizzas to order, there's a certain number of "pizza spots" available (like seats in an election). A pizza needs a certain number of votes to claim a spot (this is like the quota in STV).
First Choices Counted First: Initially, everyone's first choice is counted. If your top choice pizza gets more votes than it needs to secure a spot, it's definitely being ordered.
Extra Votes Go to Next Favorites: If your favorite pizza gets more votes than it needs, your vote isn't wasted. Instead, it's as if your vote is partly for your top choice and partly for your next favorite, based on how many extra votes the winning pizza got. This way, part of your vote helps decide the next pizza.
No Hope Pizzas Are Out: If a pizza doesn't get enough votes to be in the running, it's out. Then, votes for that pizza go to the next choice on those voters' lists.
Repeat Until All Spots Filled: This process of redistributing votes from winning pizzas with too many votes and from losing pizzas continues until all the pizza spots are filled.
So, STV tries to make sure that the pizzas ordered reflect what the group as a whole likes, not just the most popular choice. It reduces wasted votes and helps more people get at least one of their top choices. In real elections, this means that the elected representatives better reflect the diverse preferences of the voters.
What Is Social Contract?
The Social Contract is a simple and effective way to enable team autonomy and self accountability for engagements. The Social Contract or Agreement is created by and for the team. It looks to codify the behaviors and expectations of the team. It also provides a mechanism for the team to radiate and share its desired behaviours with management and other stakeholders.
To effectively use this practice you should look to create the following outcomes:
- Public display of the social contract.
- Nobody is above the contract.
- The team agreed holds each other accountable to the contract. Having every team member physically sign the contract can provide a good starting point for this.
- Revisit the social contract often and update it as necessary.
https://openpracticelibrary.com/practice/social-contract/
#team #management #worktogether
The Social Contract is a simple and effective way to enable team autonomy and self accountability for engagements. The Social Contract or Agreement is created by and for the team. It looks to codify the behaviors and expectations of the team. It also provides a mechanism for the team to radiate and share its desired behaviours with management and other stakeholders.
To effectively use this practice you should look to create the following outcomes:
- Public display of the social contract.
- Nobody is above the contract.
- The team agreed holds each other accountable to the contract. Having every team member physically sign the contract can provide a good starting point for this.
- Revisit the social contract often and update it as necessary.
https://openpracticelibrary.com/practice/social-contract/
#team #management #worktogether
The Five Dysfunctions of a Team
1. Abscence of trust
2. Fear of conflict
3. Lack of commitment
4. Avoidance of accountability
5. Inattention to the results
https://files.tablegroup.com/wp-content/uploads/2020/12/11224029/FiveDysfunctions.pdf
1. Abscence of trust
2. Fear of conflict
3. Lack of commitment
4. Avoidance of accountability
5. Inattention to the results
https://files.tablegroup.com/wp-content/uploads/2020/12/11224029/FiveDysfunctions.pdf
Empathy isn't just a social nicety
Empathy is really important for close relationships. It's like how a mom just gets what her baby needs without the baby saying anything. Empathy is about trying to think like someone else and understand that everyone thinks differently.
It's a big part of being good at getting along with others and doing well at work. Real empathy means you not only know how someone feels but also feel it with them. For example, some people can tell what makes others upset but don't really care about their feelings. They use what they know to take advantage, not to connect.
If someone can't truly share someone else's feelings, it might mean they haven't worked on understanding themselves enough. Empathy isn't just knowing; it's feeling together. It helps make real connections and grow as a person.
Empathy is really important for close relationships. It's like how a mom just gets what her baby needs without the baby saying anything. Empathy is about trying to think like someone else and understand that everyone thinks differently.
It's a big part of being good at getting along with others and doing well at work. Real empathy means you not only know how someone feels but also feel it with them. For example, some people can tell what makes others upset but don't really care about their feelings. They use what they know to take advantage, not to connect.
If someone can't truly share someone else's feelings, it might mean they haven't worked on understanding themselves enough. Empathy isn't just knowing; it's feeling together. It helps make real connections and grow as a person.
Article about ways to optimize INSERT operations and look at alternatives when you need to load more than a few rows in the LOAD DATA INFILE statement.
https://www.red-gate.com/simple-talk/databases/mysql/optimizing-mysql-adding-data-to-tables/
#mysql #performance #insert
https://www.red-gate.com/simple-talk/databases/mysql/optimizing-mysql-adding-data-to-tables/
#mysql #performance #insert
Simple Talk
Optimizing MySQL: Adding Data to Tables - Simple Talk
Welcome back to the MySQL optimization series! In case you haven’t been following this series, in the past couple of articles we have discussed the basics