I was listening to this tribute last night, which was an almost 20-minute rendition of Wally’s instrumental Screw. I am not a musician, but I found myself liking this song.

To be a better man

In his interview with Steven Pressfield (The War of Art, The Legend of Bagger Vance, etc.), Joe Rogan mentioned that he didn’t have any goals. Instead he wants to get better at what he does. He thinks there’s an art towards becoming a better person.

I remembered a Chinese TV drama (To Be a Better Man). The protagonist, a Michelin-starred chef Lu Yuan had everything, but his risk-seeking behavior for the next high cost him his relationship with his girlfriend and then he lost his career after being incarcerated. Only his best friend (who died on the first episode) was there for him. Lu Yuan took his best friend’s death as a signal to rebuild his life, make amends, and restart his culinary career (he lost his sense taste for most of the series).

Around a month ago I was asked if I had a desire to change the world. My answer was all I wanted to do is to stay in the game (software) for as long as I can. What I didn’t say was I there was always that need to continuously get better, not only because the field is competitive (and biased towards youth), but also by getting better, the people around me get better as well. Getting better at something shouldn’t be at the expense of the people around you.

Blue skies

The clouds have lifted; it’s time to rebuild. There will be confusion up ahead (smog and blurry reflections), but it’s good enough for me.


Problems after upgrading to macOS Ventura

Two days after the upgrade, I’ve ran into a high CPU utilization problem in some processes (e.g., zsh). I think something was using zsh on the background and my guess it was Spotlight. This article confirmed it and also made some recommendations.

No memory pressure issues so far, which is good.

Cycles and the ECM

It’s October 2022, and yesterday, I stumbled upon an article called The Business Cycle and The Future by Martin Armstrong in 1999. I saved this article back in 2015, probably because ECM (Economic Confidence Model) was mentioned in other articles I read back then.

The thesis of the ECM is that markets follow a rhythm (cycle) of 8.6 years in length. At the end of a cycle, one should expect a significant event (e.g., a market crash). These events are significant enough to signal a new cycle. A cycle can be classified into major and minor cycles with longer and shorter intervals.

Each cycle, according to the article, tends to increase in volatility (swings) and intensity. One date caught my eye: March 22, 2022. This was one month into the Russia-Ukraine conflict.

As markets behave cyclically, so does politics. The article warned that tyrants would rise following markets collapsing (similar to Hitler’s rise following the collapse of the Weimar Republic):

Such periods have always brought not merely great booms and busts, but they too hold in the palm of their hand the thunderbolt of war. The economic future of Russia is one of such corruption and decay, that it too will rise as the warlord who seeks to regain what he has lost. China too will eventually beat the drums of war as its economy worsens and its leaders seek to hold the slippery reigns of power. 

The Business Cycle and The Future

See also
The decline and fall of the West (John Mangun)
The 2016 political cycle (John Mangun)

Bad trees cannot bear good fruit

Watch out for false prophets. They come to you in sheep’s clothing, but inwardly they are ferocious wolves. By their fruit you will recognize them. Do people pick grapes from thornbushes, or figs from thistles? Likewise, every good tree bears good fruit, but a bad tree bears bad fruit. A good tree cannot bear bad fruit, and a bad tree cannot bear good fruit. Every tree that does not bear good fruit is cut down and thrown into the fire. Thus, by their fruit you will recognize them.

Matthew 7:15-20

I remembered this passage while I was at a birthday party: how would these kids turn out in 20 years? How will my children conduct themselves when they’re older? Am I setting them up to fail with how I conduct myself now?

Juanito P. Galvez (1928-2022)

My grandfather died last June. His love was rarely spoken, but can be felt through his actions.

I grew up with my grandparents because my parents decided to part ways shortly after I was born. Papa, as we called him (and Mama my grandmother), provided a home for myself, my mother, and my sister.

Papa rarely showed his emotions. When Papa’s mother died, I remembered seeing him walking to the neighbor to borrow their phone. He called the funeral service to come to the house. No emotions and everything was prepared. I only saw him cry once while giving a eulogy at my mother’s funeral. My mother told him during Martial Law that they might not see each other again, if things got worse for her. When I was three or so, I remembered going with Papa to Quezon province, where we visited my mother while she was detained and was set free a few months later. Life started became stable for us after 1984.

Back in 1999, before going back to college, I recalled Papa kissing me goodbye. The feeling was also similar: back then, I thought that was the last time we would see each other. The next time we saw each other was in 2012, when things started to settle for me.

Everything has a price

How much are you willing to pay to acquire something? Furthermore, once you’ve acquired it, was it worth the price you paid?

From Financial Advice for My New Daughter:

The price of a busy career is time away from friends and family. The price of long-term market returns is uncertainty and volatility. The price of spoiling kids is their sheltered life. Everything worthwhile has a price, and most of those prices are hidden. They’re are often worth paying, but never ignore that they are true costs. When you accept this you’ll view things like time, relationships, autonomy, and creativity as currencies that are as valuable as cash.

Starting from knowing what to avoid (e.g., absentee parent, debt burden, bad health, etc.), I would have to play my remaining years by not brute-forcing through life. I believe there’s a sweet spot (if I’m not already on it) between growing a family and having a fulfilling career; I just have to play in such a way that it does not lean toward a maximal outcome for only one side. I hope that makes sense.

Staying close to Rails’ conventions

Part 1 (re: Architectural Decisions) I was recently asked about the architectural decisions we’ve made in our most recent Ruby on Rails project (an e-commerce platform for sports apparel decoration).

We decided to stay close to Rails’ conventions as much as possible. This allowed the team to build out the first features quickly. This is usually not a problem for short-term projects, but it becomes a maintenance burden after a year, because after a year the team is also concerned about supporting what they’ve built despite changes to team structure or project focus.

Project-specific conventions

In some areas where Ruby on Rails has no opinion, we’ve established our conventions:

  1. Using service classes (and using LightService)
  2. Using namespaces to partition functionality (e.g., Dealers, Admin, Checkouts)
  3. Avoiding the use of JavaScript-heavy frameworks (e.g., VueJS) in favor of Stimulus and HTML-over-the-wire (this was done pre-Hotwire)
  4. Prefer application events over ActiveRecord callbacks when triggering jobs
  5. Adopting Spree as the e-commerce engine instead of building from scratch

Conventions distilled into pattern

We also wanted to make it easy for a new developer to understand how a feature was built and where to make subsequent changes. Having these patterns in place and adopted across the entire codebase also helps the maintainers to troubleshoot issues two years after a feature has been deployed to production.