Use Intellij

  • Reading code is more important than writing it.
  • IDEs are superior to being a ___ and using vim
Read More

Kafka Vocab

What is Kafka?

  • Why can’t we just label it as a message queue?
  • “Apache Kafka is an open-source distributed event streaming platform.”
Read More

Docker Notes

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.

Read More

The Virus Probe

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!

Read More

Shuffle the Array

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.

Read More

Raw Thoughts on The Future of Hardware

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.

Read More

Bash case statements are pretty powerful

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.

Read More

Where's Python's bag data structure?

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.

Read More