Earlier this morning, a client emailed me an encrypted ZIP file with some secret information, then texted me the password. The file would not open, and I could not figure out why. Frustrated, I remembered - Keybase has a secure file sharing system. The client used Keybase to send me the files instead, and it worked smoothly on the first try.
Since I started freelancing through Moonlight earlier this year, many of my projects run into the same minor roadblocks. As a freelancer, I don't have access to a corporate IT department for software or maintaining best practices. With the boom of SaaS products, there are plenty of tools to let freelancers be their own IT department and get more done.
I have found the following tools to be helpful for maintaining security, organization, and communication with clients.
Sharing confidential information
Keybase provides excellent, free encryption products based on the robust PGP protocol. Their messenger and file system allow securely sharing information and data. The team correctly implemented their cryptography to be end-to-end secure, plus it is open-source, so I trust it more than tools like Slack or Whatsapp. It is ideal for sharing API keys, passwords, or certificate files between clients and contractors.
Accessing non-encrypted resources over public wifi
Encrypt.me (formerly Cloak) is a VPN that is incredibly easy to use. I have worked with multiple clients who, for example, did not have secured MySQL instances, or who do not have HTTPS enabled on sites such as Wordpress. The biggest risk here is that the passwords could be visible to people sniffing the local wifi in a coworking space or coffee shop. Cloak solves this by encrypting all network traffic to their nearest data center. The traffic remains unencrypted between Cloak’s data center and the target system, but at that point, it is running through high-throughput internet infrastructure that is (ostensibly) less likely to sniffing.
Encrypt.me is also helpful if you are out of the country, and need to appear to be in the USA. This tool might have been helpful to me while I was in Mexico this summer. I needed to respond to a Jury Duty summons, but discovered that the court’s website is only accessible to US IP addresses! Encrypt.me allowed me to tunnel traffic to the USA so that I could respond.
Battery life when working with development environments and tools
iStat Menus lets you monitor CPU and memory usage in your menu bar. Because freelancers often are changing between development environments and code repositories, it is helpful to be aware of what is running on a computer. For example, a quick look at CPU consumption can confirm whether a process is long-running or crashed. Also, understanding resource use on your computer can help to preserve battery life. For instance, if you fail to shut down a virtual machine locally, it can suck up memory and battery until you notice.
Storing many secrets and passwords
1Password is, in my opinion, the best password app. It has become my secure notepad. With their Chrome extension and Apple’s fingerprint reader, it takes two clicks to log into most websites.
Calendly is key to scheduling meetings, especially as a remote worker. It lets anybody with the link schedule a phone call based on your calendar, and it handles different time zones well. I have mine configured only to allow meetings between 1 PM and 5 PM because I like to work undisturbed in the mornings. Because it syncs with all of my calendars, I never get double-booked. My clients know that they can always schedule me without having a long email chain to figure out availability and times.
Maintaining professional writing
Grammarly is like a modern spell check built by machine learning experts. As a freelancer, you end up doing much writing, such as emails, proposals, documentation, and blog posts. Since using Grammarly, I have found that it helps to keep correspondences professional. It catches everything from repeated word usage to incorrect grammar. We now run all Moonlight blog posts through it before publication, and I use it on all of my writing. Plus, they have a powerful free plan.
Tracking time worked and managing invoices
Harvest is my preferred way to track hours worked and to manage invoices. Their OSX and mobile applications make it easy to use. Plus, they have a great free plan.
Managing two-step verification
Universal 2nd Factor (U2F), using either a Yubikey Nano or SoftU2F, is the modern and safer alternative to typing six-digit pins into sites every time you log in. U2F is a relatively new protocol, but it already works on Github, Facebook, Google, Salesforce, Stripe, and more sites. Instead of typing in a pin, you tap a button or your fingerprint reader to log in. The protocol is safer than other methods because tokens are tied to specific websites, thus preventing phishing attacks.
I prefer the hardware Yubikey Nano because you can leave it in your USB port and access it quickly. (Google has deployed thousands of these to their employees.) However, on new Macs with USB-C, there is no equally elegant hardware solution. So, I use SoftU2F, a free, open-source project from Github which stores secrets in Apple’s keychain and lets you log in with a fingerprint reader.
Remembering what happened in meetings
Quiver is a notebook for programmers. I found that taking good notes in all client meetings is essential for success. It avoids back-and-forth questions about how systems work or what a proposal should include. I find that keeping track of the jargon that clients use can also make proposals more tailored.
My biggest quip with Evernote was its lack of code support. Quiver supports Markdown and code editing, so I end up using it for both work and personal notes.