Never attribute to malice that which can be adequately explained by stupidity.
Programming is hard It's not just a lot of if and while statements put together It's about creating systems made of small components that can be understood and easy to maintain and extend. This takes lots skills
Powerful problem-solving technique: Transform a problem whose solution you don't know to a problem that you can solve. I saw it in the context of mathematical proofs but it applies everywhere.
5 Random coding tips Learn to accept constructive criticism Be open-minded Try pair program Keep learning Build your own toolbox
Microsoft Visual Basic was created in 1991 It is object-oriented and type-safe and it has its roots from the family of C languages such as C, C++ and it is similar to Java Module Module1 Sub Main() Console.WriteLine("Hello World!") End Sub End Module
List comprehensions in Python may consume significant amounts of memory and crash your program Ex: reading files or working on streams of data User generators instead, which return an iterator that can be advanced one step at a time to produce the next output
"I don't have a CS degree"
Me neither.
But realize that you might just be a couple of textbooks away from what you need to know to perform well:
- OS
- Networking
- Databases
- Data structures and algorithms
Me neither.
But realize that you might just be a couple of textbooks away from what you need to know to perform well:
- OS
- Networking
- Databases
- Data structures and algorithms
"Your obligation is that of active participation.
You should not act as knowledge-absorbing sponges, but as whetstones on which we can all sharpen our wits"
- Edsger W. Dijkstra
You should not act as knowledge-absorbing sponges, but as whetstones on which we can all sharpen our wits"
- Edsger W. Dijkstra
Sometimes you will not have all the information you need to start working on your task.
Chances are no one will and it is your responsibility to figure it all out.
The moment you start taking this type of task you will know you are operating at a senior level.
Chances are no one will and it is your responsibility to figure it all out.
The moment you start taking this type of task you will know you are operating at a senior level.
To access AWS, you can use:
- the AWS Management Console (web app)
- the AWS Command Line Interface (CLI)
- the AWS Software Development Kits (SDKs) available for multiple programming languages
- the AWS Management Console (web app)
- the AWS Command Line Interface (CLI)
- the AWS Software Development Kits (SDKs) available for multiple programming languages
Programs vs Processes vs Threads
A program is source code: in C, C++, Python, ...
A process is a program in execution: web browser, text editor, ...
A thread is a flow of control within a process: browse the web while download some files at the same time.
A program is source code: in C, C++, Python, ...
A process is a program in execution: web browser, text editor, ...
A thread is a flow of control within a process: browse the web while download some files at the same time.
"If a machine is expected to be infallible, it cannot also be intelligent."
- Alan Turing
- Alan Turing
Coders define the idioms of a programming language.
Learn the most common patterns of your language.
They will affect every program you write.
Learn the most common patterns of your language.
They will affect every program you write.
"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