"In previous economic eras,
businesses created value by moving atoms.
Now they create value by moving bits."
- Jeffrey Snover
businesses created value by moving atoms.
Now they create value by moving bits."
- Jeffrey Snover
umask is used to determine file permission for newly created files. It contains the permission bits that should not be set on a newly created file
Ex: $ umask u+w
gives write permissions for users, leaving everything else unchanged
Ex: $ umask u+w
gives write permissions for users, leaving everything else unchanged
"The only constructive theory connecting neuroscience and psychology will arise from the study of software."
- Alan J. Perlis
- Alan J. Perlis
Cloud IAM controls who can do what on which resource: a VM, a database instance, a user, etc.
Permissions are not directly assigned to users. Instead, they are bundled into roles, which are assigned to members.
Policies bind members to a role.
Permissions are not directly assigned to users. Instead, they are bundled into roles, which are assigned to members.
Policies bind members to a role.
Design patterns in 1 tweet
Template method: define the steps for an algorithm, delegating their implementation to derived classes
Ex: Board games can have a certain structure: init game, play, nex turn, etc.
Game (chess, Go, ...) implement each step in a different way.
Template method: define the steps for an algorithm, delegating their implementation to derived classes
Ex: Board games can have a certain structure: init game, play, nex turn, etc.
Game (chess, Go, ...) implement each step in a different way.
3 Big benefits of replication in distributed systems:
- High availability. If a machine dies, there are more to handle the load
- Lower latency. Data closer to users
- Scalability. More resources to handle higher volume of requests
- High availability. If a machine dies, there are more to handle the load
- Lower latency. Data closer to users
- Scalability. More resources to handle higher volume of requests
When I started coding I also felt lost and overwhelmed
I thought I needed to focus only on my coding skills to get to senior
I realized the differences between a junior and a senior dev had more to do with attitude than just technical knowledge
I thought I needed to focus only on my coding skills to get to senior
I realized the differences between a junior and a senior dev had more to do with attitude than just technical knowledge
What to expect at a FAANG interview
1. Phone screen-> Algorithm questions
2. Onsite
- Several rounds of algorithm questions
- Behavioural questions, often before the algorithm question
- Systems design (mid-senior)
- Time for your questions at the end of the round
YMMV
1. Phone screen-> Algorithm questions
2. Onsite
- Several rounds of algorithm questions
- Behavioural questions, often before the algorithm question
- Systems design (mid-senior)
- Time for your questions at the end of the round
YMMV
"Part of the inhumanity of the computer is that,
once it is competently programmed and working smoothly,
it is completely honest."
- Isaac Asimov
once it is competently programmed and working smoothly,
it is completely honest."
- Isaac Asimov
"Software and cathedrals are much the same - first we build them, then we pray."
Design patterns in 1 tweet
Singleton. Makes sure there is only one instance of an object.
Singleton. Makes sure there is only one instance of an object.
Simplicity - the art of maximizing the amount of work NOT DONE - is essential
agilemanifesto .org
agilemanifesto .org
The kernel acts as an interface between your programs and hardware
Kernel processes have unrestricted access to memory and CPU
User processes have limited access to CPU and memory
That's why when your browser crashes it doesn't take down the whole system with it
Kernel processes have unrestricted access to memory and CPU
User processes have limited access to CPU and memory
That's why when your browser crashes it doesn't take down the whole system with it
"The first step of any project is to grossly underestimate its complexity and difficulty."
- Nicoll Hunt
- Nicoll Hunt
OLTP vs OLAP systems
- Online Transaction Processing vs Online Analytical Processing
- ~Relational DB vs Datawarehouse
- Query volume: Huge vs Low
- Each query touches: a few records vs scans a huge number of records
- Bottlenecks: Disk seek time vs Disk bandwitdth
- Online Transaction Processing vs Online Analytical Processing
- ~Relational DB vs Datawarehouse
- Query volume: Huge vs Low
- Each query touches: a few records vs scans a huge number of records
- Bottlenecks: Disk seek time vs Disk bandwitdth
Fortan was created by IBM in 1957 and mainly used for mathematical calculations.
FORTRAN stands for FORmula TRANslation
It is still used today!
FORTRAN stands for FORmula TRANslation
It is still used today!
GCS vs S3 differences
- Buckets are regional or multi-regional (for every storage class) VS regional and zonal
- Cold storage retrieval time: milliseconds (like any other class) VS minutes to hours
- Buckets are regional or multi-regional (for every storage class) VS regional and zonal
- Cold storage retrieval time: milliseconds (like any other class) VS minutes to hours
Focus on being practical and delivering.
Don't be afraid to use standard "old-school" technologies, instead of always going after the hottest framework.
Don't be afraid to use standard "old-school" technologies, instead of always going after the hottest framework.
5 Tools for devs
- IDE: Intellij/VS Code
- Lightweight editors: Vim/Emacs
- Python interactive shell (for small snippets of code, calculator, ...)
- Git: learn it well
- Shell - learn bash/zsh well
- IDE: Intellij/VS Code
- Lightweight editors: Vim/Emacs
- Python interactive shell (for small snippets of code, calculator, ...)
- Git: learn it well
- Shell - learn bash/zsh well