Why you should use Canva in 2023

I have been using Photoshop for almost two decades. In 2007, I began taking photography more seriously, and I photographed for an MLS sports team. I’m a huge Photoshop enthusiast. It’s powerful, flexible, and can do anything. However, I less and less need the more powerful features. This brought me to Canva.

It’s everywhere I look now. It’s web-based, so it’s easily accessible wherever I am. I have multiple computers, and it’s just an easier experience for me to work on media from whatever laptop I am using. 

It’s also cheaper. With Photoshop, you can’t use it for free, but Canva has a free tier, and it’s pretty good for simple jobs. 

The main selling point for me is that since the tool itself is web-based, so too are the files/projects you create. They store the files on the web in your account and it’s much easier to access and share them. Coupled with the fact that I often work together on files with my wife, it’s a more functional and cheaper option for us. It was only an additional $2/month to add her to my account. Now we can collaborate live together on files even remotely, editing the same file at the same time, and can see each other’s changes in real time. 

I’m not saying you shouldn’t use Photoshop, but if you’re new to creating promotional material, editing images, or making designs for hundreds of different reasons, Canva is much easier to get started.

Canva Free

  • Perfect for those on a budget
  • “Powerpoint” like experience
  • Able to save your work online
  • Create in minutes!
  • Limited free photos and design elements

Canva Pro

  • Tons of photos, elements (shapes, videos, etc), and hundreds of fonts.
  • Access to more video inserts and premium headers and background images.
  • Upload your own fonts
  • Perfect for team collaboration
  • Cheaper than Photoshop, especially for teams.

Management Series: Empowerment

I’ve been a software engineer for a couple of decades and some change. For almost half that time I’ve been either a manager, executive, or a founder. I’ve learned a few lessons in this time and today want to talk about empowerment. 

Empowerment is an important idea to understand as a manager. You won’t always be the smartest person in the room, so you need to empower the people around you, and you need to listen to them. If you think you’re more comfortable being the smartest person in the room, you shouldn’t be in tech. You can be a “T” shaped engineer and manager, but you can’t know everything.

Back to empowerment – Why?

Empowered engineers are more committed and are more likely to be satisfied with their work. Engineers who are empowered are also more likely to come up with creative solutions to problems.  They’re also able to make decisions and take action without the need for constant approval or oversight, leading to more fruitful and impactful projects. 

How do you foster an environment of empowerment? 

  1. Give autonomy: Allow engineers to make decisions about their work and give them the freedom to choose the tools and technologies they want to use. (Also encourage engineers to work together to make tool/tech decisions. Don’t be too top-down about these).
  2. Provide them with resources: Make sure they have what they need to do their job effectively (training, development environments, and the latest tools and technologies). 
  3. Encourage continuous learning: Encourage them to learn new skills and tech by providing opportunities for training and development (conferences, workshops, and online courses).
  4. Foster a culture of collaboration: Encourage engineers to work together and to share ideas. Also, create an environment where they feel comfortable asking for help when needed.
  5. Recognize and reward contributions: Acknowledge the work of engineers and recognize their contributions to the organization. 
  6. Give them a real voice: Encourage engineers to speak up and share their ideas and concerns (regular meetings, hackathons, and any other opportunities that may require collaboration). Pull it out of them if you have to, and make sure to show your appreciation once they find their voice. It’ll encourage them to keep talking/sharing. Let them know they have a safe space to continue sharing and innovating. 

What am I missing? I only gave a few examples, but I’d love to hear from you in the comments. Draw from your own experiences as either a manager OR an engineer. I love hearing perspectives from both sides.

IRC with ZNC + certbot

IRC is still a thriving space for communication. There are a mountain of communities online that still prefer to use IRC. Some of the most technically capable people I’ve met were found on IRC. In 2021, many communities migrated from freenode to Libera after the Andrew Lee drama (I might write about this later). Check out Libera if you want to join communities for #archlinux, #ansible, ##rust, #emacs, #gentoo, #fedora, #linux, #neovim, #ubuntu, #wikipedia just to name a few.

Onto ZNC…

Why ZNC? It’s a very capable and stable IRC Bouncer. It stays connected to IRC, and you connect to it instead of directly to the IRC server. This allows your IRC client to be “always online” in IRC, so you don’t have to miss any action (thanks to ZNC’s buffer), people can always message you, and it also hides your home IP. You will need a server to run it on, and it runs on linux.

Assumptions:

  • znc is installed on your system and your znc config files are in your home directory in ~/.znc (this is the default behavior when installing)
  • You want to connect to IRC with a bind host instead of an IP address.
  • You’ve already configured rDNS for the IP you want to resolve to the domain you want to connect with.
  • You’ve already updated your nameserver’s zone file (A record) so the IP points to the domain (many providers will require the IP to resolve to the hostname before they’ll allow rDNS to point back to the IP).
  • You want to connect securely to your znc (and you should!)

Here we go. Use a package manager to install certbot. for instance, yum, if you’re on CentOS.

sudo yum install certbot

Before you actually generate a cert, setup a renewal hook deployment script. This will make sure that when the cert is renewed the files get installed into the right spot to make znc work correctly.

cd /etc/letsencrypt/renewal-hooks/deploy/
vi update-znc.pem

Contents:

#!/bin/bash
YOURDOMAIN="some.bind.host.com"

[[ $RENEWED_LINEAGE != "/etc/letsencrypt/live/$YOURDOMAIN" ]] && exit 0
echo "Updating certs"
cat /etc/letsencrypt/live/$YOURDOMAIN/{privkey,fullchain}.pem > /home/YOURNUSERNAME/.znc/znc.pem

You’ll need to update the YOURDOMAIN line to change ‘some.bind.host.com’ to your actual domain. Then generate your cert:

sudo certbot certonly --standalone -d your.bind.host.here.com -m your@email.com --agree-tos

Same here – “your.bind.host.here.com” should match whatever domain you put in the update-znc.pem file. That’s it. Assuming rDNS has propagated across the internet (this can take up to 48 hours in some cases) you should now be able to launch znc, configure it to connect to the IRC networks you want, and then you should be able to connect to your znc using the domain name you specified, with SSL properly configured for the domain name.

Read more on the znc website for details on setting up connections from znc to IRC. https://wiki.znc.in/ZNC

Good luck and happy IRC’ing.