Your Coding Teacher
372 subscribers
10 links
Coding, software engineering & #bitcoin technologies. I'll make you a better thinker, not just a better developer | Ex
Amazon, Senior DevOps @eBay
Download Telegram
Software is more like science that mathematics. You cannot prove that you'r software is correct (no bugs). You can write a bunch of tests to show that your code hasn't failed (so far).
It's possible to "increase the available RAM" on a Linux machine using disk. The Linux virtual memory system can move data from memory disk and viceversa, in a process called swapping. The disk area used to store memory pages is called swap space.
The first 90% of a project takes 90% of development time. The last 10% takes the other 90% of the time.
In C++, to prevent resource leaks, use RAII Resource Acquisition Is Initialization Acquire resources in constructors and release them in destructors
//TODO comments end up being //Never do's
"Debugging is like being the detective in a crime movie where you are also the murderer." - Filipe Fortes
Python's list comprehensions provides a concise way of creating a list from another. For example: cubes = [x**3 for x in a]. In general, they are clearer than maps and filters built-in function.
Message queues in a tweet - Allows for asych processing - Stores messages that servers will read and process - Adds reliability (no message is lost) - Dead-letter queue: receives messages that couldn't be routed to their destination - Ex: SQS, Kafka, Rabbit MQ, Pub/Sub
In GCP, you can use preemptible virtual machines to save up to 80% of your costs. They are ideal for fault-tolerant, non-critical applications. You can save the progress of your job in a persistent disk using a shut-down script to continue where you left off.
The best developers follow a simple principle "Always Be Learning"
"There are no significant bugs in our released software that any significant number of users want fixed." - Bill Gates
The best thing about a boolean is even if you are wrong, you are only off by a bit
"The language in which we express our ideas has a strong influence on our thought processes." - Donald Knuth
Instead of trying to figure out what's the next incremental improvements for a slow algorithm, sometimes it's better to try a complete different approach
Make something fool-proof and someone will make a better fool
4 JavaScript interview questions What is a Callback function? What are Arrow functions? What is the usage of Function.prototype.bind? How to check if a value is null?
We live in a world governed by distributed systems. From small intranets, to share printers, to the Internet
Bit-level operations on an integer x x |= 1<<7 -> set bit 7 (the first bit starts at index 0) x &= ~(1<<7) -> clear bit 7 x ^= 1<<7 -> toggle bit 7 mask = ((1<<8)-1) -> create an 8 bit mask (x >> 16) & 0xf -> extract bits 16 through 8 (x >> 7) & 1 -> test bit 7
I've also wasted long hours debugging issues that came from: - Reading the wrong configuration file - Using outdated information from an internal wiki page - Problems with someone else's code - Copy-paste related errors When things go wrong, check your assumptions.
Perl was developed by Larry Wald in 1987 as a scripting language for text editing It is commonly used in: - Linux system administration - Web development - Network programming print "Hello, World!\n";