An operating system is a program that controls the hardware of a computer and provides an environment for programs to run. Ex: Linux is the kernel used by the GNU operating system.
3 Random coding tips Learn programming foundations Learn when to ask for help Clarify requirements before starting
What's the difference between ++a and a++? - a++ evaluates to a and then increases a by 1 - ++a increases a by 1 and then evaluates to a Which is more efficient? a++ creates a temporary object to store the "old" value before increasing it Therefore, ++a
"Humans are destined to be party animals, and technology will follow." - Linus Torvalds
+[-[<<[+[--->]-[<<<]]]>>>-]>-.---.>..>.<<<<-.<+.>>>>>.>.<<.<-. That's hello world. In brainfuck.
Will we see the day where software is legistated? Politicians deciding: - What coding languages we can use - What platforms to write on - What courses we have to take - What books to read
You: "I just coded a real masterpiece! Only I and God two know how it works." Also you, 3 months later: "Now only God knows."
"Program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence." - Edsger Dijkstra
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies." —C.A.R. Hoare, The 1980 ACM Turing Award Lecture
There are 6 basic types of values in JavaScript - numbers (64 bits) - strings - Booleans - objects - functions - undefined values
Programmers are good at finding valid reasons for making poor decisions
The best thing about being a developer is that you can work from anywhere at anytime The worst thing about being a developer is that you can work from anywhere at anytime
"When debugging novices insert corrective code. Experts remove defective code." - Richard Pattis
Bash exercise: Read from words.txt and output the word frequency list (in reverse sorted order) to stdout. tr -s ' ' '\n' < words.txt | sort | uniq --count | sort -r | awk '{print $2 " " $1}'
Learn by reverse engineering things How does your favourite service/app work? - Twitter - Netflix - Uber - Instagram - Facebook Pick some feature. Don't expect to build a perfect clone, but expect to learn a lot in the process.
The best way to deliver criticism is to ask questions. People can think about the problem. If they cannot come up with a solution, then you can suggest yours. Much better than approaching them with a "you're wrong" attitude.
All problems in computer science can be solved with another level of indirection. Except for the problem of having too many layers of indirection
3 Random coding tips Choose the right tools, not the ones you like the most Learn design patterns Always ask why