12 January 2024

Free Your Mind

“…and the rest will follow.”

One of the simplest things you can do to feel more in control of your productivity is to stop asking your brain to be your storage system.

Your brain is pretty good at having ideas, solving problems, noticing things, and occasionally reminding you at 2:11 AM that you forgot to pay the water bill.

When you try to remember every task, errand, idea, appointment, and random thing you need to look up later, your mind has to keep tapping you on the shoulder: "Don't forget to fix the gate" "You need to email Gary The Clown about a refund" "Buy WD-40" "What was that restaurant Gary recommended?" (different Gary 🤡)

And if it doesn't keep bugging you about those things, there's a decent chance they disappear completely.

That's why one of the best things you can do for your productivity, and probably your sanity, is to set up a system you trust to hold all of that stuff for you.

As David Allen says in Getting Things Done, “Your mind is for having ideas, not holding them.”

There are two basic kinds of things worth getting out of your head:

  • Tasks: things you actually need to do. This could be paying the water bill, calling someone back, buying screws for the gate, or sending an email. Some tasks have a due date or need a reminder. Others just need to be handled whenever you have a chance.
  • Data: things you may need for future reference. A restaurant recommendation is a good example. So is the name of a contractor someone recommended, a link to a product you may want to buy later, notes from a meeting, or the dimensions you measured for that project you are definitely going to get around to (I'll get to it dear, you don't have to keep reminding me 😀).

A good system does not have to be complicated. It just needs to do a few things:

  • Make it easy to capture a task or thought as soon as it comes up.
  • Be available wherever you are.
  • Remind you about tasks that have deadlines.
  • Give you a place to store information you may want to find later.

The specific app matters less than trusting yourself to use it. If adding something takes too much effort, you'll put it off, and then we're right back to relying on our good old brain. And who wants that?

For me, the system I keep coming back to has two main parts:

  • Microsoft To Do for tasks. It's where I put calls to make, things to buy, bills to pay, random chores, and the little things that would otherwise keep bouncing around in my head. I use it on my Mac and iPhone, so it is usually nearby when I need it. I can add reminders, notes, and subtasks, and its “My Day” feature gives me a place to choose what I want to focus on today. I also have separate lists for different topics, like things to fix around the house.
  • Trello for data and managing larger projects. Trello gives me a place to organize projects, keep notes, make checklists, and store useful things I don't want to lose. Planning a trip, collecting ideas, keeping a list of places I want to go, or tracking all the pieces of a project... It all has a place.

You definitely do not need to use the same tools I use. There are a million task apps out there, and the best one is the one you will actually open and add things to.

The important part is to make it easy to get ALL the tasks and useful information out of your head and into a system you trust.

Once you know your system will remember things for you, your mind can get back to doing what it does best: having ideas, solving problems, and focusing on what matters right now.

Get it out of your head, put it somewhere you trust, and get back to the things that deserve your attention.

05 October 2023

The Mind Mastery Challenge Is Here

I've spent a long time creating something I'm excited to finally announce: the Mind Mastery Challenge.

Modern life gives us plenty of reasons to be anywhere but where we are. We're constantly pulled by distractions, demands, notifications, and pretty much everything around us is always trying to get our attention (I'm not talknig about you, kids :).

As a result, we often don't even notice the moment we're already in.

I created this 21-day challenge to help people become more present, unleash creativity, and find focus.

Each day, you'll receive an email with a new task or exercise designed to help you slow down, pay attention, and build a more intentional relationship with your mind and your time.
Along the way, I'll give you tools to help you better understand how your mind works, and will enable you to focus, be more creative, and just simple practices for being more fully engaged in everyday life.

If you've been feeling distracted or just want to reconnect with the present moment, give it a try.

Learn more about the Mind Mastery Challenge

18 June 2023

How to use Gmail to send emails with a WordPress site using any email address

You may have noticed that when your WordPress site sends emails using PHP's default settings, your emails often don't get delivered. The solution to this problem is to use an external SMTP server to do the actual email sending.
Turns out that setting it up to send from your own custom email address is not as simple as it should be, especially if you want a free solution and don't want to pay for an SMTP server.
This is the free solution I use for most of my sites, once you set it up it works like a charm, and you never have to worry about it again.

These same instructions can be used if you just want to set up your Gmail account to send emails from any email address, for example from an address on a domain that you own. Just start from step 5.


TL;DR Summary: set up the free WP Mail SMTP plugin, set up a Gmail account to send email as any email address you want, connect the two.

Step 1: Install the free WordPress plugin: WP Mail SMTP. The easiest way is to go to your WordPress Dashboard, Plugins, Add New, and search for it. This is what it looks like:


Step 2: Create a free Gmail account. You can use your existing account but I prefer to have a separate account that will be used for sending emails from a website. There are some limitations on the number of emails you can send using a Gmail account, so if you expect to be sending a high volume of emails then go with something like Sendgrid (WP Mail SMTP supports a ton of different email senders).

Step 3: Go through WP Mail SMTP's setup wizard and choose Gmail as the provider. There are a few steps you need to go through there to set up an app in your Gmail account, but the instructions they have are good, just follow them. Make sure you're signed in to your new Gmail account when you do this (I do it all in an incognito window to make sure I don't mix up accounts).
When you're done with this you should have your website sending emails using your Gmail as the SMTP sender.

If you don't want to change the email address that Wordpress uses to send, and are fine with sending from your Gmail address, then you're done.

The rest of the steps are how to change the email address that your website uses as the From email address when sending emails.
These instructions are the way to set up a Gmail account to send emails from any email address, for example from an account on a domain you own.

Step 5: Setup your Gmail account to send email from an alias. You first need to be able to send emails from your Gmail account using the email address that you want to use. There are good instructions for this here: https://support.google.com/domains/answer/9437157. I'll cover the important parts:

Step 6: Set up 2-step verification in your Gmail account. You need this in order to create an App Password for your account. Go to https://myaccount.google.com/security and turn on 2FA.

Step 7: Create an App Password. The App Password will be used by Gmail to send outgoing messages from a different email address. Once 2-factor authentication is turned on you'll have the option to create an App Password in the same security section of your Google account. If you still don't see the option go to the URL: https://myaccount.google.com/apppasswords
Under "App passwords" click Select app and then Mail. Then Select device and then Other. Enter a name and click Generate. Copy that code.

Step 8: Add an account to your Gmail to "Send mail as". The exact instructions to add an email alias are at the same link as in step 5 above https://support.google.com/domains/answer/9437157. The gist of it is to go to your Gmail account and go to Settings->See all settings. Then go to Accounts and Import. Under Send mail as click on Add another email address. Then fill in your name and the email address you want to use. In the SMTP Server field, enter: smtp.gmail.com, use your Gmail address as the username, and use the App Password you created in the previous step as the password. Gmail will then send you a verification email with a code, copy that code and you're done.

Step 9: Change the email address that WordPress uses to send emails with. Finally, you can go back to your WordPress site and go to WP Mail SMTP, and Settings. Scroll down until you see From Email. You should now have a dropdown where you can finally choose the additional email address you added to your Gmail account as the from email your site will be sending emails from.



08 September 2022

27 June 2022

How to increase your external microphone's volume for using in a Zoom meeting, podcast, streaming, voice call, or anywhere else

If you have an external microphone but you find that even though you have the volume cranked up all the way it's still not loud enough and you're getting complaints, here's what you can do to boost your mic's volume.

TL;DR Summary: use OBS to add a gain filter that increases your microphone's volume. The audio from OBS is routed to VB-Cable so that you can choose it from any application you want to use your boosted microphone.

Step 1: install OBS. OBS (Open Broadcaster Software) is an excellent free and open-source application for Mac and Windows for video recording and live streaming. It lets you do a ton of stuff with video and audio like share your screen while still showing your webcam in a corner, smooth transitions (like the pros!) between showing yourself fullscreen and then showing your desktop, mixing audio from different sources, etc...
The installation itself is quite straightforward, just download the installer from the official site and follow their instructions, nothing special.

Step 2: install VB-Cable. VB-Cable is a free virtual audio cable that you're going to route sound to. Download and install VB-Cable. Then in any application that you want to use that sound you just choose VB-Cable as the source. For example in Zoom, Hangouts, Facetime, Messenger... just choose VB-Cable as the audio source device, instead of choosing your microphone directly.

Step 3: setup OBS to use your microphone. Launch OBS, click on the plus in the OBS Sources pane, and choose "Audio Input Capture". Then choose "Create New", give it a name you'll understand (like the model of your mic), and then choose your microphone as the source device.


Step 4: route your microphone to VB-Cable. Select your new audio source from the sources pane and click on "Filters". In that window click on the plus at the bottom and choose "Audio Monitor". Name it whatever you want (I usually leave it "Audio Monitor") and then choose "VB-Cable" as the device. What this does is send the audio from this device (your microphone) to the VB-Cable virtual audio cable. Don't close the filters window yet.


Step 5: add a gain filter to your microphone. In the same filters window from the previous step, click on the plus at the bottom again and choose "Gain" this time. You can just name it "Gain". This filter is where you'll boost your microphone's volume. Now all you need to do is slide the slider to the right and your mic's volume will increase. BTW you can add a ton of free filters this way to your microphone, for example noise reduction, compression, EQ, etc...


Step 6: That's it. Now just choose VB-Cable as the microphone source in any application. For example in the Zoom settings window, go to Audio and choose VB-Cable as the microphone. You can do the same anywhere on your computer, like in Facebook Messenger on the web, while on an audio or video call open the settings and choose VB-Cable as your device.


18 April 2021

The new site design is here!

Welcome to the new design for the site 🍾

I think I had the previous design for about 11 years(!!) so a new design was long overdue.

This is the 5th major redesign I've done for my personal website since I launched it in 2001.

Thanks to the Waybackmachine, here are some screenshots of the different designs over the years:


July 2001


September 2003
(btw those boxes were transparent so it looked better)


July 2004


April 2010



Whew, that was an eye sore 😀.

I also moved the blog over to blog.atguy.com and created a simple about me page on the homepage.

Let me know if you notice anything wonky with the site, all the old links should still work.

This one will probably be around for another 10 years so get used to it 🤣

24 November 2017

12 June 2017

How to customize Alfred to work with Google Calendar (Alfred workflow)

I use Google Calendar in the browser a lot so I thought why not setup Alfred to make working with Google Calendar easier.
(If you're not familiar with Alfred, it's an application launcher and productivity application for Mac)

I started off with trying to find an Alfred workflow that lets you easily open Google Calendar and easily add an event. I couldn't find such a workflow so I started working out different ways Alfred could do what I need.

At the end of the day I ended up creating this workflow that combines the different things I typically do with Google Calendar.



It basically lets you do 3 things:

  1. Quickly open Google Calendar in the browser by typing the keyword gcal into Alfred.
  2. Open Google Calendar using the keyboard hotkey ⌘ + g
  3. Quickly add an event to Google Calendar.

The format for adding an event to Google Calendar is:
gc [event] at [time] on [date] in [location]

For example:
gc Dinner with friends at 8pm on next Sunday
Will open this event:


You can even do things like:
gc Weekly meeting every Wednesday at 3pm
And Google will add an event that repeats every Wednesday at 3pm.

Google does a great job at understanding what you mean when you type in natural language so play around and see.

You can also just type gc and hit enter and it will bring you to the new event page in Google Calendar.

Download the Google Calendar Workflow


If you don't want to add a workflow for some reason you can add this custom search instead:
Add event to Google Calendar
(clicking on that will prompt you to add it to Alfred, it's really easy to do)

It will let you quickly add events to Google Calendar via Alfred using the same format as described above.

Enjoy!

18 August 2015

3 best ways to stream videos to Chromecast

This was originally posted on Medium
The Chromecast is one of my favorite gadgets. It’s cheap, it’s simple, and it usually just works.
However, one of the biggest problems with it is that once you get a taste of the simplicity of streaming YouTube videos to your TV via Chromecast you immediately want to stream your local video files to your TV, with the same ease.
And then the problems start.
There are a bunch of different ways to play videos from your PC or Mac on your Chromecast, and I’ve tried pretty much all of them. After a lot of trial and error these are the 3 best methods that I discovered.

Videostream

Videostream is a Google Chome app. To use it you need to launch the app on your computer (from within Chrome), choose the video you want to watch, and then click on the Google Cast extension to cast the app to your TV. A bit tedious but the stream works well, much better than just casting a tab using the Google Cast extension. The video and sound are smooth and the app is quite easy to use.
As an added bonus, there are free iPhone and Android apps that let you control Videostream from your phone. So essentially you just need to start the video from your computer and do the rest from your phone (like play, pause. rewind, etc.).
Downside: Need to start streaming from your computer
Price: free

Air Video HD


AirVideo HD is an awesome app, regardless of if you have a Chromecast. It lets you view any videos you have on your computer (Mac or Windows) from your iPhone/iPad. So you can be anywhere in the world and your entire video library is easily accessible from your mobile device using Wifi or data. It supports a ton of different formats and even lets you download videos to your iOS device so that you can view them when offline.
In order to use Air Video HD you need to install Air Video Server, their free server application, on any computers you want to access from your mobile device (Air Video Server is available for Windows and Mac).
In order to stream from Air Video HD to Chromecast you currently need to join their “Early Access” program which is a $1.99 in-app purchase. They have a free trial so you can see that it really works for you before you buy early access. My guess is that Chromecast support will soon be part of the regular app and you won’t need to pay for early access. I paid the $2 for early-access and it was totally worth it.
Added bonuses: supports almost any video format (it transcodes videos on-the-fly), works smoothly with subtitles, can stream to Apple TV (using AirPlay), it looks great, and lets you download videos for viewing offline.
Downside: you need to have the server app running in the background. It’s a one time thing that you just install and never have to think about it again. Oh and no Android support.
Price: $2.99 for the app


LocalCast


LocalCast lets you stream videos from your Android, iPhone, iPad, iPod or NAS, DLNA/UPnP, Google Drive, Dropbox, and even videos embedded on a webpage. That means that, unlike AirVideo HD, you don’t need to install anything on your computer. LocalCast just connects to any shared folders on computers on your local network and then lets you cast them to a number of different devices. That’s right, you can also stream videos directly from Dropbox and Google Drive to your TV (or local video files you have on your mobile device).
It supports the following devices that you can stream to: Chromecast, Nexus Player, Amazon FireTV, SmartTV, Sonos, Xbox 360, Xbox One or other DLNA devices (like a Philips TV).
Added bonus: LocalCast lets you stream video to your TV but listen to the audio using your phone’s headphones, if you don’t want to bother people around you.
Downside: doesn’t transcode videos so if casting to Chromecast not all video formats work.
Price: the free version is totally functional but supported by ads. The Pro version (which removes ads) is $4.99

Summary

If you don’t mind getting up to your computer to start the video and want an entirely free solution, go with Videostream.
If you want total control from your iPhone/iPad and don’t mind paying $3, go for AirVideo HD. Also, if you have various different video formats that Chromecast doesn’t necessarily support, AirVideo transcodes videos smoothly on the fly.
If you don’t want to install anything on your computer and want full control from your phone (and support for a bunch of different devices & Dropbox), LocalCast has you covered.