Some people, when confronted with a problem, think "I know, I'll use floating point." Now they have 1.99999999995 problems.
Threads All threads within a process share the same address space, file descriptors, and process-related attributes, but each executes in its own stack Since they can access the same memory, they need synchronization mechanisms, like mutexes or semaphores
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.