en
Feedback
Your Coding Teacher

Your Coding Teacher

Open in Telegram

Coding, software engineering & #bitcoin technologies. I'll make you a better thinker, not just a better developer | Ex Amazon, Senior DevOps @eBay

Show more
The country is not specifiedTechnologies & Applications98 126
334
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Even "simple" things, like synchronizing clocks in different nodes in a distributed system, is more complex that it seems. Distributed systems are the quantum mechanics of software design.

GCP vs AWS terminology - Both use Region as a group of data centers close to one another - Zone vs Availability Zone: individual data centers. Several per region - Points Of Presence: Both use them to provide CDN services in a similar way

Lines of code are only worth counting when you're deleting them

Tip for interviews in Python: To iterate over a list and also know the index of the current item, use enumerate for idx, val in enumerate(my_array): do_something(idx) ... You can supply a second parameter to enumerate to specify the number from (defaults to zero)

"How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but a crucial matter that decides between success and failure?" - Edsger W. Dijkstra

3 JavaScript interview questions What's the difference between == and ===? How to evaluate multiple expressions in one line? What is Functional Programming and what are the features of JavaScript that makes it a candidate as a functional language?

"Good" today is usually better than "perfect" tomorrow

"In my experience, one of the most significant problems in software development is assuming. If you assume a method will passed the right parameter value, the method will fail." - Paul M. Duvall

To be a developer you have to be able to endure long and intense periods of feeling stupid on a consistent basis.

90% of programming is saying WTF!!!

What happens when you run ls in your terminal? The shell calls fork() to create a copy of the shell process This copy calls exec(ls) to run ls This is how new processes are created fork and exec are system calls - ways for your programs to interact with the kernel

Some important root subdirectories in a tweet - /media: mount removable media - /mnt: user temp mounting - /sys: contains device & system info - /sbin: system executables - /tmp: temporary files - /usr: the bulk of the Linux system - /var: programs save runtime info here

A service mesh is a configurable framework that allowa you to connect, control, observe and secure microservices. It removes these responsabilities from you application logic, delegating them to the service mesh.

Lisp (LISt Processing language) was developed at MIT in 1959 Lisp is considered the first functional programming language and was extensively used in artifical intelligence. (format t "Hello, World!")

UDP vs TCP in one line: TCP has higher overhead and latency, but guarantees that the messages will arrive (in the right order). Good for: - The Web - SSH - Emails UDP is "less reliable" but has lower latency. Good for - Multiplayer action games - Video calls - Streaming

I've realised I learn by doing, not by reading or taking notes. This includes writing code and writing articles where I teach what I know.

Static vs Shared libraries - Static: code from the library is copied into the binary. Larger binary size. Must recompile if library changes - Shared: library code is loaded when needed. Processes can share the same library. No need to recompile everything if library changes

Big O analysis tip Big O notation describes the rate of increase of an algorithm. It could be possible for O(N) code to be faster than 0(1) code for *some inputs*. O(N^2) sorting algorithms are generally good for small inputs.

If you don't have a job, get something to pay the bills. And design a plan to transition to a better job. Ex: use the tools you need for the next job to build something at your current job. You'll develop skills while being paid and help your team

GCP has machine families with predefined amounts of RAM and CPU - General. Best price/perf for many tasks - Memory-optimized. For memory-intensive tasks - Compute-optimized. Highest perf/core - Shared-core. Cost-effective for small apps You can create custom machines too