It's Interesting

It’s an interesting experience to walk into a new team and company and proceed to start dismantling their infrastructure.

When I started in my team, the person who I replaced was viewed in a pretty negative light.

After he left, actually (and only during one-on-one conversations with his former colleagues) did I actually begin to grasp the level of contempt that they had for him.

You also see that contempt manifest itself in the significant waste in resources, poorly implemented tools and technologies, and technologies not used by the other colleagues.

Take for example the systems that were referred to as “filer” systems.

They were poorly named

When I started, they were named

  • f1.hype.f5net.com
  • f2.hype.f5net.com

They resided in a sub-domain that did not imply their location in the company.

From my past experience at Rackspace this is totally unacceptable. So I renamed them to something that implies cells and regions; as we used at RS.

They have poorly managed ZFS volumes

When I stepped into the group, nothing was monitored. I fixed this by establishing a nagios infrastructure to handle that.

Immediately though it started noticing problems. In particular, the disk pools in the filers were full. This was a problem because backups were no longer happening. However it was a double whammy when I found out that the filers were using ZFS as their filesystem.

The only reason they were using ZFS was because my colleague had installed FreeNAS on the filers; another questionable solution.

While I proceeded to clean those up, I found over 3000 snapshots on the volumes.

I spent a lot time determining what all could be deleted and learning a lot about ZFS along the way.

In addition to that I found that ZFS and big snapshots have terrible performance problems when dedup is turned on. So I turned that off as well and now I think I need to wait for all the existing snapshots to purge their way out of the system.

In any event…more premature optimization.

Useless services

He installed some plugins that were never used. Among them, syncthing and btsync.

When I went to investigate those, I found that directories had been set up for all of the team members to use; but only he had used it.

More wasted effort…

Conclusion

My former colleague talked a lot of shit about another former colleague that left the company right as I started. However, based off of this colleagues ability to establish and run production systems, I would have to say that he’s just as lacking in his professional skills as the person that he himself talked shit about.

I don’t make those same mistakes.

I’m only interested in the enterprise-grade solutions to the problem because my technical interests (my play time) is not done at work or with work resources.

And I also abhore debt; including the technical kind.

It’s been interesting to dismantle this empire though and see just how much stuff is not needed and how badly technologies were abused.

New year, new goals

It’s the new year and a fair amount of stuff has already happened

Acquired a dehydrator

For xmas I got a dehydrator and Nia and I have been using the hell out of it. Literally we haven’t turned the thing off since we’ve gotten it. We eat the fruits before they’re even done. And when things are finally done, we eat them all in basically one sitting.

It’s so easy to eat through 2 lbs of dried strawberries because it fits in a standard size sandwich bag. You don’t even know you just ate that many fruits.

So we stocked up on apples and cherries, pineapple, strawberries, everything.

Strava report

My strava report shows these stats for 2014

  • Total Distance: 4153 kilometers
  • Elevation Gain: 32,225 meters
  • Total Time: 200h, 28min; 268 cycling activities, 29 running activities
  • KOMs: 1
  • Biggest Climb: 423 meters
  • Longest Ride: 146 kilometers
  • Kudos Count: 61

The whole thing can be seen here

Nia had a great year too considering that she was new to Strava and re-beginning her healthy lifestyle. Here are her stats.

  • Total Distance: 470 kilometers
  • Total Time: 63h, 1m; 10 cycling activities, 97 running activities
  • CRs: 11
  • Longest Run: 10 kilometers
  • Average Run Distance: 5 kilometers
  • Total Achievements: 50

Her video can be seen here

For 2015 I have some bigger goals.

The end of 2014 was a very trying time for me because I took a new job, and was also involved in a cycling accident that kept me off the bike for 3 months with a fractured rib.

I moved to Seattle, the land of rain and cycling though, so I want to put more miles on the bike; specifically in the form of elevation.

We live on a hill in Seattle and 5 reps up-and-down the hill equates to 1000 ft of elevation. I want to put in 1000 ft a day; it’s really not that bad.

In total that would put me at 365,000 ft of elevation for the year.

Why that far? Well, because,

  • I think it’s do-able given my current fitness
  • Also do-able given my time constraints around life and work
  • It’s beyond what the US defines as “space” but just short of what the general international consensus for space is.

In the US, "space" begins at 80.4km (50 miles), or 264,000 feet. General international consensus sets a similar limit for the start of space as 100km (62 miles), or 380,000 feet. "Low Earth Orbit" (LEO), where many satellites live, goes from 160km (100 miles, 525,000 feet) to 2,000km (1,240 miles, 6.5 million feet).

Ain’t gonna be climbing 6.5 million ft any time soon :-P (just for the record that would be 97.9…let’s just call it 100 miles…up my current route…every day)

Mortgage

2015 is going to be the year that I really focus on the mortgage.

The end of 2014 and the beginning of 2015 saw a combined ~35k worth of principal paid off. As of today I have ~114k left and it’s within the realm of possibility that that number could dip below the 50k mark this year.

All said and done I project that I have a total of 1.5 years until the balance reaches zero but who knows. Times might be for the better or for the worse; the plan remains.

My current LTV is 95.9%. This isn’t the first time I’ve been under 100% (obviously when the loan originated I was under by some percentage). However it is the first time in recent memory.

I want to reach the 80% LTV so that I can attempt to have PMI eliminated. I realize it is only ~$71/month, but that’s real money that could instead be applied to my principal balance. Every little bit helps.

Work

I switched jobs this year and moved to Seattle to work for F5 on Oct 14th.

The transition has been extremely difficult and stressful on me. The whole reason to move out here was to work with a good friend I knew from undergrad; Michael Earnhart.

Unfortunately for me, he conn’d me into moving out here.

A month after I started, he left our group; saddling me with the mess he had created with a product that I have little-to-no interest in; something called “hype”.

Our group has no infrastructure support; yet we support hype for co-workers Our group also has no formal experience in automation, software engineering, computer security, cloud scale support or infrastructure monitoring. Of course, I do, and I bring that all to the table.

Trying to convince the group, and anyone for that matter, that I have this expertise has been a consistent thorn in my professional side.

It’s as if people just don’t believe me when I open my mouth. Yet, time and again they are proven wrong by the results I produce.

I want to have the authority to do what needs to be done with this product and in my group, but I’m very bad at political correctness. When I tell you your idea is lousy, it’s because I have been down that road before. I’m not interested in repeating the same mistakes. It’s a waste of my time and sets us back on producing quality goods.

Suffice to say, I currently hate my job. The problem is that they’ve roped me down with compensation and benefits that I’m unlikely to get from other companies in the area. That is, however, until I’ve satisfied those obligations to F5 (a minimum of 2 years of work).

Further more, that’s just to satisfy the “give money back” requirements. I need to remain for 4 years total to be able to keep my full 401k employer contributions as well as receive the full set of RSUs I was given upon hiring.

The bright side of the RSU deal is that after 1 year, the remainder of the RSUs begin vesting quarterly. So it wouldn’t be a total wash if I jumped ship after 2 years of work.

I dunno.

I think I need to stick it out and learn to work better with my colleagues and the company but man is it going to be a rough two years.

Health

Over the next year I want to continue to focus on my healthy lifestyle as a foundational pillar in my life.

Nia has been such an inspiration in sticking to our healthy eating lifestyle even in the face of holidays and events. I’d love to be more like her.

I’d like to be able to turn down more offers for socially eating. Both because I don’t care to spend the money on it, and because there is rarely a place we visit that is plant friendly.

Co-workers and friends are just not worth going out with. Which brings me to…

Friends

I no longer care to be friends with Michael. His lifestyle and behavior towards others is not something I care to be a part of. I wish him the best of luck in what he wants to do in life.

I do want to find more cycling friends and more friends who are reliable and treat me with respect. Friends that are interested in the lifestyle I’ve chosen as opposed to friends who I continually need to battle with.

Meetup is a great way to go about doing this, but does require that I figure out my work situation (said unrealistic amount of time I spend there) first.

I really want to have a closer friendship with Jesse. He’s a cyclist as well, and while we don’t see eye-to-eye on food. I believe that he would respectfully agree to disagree with me and eat at places that work for both of us.

Reading

There are a number of books on my kindle that I want to eat through that I have been delaying reading because of work.

Games

I have a number of Steam titles that I want to play through that also keep getting put off by my lack of work/life balance.

Conclusion

See a recurring theme here? It’s, again, all about work. I’m just too interested in computers to turn myself off. It’s a nightmare for my personal life and things that really matter; I don’t know how to fix it.

More work than expected

So today I spent some time fiddling with my playbooks for deploying my blog. I ran into this little gem while trying to use ansible to clone the gitlab repository I sync to the server.

Gitlab/hub provide the URLs in the repo like this.

ssh://git@gitlab.com:caphrim007/blog.git

This actually doesn’t work though, because the URL is technically incorrect. For example, with the above URL, I would get the following error.

Perform task: blog | Clone the source code (y/n/c):  **************************
<localhost> REMOTE_MODULE git dest=cache/blog version=master force=yes repo=ssh:********@gitlab.com:caphrim007/blog.git accept_hostkey=True
<localhost> EXEC ['/bin/sh', '-c', 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1418080918.08-129911124351692 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1418080918.08-129911124351692 && echo $HOME/.ansible/tmp/ansible-tmp-1418080918.08-129911124351692']
<localhost> PUT /var/folders/jc/9d1188j962931rhqrlm4173w5j5m45/T/tmpDTluSd TO /Users/trupp/.ansible/tmp/ansible-tmp-1418080918.08-129911124351692/git
<localhost> EXEC ['/bin/sh', '-c', u'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python /Users/trupp/.ansible/tmp/ansible-tmp-1418080918.08-129911124351692/git; rm -rf /Users/trupp/.ansible/tmp/ansible-tmp-1418080918.08-129911124351692/ >/dev/null 2>&1']
failed: [caphrim.net -> localhost] => {"cmd": "/usr/bin/git ls-remote ssh:********", "failed": true, "rc": 128}
stderr: X11 forwarding request failed on channel 0
Access denied.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

msg: X11 forwarding request failed on channel 0
Access denied.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
           to retry, use: --limit @/Users/trupp/deploy-blog.yaml.retry

caphrim.net                : ok=2    changed=0    unreachable=0    failed=1

SEA-ML-RUPP1:caphrim-automation trupp$

So what is the correct format of the URL? Well, it looks like this.

ssh://git@gitlab.com/caphrim007/blog.git

Notice the forward slash after the hostname? The smoking gun!

Changing it to the correct URL format, resulted in working code

Perform task: blog | Clone the source code (y/n/c):  **************************
<localhost> REMOTE_MODULE git dest=cache/blog version=master force=yes repo=ssh:********@gitlab.com/caphrim007/blog.git accept_hostkey=True
<localhost> EXEC ['/bin/sh', '-c', 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1418081327.1-148483259248905 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1418081327.1-148483259248905 && echo $HOME/.ansible/tmp/ansible-tmp-1418081327.1-148483259248905']
<localhost> PUT /var/folders/jc/9d1188j962931rhqrlm4173w5j5m45/T/tmp6FXFYO TO /Users/trupp/.ansible/tmp/ansible-tmp-1418081327.1-148483259248905/git
<localhost> EXEC ['/bin/sh', '-c', u'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python /Users/trupp/.ansible/tmp/ansible-tmp-1418081327.1-148483259248905/git; rm -rf /Users/trupp/.ansible/tmp/ansible-tmp-1418081327.1-148483259248905/ >/dev/null 2>&1']
changed: [caphrim.net -> localhost] => {"after": "385a29df6cd3b873e207a3288a6d607b77b9910c", "before": null, "changed": true}

And the correct working code in Ansible looks like this.

Working
  - name: Clone the source code
  git: dest=blog
       version=master
       force=yes
       repo=ssh://git@gitlab.com/caphrim007/blog.git
       accept_hostkey=True
  delegate_to: localhost

Continued mortgage payoff results. Part 1

My most recent payment cleared the bank and my lender. Here are the gory details.

LTV fell from 113.2% to 104.6% Current principal Balance is $125,353.45 Previous principal balance was $135,669.50 Total payment sent was $11,421.36. Of that, the breakdown was as follows.

Description Principal Interest Escrow Amount Paid
Additional principal $9999.99 $0.00 $0.00 $9999.99
Payment $316.06 $522.89 $582.42 $1,421.37

My lenders’ website only allows for a maximum of $9999.99 to be sent as principal payments, so I just make the maximum every month until I’ve exhausted what I originally planned to throw at it.

A drop of 8.6% LTV, but still far away from the 80% that I need to eliminate PMI. While PMI elimination isn’t really a goal, I consider it “the next step” in paying off my mortgage because it will be the next closest target.

After that, the only remaining target is zero balance.

Continued mortgage payoff

113.2%

That’s the current LTV estimate on my mortgage as of today.

Instead of participating in the material slugfests that are Black Friday and Cyber Monday, I’ve instead decided to buy more of my house back from my lender.

How much more? Good question!

My house loan originated back in 2008 at somewhere around $200,000. I think I bought the place for $199,999 but who’s counting. Anyways, I came to the table with, what I thought, was enough money to satisfy the 20% equity needed to forgo PMI; a check for around $20,000. As luck would have it though, I ended up losing most of that to fees and other closing costs associated with the mortgage.

The intention had been to use that 20k to not have to carry PMI. Boy was I not only wrong, but also foolish to not know about closing costs!

Anyways, I have the numbers from the first mortgage around here somewhere in PDF form, but nothing in a fancy spreadsheet. My first lender was the famous (infamous?) Taylor Bean and Whitaker; later going bankrupt from fraud. Bravo guys.

So first mortgage aside, here is the rundown of the second mortgage and all the payments for it.

Second Mortgage

Month Owed Regular Payment Principal Interest Add’l Prepayment New Principal
1 $182,861.00 $1,140.81 $169.37 $971.45 $0.00 $182,691.63
2 $182,691.63 $1,140.81 $170.27 $970.55 $0.00 $182,521.37
3 $182,521.37 $1,140.81 $171.17 $969.64 $0.00 $182,350.20
4 $182,350.20 $1,140.81 $172.08 $968.74 $0.00 $182,178.12
5 $182,178.12 $1,140.81 $172.99 $967.82 $0.00 $182,005.13
6 $182,005.13 $1,140.81 $173.91 $966.90 $0.00 $181,831.21
7 $181,831.21 $1,140.81 $174.84 $965.98 $0.00 $181,656.38
8 $181,656.38 $1,140.81 $175.77 $965.05 $0.00 $181,480.61
9 $181,480.61 $1,140.81 $176.70 $964.12 $0.00 $181,303.91
10 $181,303.91 $1,140.81 $177.64 $963.18 $0.00 $181,126.28
11 $181,126.28 $1,140.81 $178.58 $962.23 $0.00 $180,947.69
12 $180,947.69 $1,140.81 $179.53 $961.28 $0.00 $180,768.16
13 $180,768.16 $1,140.81 $180.48 $960.33 $0.00 $180,587.68
14 $180,587.68 $1,140.81 $181.44 $959.37 $0.00 $180,406.24
15 $180,406.24 $1,140.81 $182.41 $958.41 $0.00 $180,223.83
16 $180,223.83 $1,140.81 $183.38 $957.44 $0.00 $180,040.46
17 $180,040.46 $1,140.81 $184.35 $956.46 $0.00 $179,856.11
18 $179,856.11 $1,140.81 $185.33 $955.49 $0.00 $179,670.78
19 $179,670.78 $1,140.81 $186.31 $954.50 $0.00 $179,484.46
20 $179,484.46 $1,140.81 $187.30 $953.51 $0.00 $179,297.16
21 $179,297.16 $1,140.81 $188.30 $952.52 $0.00 $179,108.86
22 $179,108.86 $1,140.81 $189.30 $951.52 $0.00 $178,919.56
23 $178,919.56 $1,140.81 $190.30 $950.51 $0.00 $178,729.26
24 $178,729.26 $1,140.81 $191.32 $949.50 $0.00 $178,537.94
25 $178,537.94 $1,140.81 $192.33 $948.48 $0.00 $178,345.61
26 $178,345.61 $1,140.81 $193.35 $947.46 $0.00 $178,152.26
27 $178,152.26 $1,140.81 $194.38 $946.43 $0.00 $177,957.87
28 $177,957.87 $1,140.81 $195.41 $945.40 $0.00 $177,762.46
29 $177,762.46 $1,140.81 $196.45 $944.36 $0.00 $177,566.01
30 $177,566.01 $1,140.81 $197.50 $943.32 $0.00 $177,368.51
31 $177,368.51 $1,140.81 $198.54 $942.27 $0.00 $177,169.97
32 $177,169.97 $1,140.81 $199.60 $941.22 $0.00 $176,970.37
33 $176,970.37 $1,140.81 $200.66 $940.16 $0.00 $176,769.71
34 $176,769.71 $1,140.81 $201.73 $939.09 $0.00 $176,567.99
35 $176,567.99 $1,140.81 $202.80 $938.02 $180.76 $176,184.43
36 $176,184.43 $1,140.81 $204.83 $935.98 $0.00 $175,979.59
37 $175,979.59 $1,140.81 $205.92 $934.89 $0.00 $175,773.67
38 $175,773.67 $1,140.81 $207.02 $933.80 $0.00 $175,566.65
39 $175,566.65 $1,140.81 $208.12 $932.70 $0.00 $175,358.54
40 $175,358.54 $1,140.81 $209.22 $931.59 $0.00 $175,149.31
41 $175,149.31 $1,140.81 $210.33 $930.48 $0.00 $174,938.98
42 $174,938.98 $1,140.81 $211.45 $929.36 $0.00 $174,727.53
43 $174,727.53 $1,140.81 $212.57 $928.24 $0.00 $174,514.95
44 $174,514.95 $1,140.81 $213.70 $927.11 $0.00 $174,301.25
45 $174,301.25 $1,140.81 $214.84 $925.98 $0.00 $174,086.41
46 $174,086.41 $1,140.81 $215.98 $924.83 $0.00 $173,870.43
47 $173,870.43 $1,140.81 $217.13 $923.69 $0.00 $173,653.30
48 $173,653.30 $1,140.81 $218.28 $922.53 $27.81 $173,407.21
49 $173,407.21 $1,140.81 $219.59 $921.23 $351.46 $172,836.16
50 $172,836.16 $1,140.81 $222.62 $918.19 $351.46 $172,262.08
51 $172,262.08 $1,140.81 $225.67 $915.14 $351.46 $171,684.95
52 $171,684.95 $1,140.81 $228.74 $912.08 $351.46 $171,104.75
53 $171,104.75 $1,140.81 $231.82 $908.99 $351.46 $170,521.47
54 $170,521.47 $1,140.81 $234.92 $905.90 $351.46 $169,935.09
55 $169,935.09 $1,140.81 $238.03 $902.78 $351.46 $169,345.59
56 $169,345.59 $1,140.81 $241.17 $899.65 $351.46 $168,752.97
57 $168,752.97 $1,140.81 $244.31 $896.50 $351.46 $168,157.19
58 $168,157.19 $1,140.81 $247.48 $893.34 $351.46 $167,558.25
59 $167,558.25 $1,140.81 $250.66 $890.15 $351.46 $166,956.13
60 $166,956.13 $1,140.81 $253.86 $886.95 $266.72 $166,435.55
61 $166,435.55 $1,140.81 $256.63 $884.19 $3,266.72 $162,912.20
62 $162,912.20 $1,140.81 $275.34 $865.47 $1,266.72 $161,370.14
63 $161,370.14 $1,140.81 $283.54 $857.28 $1,266.72 $159,819.88
64 $159,819.88 $1,140.81 $291.77 $849.04 $1,266.72 $158,261.39
65 $158,261.39 $1,140.81 $300.05 $840.76 $157,961.34 $0.00

As you can see, over most of the life of that mortgage, I was only paying the minimum payment.

At the time, I believe, I was of the mindset that I would be paying off the house for the rest of my life; that I would never be making an income significant enough to put a dent in the balance. $180,000 seemed like a LOT of money to me at the time. Let’s face it, it still is a lot of money, but it has become less appalling to me over time.

Then my mortgage was sold…again

Third mortgage

You see there in payment #65 that the balance dropped to zero. Well, that’s because my lender sold my mortgage to another one.

Month Owed Regular Payment Principal Interest Add’l Prepayment New Principal
1 $163,175.00 $838.95 $210.04 $628.90 $1,623.90 $161,341.06
2 $161,341.06 $838.95 $217.11 $621.84 $1,623.90 $159,500.04

But this lender literally didn’t last more than those 2 months. Ya see, my second lender, Cenlar, found that they could re-finance me with no closing costs and give me a lower interest rate.

So they sold me to QuickenLoans, who held me for two months or so, and then…

Fourth mortgage

…sold me right back to Cenlar.

So here’s where we’re at today.

Somewhere around the time that I paid off my last consumer debt back in 2011, I decided that I wanted to live totally debt free; house and everything.

I have this concern for my family (parents, sisters, brothers) that, at some point, I am going to be expected to swoop in and save everyone.

I’ve always been the most financial savvy in the family, as well as the most disciplined in terms of finances. I just have this feeling that I’m going to be expected to step up and save somebody, so I’m hedging against that risk.

Since I’ve started working, my income has almost tripled while my spending hasn’t changed at all. I would say I spend ~20% of my income; investing the rest.

When the size of my income shovel increased recently, I thought to myself that this was the perfect opportunity to kill off the debt once and for all.

Month Owed Regular Payment Principal Interest Add’l Prepayment New Principal
1 $159,500.04 $838.95 $224.21 $614.74 $1,623.90 $157,651.93
2 $157,651.93 $838.95 $231.33 $607.62 $0.00 $157,420.60
3 $157,420.60 $838.95 $232.22 $606.73 $0.00 $157,188.37
4 $157,188.37 $838.95 $233.12 $605.83 $0.00 $156,955.25
5 $156,955.25 $838.95 $234.02 $604.93 $0.00 $156,721.23
6 $156,721.23 $838.95 $234.92 $604.03 $0.00 $156,486.31
7 $156,486.31 $838.95 $235.83 $603.12 $628.11 $155,622.38
8 $155,622.38 $838.95 $239.16 $599.79 $628.11 $154,755.11
9 $154,755.11 $838.95 $242.50 $596.45 $628.11 $153,884.50
10 $153,884.50 $838.95 $245.85 $593.10 $628.11 $153,010.54
11 $153,010.54 $838.95 $249.22 $589.73 $628.11 $152,133.21
12 $152,133.21 $838.95 $252.60 $586.35 $628.11 $151,252.50
13 $151,252.50 $838.95 $256.00 $582.95 $628.11 $150,368.39
14 $150,368.39 $838.95 $259.41 $579.54 $628.11 $149,480.87
15 $149,480.87 $838.95 $262.83 $576.12 $628.11 $148,589.94
16 $148,589.94 $838.95 $266.26 $572.69 $628.11 $147,695.57
17 $147,695.57 $838.95 $269.71 $569.24 $628.11 $146,797.75
18 $146,797.75 $838.95 $273.17 $565.78 $578.63 $145,945.95
19 $145,945.95 $838.95 $276.45 $562.50 $9,999.99 $135,669.51
20 $135,669.51 $838.95 $316.06 $522.89 $9,999.99 $125,353.47

As you can see at payments #19 and #20, I gained a bigger shovel.

It’s not sustainable at that rate (lots of it was due to relocation/sign-on bonuses) but here’s what the projected ammortization schedule that I hope to follow.

Month Owed Regular Payment Principal Interest Add’l Prepayment New Principal
21 $125,353.47 $838.95 $355.82 $483.13 $9,999.99 $114,997.66
22 $114,997.66 $838.95 $395.73 $443.22 $2,628.11 $111,973.82
23 $111,973.82 $838.95 $407.38 $431.57 $4,378.11 $107,188.33
24 $107,188.33 $838.95 $425.83 $413.12 $2,628.11 $104,134.39
25 $104,134.39 $838.95 $437.60 $401.35 $2,628.11 $101,068.68
26 $101,068.68 $838.95 $449.41 $389.54 $4,378.11 $96,241.15
27 $96,241.15 $838.95 $468.02 $370.93 $2,628.11 $93,145.02
28 $93,145.02 $838.95 $479.95 $359.00 $2,628.11 $90,036.96
29 $90,036.96 $838.95 $491.93 $347.02 $4,378.11 $85,166.92
30 $85,166.92 $838.95 $510.70 $328.25 $2,628.11 $82,028.11
31 $82,028.11 $838.95 $522.80 $316.15 $20,128.11 $61,377.20
32 $61,377.20 $838.95 $602.39 $236.56 $4,378.11 $56,396.69
33 $56,396.69 $838.95 $621.59 $217.36 $2,628.11 $53,147.00
34 $53,147.00 $838.95 $634.11 $204.84 $7,003.11 $45,509.77
35 $45,509.77 $838.95 $663.55 $175.40 $4,378.11 $40,468.11
36 $40,468.11 $838.95 $682.98 $155.97 $2,628.11 $37,157.03
37 $37,157.03 $838.95 $695.74 $143.21 $7,003.11 $29,458.18
38 $29,458.18 $838.95 $725.41 $113.54 $4,378.11 $24,354.65
39 $24,354.65 $838.95 $745.08 $93.87 $2,628.11 $20,981.46
40 $20,981.46 $838.95 $758.08 $80.87 $7,003.11 $13,220.26
41 $13,220.26 $838.95 $788.00 $50.95 $4,378.11 $8,054.16
42 $8,054.16 $838.95 $807.91 $31.04 $2,628.11 $4,618.14
43 $4,618.14 $838.95 $821.15 $17.80 $2,628.11 $1,168.88
44 $3,796.99 $838.95 $824.32 $4.51 $0.00 334.43

And let’s be honest. When I get to payment #40, I’ll probably just write a check and close out the mortgage.

Those upcoming numbers feel huge to me.

When I frequently discuss money with family, I’m often called out for neglecting my retirement saving or investing and instead paying down on my mortgage.

The funny thing is that I have never stopped maxing out my 401k, Roth IRA, and driving cash into investments. Even while doing all the above. When I make that point to my family, they shut their lips.

Those numbers above also do not include me tapping any principal or interest that I have rolling off of my investments. Those numbers up top are 100% employment cash flow.

So I’m firmly intending to be completely debt free and commanding a very huge shovel in roughly 1.5 years; it’s basically all I focus on.

What to do after that though? I dunno. I’m not good at spending, and both my girlfriend and I have very simple tastes.

By then, my total spending will drop to ~13% of my income. That will certainly provide the hedge I had wanted in case I need to help family. It will also result in an acceleration of investments; probably substantially.

At some point I’ll just call it quits and move to a warm area where I can ride my bicycle and read books.