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.

Path of least resistance

Why don’t you blog more? I’ve came to the realization that the reason I’ve been slacking is because of the path of least resistance is social media. Just look at how easy making a tweet is:

Write a quick thought, hit tweet and wait for the hate to come in. Where as if you want to write a blog post I get this:

It just feels like I not only need to write, but figure out a title, probably research my argument, and then post it into the void where I get zero feedback.

I’m not saying one is better than the other and I’d imagine blogging with the extra time and effort makes for a better internet but it’s just interesting to me how just a few extra steps makes me gravitate toward the easiest option.

Domain Selling Scam

Lately, I’ve gotten a few spam emails from a person claiming they want to sell a domain that is related to one I own. Here is a sample email:

Hello,

We intend to unload one of our cherished assets,

{domain-name-here}

Would you be keen to discuss this?
This is priced in 3 figures ($199 to $999).
If interested in owning this domain, feel free to contact me.

Of course it looks and feels like spam, but I decided I’d just run a quick whois on the domain mentioned and it wasn’t even registered. I’m going to assume if I said I’d buy it then they would register it for the $12 or w/e and then sell it to me for the amount offered, or more likely they’d just keep my money.

The main reason I’m sharing this is because I thought it was a pretty interesting angle. They have zero invested and just wait for the suckers to come along.

A quick tip for working with Print Styles

If you have to do a lot of work with print styles it can get super annoying because the only way to preview your changes is to hit “command + p” in the browser and have it open the print pdf preview. It’s slow and cumbersome to do it that way and there is a much better solution.

Open the developer tools in Chrome or Brave, then go to options -> more tools -> rendering -> emulate css media type “Print”. Here is a screenshot showing the setting:

After this you can inspect anything you want and see how it’ll look when printed right in the normal browser window.