Meme Templates

I love meme’s and like seeing them across my various social feeds. They also seem to always generate a lot of shares and comments. If you have trouble keeping up Nathan Allebach has a google doc with tons of meme templates, perfect for your next viral post:

║\
║▒\
║▒▒\
║░▒║with
║░▒║this
║░▒║blade
║░▒║I will
║░▒║write
║░▒║dumb
║░▒║memes
║░▒║
▓▓▓▓
[█▓]
[█▓]
[█▓]
[█▓]

Personal Finance Books

For the past few years every January I go back through all my personal finance books to try and pinpoint what I did well in the previous year and what I need to change going forward.

This year is no different and as I was reviewing my favorite books, I thought it might be good to share with others the ones that I enjoy that will help you get your finances and retirement in order.

These are just a few of the books I have related to personal finance but they are considered classics for a reason. Also, all the links are affiliate links to Amazon but I’m sure your local library or Libby will have them for free.

I love the simplicity in the millionaire next door and the simple path to wealth, but one thing all personal finance books preach is that it’s not what you make, it’s what you save that makes you rich. Do you have a favorite personal finance book or one that changed your life? Let me know in the comments as I’d love to read it.

Temporary 100-Percent Deduction for Business Meal Expenses

Typically for a business expenses you can deduct 50 percent of the amount for meals related to business functions. Last year the IRS made a change to this to allow a temporary 100-percent deduction for expenses that are paid or incurred after December 31, 2020, and before January 1, 2023, for food or beverages provided by a restaurant.

Of course, always talk to your accountant but here is the pdf notice with complete details. The CBH website also has a break down in more plain English on the plan.

Use Commas with Alfred’s Calculator

One annoyance with the Mac app Alfred is by default it doesn’t support commas in numbers when trying to do calculations:

This has been an annoyance of mine for a long long time, but Benjamin Borowski on Twitter shared a hot tip on how to enable that and it’s pretty simple, you just have to find the right setting.

Alfred settings -> features -> calculator -> Input -> check “ignore thousands grouping separator”. Then you can use the thousands separator:

Perspective

From Twitter as we go into a new year:

For a small amount of perspective at this moment, imagine you were born in 1900. When you are 14, World War I starts, and ends on your 18th birthday with 22 million people killed. Later in the year, a Spanish Flu epidemic hits the planet and runs until you are 20. Fifty million people die from it in those two years. Yes, 50 million.

When you’re 29, the Great Depression begins. Unemployment hits 25%, global GDP drops 27%. That runs until you are 33. The country nearly collapses along with the world economy. When you turn 39, World War Il starts. You aren’t even over the hill yet.

When you’re 41, the United States is fully pulled into WWII. Between your 39th and 45th birthday, 75 million people perish in the war and the Holocaust kills six million. At 52, the Korean War starts and five million perish.

At 64 the Vietnam War begins, and it doesn’t end for many years. Four million people die in that conflict. Approaching your 62nd birthday you have the Cuban Missile Crisis, a tipping point in the Cold War. Life on our planet, as we know it, could well have ended. Great leaders prevented that from happening.

As you turn 75, the Vietnam War finally ends. Think of everyone on the planet born in 1900. How do you survive all of that? A kid in 1985 didn’t think their 85 year old grandparent understood how hard school was. Yet those grandparents (and now great grandparents) survived through everything listed above.

Perspective is an amazing art. As 2022 ends, let’s try and keep things in perspective. Let’s be smart, help each other out, and we will get through all of this. In the history of the world, there has never been a storm that lasted. This too, shall pass.

iTerm2 Settings to Make Your Life Better

iTerm2 is my terminal app of choice and I’ve been using it for years. Up until now though I’ve only customized the fonts and colors and left the rest of its settings the defaults. After finally getting annoyed trying to move the cursor around in a long command I asked a friend how they do it and apparently in Mac’s default Terminal app it’s just option + left/right arrow, but that didn’t work for me in iTerm2.

If you are not familiar with what I’m talking about imagine you are running something like:

php artisan custom:commmand --file=really-long-string-or-path-to-uuid-file.txt --anotherflag

Then you realize you spelled command wrong and need to move the cursor from the end to somewhere in the middle. By default, option + left arrow doesn’t move by word, instead it inserts some sort of character.

As I went to figure out how to change this I found the keymap settings and inside the presets is an option for “natural text editing”. This changes iTerm2 to use the standard keys to move around the line just like any other app. For example, command + left/right to go the start or end of a line, option + left/right to move by word, and more.

While you are in the settings another good change is under the general tab to make new tabs open in the current sessions directory.

These two settings alone have made iTerm2 much better for me to use, and I’d recommend you give those a try. If you are an avid iTerm2 user let me know what other settings you customize to make the app better for you.

Remove the period when double spacing on the Mac

In one of the recentish Mac updates they added the feature from iOS where if you hit the spacebar twice in a row it will automatically add a period. On iOS I really like this feature, but on my Mac with a real keyboard it drives me crazy. I decided to do what all developers do and rant about it on Twitter and someone told me it’s in the settings. Doh!

To remove this open system preferences -> keyboard and just uncheck the option.

Love a nice and easy fix like this.

How to save an SVG from HTML

If you’ve worked with SVG’s before you may know that you can grab the file by inspecting the DOM through your browsers developers tools, and then copy and pasting the <svg… code into a new file and saving as file.svg. This works fine a lot of times, but what if the SVG has css styles applied? This is where it can get tricky and something I’ve been running into more and more.

SVG Export Plugin

Luckily there is a free Chrome/Firefox plugin called SVG Export that will do all this for you automatically and easily let you export into almost any format you desire. As well as letting you copy it to the clipboard and opening in popular apps like Sketch, Figma, and more.

Statamic SEO Pro with Laravel Controllers

Statamic has a great first party plugin called SEO Pro that includes a lot of settings every site probably needs for search engine optimization including things like og tags, dynamic titles, descriptions, and even canonical urls.

It has been working perfectly for me but today I hit a small snag with how it tries to dynamically set the canonical url and it wasn’t working when loading Statamic Antlers views through a Laravel controller. For example, here is the code I use to show an about page:

return (new \Statamic\View\View)
    ->template('about')
    ->layout('layout')
    ->with([
        'content' => 'my content here',
    ]);

When this page is loaded the SEO Pro plugin was using the home page as the canonical url.

<link href="https://mysite.com" rel="canonical" />

To set your own canonical URL you just need to pass it manually like this:

return (new \Statamic\View\View)
    ->template('about')
    ->layout('layout')
    ->with([
        'content' => 'my content here',
        'seo' => ['canonical_url' => 'https://mysite.com/about']
    ]);

With that in place the plugin will pull the setting you pass and use it in the parsed html source. I’m sure you can also change other settings this way as well, so if you ever need to dynamically customize what data it uses look at adding to an “seo” array when passing your data to the view.

WordPress too many redirects to wp-admin while using Cloudflare

I have a stand alone WordPress install that has been running along just fine for years. Recently it started throwing an error when trying to login or visit the wp-admin

Too many redirects occurred trying to open “{domain}/wp-admin”. This might occur if you open a page that is redirected to open another page which then is redirected to open the original page.

What happen was the site was utilizing Cloudflare and for the SSL encryption it had flexible enabled. Flexible means the browser uses https and a secure connection, but from Cloudflare to the server it’s not.

The Cloudflare ssl setting

So what was happening is WordPress thought the connection wasn’t secure and kept trying to redirect back to itself. Causing an infinite loop. The way to fix this, would be either to go “Full” mode in Cloudflare or use a reverse proxy. If you go the reverse proxy route just add the following to the wp-config.php file:

define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain 
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';

With this in place the redirects should stop and you can then login and use your site as normal. Of course, the best practice is you should enable the Full mode in Cloudflare and install their certificate on your server. But for a quick fix the reverse proxy is easy to use.

New toys = rainy days

There is a running joke in a lot of outdoor sports communities where as soon as someone gets something new it’s guaranteed to rain.

This happened to me this week with a golf club. It has been ordered weeks ago and as soon as it arrived it’s now supposed to rain for the next week.

The moral of the story is never get new equipment.

Others Year In Reviews

Around this time of the year all the creators start sharing what all they accomplished during the year and I love reading them. Showing up everyday and making stuff is hard and they should be cheered on.

If you are feeling like you didn’t accomplish much this year compared to what others are sharing just remember their list is a reflection of years of doing a little bit at a time, honing their skills, and then buckling down and releasing stuff. Creating things is always a great example of compound interest. You show up everyday put your head and do the work and eventually it turns into a portfolio one can be proud of.

No matter if you are at the start of a journey creating stuff, or been doing it for years, don’t get discouraged. Look at what others have done as inspiration, not comparison. Do a little when you have time and be proud of what you accomplish no matter how small.

Self Control

Today is Election Day in the United States and it’s always a stressful day watching the news, seeing the social media posts, and just sitting around watching it with zero control with outcome except my single vote. Yesterday, I made a joke on Twitter that I was preparing for today by adding a bunch of sites to my /etc/hosts file.

Out of this came a lot of great replies but Tom Schlick recommended an app called SelfControl that takes this to the next level.

SelfControl is a free and open-source application for macOS that lets you block your own access to distracting websites, your mail servers, or anything else on the Internet. Just set a period of time to block for, add sites to your blacklist, and click “Start.” Until that timer expires, you will be unable to access those sites—even if you restart your computer or delete the application.

What I love is how hard core this app is. “Until that timer expires, you will be unable to access those sites—even if you restart your computer or delete the application.” Now that is some serious blocking. haha

If you ever struggle with wasting time on certain sites I’d recommend giving SelfControl a try and also consider the following books for getting hyper focused:

Take an analog break

If you are like me then you spend way too many hours of the day looking a digital screen and after a while your eyes probably start hurting. Or at least mine do.

What I’ve recently started doing was taking the simple little word search puzzles from the daily paper and slowly working it throughout the day. It gives my mind a break and gets my eyes off the screen for a few minutes.

If you aren’t taking breaks I’d highly recommend you start. Even just a few minutes every hour to give your eyes a reset.

Hiding almost all the desk wires

I finally had enough of all the wires coming from my desk and decided to finally do something about it. Here is what it looked like before I started…

As you can see it’s not too terrible but it just doesn’t have a nice minimal look that I always wanted. To get started on the project I ordered two cable tracks, new surge protector, some double sided strips for mounting those two, cable clamps, and velcro wraps for the cords.

After a few hours here is how I had everything mounted on the underside of the desk:

Then here is the final results. From all those cords to just a single one coming off the surge protector.

Now I can be an Instagram desk influencer. 🙂

Trolling with Cameo

A few months ago I was a guest on the Laravel Podcast and at some point I made the off- hand comment that VIM is terrible. Matt Stauffer, the host, told my buddy Michael Dyrynda who loves VIM what I did and he informed me how wrong I was. At least this is how I remember it.

From the recording date to the publish date was a few weeks so as a way of trolling Michael I had a Cameo made from Chris Diamantopoulos from Silicon Valley talking about how bad VIM is. (language warning)

Not to be outdone, Michael then had Suzanne Cryer from Silicon Valley do a follow up…

Practice Typing by Rewriting Classic Literature

I’ve always heard stories of great authors learning to write by typing out word for wod the classics. It’s like learning to code by reverse engineering your favorite framework or package, and figuring out exactly what they did to make it work.

A new site recently launched Typelit.io that allows you to retype classic novels right from your browser.

It’s a fun little web app, and if you’ve wanted to improve your typing or writing it could be good to spend a little time trying this out.

Not sure what to read? Buy what people you follow recommend

I’m not sure where I picked up this habit but I’ve been instantly buying (preferably used and cheap) any books that seem semi interesting when I see them shared by someone I follow. For example, this book Just Listen by Mark Goulston was recommended by Michele Hansen on Twitter just the other day.

Because I love books on all aspects of business and with a recommendation like that, I think I would be doing myself a disservice not to get it. The same goes for programming books or even fiction when I see friends talking about it. Besides buying them I’ve also started writing on the back cover who recommended it:

Now when I revisit this book years from now I know exactly who recommended it, and can tell them thank you. It’s just a small way of showing appreciation.

Focus on the target not the hazards

I was recently playing golf at a course I’ve never played before and my playing partner would tell me at each hole what to look out for. “Don’t go left”, “Water to the right”, “Be careful of the sand trap”. I played one of my worst rounds ever. I didn’t realize until driving home what was going on. Instead of saying things like “hit it left center of the fairway”, he was telling me the negatives and subconsciously that became my target.

It’s a minor thing but focus on where you want to go, not where the problem areas are.