Higher-order functions are functions that: - Accept other functions as arguments or - Return a function Higher-order functions are useful to abstract over actions, not just values.
The broken windows theory is states that visible signs of - crime - anti-social behavior - civil disorder create an urban environment that encourages further crime and disorder, including serious crimes. Stay on top of broken windows in your code (and your life).
Concurrency 101 - Two events are concurrent if we cannot tell by looking at the program which will happen first. - Concurrent programs are often non-deterministic -> it is not possible to tell, by looking at the program, what will happen when it executes.
A GCP role is a sets of permissions - Primitive. Apply to the entire project. 3 concentric roles: Viewer, Editor, and Owner - Predefined. To access to specific services, for example, storage.admin - Custom. Lets you create your own roles, combining the permissions you need
Some books that helped me when I got started - Code Complete - Clean Code - Programming Pearls - Effective C++ First 2 are almost language agnostic, focusing on principles The other 2 in C and C++ There's also Effective Java and Effective Python
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