whoabuddy

Feb 188 min read

A Day in My Life

For my first Sigle post, I thought I'd share a little bit of what my day to day experience is with my own technology at this point in time.

It has taken years of trial and error to find a system that works for me, and it constantly evolves as I continue to learn.

The Premise

When I work with a client I walk away with detailed notes after every interaction. This includes phone calls, site visits, presentations attended, work completed, network documentation, and more. If you have ever worked with me in person, you would know I carry a bluetooth keyboard with me everywhere for just this purpose, and I'm the guy shamelessly clickety-clacking away throughout the whole meeting.

While having these notes are very useful in a TON of ways it also results in storing data with varying levels of sensitivity, and has led me on a journey to find a secure way to run my business without trusting an external entity to handle it all for me. As a result, I have notes going back to 2012 of every job I've completed, and I am happy to say it's all synced between devices but none of this is "in the cloud".

It's been a frustrating journey with a lot of learning lessons, though, and the more I tested out different services the more I realized that closed source wasn't going to work for me. If I had an issue, I'd raise it to support (with PLENTY of detail, thanks to the notes), and only sometimes would I get a response and almost never would I see a change. They were charging me money, but my slice of the pie was too small to make a difference.

Since then I've adopted (nearly?) all open source tools for my operations, and I am so much happier with the communities built around them then the corporate culture that surrounded a proprietary product. While open source does not always mean actively maintained or inherently secure, you can use the transparency to judge the software based on the code, open issues, resolutions, and possibly reach the developers directly when reporting issues.

Also, lets say you need to make a change and it's critical to operations, you can fork the software and either fix it yourself or hire a developer to do it for you. You have the power, and that concept coupled with privacy-by-design is what drew me into Blockstack to begin with.

A user-owned privacy-first Internet experience sounds like a dream come true!

The Setup

Being a mobile technician who works in several different locations, I've learned a few tricks to keep things organized and minimize my loss if a device disappears. This way if a device is lost or stolen, I can simply write it off, submit it as an insurance claim and move on. No need to have extensive tracking software to find the laptop again, nor deal with police save filing a report if the situation deemed necessary.

In the case of my laptop, I run Linux Mint on a 128gb SSD drive that is only used for managing the operating system. I also carry a 128gb USB drive attached to my key ring, which contains two bash scripts and a 100gb truecrypt container. This leaves ~25gb of usable space in an "unsecure" format if needed in a pinch, but I also carry a blank 64gb USB drive on the same key ring if I need to connect to a client's machine for any reason.

The laptop is one of four devices that synchronize via Syncthing, and the only one that intermittently goes offline. I also have Syncthing setup on the:

  • Desktop: also Linux Mint, storing data on a 1TB drive
  • QNAP NAS: only accessible via LAN, storing data on RAID 1+0 config and backing up weekly to a USB 1TB
  • Phone: only a smaller subset of "working" folders, things I need the quickest access to

All of these devices sync directly with each other without a central server, which makes sure I have my data in multiple places. This has saved me quite a few times! My testing with Syncthing started out as an answer to backing up my Android devices, but it has expanded to much more since.

The Startup

This is the typical procedure I follow whenever I boot up my laptop. It is a little tedious, but I've scripted out part of it to make it easier and don't really think twice about it anymore. I included the basics of what the scripts do (and typed it manually for quite a while). It is still difficult enough that I wouldn't tell someone else to do it this way without being ready to dig into some troubleshooting (although, I'd be happy to help!)

  1. set up, boot up, and log into the laptop
  2. plug in the 128gb USB drive
  3. open a terminal in the auto-mounted directory
  4. run sudo bash mount.sh
  5. run bash syncthing.sh

For the mount.sh script, it does the following:

  • find the free loop device losetup -f
  • set up the loop device losetup /dev/loop0 mobivault.tc
  • set up the truecrypt volume (dm-crypt mapping) tcplay -d /dev/loop0 -m mobivault.tc
  • enter the password to unlock the volume
  • mount the encrypted directory mount /dev/mapper/mobivault.tc /media/$USER/mobivault
    Note: I've made fancier versions of this script, but so far this simple one serves me best!

For syncthing.sh:

  • test if the Syncthing config directory exists, since it's on the encrypted drive
  • if it exists, then start Syncthing with a custom directory option
    [ -d /media/$USER/mobivault/customdir ] && Syncthing -home="/media/$USER/mobivault/customdir/"
    Note: this one is simple, but it saves me a lot of typing!

Get to work ☕️

The Shutdown

When the work day is done there are still a few steps to take before shutting things down, which are basically the reverse of the steps above. I still manually enter the commands for this portion, and I like how doing so keeps the commands/sequences in my memory.

  • Open Syncthing terminal window, stop Syncthing ctrl+c
  • Unmount the encrypted directory sudo umount /media/$USER/mobivault
  • Unmap the truecrypt volume sudo tcplay -u mobivault.tc
  • Remove the loop device sudo losetup -d /dev/loop0
  • Shut down the laptop sudo shutdown now

Leave work and celebrate awesomeness 🍷

Note: every once in a while, something like the laptop battery dying completely takes down the system before I can do the procedure above. So far, no issues with data corruption, but having the backup copies of files on other devices is a great feeling of security.

The Summary

This setup took a long time to fine-tune, but I am very happy with how it works now. Changes are replicated near instantly regardless of the underlying network connections, extra space on each of my machines is being put to good use, and there are multiple levels of redundancy for the data, which helps me sleep at night.

I can edit a text file on my laptop, save it, then view it 2 minutes later on my phone and see the changes with wifi or a cellular connection. The same goes for any pictures taken from my phone, within minutes they are available from the laptop or desktop.

I hope that these experiences in open source and decentralized software help me bring something special to the table for Blockstack. With governance on the horizon and a new Internet in the future, I see this as a very exciting time!!

The Software (and stuff)

For reference, here are some links to the software, hardware, and other items discussed. There are no referral codes or commission-able links, just honest heartfelt advice from someone who apparently prefers doing things the hard way.

Side note: If you haven't played with the bluetooth keyboard concept before, imagine typing directly into your phone with no more thumbing back and forth furiously to respond to people on Discord!

I absolutely LOVED my Logitech K810, but after losing or breaking 3 of them then paying for a new one at the $100 price tag, I've moved on to an Anker HB086. (It wasn't their fault, it was built well but they just didn't know who they were up against.)

The Anker is not as amazing, but at a third of the price, it has a solid design and is still really easy to type on. I recommend it for trying out the concept, and honestly, if I hadn't experienced the nicer one I would have no complaints. There are a few mechanical BT ones out there that had my eye, but I didn't want to be TOO obnoxious.

That's all for now!
-whoabuddy

Share this story