We're back after skipping a week; it honestly feels much longer than that. Last week, I celebrated my 30th birthday with my partner in Puerto Rico, so I skipped it. I don't have any reads today, or maybe will have any in the future, but I should probably mention that I will in advance.
Something I learned
Finally, I coded a CS algorithm I learned at school
For this week, I had to write my own binary search, or a bisection, to be exact. I'm not going into details about why I had to do this since it's irrelevant. I want to talk about how long it took me to write a textbook algorithm since I graduated.
I graduated at the end of 2017 and have been working since then. So far in my six-year career, I've encountered a few situations where a quadratic runtime complexity became an issue. But I never needed to write my own algorithm to fix it. I've always had a built-in language way to fix it, or I just needed to restructure my data.
I have made it this far without writing a textbook algorithm because modern software engineers are spoiled. We have plenty of memory and fast CPUs that significantly dampen the effects of bad code. The threshold at which performance bottlenecks show keeps getting pushed further and further. According to this lovely HTML-only formatted article, to overcome the overhead cost of spinning up new threads in Java for a simple computation, you'd need to process at least more than 10,000 items. This was back in 2014; assuming Moore's Law somewhat holds, that's more than 500,000 today. A lot of optimizations the average software engineer spends time on today are network and data retrieval ones, which require different skill sets than knowing what memory and space complexity bubble sort needs.
All in all, I don't know if my career has been pretty average so far to make me think this way or if this is an experience everyone has. Something tells me it's the latter. I'll probably write more about this later.
Water flow restrictors
While in Puerto Rico, we noticed the hotel's shower pressure was so nice. It made us think about how bad it is back in the apartment. Literally, while boarding the flight back, we started looking for a different showerhead on Amazon, thinking it was the issue. Once we narrowed the list to two, I told my partner to wait for me to find their reviews on YouTube. I wanted to ensure they made a difference and see how all the options compare.
A few videos in, the algorithm graced me with a clickbaity video about improving water flow with one simple trick. That's when I learned about water flow restrictors. As the name suggests, they're plastic pieces inside showerheads that reduce the amount of water coming out of the head. A few videos had people destroying them with screwdrivers or drills, which I thought was strange.
So I unscrewed our showerhead and found ours; it turned out it had two restricting levels using a rubber ring. My god, removing that tiny ring made such a difference. The water almost feels too much, which is the case without one. So much water pours out of our showerhead without the restrictor, and it makes sense that our landlord wants us to have one since we don't pay for water.
Gratefulness
Given that I just turned 30, I'm grateful for my three healthy decades on the planet so far. Not many people get to say or feel that, and for that, I'm grateful.