Friday, October 27, 2017

tl;dr: I Went From Homeless Outreach Case Manager to Software Engineer in 456 Days

(Hint: I didn't need to deliberately practice for all 10,944 hours)

Ahoy nakama! I'm Greg, Software Engineer and Computer Science graduate student. Mmm, I like the sound of those titles. I haven't always been A MAN OF SCIENCE. In fact, if we had met last year I would have introduced myself as "Greg, Case Manager for homeless individuals. Math? Technology? No ma'am/sir, 'fraid I ain't done none o' that since oh, high school over a decade ago." I suppose one can make a lot happen in 365 days, or in my case... 456. What can I say, I'm a slow learner. :(

On Sunday, May 29th, 2016 at the ripe old age of 28, I began learning Computer Science (aka programming, aka coding, aka modern wizardry). Since that time I've posted 13 blogs to document my plans to begin the challenge and my subsequent milestones along the wa-- huh, what's that? TOO MUCH READING?! Wow, you're almost as lazy as I am. You're the perfect candidate to change your life as well! Fine, I'll give you the cliff-notes version (believe it or not, the actual posts are longer) and you can thank me when you're stinkin' rich... with knowledge! :D But also money. Just promise to click through if you see something you like.

tl;dr

A note before going forward: I'm not saying that those in the mental health field should consider a career change, or that becoming a professional computer scientist will be the solution for everyone. BUT. In an era where technology is perpetually changing the game, be prepared to learn new things lest you watch your position or even your industry become obsolete. Do you need to be a genius to take control during this change and grow to proficiency in a new domain such as tech? BWAHAHAHAHAHA, no. Don't believe any computer scientist who puffs out their chest and tells you that you can't do what they do. It's just another human profession that we malleable humans can be trained for. Build up that confidence and...

Step 1: Declare the Dream!

I had reached a level of frustration with my life trajectory that necessitated questioning not whether I could or couldn't make it work, but "will I be able to live life WITH my family [JASMIN] to the fullest? And is it possible to support my family [JASMIN] while I'm on this difficult path before I even reach financial stability?" In that moment, I turned to an existing interest in technology that I could fuel with excitement for the challenge and develop into an impassioned skill, one that would increase my marketability now and open up business opportunities for the future. And thus, my Dream was born! It wasn't sufficient to just commit internally (though it was necessary) - I declared the Dream to the universe so people around me would hold me accountable. For good measure I blogged, tweeted, and insta'd, all of which were redirected to my fb feed. That's not to say I felt obligated to justify myself to everyone; proving through action is infinitely more rewarding than wasting time winning an argument (unless of course your Dream is to become a world-class argument winner). Once your brain fully embraces your Dream as an eventual reality, you must...

Step 2: Illustrate the Dream!

The hard part was complete. With the world as my witness, I had committed to my decision. But what the hell does "learning Computer Science" mean anyway? Where was the starting line, and how could I expect to run towards the finish line if I didn't even know where it was? I set my Dream Birthline and gave myself two weeks to research a clear, measurable plan - the WhatWhen, Where, Who, and How to supplement the Why. Let us review my n00b situation:
  • I have no professional background in tech (education or employment) and I currently work in the mental health field.
  • I work full-time (70 hours every 2 weeks, with every other Friday off) and intend to continue moonlighting while getting my degree.
  • I will hopefully get assistance paying for school to avoid racking up student loans, be that through scholarships, financial aid, tuition reimbursement, or family lending.
After long discussions with family and friends who were deep in the tech trenches and had accomplished similar Dreams, I started from premise #1 - "Most well-prepared and well-paid computer scientists have a related degree." I already had a Bachelor's (of the Arts variety in Philosophy and Psychology), so I didn't want another undergraduate degree, perhaps for reasons not entirely void of ambition. Therefore I came up with Goal 1: I will prepare for a Master's program in Computer Science. Note that the goal wasn't to "be accepted into" because that, my friends, is a passive action upon me rather than an activity that is within my control. To catch up with prospective applicants who already have experience and education, I needed to build up a technical background from scratch ASAP. Enter premise #2 - "Entry-level jobs are going to be quicker and much, much easier to obtain through IT than through coding, especially with just certifications." I found that CompTIA was the place to start with certs to get your foot in the door with IT, and that graduate programs emphasized fulfilling pre-requisites that earned credits rather than passing proficiency exams (more on these later). Fantastic, so the sub-goals had pretty much written themselves - Sub-Goal 1: I will work in IT (experience); Sub-Goal 2: I will prepare for applying to graduate school I will take pre-requisite courses while learning programming on the side (education).

They said my ideas were crazy. They said I'd never pull it off. It didn't bother me; I'd learn so much more from experimenting, failing, and proving through action than by getting worked up over hypotheticals. I leveraged what I already knew about myself and getting things done with time management techniques to outline exactly when, where, and with what advantageous identity I would be sitting down to make progress on my sub-goals. I created an Unschedule to consolidate my free time into 20 hours of Timeboxing the project each week, and came up with a Goal Calendar to work backwards and calculate monthly, weekly, daily, and RIGHT NOW aims to stay on track. Don't forget to reward yourself along the way to reinforce these productive habits. No matter the outcome, I always had a backup plan - if I didn't like IT or coding, I could continue my mental health job; if I didn't pass my certs, I could have delayed my coding classes and continued studying; if I didn't pass my coding classes or gotten into grad school, I could have expanded on my certs and switched to cyber security. But for the odds to be ever in my favor, right from the outset I would adopt the eye of the Tiger identify as a gifted programmer and behave as if I were already enjoying the thrill of success. Essentially, I became a new person: Tech Greg. 8-)

The last piece of the puzzle was breaking down HOW I would learn Computer Science material. Sure, I've tackled Japanesehealth, and Psychology in the past, but learning a "hard" scientific discipline must be different. Or must it? I analyzed past techniques in deliberate practicefun, an SRSmnemonicslearning-based note-taking, the 80-20 rule, and the Feynman method, and combined them into three basic steps (see post for more): Step 1: Understand (simplify), Step 2: Apply (projects), Step 3: Memorize (SRS/Anki). The point wasn't to follow the method to a T, but to go into the arena with a strategy in writing so I could test it and move on if it didn't work. SCIENCE, BITCH! Some individuals attribute a failed attempt to their character and not being "cut out for it," but in reality - your method just sucks, bro.

Using the plans above, I came up with an initial schedule:
  1. Earn IT certifications.
    1. CompTIA A+ Training Birthline: Sunday, May 29, 2016
    2. CompTIA A+ Training Deadline: Monday, July 4, 2016
    3. CompTIA A+ 220-901 Certification Exam: Saturday, July 9, 2016
    4. CompTIA A+ 220-902 Certification Exam: Saturday, July 16, 2016
    5. CompTIA Security+ Training Birthline: Sunday, July 17, 2016
    6. CompTIA Security+ Training Deadline: Monday, August 15, 2016
    7. CompTIA Security+ SYO-401 Certification Exam: Saturday, August 20, 2016
  2. Find an entry-level IT job (ideally with exposure to programming).
    1. Job Search Birthline: Sunday, August 21, 2016
    2. Job Search Deadline: Monday, September 19, 2016
  3. Study programming while working and preparing for grad school. Take pre-requisite courses online or at a community college while learning programming on the side.
    1. Pre-req Birthline: Fall 2016???
    2. Pre-req Deadline: Summer 2017???
  4. Shift to a programming job.
    1. TBD
  5. Apply to grad school.
    1. Fall 2017???
  6. By graduation, I'll have both education and experience.
    1. Spring 2019???
  7. Bam.
    1. 2020???
And here is the current schedule:
  1. Earn IT certifications.
    1. CompTIA A+ Training Birthline: Sunday, May 29, 2016
    2. CompTIA A+ Training Deadline: Thursday, July 21, 2016
    3. CompTIA A+ 220-901 Certification Exam: Friday, July 22, 2016
    4. CompTIA A+ 220-902 Certification Exam: Friday, July 22, 2016
    5. CompTIA Security+ Training Birthline: Monday, July 25, 2016
    6. CompTIA Security+ Training Deadline: Sunday, August 14, 2016
    7. CompTIA Security+ SYO-401 Certification Exam: Monday, August 15, 2016
  2. Find an entry-level IT job (ideally with exposure to programming).
    1. Job Search Birthline: Monday, August 22, 2016
    2. Job Search Deadline: Monday, January 09, 2017
  3. Take pre-requisite courses online while learning programming on the side.
    1. Pre-req Birthline: Monday, August 22, 2016
    2. Pre-req Deadline: Sunday, May 07, 2017
  4. Apply to grad school.
    1. Application Birthline: Sunday, February 12, 2017
    2. Application Deadline: Sunday, March 12, 2017
  5. Increase professional programming experience.
    1. Job Search Birthline: Tuesday, July 11, 2017
    2. Job Search Deadline: Monday, August 28, 2017
  6. Get Master's degree.
    1. Program Birthline: Monday, August 21, 2017
    2. Program Deadline: Spring 2020
  7. Profit.
    1. 2020
"How did you manage to conquer these milestones?!" you ask starstruck. Let's take a look...

Step 3: Experience Tech! ("Sub-Goal 1: I will work in IT")

It's ass kicking time. Even if your eventual goal is coding (as mine was), can you think of a quicker way than IT to get out of a low-paying growth-deprived job and into the tech world to network with like-minded nerds? With a few minutes of Googling, CompTIA distinguishes itself with globally recognized and accredited IT certifications for entry-level job seekers: CompTIA A+CompTIA Network+, and CompTIA Security+. Though A+ is the premier starting cert, I decided to set myself apart from the competition by obtaining a second, and Security+ not only fit neatly into my cyber security backup plan, it was frequently posted alongside A+ in local job listings. How do you obtain these certs? THAT'S THE SPIRIT! As of 2016, A+ required passing two exams: 220-901 and 220-902 ($199.00 each - $39.80 coupon code = $358.20), and Security+ required one: SYO-401 ($311.00 - $31.10 coupon code = $279.90). I scheduled my exams on their parent site Person VUE (typically Mon.-Fri. at local community colleges, etc.), and stuck with the deadlines. To prepare, I took the recommendation of a friend and used TestOut, which offers training (A+, Security+) at a $79/month subscription that includes videos, practice questions, and interactive labs all from your web browser. By tracking with 30 min. Timeboxing sessions, I completed the training in 124.75 hours and 954 SRS flashcards over a 2 and a half month period, which was enough to earn me passing scores on all three exams on the first try. CompTIA recognizes my A+ and Security+ certs as equivalent to two years of hands-on experience and effectively qualified me for entry-level IT positions. I've since added an additional cert to my belt for a triple-threat: ITIL.

Though building up competency was 2 and a half months on its own, it took me an additional 4 and a half months to land that entry-level IT position. For some inane reason, I had convinced myself that while working full-time, schooling full-time, fulfilling obligations as a husband, and being an adult, I'd also find the time to look for a new job... and study a little coding on the side, of course! As it turns out, getting a job is about WHAT you know, but people only care depending on WHO you know. On Monday, January 9th, 2017 I was hired as a Help Desk Support Services Specialist by a family friend, which places me in a government datacenter keeping an eye on servers and responding to client incidents. After taking much longer than expected, I had traded $875.10 in certification fees for a 50% increase in salary, that I'm proud to say could be covered entirely in a single month based on the salary increase alone. If you find yourself in a similar situation looking for work, here's a run-down of what I learned (see post for more): Step 1: Knowing your shit, Step 2: Getting your ducks in a row, Step 3: Making connections (MOST IMPORTANT), Step 4: Sending out applications, Step 5: Contacting companies, Step 6: Getting the interview, Step 7: Following-up.

Step 4: Learn Programming! ("Sub-Goal 2: I will take pre-requisite courses while learning programming on the side")

At last, I'm a tech professional getting into the CS field, rather than a complete n00b without work experience in computers to show off on my resume. Given that I wanted to apply for a Master of Computer Science (MCS) program, I researched 6 schools in my area or online that provided the strongest MCS or related programs and asked questions focused on preparation (see post). I put together a useful spreadsheet to get a clearer look at the pre-requisite courses, comparing MCS requirements on the left to equivalent courses at local colleges on the right. This data was enough to conclude that I would have the best shot at targeting 3 MCS programs by taking 8 undergraduate courses at the online University of Maryland University College (UMUC) over the Fall 2016 and Spring 2017 semesters. I was confident that I could get graduate programs to mitomeru my skills!

I enrolled in UMUC and took their accelerated 8-week semesters according to the following schedule, so as to nail down that scientific and mathematical mindset and to learn core concepts that underpin Computer Science as a discipline:

2016 Fall Online Session 1 (8/22-10/16)
  1. MATH 140: Calculus I (4 credits)
    1. Pre-reqs: MATH 108 or MATH 115
    2. aka Pre Calc (passed AP exam in high school)
  2. CMIS 310: Computer Systems and Architecture (3)
    1. Pre-reqsCMIS 115, CMIS 125, or CMIS 141
    2. aka Java proficiency
2016 Fall Online Session 4 (10/24-12/18)
2017 Spring Online Session 1 (01/09-03/05)
  1. MATH 141: Calculus II (4)
    1. Pre-req: MATH 140
  2. CMSC 350: Data Structures and Analysis (3)
    1. Pre-reqs: CMSC 150 and CMIS 242
    2. aka Java proficiency
2017 Spring Online Session 4 (03/13-05/07)
  1. CMSC 330: Advanced Programming Languages (3)
    1. Pre-req: CMSC 230 or CMSC 350
  2. CMSC 451: Design and Analysis of Computer Algorithms (3)
    1. Pre-reqs: CMSC 150 and CMSC 350 (or 230)
As you can see, all of these pre-requisite courses had their own set of pre-reqs, such that there was a logical order in which to take them. Among the pre-req pre-reqs [sic] were CMIS 141: Introductory Programming and CMIS 242: Intermediate Programming, which I labeled as "Java proficiency" after getting permission from the head of the Computer Science department to test out of them. Therefore my actual undergrad work began in the summer, when I squeezed in approximately 44 hours of learning Java (during my IT cert phase) through resources on my <Free Comp Sci Resources> post, including Codecademy, Sololearn, and creating a program with my brother (a Software Engineer himself) that incorporated all learning materials from the CMIS 141 syllabus. I later tested out of intermediate Java using the CMIS 242 syllabus, though that could have gone a bit smoother (see below). Between August 22nd, 2016 and May 7th, 2017 I spent $8,073 in tuition (+$50 application fee) and god knows how many hours on STUDYING (bleh) math and computer science. The MOST REWARDING courses were those I bolded above. You may be wondering why I didn't just get another degree. Great question, young padawan! In fact, the CS minor at UMUC can be obtained by taking the aforementioned CMIS 141 and CMIS 242 (I tested out of both) and 9 credits at the 300-level (count 'em)... but is only possible if I were to go back for another Bachelor's. Yeah, um, in that case I'll just leave "Minor Equivalent in Computer Science" on my resume. #kthxbye

After 8 courses over 32 weeks, my overall impression of these undergrad pre-requisites could be summed up as, "online courses for the motivated self-learner, but lacking quality control in teaching and student interaction." The turn-key structure was such that all sections of a given course, regardless of semester or instructor, were prepared with the exact same syllabus. This would be fine, except that it felt like you had a substitute professor for the entire semester who was either hands-on and extremely helpful to students, or hands-off and raised more questions on the material than they answered. My regrets were two-fold: 1. Keep schedule expectations low. 2. Properly prepare for courses. For the latter, I'm honestly not sure I could have fit more time into my schedule (see the former), so if anything I should have started even earlier and either just taken those two Java courses or read Head First Java (it's gud). I guess I can't stress too much. In the end, I did Ace all 8 courses and got into graduate school.

Step 5: Pull the Trigger! ("Goal 1: I will prepare for a Master's program in Computer Science")

Just 287 days following the start of my experiment, on Sunday, March 12th, 2017 I applied to MCS programs at Towson UniversityJohns Hopkins University (JHU), and Georgia Institute of Technology (GT). At last, the first major goal for the Dream I had declared and fought for had come to pass, a goal that intended to even the playing field between myself and other prospective applications who already had experience and education in Computer Science! In the post above, I laid it all on the line by sharing the exact statement of purpose that I wrote for GT.

Somehow this entire crazy plan actually worked: I was accepted into all three programs. They really loved me! :D I found myself in a position inconceivable one year ago of having to choose which school to accept. As Towson was more of a safety school, the choice was down to JHU with their highly-recognized (and highly-priced) institution that offers a large variety of in-person and online courses, and GT with their unbeatable tuition cost of ~$7,000 total and the latest in online course technology. This was not an easy decision, but in the end I chose to attend Georgia Tech's Online Master of Science in Computer Science (OMSCS) program for their affordable price tag and #9 ranking in the U.S.

Step 6: To Exponential Growth and Beyond!

Since my last post, I not only began my first OMSCS course (Software Development Process, #amazeballs) but I started working as a Software Engineer with a buddy of mine (as promised, 456 days after I set forth on my journey). It's just part-time for now on top of my full-time IT job, and has already started paying dividends by offering the opportunity to learn a second programming language, Python. I may be bringing in twice as much income for my family [JASMIN] now than before I started my IT job earlier this year, but the important point is I'm having fun learning an infinite collection of new things. Oh, and between you and me, they're also reimbursing my affordable tuition. ;)

And that's all there is to it! Easy, right? Honestly it hasn't always been, but it's the plan that fit me and my circumstances best at the time. Some friends have been very successful with bootcamps or the traditional B.S. (Bachelor of Science, what did you think I meant?!). Even though I'm nowhere near the level of High Wizard yet (more Goals to come soon!), I've seen enough to know that if you're considering setting forth on a new Dream you should be ready to carve your own path. As Bruce Lee once said, "Adapt what is useful, reject what is useless, and add what is specifically your own."

Wednesday, July 12, 2017

The Task Inbox

For all the posts I've written on time management techniques, from weekly schedules, to Timeboxing, to goal calendars, to batching, and finally combining them all together to learn computer science, up until now I haven't discussed To-Do Lists at any great length. Why? Well, for the most part I didn't think they were worth concentrating on. As I've emphasized in the pastaccomplishing goals involves creating good habits and tweaking the environment to nurture progress over time. Having said that, we all have moments where tasks start to pile up, and whether important or trivial just trying to handle them in our heads becomes a source of anxiety. You'll think, "I have so much to do I can't even keep track of it all anymore!" Some of the specifics of the tasks will fade, and only the stress and guilt will remain. For a subset of tasks that's called survival of the fittest, and maybe they weren't that important after all. But we can handle this in a much more conscious way: by recording our tasks into an Inbox and choosing whether to do or ignore them.

The Inbox is the main concept behind one of the "bibles" of time management: Getting Things Done: The Art of Stress-Free Productivity by David Allen. GTD is considered the gold standard of organization systems, though you may be surprised to learn that I hadn't cracked it open until recently; contrary to popular belief, I don't use time management for its own sake but for the extra time and energy it affords me in accomplishing my goals. Likewise, when I try to excitedly explain what I've learned to other people, they could care less unless there's something they're trying to accomplish as well. In other words, these are tools for busy people. If you, like me, are juggling multiple spinning plates that represent health, family, work, and a social life and have tried incorporating other organization techniques already, GTD offers some cool ideas on the Inbox. Fair warning: I modified Allen's concept a bit from the book for my own sadistic purposes.

Step 1: Dump tasks into Inbox. We already use Inboxes everyday; you have an Inbox for your email, an Inbox for your laundry, an Inbox for your dishes, and perhaps Inboxes for your notes and your mail, among others. We don't always have the resources to respond to each email as it arrives, to wash each piece of clothing after it's worn, to clean each dish following meals, to write each idea into a well-thought-out note then and there, and to open and process each letter as soon as it hits the mailbox. We dump them into a place nearby so we can batch when the stack is sufficiently full. So why not have a Task Inbox? As soon as you think, "man I should patch that tire" then you should be able to record that task in 5 seconds or less. Dealer's choice on the recording tool - a planner, a pocket notebook, a memo app on your phone; use whatever you're comfortable with. My preference is picking up my phone or lifting my wrist with my smartwatch and saying, "Ok Google, remind me to patch that tire on Sunday." Done. This is the fun step, since we're just brain dumping and worrying about the consequences later. ~_^


Step 2: Choose Inbox review day. Decide on a day of the week to take a little time to review your Task Inbox. This won't take more than about 15-30 minutes, but the weekly review is critical for staying on track. I do this on Sunday, right before the start of the week and on the day that I have the most time to organize. When a task starts nagging at my attention and I want to dump it, I just default it to Sunday (as you saw above) and review it then. Once you choose the review day, consider putting it in your calendar or weekly schedule to remind yourself to stick with it.


Step 3: Give tasks the D. By review day, your Task Inbox may have grown quite substantially. That's how she likes it. Having it all exposed in front of you will paradoxically make it more manageable, and at the very least it's less stressful than trying to keep it all in the head. Hey, get your mind out of the gutter! Go down the list starting at the top one task at a time, and decide on the following options:

  1. Delete it - if it's not worth your limited time and energy, or will probably take care of itself.
  2. Do it now - if it will take less than two minutes.
  3. Delegate it - if someone else is the best person for the task.
  4. Defer it - if you've gotten past the first three options and you still want to do the task.

When in doubt, delete, remove, eliminate. This is prioritizing 101. Only move on to the next step if you can justify the work or if not doing it would result in an even bigger pain in the ass (okay, I'm done :X).


Step 4: Specify deferred tasks. Congratulations, you've elected to tackle some portion of the original tasks! For each remaining task, think about what the successful outcome would look like for that situation. What needs to happen for you to check the task off as "done?" Once you know where you're going, you can come up with a clear, very next action to take in order to move forward. Too often we get stuck on vague goals such as "study" or "exercise" because they're loaded with too many possible actions. Choose an action you can take (i.e. put running shoes by the door, take Japanese book off the shelf) and add it to your To-Do List. That's right, you're deleting the task from the Inbox and adding the actionable to-do to a separate List. Like the Task Inbox, you should be able to reference the To-Do List throughout the day, but this time the goal isn't brain dumping - it's actually making progress. Again, the tool for the List is up to you, but it should be something that can be organized into days or weeks. My preference is Remember the Milk (RTM), which is available for all devices, including in the browser, offers great language support (even 日本語!), and has a host of features such as repeat schedules.


Step 5: Plan victorious day. The ultimate objective of the Task Inbox is to bring us that much closer to achieving our goals. Daily progress, even if minimal, will always be infinitely more effective than feeling stressed or guilty about your tasks and getting nothing done. I limit myself to a maximum of 7 actions a day from my To-Do List. Why 7? Meh, that's the most I can fit on the widget for my phone's RTM app without scrolling. XD I've heard of people using index cards rather than going digital as a way to limit their daily to-dos, and that works too. I consult my life principles to determine priorities, assigning a 3 (lowest) by default and a 2 (moderate) if it ticks one of my principles; everyday I'll choose ONE action to focus on, such that addressing it at the detriment of all other tasks will still mark the day as victorious, and I'll assign it a 1 (highest). This is the part where you take your plans from the last four steps and get down to business.


Pro Tips

  • Just because the to-do is on for that day doesn't mean you need to finish it, just attempt to make some progress. If nothing happens, perhaps the action isn't small enough or you need to break it down into sub-tasks.
  • Some actions eventually become part of my habits, and leave my To-Do List for a happier place in my weekly/daily schedule. Other actions involve events that go into my calendar.
  • Consider moving more involved personal to-dos to the weekends, to save yourself the mental energy during the week to stick to important work and your positive self-improvement habits.
  • In my RTM app, I organize to-dos by lists: Recurring, Honeydo, Family, Friends, Travel, Home, Vehicles, Organization, and Shopping. I also have smart lists that automatically organize to-dos: This Week, Today, and Now. On my phone, I have widgets that show me the lists in Today and Now.
  • In addition to prioritizing by principles, I specify which ones by tags: Health, Family, Friends, Learning, and Skills. I tag by daily number (1-7), by recurrence (Recurring, Once, Attempt), by weekly focus (This Week), and by flow focus (Now).
  • RTM also has fields that let me specify start date, due date, repeat intervals, estimated time, location (Computer, Work, Outside, Home, Phone, Anywhere), sub-tasks, and notes.


As time goes on and you get in the habit of dumping your tasks into an Inbox and coming up with actionable to-dos in a List, you'll feel more in control of your life and what you're trying to accomplish. It's almost as if the future were in your hands. Try as I might, when I'm not using a weekly schedule or a Task Inbox, I just feel like life is in disarray. Like Timeboxing, GTD gives us a way to know when we're focusing on work and when we're taking a break and can relax. And true relaxation is what we need between spurts of disciplined sprints toward the finish line.

Keep it fun, homies.

Thursday, June 29, 2017

Lazy's Story

Mama's Boy and Scout

Lazy Ido Kittyboo Stevens was born "Mama's Boy" on May 13th, 1997. For some perspective, I was in 4th grade at the time (proper reaction face -> O_O). A friend's dad was working at the metro when he noticed a pregnant cat roaming around one day. As rescuing feral cats was and still is his hobby, he set a trap and successfully caught the cat family shortly after the litter was born. Technically we don't know the exact date of birth; however, this friend's birthday was on May 13th and it seemed as good a date as any.

Mama's Boy was part of a litter of five. His siblings included Brave (grey tabby female runt), Roamer (orange tabby male), Biter (calico female), and Spitter (grey tabby male), with their mama Scout (grey tabby). Scout was naturally very protective of her kittens and would always be alert. Brave was willing to leave her mother's side quickly and check the surroundings, but Roamer was the one who explored the most. Biter was a teether and Spitter was a hisser. As for Mama's Boy, well... he loved his mama. Even as he grew in my friend's attic over the first couple months of his life, he managed to squeeze through the bars of his mother's cage to be with her. After all of the kittens were neutered and got their shots, they were sent off to loving families. My family got Mama's Boy and Brave, Roamer stayed with Scout to live with my friend and his dad, Biter became Fiona and went to another friend's family, and Spitter left to live an ideal life on a farm as a barnyard cat.

Mama's Boy and Brave were the 4th and 5th cats I had owned in my 9 short years of life. Allison was my mom's cat when I was a baby and ran away after a couple of years, and Honey and Sugar were temporary cats we watched for a few months when I was in elementary school. The fact that I had an allergy to cats - sneezing and puffy eyes - didn't seem to stop my parents from owning pets. By the time our new kittens arrived on our doorstep, I was already a veteran cat owner and ready to bestow their official names. We placed their cage in the guest bedroom and opened the cage door to see what they would do. Brave was the first to prance out, so her name stuck. Mama's Boy, on the other hand, preferred to spend the first few hours just sleeping in the cage. So naturally, he became Lazy. For some reason I started calling him Lazy Ido (orange cat... orange soda?), and Kittyboo was intended to be the cat surname of the litter. Hence, Brave Isaboo Kittyboo Stevens. I recently noticed that this made their initials LIKS and BIKS, respectively.

Young Lazy in his new home

Lazy and Brave would spend their first two and a half years in that house. They were indoor cats for the most part, but over time Lazy began to go outside and was introduced to other felines. Even for a fixed young stud like himself, this could be a rough cat neighborhood. One cat in particular would occasionally try to pick fights with him, and I once almost literally kicked this cat off the porch. I think this experience made Lazy more of a "human cat" who was very friendly and trusting with people but territorial around other cats, with the exception of his sister. His personality was similar to what some people might associate with dogs - he loved human food (especially meat, cheese, and butter... but carbs like potato chips too), and he could always be found playing or sleeping out in the open; if you ever couldn't find him, something was wrong. Though he was bigger than Brave and would sometimes chase her around or wrestle with her, more often than not they could be found sleeping peacefully beside each other. Brave would come to reject her name and avoid most other animals - cats, humans, and everything inbetween. However, she had a soft spot for her cat brother and human family, and most of all for her human mommy.

We moved out to a rural part of the state in 2000, where Lazy would spend the next 14 years of his life. This time Lazy was the first to arrive at the new house, given that Brave refused to come out from under the bed until we had taken it apart completely. Our house was surrounded on two sides by woods, and roadways with cars were minimal. In other words, Cat Heaven. This is where Lazy became a true hunter. He was now permitted to spend hours outside at a time, and frequently stayed out overnight on his adventures until arriving for breakfast with a mouse gift in his traps. Between ages 2 and 16, Lazy had nearly limitless energy and space with which he wanted to use it. When he wasn't hunting for his favorite squeaky dish, we would often find him sunbathing on the deck without a care in the world. That wasn't to say that he never had issues outside. On the contrary, that cat had multiple $100 nights on the town when he would come back with mild bites that would require a shave and a shot. Once he was even gone for a whole week, before returning one morning no worse for wear. Perhaps another family had mistakenly picked him up when they saw how awesome he was.

Lazy the hunter

In June 2003 after being a cat family for 15 years of my life, we got a dog. I had nothing against dogs on their own, but was strongly against the idea ever since my brother and dad had first brought it up; didn't they realize that cats and dogs go together about as well as melted chocolate on a cheese pizza? But one day my dad came home with a golden labrador retriever puppy named Spike Spiegel, at the time roughly the same size and weight as Lazy Ido. If we were going to do this, they would need to be familiar with each other from the very beginning. So I brought Lazy over, and as soon as his instinct kicked in scratches appeared all over my chest. Naturally I tried again just to be sure, and got the same result. Ow. After a few months, Lazy and Brave had taught Spike who was boss in the house. The cats may have been a little rough at first when they saw the dog go diving for treats in their own litter box, but eventually they got along and were friendly enough to sniff each other's butts and even sleep nearby. Spike has since grown to be a much bigger dog, and to this day he hasn't forgotten to keep his distance from felines.

When food was involved, Spike and Lazy were on the same side

It became clear during this time that Lazy was my cat, and I was his human. My mom was his main caretaker and he showed his appreciation, he was always loving to my brother, and he had a "special relationship" with my dad (whatever that means), but it was me with whom Lazy formed that ubiquitous mammalian bond that's like an unspoken oath of fellowship. Forming this bond is equivalent to them becoming a part of you, and you of them. It's thanks to him that my favorite color is orange. Throughout middle and high school, he would sleep on my bed and keep me company late into the night. I would spend time with him outside and when I couldn't find him I would call, "Laaaazyyy! Here boy come on in boy, Lazy where aarrrreee yooouuuu?" And if he didn't come in right away he would be at the door in five minutes flat. Lazy didn't typically attack me unless I was actively messing with his tail or bitten area, or if I was trying to untie his bar stool cushion to sneak him upstairs. ^_~ After building up this companionship, I selfishly went away to college in 2005 when he was 8 years old. My mom took care of him and his sister during this time, and they stayed happy and healthy until I left with Jasmin in 2010 to live in Japan.

Lazy = Greg's cat, Greg = Lazy's human

Brave began having issues in 2011. A growth started forming around her eye, and once it was confirmed to be a tumor we were told that it would be impossible to operate at a high success rate on a 14 year old cat. It grew bigger and more painful and soon obstructed her vision. When it finally began to cover her other eye and bleed into her food bowl, my mom decided that it was time to put her out of her misery. Brave passed away on June 17th, 2011 and was buried in front of the house. Though she was one of the most cowardly cats you might come across, Brave was sweet if you played by her rules. If you sat down in the living room or waited by her drawer in the guest room long enough, she would come to rub up against you and jump up to let you pet her (as long as you didn't focus on her tail or any one area for too long). She was a lover of pipe cleaners, and once brought a live bird into the house and under my parents' bed. After she passed, Lazy initially didn't seem to take much notice. But after a couple weeks... well, I'll let my mom's email from that time tell the story: "Lazy has finally noticed that Brave is missing.  He is wearing out his Meow calling for her, looking all over the place.  If we Skype you'll probably be able to hear him from the next room.  He was a good brother to her." As for the rest of the litter, Roamer ended up with the same condition as Brave and passed in a similar fashion. Scout died around 2013 of advanced age and weakening organs, and though older and slower Fiona continues to carry the Kittyboo torch as of this writing. Spitter's condition is unknown, but I like to believe he's still living it up on the farm.

Lazy and Brave

Jasmin and I finally returned from Japan in 2012 and lived at home for about a half a year with Lazy. That's when I realized that my cat allergies had virtually vanished. Perhaps I was away from cats long enough to build up some kind of immunity, and never again had issues with sneezing or puffy eyes. In April 2013, my wife and I moved into our own place. I would come back to see Lazy every so often, and that cat managed to stay strong and keep doing his thing. A year later, with Jasmin leaving to help her family in the Philippines for a year and my parents moving out of the rural house, I decided that it was the perfect opportunity for Lazy to fulfill his destiny as my cat.

Fulfill your destiny!

Lazy moved in with me right before his 17th birthday. This would be a big transition for him; a retirement, if you will. No longer in a rural area, Lazy spent the first month as an indoor cat in his new home. I got him a cat harness for his birthday and trained him to get used to the area, and ever since that point he was a 10-minute-outside cat who would stay in his yard. He was still territorial with the other cats in the neighborhood, but he almost never left the comfort of the yard. When the weather was nice, Lazy could be seen sunbathing or exploring the garden, though for the most part when the 10 minutes were up he would be back at the door waiting to be let in.

Cat walk

The last three years of his life saw Lazy go downhill in subtle ways that could only be pinpointed in retrospect. Though he arrived in 2014 as a full-sized cat with energy, he developed a limp which we think was due to arthritis, and eventually lost the ability to jump up to high places. Among these high places was the kitchen table with a window to the outside world. The outdoor life that he had grown to love as a hunter was not only limited in time and diet of mice and rabbits, but it was difficult for him to find places to look out windows and appreciate the view. Combine this with his advanced age and weakening organs (including an ongoing ear infection and tooth decay), and he began to lose weight and his typical strength. In spite of this, Jasmin and I would attempt to stimulate his energy indoors with toys and scratching posts, and gave him more attention and love and kitchen scraps than any spoiled cat could hope for. We even added a second litter box and water bowl with hard food on the first floor so he wouldn't have to trek up and down the stairs just to get what he needed. He seemed appreciative and was always more than willing to jump onto our laps on the couch or sleep with us in our bed until the very end. Lazy became more social in his old age and would meow to anyone who looked him in the eye. Even during parties, he would walk through crowds of people to ask for food and attention, and meowed to his advantage every time.

Lazy, age 19

A month ago, just a couple weeks after his 20th birthday, Lazy started peeing in strange areas and stopped eating. We took him to the vet and learned a lot of things that essentially came down to one fact - he was old. They offered to hospitalize him, provide IV fluids, and even do a blood transfusion, but I chose the hospice option and simply asked for an appetite stimulant. That night, worried as hell but determined to give him a fighting chance, I moved all of his essentials to our bedroom (food, water, litter box, brush), including a couch cushion that would give him a boost up to the bed, and began feeding him his can food four times a day to keep him eating on a regular basis. After a single dose of the appetite stimulant and given a comfortable place to heal, Lazy's energy seemed to return and I saw a twinkle of strength back in his old eyes. He continued to recover well, and even created some new memories by eating Spike's hard food when the dog came to stay with us for a few days, and by joining us in the shower on multiple occasions. During this time, in addition to a visit from his fur brother Spike, he also got to see his whole human family (mommy, daddy, brother, and even baby nephew, who thought Lazy looked weird for a "dog").

The bathtub cat

Lazy passed away on Tuesday, June 27th, 2017. They say that pets will wait until their owners are gone before passing on, and we were out of town for a long weekend. As much as it hurts that I wasn't there for him at the end of his story, perhaps his time had come last month and he pushed himself for a little longer to be a good companion for his human. Yes he was an old cat, but the longer the companion bond, sewn with stronger and stronger threads as time goes on, the harder it is to say goodbye to your pet as well as to that part of yourself. I could not have asked for a better cat brother, fur baby, companion, or friend. We were lucky to have each other and I want to celebrate his long and happy life. As it goes with mortality, the natural brevity of life is something to be recognized and cherished rather than willfully ignored. That, and with our own brief time on this planet, we should strive to be as awesome as our pets know us to be.

Cherish life

On that note, here are a few fond memories of him as part of our family during his 20 years (around 96 cat years) and 9+ lives, and I will be adding more as time goes on. Please consider posting below if you have memories of your own.
  • The first time Lazy managed to get outside on his own, I was really worried and ran out to find him. One of my fondest memories is him seeing me come after him and jumping into my arms.
  • Lazy used to attack my feet under the sheets when he hung out at the end of my bed.
  • While we were staying at a temporary house waiting for our rural home to be built, Lazy made his only non-family cat friend and would lay against the glass door with the cat doing the same on the outside.
  • I sometimes saw Lazy racing up and down a tree in the backyard just because he could.
  • We accidentally left Lazy outside during a few weekend ski trips, and he would survive blizzards by climbing into the thick pipes out front.
  • I found a wasp in my room attempting to go after Lazy one time, and it was duly punished.
  • Lazy could almost always be found out in the open, but if he did hide he was always terrible at it and his tail would be sticking out.
  • Lazy was considered by other people and probably cats to be the mobster king cat of the neighborhood because of how thoroughly he owned his territory. Apparently he had a "tough look" about him when he was younger, but I never saw that side of him.
  • When Lazy was young and would do something bad, I would put his head in my mouth to show him who was the alpha cat.
  • All those Christmas mornings when we would open Lazy's presents of catnip-filled mice, and he would spend the next hour going crazy all over the living room.
  • The many, many, many times that I was depressed, or stressed out, or lonely and Lazy came around to purr and cheer me up. In fact, I had never dealt with the death of a loved one before he came along, so he had been my rock.
  • Lazy loved the sounds of birds and the outside, so in lieu of opening a window when he first came to live with me I played bird sounds on YouTube all night in his bathroom.
  • I experimented with different feeding times and amounts of Lazy's food to make it easier on both of us (instead of waking up at 5am), and would always update my sister-in-law on the progress despite her apathy.
  • Just last year at age 19, Lazy caught a rabbit and a goldfish. Natural hunter.
  • A few weeks ago when I came home and Lazy was waiting on the stairs to get his food, one of our friends was over and said, "Look who it is, Lazy!" I popped my head around the corner and as soon as he saw me he let out this long and loud MEEEEOOOOW like he was happy to see me.
  • All of Lazy's nicknames - Lazers, Lazer Beam, Laz, La-Z-Boy, Laz Potato Chips, Lazer Doodle.
  • The last time I saw Lazy alive was when I was leaving for vacation, and I had just fed him and went downstairs. Evidently he ate quickly, since as we were bringing the last of our bags out the door, there he was there sitting in the middle of the kitchen telling us goodbye.
  • Lazy visited me in my dreams the night before he passed. In the dream I had taken him to the vet and learned that he was cold, so I just held him close in a blanket. I believe he could have been dreaming something similar.
  • Eric: "I used to love lazy Sunday afternoons where we would just sit around the house and I'd try to find Lazy and Brave and give them lots of attention."
  • Eric: "I also remember one time, it must have been winter because all the leaves were off the trees, I saw Lazy in the woods... and I watched him walk across a log to get over the creek, and just the way he navigated the woods I thought man he owns this place haha"
  • Wes: "God damn, he had a long f***ing run that one, man. A long, long, long f***ing run... I kinda think it's a loss to all of us... God damn that motherf***er was old."
  • Matt: "You gave him a good life, another feral cat success story."
  • Vincent: "Everyone loved Lazy man. He will be missed."
  • Christina: "So many hugs, we all loved Lazy."
  • Mike: "I remember when he brought back the rabbit..it was like just to prove he could still do it"
  • Joanne: "I will always remember that silly cat for chatting with me throughout my stay. I was alarmed at first, thinking he needed food or needed to go potty, but turns out he just wanted to talk. I loved leaving the bedroom door open so he could keep me company while I flat-ironed my hair."
  • Sasha: "I remember when Lazy would come downstairs and meow at me until I followed him upstairs and then he would jump on the bed and demand to be pet. He was such an amazing and special kitty, he will be missed!"
  • Jasmin: "Lazy always kept me company when I cooked."
  • Jasmin: Lazy would make me smile when he laid on top of me or rubbed up against my leg. He made me smile a lot - he was a really good cat. He'd always take up the spot I was going to lay down on, so sometimes I had to trick him by running to the kitchen so he would follow me.
  • Mom: I remember when you came home from college one time and nursed Lazy back to health when he got sick.
  • Mom: Lazy would let Brave take over the couch and our bed like he respected her space. After she passed, he waited a little bit and then started jumping up himself.
  • Mom: "Lazy used to have a love affair with butter. If pancakes were being served, he wanted to intercept the butter knife. Then he discovered syrup. From there it progressed to ice cream and on to whatever was being served for a main course. He had to be watched or he might try to drag meat off our dinner plates! I am so amazed that only a few months ago he caught that rabbit. What an appetite he had!"
  • Alex: Lazy was an awesome cat and pretty much a baller. I knew him since before you guys got him and he would never let anything phase him. Such a chill orange cat.
  • Dad: I remember when we were outside and Lazy had taken a bite out of this mouse, but it was still running around. He just put his paw on it when it tried to run away and he didn't let it out of his sight.

Wednesday, June 21, 2017

How to Internet (Somewhat) Safer

NOTE: Updated links on 4/10/22

We have found ourselves in an era where our digital lives may no longer be as private or neutral as we grew up to assume. Many articles have already been written to warn of impending doom, but this won't be one of them. Let's assume doom has already struck. Your mission now is to figure out actionable ways of protecting yourself. While this post will be exhaustive in some capacity, I'm going to assume you don't need help doing things like enabling or purchasing anti-virus, enabling the firewall on Windows or macOS, keeping backups of your hard drive on Windows or macOS, using a cross-cut shredder for your scanned documents, and checking your credit report annually on Annual Credit Report or Credit Karma for possible fraud. Instead I'll discuss how to do full-disk encryption, download safely, limit administrator accounts, update your devices and apps, browse securely, choose a VPN, send messages with end-to-end encryption, create and store complex passwords, remove online accounts, opt-out of people finders, and turn-off devices and features. As the focus will be on "how to," I won't spend as much time on "why" and will link to Wikipedia if you want to learn more. I don't claim to be an expert and you can't read just one post to understand it all, but here goes nothing on a crash course on digital privacy.

Encrypt

Encryption is "the process of encoding a message or information in such a way that only authorized parties can access it." The very first thing that you want to do upon purchasing a new computer, phone, or external hard drive is to do a full-disk encryption so that accessing the information requires a key. This could take some time depending on the size of the drive, and even longer if you've already started installing apps and saving data. We'll get to end-to-end encryption for messages later on, but for now your disk information should be protected from anyone who could theoretically remove your hard drive, plug it into a computer, and read or copy the data. Even so, you should drill holes in your hard drives when you dispose of them just in case.

Windows BitLocker
macOS FileVault
Android
iOS

Download

I feel like I shouldn't have to say this, but don't download from sources you don't trust. Email links and attachments are a big offender here, as are websites that advertise the latest and greatest proprietary software for free, in addition to apps with long lists of permissions (why does a flashlight app require access to the Internet and my contacts?). To limit this from happening in your browser without your knowledge, in settings under Downloads select the option to "Ask where to save each file before downloading" (that's what it says in Chrome, anyway). If you were to accidentally download malware, just be sure you're not logged into...

Admin

...an administrator account. This would give the malware free reign to implant itself onto your computer. That's why it's important to create a separate "standard user" account for your day-to-day activities, and only authenticate with an admin password when necessary to install trusted software and make other changes. It's damage control if the worst were to happen. The best time to set this up is when you reformat (I start fresh with all devices once a year) or get a new desktop or laptop (it's much harder to pull off on mobile), preferably right after you encrypt your drive. ~_^ Then log in as the standard user and use as normal.

Windows
macOS

Update Frequently

Updates that "brick" your device aside, the best thing you can do to ensure that your device has the latest software to fix bugs and patch security vulnerabilities is to set up automatic updates. This goes for both your OS and your trusted apps.

Windows
macOS
Android apps
iOS apps

Browser

The only 100% safe computer is the one that's off and buried under 10 feet of dirt... and even then, well, it's questionable. As soon as you turn on mobile data or Wifi, or plug into the Ethernet port, your risk of an attack increases exponentially. Your web browser is a window to the outside world, but it's also a window back to you and your device. The Onion Router (Tor) browser, originally developed by the Navy, "is intended to protect the personal privacy of users, as well as their freedom and ability to conduct confidential communication by keeping their Internet activities from being monitored." While it isn't perfect, it offers an all-in-one package to increase anonymity, and you can search all day using DuckDuckGo (sorry, Google) without worry about tracking.

Windows and macOS
Android Orfox and Orbot (both required)
iOS (Unofficial)

Although Tor is the go-to for anonymity and the dark web, there are three extensions I recommend to browse more securely with software we already know and love (think Chrome and Firefox). This security can be magnified in conjunction with VPNs (see below).

  1. Ad blocker - you may already be using this, but in addition to blocking annoying ads some technology experts recommend them as a way of bypassing those that contain malware, even on major websites.
    AdBlock Plus (ChromeFirefox)
  2. HTTPS - it's becoming common knowledge that a website address with HTTP is not as safe as one with HTTPS and a green padlock when providing personal information online. The S indicates that the website is using a secure communications protocol (with an encryption layer of SSL/TLS) that "ensures reasonable protection from eavesdroppers and man-in-the-middle attacks." The HTTPS Everywhere extension (for Chrome, Firefox, and Opera) was developed by The Tor Project and will re-write requests to unencrypted HTTP sites by defaulting to HTTPS.
    HTTPS Everywhere
  3. Script blocker - even if you block ads and restrict downloads, untrusted executable content (using JavaScript, Java, and others) could run in the background on websites and open you up to cross-site scripting (XSS) and Clickjacking attacks. By using the NoScript and equivalent extensions, not only is active content blocked from running, but the DoNotTrack opt-out proposal is enabled by default. NOTE: From my experience, this is more appropriate for an advanced user, since it requires manual adjustment whenever a trusted page doesn't load or loads improperly.
    Firefox: NoScript
    Chrome equivalent: ScriptSafe or uMatrix


VPN

A Virtual Private Network (VPN) "creates a secure, encrypted connection, which can be thought of as a tunnel, between your computer and a server operated by the VPN service." Unlike Tor which is focused on anonymous browsing and is much slower, a VPN can offer location spoofing and is quickly accessible to any app in your arsenal. Think of it like a condom. You go out to a strange airport, mall, or Starbucks and you don't know where that WiFi connection has been and how many people are involved, so you put it on and go about your business. At home you should be safe, right? After all, you should know where your own WiFi connection has been. Except if ISPs are going to start saving and selling your sperm data without your consent, that's messed up. That was the last straw for me and I decided it was time to purchase a VPN subscription.

Do you have to pay for a VPN? Technically no. But chances are your speed or monthly data allocations will be greatly reduced, and always be wary of business plans for free services - you and your personal information could very well be the product they're selling to third parties. Choosing a VPN can be a headache, though; you can read articles by LifeHackerTomsguide, and PC Advisor and still be confused about which ones are best and how they break down. That's where That One Privacy Site shines. They have an exhaustive spreadsheet of VPNs compared on numerous categories, and you can narrow down based on criteria that's important to you (in my case, price < $10/month, high speeds, strong security protocols, anonymous personal info, and a high number of concurrent devices). (The site appears to have changed ownership, not sure if you can trust it anymore). You can also check PC Mag for a breakdown on speed. After a bit of research, I settled on three:
  1. ExpressVPN
  2. NordVPN
  3. Private Internet Access
All of these VPNs are cheap, fast, strong, private, and offer multiple device usage. However, only one let me purchase using an Amazon gift card... bought with a VISA gift card... paid for in cash: Private Internet Access (PIA). A $25 Amazon gift card = 100 days of service (about $7.50/month). Registration was extremely easy, and all I had to give them was a valid email address (see below). After successfully downloading on Windows, macOS, Android, iOS, Kindle Fire (sideloaded Android apk), and even on Chrome as an extension, I configured the highest possible encryption (AES-256, SHA256, RSA-4096), which admittedly does slow speeds. Here are some of my impressions of PIA over the last few months:
  • The connection will start quickly upon opening the app, though you can select the location of the server manually if you like (the closest to you tends to be fastest).
  • Some services such as Netflix and Google Home do not work while connected, but the Android version does let you whitelist apps.
  • You can lose connection when going from mobile data to WiFi and vice versa; just open the PIA app and disconnect/reconnect to fix.
  • I compared speeds on Speedtest with different devices in different locations by looking at the speed percentage of VPN on versus the default speed of VPN off (I acknowledge a multitude of extraneous variables in these tests, including time of day and number of people connected):
    • Desktop at home: 85% down / 87% up
    • Desktop outside: 100% down / 95% up
    • Mobile at home: 70% down / 87% up
    • Mobile outside: 121% down / 80% up

Email & Messaging

As mentioned above, the VPN I signed up for required a valid email address. When it comes to creating an ultra-secure account, I advise using a special email that doesn't include any personally identifiable information and protects your privacy when sending emails. This is where end-to-end encryption is beneficial, so "only the communicating users can read the messages" to prevent "potential eavesdroppers." Here are a few solid email providers that offer this protection: MailfenceTutanota, and Protonmail (read more here). All are premium with limited free memberships.

While we're on the subject of email, here is a clever way of signing up for an account if you have a Gmail address (maybe it works with other providers too, not sure). Let's say your email is myemail@gmail.com and you want to register for an Amazon account. You can use the alias myemail+amazon@gmail.com (which works as normal) and instantly give yourself a way to not only filter all emails going to that address, but also see which other companies get a hold of the same address. Some websites don't let you add the +, but if they do give it a shot.

If you're looking for a messaging/calling mobile app that provides a deep level of end-to-end encryption, you can't go wrong with Signal. This is the app that journalists use when communicating with leakers and human rights workers, and it's endorsed by the Snowden himself.

Passwords

It goes without saying that passwords have gotten pretty overwhelming. In this post alone, I'm assuming you'll remember your passwords for your computer (standard user AND administrator), your phone, your VPN, your email, and much much more. And yes, they should all be complex and different from each other. How are you supposed to keep track of it all? With a password manager! I was extremely cautious of these for years because it seemed like the perfect app for a hacker to develop and gain access to your entire digital life. Marc Goodman, former FBI futurist and author of Future Crimes, stands behind these 4 managers:
1Password (premium), LastPass (freemium), KeePass (free, open source), Dashlane (freemium).

Once you have your password manager, you can start coming up with some decent passwords. For the ultra-secure accounts, password managers typically come with a feature that lets you generate a completely random complex password; then you really will need the manager if you want to log in. For those accounts that you don't keep any personal information on and use purely for entertainment, I would say feel free to use a less secure password as long as it's at least 8 characters. For all accounts inbetween, here are some rule suggestions:
  • The longer the better, period. This makes brute-force attacks nearly impossible.
  • Aim for around 20 characters (lower case letters, upper case letters, 3+ numbers, symbols, spaces).
  • No full names, birthdays, usernames, phone numbers, or full words in any language to render social engineering attacks and dictionary attacks useless.
  • Try shorthand, acronyms, or 1337 to make it easier to remember.
  • Have a method that keeps passwords unique for each website.
  • Change every 3-6 months.
I know it seems intimidating at first, but once you have the passwords in a password manager it's all maintenance. And wherever possible, don't forget to enable multi-factor authentication with your email or phone number in order to get temporary log-in codes for unrecognized devices or locations. By the way, if you're entering passwords onto a public computer that you think might have a keystroke logger, try typing them with an on-screen keyboard (Windows, macOS).

Registered Sites

When considering the feat of collecting your passwords, you probably realized that you are registered to a lot of websites. In just a few clicks and by selecting your birthday, bam you are the proud owner of an account on some forum where you can post cheat codes to your favorite games (do they still have those?). Unfortunately, the more your personal information is out there, the easier you've made it for your identity to be compromised. Sites like ';--have i been pwned? will check your email against lists of accounts from recorded data breaches, and then it would be a good idea to change your passwords on those sites, as well as on any other site that uses that same email and password combination. Better yet, delete your accounts altogether. I came across justdelete.me as an easy way to get information on removing accounts from many common websites. Finally, I took it a step further and went through a Registered Sites folder in my email that dates back to 2006, and proceeded to methodically erase myself from the web, or at least minimize my personal information and log the site in my password manager. You don't need to do this, but I wanted to keep my current email locked down. While you're on these sites, check the privacy settings and consider what you're willingly sharing to the world (and how that may be used against you).

For accounts that are difficult or next to impossible to remove, here's another suggestion on the justdelete.me site from earlier: Fake Identity Generator. Choose an identity that you'd like to assume, and keep notes on the following information to populate any would-be-deleted account:
  • Name
  • Junk email
  • Address (business or middle-of-nowhere)
  • Date of birth
  • Lame duck password
  • Phone (business)

People Finders

If you've been to sites like SpokeoWhitePages, and Intelius and tried searching yourself, you understand the true meaning of "creepy." For the longest time I figured that this was a cat and mouse game: opt-out of one site and another two will pop up. It's still like that to a certain extent, but we have options thanks to Reddit: HOW TO: Remove yourself from ALL background check websites. Thanks to LawyerCT. This guide will walk you through removing yourself from 18 major websites that should trickle down to the smaller players. Once you've confirmed that you are indeed in their results, you can take steps to opt-out. I was able to remove myself from all of them with some patience, a digital copy of my ID with everything blacked out except my name and address and DOB (which they had anyway), and a fax machine (for two of them). MyLife told me that they couldn't remove my information unless I had a premium account, so I sent them back a copy of their own privacy policy where it said otherwise and they processed my opt-out request. It was pretty rad.

Turn Off

Finally, if you're not using something, turn it off. Shut down your computer, cover up your camera, turn off WiFi, disable Bluetooth and NFC, etc. etc.

--

Phew, we've come to the end of the guide. I know it's a lot to digest, but if you take it one point at a time you can avoid over 85% of the most common digital threats. To remember a few of these points, we return to Marc Goodman who wrote Future Crimes, and consider his UPDATE protocol.

Update Frequently
Passwords
Download
Admin
Turn Off
Encrypt