Working from Home

The SARS-CoV-2 virus, and the COVID-19 disease it causes, is all anyone’s talking about right now. Last Sunday (March 15th), the Governor of California (Gavin Newsom) issued a set of state-wide advisories, I knew things were about to get weird, so I identified the tech we had available to enable remote work, and set about implementing things. The next day, the Bay Area came under “Shelter at Home” orders, and I knew our time was near. The orders for our jurisdiction (LA City, LA County, and statewide) finally came down Thursday night, March 19th, just as I finished everything.

This was my checklist and set of solutions for our small law office:

  • Phones. I wasn’t sure if our phones could be forwarded, but yes, they can be. We’re using Spectrum Business, and no one had ever setup online access. Armed with a phone bill that had our account number and security code, I was able to setup access to the Spectrum web interface that allows us to forward our phones remotely. I also setup a Google Voice number we can forward the phones to, so multiple phones can ring when someone calls the office. Our receptionist forwards the phone at 9 am and turns it off at 5 pm. For Spectrum Business, login and navigate to the Voice Manager and setup call forwarding under the Incoming Call Settings.
  • Faxes. Yeah, we’re old school, we still get faxes daily. Until this fire drill, our Ricoh MP 3004ex was just dutifully printing them out to hardcopy. (The boss is even older school, and likes having paper around.) But paper is hard to access remotely. Fortunately, this device can be setup to both spit out ink-on-dead-trees and store a copy of the fax as a PDF on our fileserver: User Tools → System Settings → Fax Features → Reception Settings (tab) → Reception File Settings. Tapping the Forwarding button allows you to set the Receiver, in our case, a folder I setup using the web interface (saving to our Windows fileserver). I believe I also had to change a setting under the Ricoh Web Monitor (web interface for the printer) to save in PDF, instead of TIFF, format.
  • VPN. A long while ago I setup a Raspberry Pi to act as a VPN end point. (I’d have to dig out my notes from back then, but I’m 99% certain I just did a base Raspbian install on an RPi 3 and then installed PIVPN.) Until recently, I’m the only one who used it, but needs must. I typed up a set of instructions for folks working from home on Windows 10 machines, using the OpenVPN client. (On a Mac, I use Viscosity, which is well worth the $14.) I use pivpn -a to generate the keys (etc), and hacked together a simple Perl script (below) to stitch everything together into an .ovpn file. Anyway, it works well enough, and users at home can access the file server to, e.g., retrieve those faxes that are getting saved to it.
  • Email and Calendar. We’re using hosted Outlook. We have web access to our email and calendars, etc., through Outlook Web Access (OWA). No one was using it. One person who worked from home at least one day a week on average, was using her personal Yahoo! email and calling in to have our receptionist manage calendar entries for her! By fiat I made sure everyone could login via the web interface, having our off-site IT provider reset their passwords if necessary. Success.
  • Computer. Our receptionist didn’t have a computer at home, so I got an inexpensive (~$200) Lenovo IdeaPad from WalMart (I think it was this one). (If you’d told me 23 years ago, when I was selling computers for Computer City and Best Buy, I could order a $200 laptop with 4GB RAM and 64GB storage, with free shipping, from WalMart, I’m not sure I’d have believed you... Anyone remember the days of the $1,000 ($1500 adjusted for 2020) CTX machine, with an AMD K6-200 CPU, 16MB RAM, and a 2.1GB hard drive? Best Buy remembers. But I digress.) Anyway, it arrived Thursday and I finished setting it up, including the VPN (testing remote access using the personal hotspot functionality on my iPhone), a couple of hours before the orders came down.
  • Mail. Haven’t figured out mail reception yet. For outgoing mail we’re using Endicia to print postage directly on envelopes, or to print labels for larger mail pieces.
Three days in, so far no serious hiccups. I took home my Bose QC25 headphones for calls (and also have a cheap Logitech headset (I’m pretty sure it’s the H390) that works well).

Hacked together script to build an OVPN file from the files generated by pivpn:

#!/usr/bin/perl
use warnings;
use strict;

if(scalar(@ARGV) < 1) {
print "Usage: $0 <username> <template file>\n";
exit;
}


my ($username, $template_file) = @ARGV;
my $outputfile = $username . ".ovpn";

# ###Source`/etc/openvpn/easy-rsa/keys/ca.crt`START`——BEGIN CERTIFICATE-----`END`-----END CERTIFICATE-----`
open (my $fh, $template_file );
my $output = "";
while(my $line = <$fh>) {
chomp $line;
if($line =~ /^###/) {
my $subfile = undef;
my $substart = undef;
my $subend = undef;
if( $line=~ /SOURCE`([^`]+)`/) {
$subfile = $1;
}
if( $line=~ /START`([^`]+)`/) {
$substart = $1;
}
if( $line=~ /END`([^`]+)`/) {
$subend = $1;
}
$subfile =~ s/USERNAME/$username/;
my $include = 0;
if(! -e $subfile) {
die "Unable to open $subfile";
}

open(my $subfh, $subfile);
while(my $subline = <$subfh>) {
chomp $subline;
if($subline eq $substart) {
$include = 1;
}

if($include > 0) {
$output .= $subline . "\n";
}

if($subline eq $subend) {
$include = 0;
}
}
close($subfh);
} else {
$output .= $line . "\n";
}
}
open(my $outfh, ">$outputfile");
print $outfh $output;
close($outfh);
close $fh;
print "Wrote $outputfile\n";

Comments