Navigating Self

My attempt to have a writing habit. Writing forces me to have clarity with how I'm living my life.

ComputersFinancesSystems and ProcessesThoughtsUncategorized

Blog

Insecurity as a trigger to take action

I used to see insecurity as a sign of weakness, something I should dispose. Lately though, I’ve been thinking about usefulness of negative emotions. Those must have serve for something since we still feel it despite generations of evolution, right?

Growth is one thing. We can’t grow stronger if we always feel good. If we feel secure all the time, we’d be complacent. There’s no incentive to change things. Insecurity is like a fever, it’s a symptom that something is wrong. I feel insecure because my body wants to tell me something. I think it works as a “signal” that I have something to improve on.

Try to understand: what is my body trying to telling me?

Do I need to improve my understanding of the world? Do I need to improve a particular skill? Do I need to prepare myself for something?

What actionable step can I take now?

I’ll try to figure out why, be completely honest with myself, and address it. It hits hard, but it also pushes me forward. The more issues I can resolve, the more confident I will be dealing with any issues that will come up, the more secure I become.

When I get insecure now, instead of brushing it out, I ask 1) What is this telling me? 2) What actionable step can I do? And then do it.

Nothing in excess

I recently got a new a job as a Cloud Engineer. Part of pre-onboarding was choosing my preferred equipment. The recommended machine for engineering roles was a MacBook Pro 13″ 16gb 512gb with an AirPods Pro (or any equivalent). Since Intel-based MacBooks are getting phased-out, I opted for a MacBook Pro 14″.

Here’s where my issue surfaced. Even though I’m not the one paying for it, it still felt excessive. I already have a personal MacBook Air that’s half the cost and also good enough to do my role. My role requires ridiculously low computing power to be productive. When I got it, I wasn’t giddy or super excited as I should be. I felt some kind-of waste on adding another stuff to my life, when I already have something I can use. It literally sat on my desk for a full week before I started using it.

I wondered why:

  1. I like getting away with as minimum as I can – I think the optimal position to be in is just right in the middle. Not lacking, but also nothing in excess.
  2. Cheaper stuff requires less care and easy to replace – I get more excited with cheap electronics than most expensive ones. I like not having the best. Easily replaceable.
  3. Less emotional attachment to material things – If it breaks (which it will inevitably will), then it breaks. No hard feelings. I’ll just buy a new one. A line in Fight Club stuck with me when I start to feel I’m too invested in a particular thing: the things you own end up owning you.

This all made sense. But at the same time, I’m also wondering: Am I just rationalizing? Is it probably because I feel I don’t deserve the best?

I don’t know. I’m still figuring it out.

Preparing to die

One thing that significantly changed in me when I had kids is the willingness to build wealth.

My family is never really about luxury. We’ve never really envied other people who has more than us. My upbringing is heavily biased on being contented with what we have (thanks Ma!). There’s natural resistance to excess. And that’s how I am up to now.

Bringing kids to this world though, have this (good) burden of wanting to provide and secure them the basic necessities of life. That’s how I see my primary role now: a provider. However, there’s really no guarantee up until when I’ll be alive. The best option I have is to build wealth as fast as possible that can cover their life up until they are capable of choosing their own path.

At the core of what I do and why I’m motivated to work hard is actually a disguise on being ready to die anytime.

How I’m preparing to die

The best way I effectively work is when I have a crystal clear vision of what I want to achieve. I’ve identified two goals that, when achieved, I can go peacefully:

  1. House and lot per kid – with a lot of luck, I was able to achieve this recently. Whatever happens now, at the very least they will have a place to live in.
  2. 5m per kid – to cover basic necessities and education up to college – this will take some time to achieve. My strategy for this one is get to a term-life insurance until I get to this point. Regardless of what happened to me, they will still be covered.

Of course I want to provide them more than material things. I’m figuring those out along the way. I just consider this as the baseline of what I need to provide. 

#

There’s this line in one of my favorite song when I contemplate about death: love is watching someone die — so who’s gonna watch you die?

I sure hope that my kids are the ones who’ll be there. Already equipped for whichever path they choose and ready to whatever challenge the world is going to throw at them.

What’s the worst thing that can happen?

Whenever I’m in a tough situation, it has become my habit to ask “what’s the worst thing that can happen?”

Let’s say I got delayed on a project. What’s the worst that can happen? I get fired. Then what? I will still be alive by then, I could find another job. I also know that I’ve minimized my risks enough that I could live the same lifestyle for a few months without any income. There isn’t really something to be anxious about.

I read that the fear we feel didn’t evolve as human’s circumstances improved. The fear we feel getting fired is irrationally similar to being in a life-and-death situation.

Fear’s primary purpose is to keep us from things that threatens our lives. If it’s something that can cause irreversible consequences (total disability, jail, death), sure it makes sense to be afraid. But if it’s not, fear just becomes a hindrance to think of solutions. So how do I lessen it?

Acknowledge the worst outcome

Explicitly acknowledging what’s the worst that can happen makes myself realize that hey I ain’t gonna die. I can move on to thinking how I can actually rectify my situation. A significant amount of mistakes can be corrected.

For a delayed project, most people just want to be updated. Sharing what’s the cause of the delay and how I plan to stay on track is a very good first step to do.

I don’t have control on how they will react. But regardless if they understood my situation or the worst actually happened, I’m prepared. The important thing is I was not paralyzed by fear, I started moving again.

Saving state to make it easier to resume work

I maintain and add/fix features to an eight-year-old codebase (web app). I like maintaining and keeping things running. My main challenge here is every time a new feature has to be implemented/fixed, I have a long list to do before I get to the actual work. Regardless on how simple it is.

To get started I need to:

  1. Open Visual Studio project
  2. Make sure I’m working on the latest version
  3. Start RavenDB (local database server)
  4. Start RabbitMQ (local message-broker)
  5. Start IIS (local web server)
  6. Open JIRA ticket for implementation details
  7. Finally, start working on the feature

This is only to get started. It doesn’t cover doing the actual work, testing, and deployment. There’s too much friction.

What I tried but didn’t fully resolved my issue

My initial solution was to use a dedicated laptop for web app-related work. This worked for a while but I didn’t like maintaining two laptops. If I forgot to charge the laptop, it shuts off leaving me to do those same thing all over again.

The second thing I tried was to run VM in Azure for development work. It has an image with Visual Studio pre-installed. I was able to ship a few features using this workflow. The lag was noticeable but every time I logged in, I resume where I left off. My issue is the cheapest VM costs around $20 a month (2 vCPU, 2gb ram, non-ssd storage). Build time is also considerably longer because of the specs, which becomes critical for hot fixes.

What I found to be working for me

I discovered cheap tiny PCs in FB Marketplace. Cost is only P10k for a fairly recent Intel i5 9th gen processor (6 cores). It idles at 10 watts (a full pc idles at 100w). I added 2x 16gb DDR4 ram and 1TB SSD. Total cost is only around 20k.

It sits in my lil homelab together with my other servers

I’m using it as an always-on headless machine that I access through Jump Desktop. Jump Desktop is a remote desktop app that has its own STUN servers. This means I can access the machine anywhere as long as there’s internet.

This solved my main pain point when working on this particular codebase. I’m also back on bringing only a single laptop with me if I go out.

My new process now:

  1. Open Jump Desktop
  2. Connect to the development machine
  3. Since everything is in place already, I only need to start working

This is me accessing the machine remotely from my Mom’s home (the machine is in my office). As soon as I connect, I resume where I left off. Visual Studio is open, local servers are running, build time is fast, and it doesn’t use too much electricity when idle.

Make fast decisions

I used to procrastinate making decisions because I fear making the wrong one. I preferred to keep things hanging until somebody else takes action. Even for the smallest things like where should we eat? It gets worse the bigger the decision needs to be made.

Something I admire with Julie and her family is they make decisions amazingly fast. Action takes place soon after. I wanted this pace, so I identified what keeps me from deciding and address it.

I adopted these mindset to prevent option paralysis.

1. A wrong decision is better than no decision

Indecision leads to more indecision. With indecision, I am neither moving forward or backward. It stops momentum.

Things moving are better than things in undecided state.

2. Have a default answer

When asked where to eat, I usually say McDo. I don’t mind if it gets rejected or an alternative is presented. It’s way better than kahit saan (anywhere).

It’s the same with starting with a blank canvas. Starting from scratch is harder than editing something existing (at least for me).

3. I can change my mind (pwede mag-bago ng isip)

Yes, changing minds come at a cost. But the information you get by actually trying things is worth the cost (usually).

If it turns out I made a wrong decision, I’ll acknowledge the fault and change my mind.

This is the same strategy with digital marketing. I can’t really know what ad will work until I try it out. I don’t know and have no control of how people will react. I need to try and find out. Stop the ads that isn’t performing, and double down on those that’s working.

The more information I get, the better decisions I can make.

4. Avoid deciding on things I don’t even have control of

Let’s say I liked a particular job ad. The question I should be deciding on isn’t “Should I apply or not?” (the answer is always yes).

The only time I should decide in this scenario is if I’m at a point where a job is offered. Because in that position, I’m the one in control if I should accept or reject the offer.

Applying to the job alone doesn’t particularly change anything in my life. I shouldn’t think too much about it.

5. Letting go is an option too

If you can’t let it go, face it. If you can’t face it, let it go.

I have to be explicit in acknowledging I’m letting this go to let myself know that I’m really letting it go.

#

These strategies has served me well. I make fast decisions now. I’m action-oriented. And I enjoy moving things forward (or backward as long as things are moving).

Extending UPS run time

Last week, we had a 4-hour power outage. Since all our networking equipment is plugged in a UPS, I assumed internet will be up for at least an hour. When I check the logs though, it was only around 15 minutes. This meant the UPS battery needs replacement.

Now, I have an obsession (lol) with uptime. When I searched for a replacement, I was also thinking if it’s possible to make UPS run time longer. It turns out that it’s possible by replacing it with a larger capacity battery. But there are safety precautions.

Safety precautions

Don’t use maximum load of the UPS

Replacing the battery with a larger capacity means that the UPS will run longer than it’s designed. There’s a risk of the inverter overheating if it’s running at high load for long periods.

To prevent this, make sure that connected devices is not using more than 80% of rated watts. My UPS is 300w. The devices connected are modem, router, PoE switch, and a low-power server for Omada Controller and PiHole. It totals only to 40-50 watts which is only 16% of my UPS rated watts.

I did a 2-hour test running on battery. There was no notable heating with the inverter.

Use the same wire gauge to extend connectors

Larger capacity battery also means it’s bigger. It would have to be outside the UPS casing. Using thin wires will introduce a risk of it heating up and might cause fire.

I didn’t understand how to compute what’s appropriate for this, I just used the same wire gauge as the connector inside the UPS (looked like 12 AWG).

Other than that, things should be fine.

The battery included with it was 12v 4.5Ah. I replaced it with 12v 25Ah (5x more than the original battery). This should provide 4-5 hour run time in case of power loss. I then cut a hole in the side of UPS casing to pass through the wire to the battery.

It’s already installed but we haven’t had a power outage yet to actually see how it will actually perform.

Why renting out a property makes sense

Newly built house for Johan

Growing up, I heard that investing in a real estate property and renting it out is a good investment. I didn’t understand why. Especially where the required capital is intimidatingly high, I couldn’t even imagine how to earn that much.

We’ve been incredibly blessed though. We got in a position where we can afford it. I also had a goal to purchase each of my kids a property while I still can. The idea is whatever happens to me, at the very least they’ll have a place of their own. But since they are still very young, we thought of trying to rent it out for the mean time.

We were able to purchase and rent-out our first property last year. That’s when it hit me why it was a good investment.

Investment options

When our savings started to grow, I started looking on where to put it. I knew that keeping it in a savings account will make its value slowly eaten by inflation (which is 2.64% last year). So I had this urgency to make it productive. These are the investment options I considered:

BDO Savings  (for comparison)0.125% (2021)
Retail Treasury Bonds2.375% (2021)
CIMB UpSave2.5% (2021)
Pag-ibig MP25.62% (2020)

Pag-ibig MP2 is most often recommended because it has a high interest rate and relatively safe. It’s interest rate last year was 5.62% and it has a maturity of 5 years.

For our rental property, we were able to rent it out at 1% of the total cost. That’s an annual gross of 12%. Setting aside 2% for tax and maintenance. It earns 10% yearly. Higher than other safe investment options I considered. At the same time, the property itself appreciates in value overtime (I have no idea how to compute real estate appreciation though).

To be concrete, let’s say the property costs 1,000,000. And we’re able to rent it out for 10,000/month, that’s 120,000/year. Then set aside 20,000 for tax and maintenance, that will result to 100,000 net income yearly.

This made sense to me.

I got scammed ₱15.9k in FB Marketplace

For the past few months I’ve been buying tiny PCs in FB Marketplace because I’m planning to create a homelab Kubernetes cluster for learning. I’ve purchased a lot in the marketplace before and everything went through. Most people are trustworthy. But of course, there are exceptions.

What was the scam?

The seller presented himself as company employee. I was told that they have a warehouse and a procedure of payment-first to process orders. This is a red flag in itself. However, when I checked the pick-up location, the company really do have a warehouse and it’s registered under the company name. This addressed my first concern.

The way the messages was structured was it addresses any hesitation that might come up. It looks like they really do have a standard procedure. I went ahead and transfer the amount agreed to.

And then he’s gone.

At first I felt my anger building up. Then shame slowly creeped in. I felt stupid for falling for it. My initial thought was to keep it to myself. Sharing it would only validate my stupidity.

I somewhat knew that if I kept things to myself, the bad experience will just linger at the back of my mind for days. Even if it’s embarrassing, I shared it to Julie and my friends.

What could I have done next time?

There are multiple ways to catch this con. It’s a little more hassle but for large transaction it’s worth it. Here’s the thing I should have done instead:

  • Call the company to verify person employment
  • Ask for an I.D. and live photo of the items
  • Most sellers offer payment only when the pickup service has arrived — insist on doing this
  • Avoid large transactions on Gcash/GrabPay because they specifically exclude swindling (transferred money but unfulfilled order) to their protection coverage

What good did come out of this?

I’m actually getting addicted on finding good deals in the marketplace. Even for things I don’t need. There’s this instant gratification in same-day shipping purchase. It’s getting harder to control myself especially when I’m stressed out and my willpower is spent. Now, I have natural aversion on buying. I don’t visit the marketplace any more haha.

Another thing that was surprising is how I was able to regulate my emotion. In less than an hour I was able to accept and acknowledge the situation. I knew that getting angry or feeling shame wouldn’t make a difference. It will only make my loss bigger (by being emotionally invested in something I don’t have control of). I was able to resume my day as planned.

This was good exercise on how I’d react when real bad things happen. I’d say this lesson is well worth ₱15.9k.

#

Here’s the details for SEO: Golden Dragon Enterprise 09334498092 09687683535

Implementing a Free WiFi

When fiber internet was rolled out at my Mom’s home, I had this itch to provide internet for the whole compound. She have an ice cream business and she provides housing to ice cream vendors (sorbetero) together with their families. Around half the compound are sorbeteros. Most of which will benefit if they don’t have to add another expense for internet.

Fiber made bandwidth cheap (P2699 for 100mbps). I knew that a 100mbps plan is more than enough for everyone there. The bottleneck is the device the comes with the internet plan. The device PLDT provides is actually an all-in-one that combines a modem, router, switch, and an access point (WiFi).

To increase coverage, I need to split out the access point and use a separate device.

Project goal

  • Share internet that covers the whole compound
  • Performance should be adequate for remote learning or work-from-home (Zoom, Google Meet)
  • Have the same experience as having their own WiFi
  • Roaming-capable (when people move, their device will automatically switch to the next nearest access point)
  • Minimal restrictions

Implementation

I opted to go with a business-grade solution. Big factor is a single dashboard to manage all access points. I was initially considering Ubiquity, but then found out about TP-Link Omada which is half the price.

  • I get notified through Omada app if the internet is down or if any of the access point stops working
  • There are only 2 SSIDs (WiFi name) for 7 access points. One personal and another for the free WiFi. Each has it’s own subnet.
  • Free WiFi’s subnet is limited to 50mbps to guarantee that the personal network always have bandwidth available
  • Each device is further limited to 20mbps (initially this was 10mbps but utilization rate was low, I bumped it up to 20mbps)
  • I had to block Mobile Legends because kids from other compound started coming to our compound to have a tournament until late night. Blocking is just another ACL rule to block port 30000 to 31000. ML stopped loading after this has been applied.

Interesting metrics

  • 7 access points covered more than 20 households
  • Average internet utilization is only around 20%
  • Average traffic is around 180GB download and 15GB upload daily
  • Max connected clients so far was 90+ devices
  • It’s been running since May 2021. Things has been relatively stable. Downtime was only when there’s no electricity.

Cost

Next step: better cable management
ItemUnit PriceQtyTotal
TP Link Router R509₱2,180.001₱2,180.00
TP Link 5-port PoE Switch₱1,440.001₱1,440.00
TP Link EAP110-Outdoor₱1,400.002₱2,800.00
TP Link EAP225-Outdoor₱2,900.004₱11,600.00
TP Link EAP235-Wall₱2,900.001₱2,900.00
Thinkcentre m73p₱2,500.001₱2,500.00
Omni plugs₱442.771₱442.77
Waterproof Junction₱580.231₱580.23
305m CAT6 outdoor cable₱2,250.001₱2,250.00
Total

₱24,443.00

I could have implement the whole thing 50% cheaper but it’ll be a pain to maintain and less fun to do. Since I’m doing this for free, I might as well enjoy haha.

Why

I see this as a hobby. I’ve always been fascinated with computer networking for as long as I can remember. 

The 25k I spent could’ve easily been another gadget where only I would benefit (and add another stuff to my life). Spending it on this instead accomplishes two things 1) I had fun planning, figuring things out, and setting it up 2) It has good net effect because a lot of people are getting value from it. And that makes me happy. 

I also learned a lot. I finally understood how VLAN works. It’s nice that I can map an SSID to a VLAN to have it’s own network. Power-over-Ethernet was also nice because there’s only one cable for power and data (CAT6).

Overall it was worthwhile.

2020 © Jerico Aragon