From Junior to mid Senior Engineer
Intro
I think some character traits of a senior engineer are
Blog about stuff.
I think some character traits of a senior engineer are
The reverse index is the datastructure that powers ElasticSearch.
This is a quick overview of Docker and I’m aiming to largely encapsulate the material held in the Docker Certified Associate exam. I might eventually follow-up with a Docker Notes Part II.
Here are some uninteresting parts of Effective Go. Effective Go is a little tour of the Go programming language. Go is an okay language I guess.
All it takes is the power of simple viruses. No speculative approaches such as self-replicating von Neumann probes, mind uploading, or warp drives are necessary. Human colonization of our galaxy can be achievable with technology feasible within our lifetimes!
Initially, it may seem that this question is trivial. If we have an array in the format [x1, x2, … xN, y1, y2, … yN] and we’re trying to do some swaps to make the array [x1, y1, x2, y2, …]. You could simply declare a new array and put the x’s and y’s in the right slots in the new array. It’s O(n) time with O(n) auxiliary space.
Most code is read and not written. As Uncle Bob Martin says, “the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code.”
This post is a bit of a ramble. Hopefully someday I’ll draw some cartoons to accompany it.
Initially, it might seem that the CISC philosophy is dead. On the contrary, CISC is more relevant than ever because there is a slowdown, if not the end, of Moore’s law. As of 2020, there are only three major companies Intel, TSMC, and Samsung left at the bleeding-edge of semiconductor manufacturing. Previous titans such as Global Foundries are reducing their investment in newer nodes and processes. With that in mind, we can’t rely on steady improvements to general purpose computing. Instead, hardware will grow more complex to support specialized developer needs. However, what happens when specialized hardware functionality is added year-on-year to meet the current fads? It’s not exactly trivial to deprecate hardware functionality. Will we have huge and bloated instruction sets? It’s not hard to imagine an ISA that has upwards of 5k instructions. Thus, I feel we need to reinvestigate the CISC philosophy to make hardware complexity manageable.
I’ve been brushing up on my Bash skills. I worked on a problem to calculate the Scrabble score of a set of letters. In Scrabble, each letter has different values. For example, “A” has a value of one and “Z” has a value of 10.
First, before diving into Python, let’s talk about JavaScript. Here’s a refresher of JavaScript’s object model from the MDN.
I got stuck on an online coding challenge today. I needed a bag data structure. For quick reference, a bag is a generalization of a set. Think of it as a set that may have multiple entries of the same value. I searched Python’s documentation for both bag and multiset. I couldn’t find what I wanted. So, I wasted a lot of time rolling my own.