An Art Form
Speed does matter. Failure to perform a task with adequate speed can result in missing deadlines, no time to relax, and unimpressed friends. In this guide, I will share with you some of the practices I’ve adopted, how they’re useful, and how you can apply these same practices to increase your speed, efficiency, and effectiveness at daily tasks. All you will need is a computer with an internet connection.
The goals of perfecting this art are to never lose a piece of information you’ve been given, to retrieve all information quickly, and to implement a secure and consistent way of accessing this information, wherever you are, 24/7.
Version Control
The center of the information ninja’s arsenal is Subversion. With SVN and good habits, you can organize your information and continue to adapt and optimize its structure, tracking all of your changes as you go. SVN can be accessed securely over SSH, which uses high grade encryption (typically 128 bit AES in cipher block chaining mode).
A New Era
Let’s face it: we’re in the digital age. Paper is quickly becoming irrelevant. I highly suggest you invest in a flatbed scanner and a paper shredder, and perform the following when you receive a piece of paper in the mail:
- 1. Is this information worth keeping in its original form? If not, skip step 2.
- 2. Scan the paper in your scanner, organize the image file into your SVN repository (however you prefer) and commit.
- 3. Throw the paper and envelope into the shredder.
Information
Information is a beautiful thing. How do you organize your information? What do you consider information worth organizing? To help you answer that question, here are some of the things I consider worth organizing.
- Passwords
- Bookmarks/favorite links
- The numbers on plastic cards in my wallet (credit, ATM, debit)
- Bank account numbers
- Model and serial numbers for hardware
- Serial license numbers for software
- Important/upcoming dates
- TODO list
UNIX Philosophy
Follow the UNIX philosophy. Store information in tab-delimited plaintext files when possible. In this format, you can take advantage of the score of UNIX utilities for text manipulation and searching. You need no special programs to view or modify your information, only a good editor (I prefer Vim), and cat.
Be disciplined. Store every single password you’ve ever needed for any website and every computer you log into. If you continue to update and organize your repository, you will excel in information retrieval. You will never lose another password or waste any time trying several passwords you might’ve used.
Structure of the Repository
This is largely up to you, but the way I have my repository organized is as follows:
| Subdirectory | Description |
| dot | Shell init and config files for multi-system consistency |
| tools | Small and highly useful C programs with a Makefile to build and deploy them to ~/bin |
| db | Directory containing very sensitive information in plaintext, tab-delimited files |
| school | Homework and projects for school |
| scans | Contains scans of important mail |
Dot
Your dot directory, or equivalent, is one of the most important aspects of this process. If you are going to be consistent in your habits, you will need a consistent interface to any computer from which you view or manipulate information. If you are going to be fast, you will want to learn all of the important shortcuts of the shell you use (I use bash), and make aliases to perform tasks, ranging from simple to highly complex, in as few keystrokes as possible.
I’ve provided a snapshot of my dot directory, and hope that you will find it useful, and build upon it. Untar it to your home directory, and run the install.sh script. Be careful not to clobber your existing ssh config file, if you have one. Read through the files to see what it does and modify it. rc.bash consists of some startup commands, aliases, and your prompt, and cmd.bash consists of some auxiliary functions that I find highly useful.
You should import the dot directory or have something like it in your SVN repository. The idea is to check it out using SVN on every machine you own.
Security Considerations
If you’re going to put your sensitive information in plaintext files like I do, it is a good idea to use disk encryption (I use FileVault on OS X) with a lengthy and secure password, limit your computer to one user (yourself), enable your screensaver to come on quickly, and password protect your computer on wake from sleep or the screensaver. If you follow these practices, then it is both sensible and convenient to store your information in plaintext files.
A True Ninja of the Information Age
Code of the True Ninja.
- A True Ninja collects every piece of useful information he can get his hands on
- A True Ninja organizes this information in a secure and consistent fashion
- A True Ninja can access and update his wealth of information from anywhere in the world, 24/7
- A True Ninja encrypts his information with secure passwords and large keys and stores up to date copies of it on computers all over the planet
- A True Ninja utilizes the same command prompt and aliases on every UNIX based computer he has access to. He can update this from any machine, at his own discretion, since this too is information that he can organize
- A True Ninja only leaves open port 22, and retrieves his information with SSH
- A True Ninja makes contingency plans and continues to adapt, to ensure the integrity of his data
i heard a true ninja jerks off holding his dick with two swords
why is stuycom.net redirecting here?