Tag Archives: searching

The Records Project (A Study of Paper vs. Computers)

One of my interests is finding efficient and useful ways to create, store, and retrieve information. I’ve tried tools ranging from wikis to to-do list managers to databases to Evernote to electronic notebooks to binders and paper notebooks, and while I continue to use a small fraction of those tools, still the grass is always greener on the other side, and I’m continually trying new ones.

When I recently started my biggest project to date, though, I knew that success required tools that would work and that would keep working, and, to my surprise, I’ve found those tools. This isn’t to say that they have not changed and been added to and removed from and modified, but their core has remained, and the project has remained workable, useful, and interesting to me – unlike nearly every other system I’ve used for more than a few months (I’m coming up on a year and nine months now). Because it’s been such a success, I think there are some important lessons to be learned from the project, and I would like to share the general idea.

Paper vs. Computers

When people talk about how to store and access information in the Information Age, the first and often most divisive question is whether it should be accessed through one or more computers or printed on sheets of dead tree. The debates inevitably come down to the same arguments over and over: Computers let you access information more efficiently, computers are the wave of the future, computers are faster to work with, computers let you back up your information. But then computers can crash, and paper is easier to read and work with, makes it easier to include information that’s more complicated than letters of the Latin alphabet, and doesn’t require you to have a charged battery. I’m sure you could supply a few more sound bites if you were called upon to do so. Nobody ever seems to win these arguments, although both sides are usually quite sure they’re right.

The debate is often portrayed as a battle between the enlightened people who understand technology and will carry the torch into the future and the technophobes who stick to paper because they’re scared or ignorant of technology or don’t want to give up what they’re used to, who hang on desperately to the relics of a bygone age and have been seduced by some foolish notion of emotional attachment to having paper in their hands. If this is the narrative you’re used to, the answer you read on the website titled The Technical Geekery might surprise you.

My answer, actually, is that we’ve built a false dichotomy for ourselves. There is no reason why a system needs to be limited to one medium, or why a system should be limited to one medium, except for lack of imagination, laziness, and the kind of technological elitism described above. At best, the people developing email systems, word processors, and databases implement a “print” function while looking down their noses at users who still want to take the antiquated and environmentally irresponsible action of printing out a document. So much more is possible! There is no reason why a system analogous to hypertext cannot be implemented on paper, except for the fact that almost nobody does it (the rare specimens of paper encyclopedias that remain being one of the few exceptions). There is no reason why we cannot have electronic searching and eBook copies of our printed documents, except for the way the book industry has developed. There is no reason why part of a system cannot be part on paper and part electronic (and I don’t mean that your book includes a CD-ROM containing ugly, buggy, and worthless software that works only on a specific type of computer and was thrown together at the last minute and shoved into the back of the book along with a prominent note on the front cover that you’re making a good purchase because it comes with a FREE CD!). And there is no reason why a combined system like this cannot exchange information in both directions as it develops. These ideas are what I’ve explored – to great success – in my project.

The Records Project

This project is called the Records Project. It’s a surprisingly slippery concept to define, so I’ll describe it simply: the core idea of the project is that I sit down and write about my life every day. That might end up being three lines on a sheet of paper that very briefly sketch the important events of the day, or it might end up being several thousand words of exposition or exploration or ranting. It all depends on the amount of time I have and my mood and what happened during the day. (Incidentally, I think this flexibility is key to the success of the method: some days there just isn’t the time or interest to do anything more than three lines on a sheet of paper, but making that an acceptable entry has ensured that I haven’t given up on the project.)

There are two places where I write things in the Records Project, and I’ll look at each of them in turn.

Random Thoughts

The first is called Random Thoughts, and it’s a document that’s been evolving since 2009. In this document I put quotations, anecdotes, ideas, and notes to myself; I add things if and when I feel like it. It’s kept in two text files on my computer; one is an archive and the other contains the current year’s notes. In order to be able to reference things in the document, the entries are numbered sequentially. Using some custom Linux Magic™, if I know I want to go to, say, entry 3456, I can call up the Random Thoughts window (which I always keep open on my laptop), type ;ta 3456, and the program figures out which file and what line that entry begins on and brings me there.

The power of that system starts to become apparent when you consider that, after more than 4500 ideas that run through your mind enough to make worth recording, you start building off of ideas you’ve had previously and it’s nice to keep track of how they link together. If, when I’m writing a new entry or when I’m reading old ones, I’m reminded of something else, I do a search of the document to find the other entry, and I link them together by simply writing the number of each next to the other. Thereafter, if I’m reading one and want to see the other, I can position my cursor over the number and press Ctrl-] to go look at the other entry.

(A section that you can skip over if you want, for those interested in the theory of linking: My links go both ways, a method known (creatively enough) as bidirectional linking. Most of us are used to unidirectional links because that’s what we have on the Web, but in many cases the connection is equally valid and interesting in both directions. The main reason many systems don’t use them is that it’s more difficult to maintain: you have to go place a link at the other end, and in a system like the World Wide Web, you probably don’t have permission to write a link onto somebody else’s web server. Since this is all my system, the only issue is the effort, and I’m committed to the better links it produces, so I write “BL” (for Backlink) and the source at every location I link to, even when this means going to the shelf and grabbing another notebook when it wouldn’t otherwise have been necessary.

The stories of other pioneering hypertext systems and some people’s insistence on bidirectional links on the Web are fascinating; take a look at this, for instance.)

Here’s an example page of Random Thoughts (click to enlarge):

Random Thoughts screenshot

CBs

CB stands for Chrono Book, a name chosen because once upon a time I had many other types of notebooks titled “something book.” My CBs are 80-page Moleskine Cahier notebooks; there’s nothing magical about that type of notebook, but I like them, they’re likely to be around for a while, and sticking with the same ones makes things nice and consistent. I’m on my twenty-fourth one at the moment. I make sure to write an entry in it every evening, but beyond that there are no requirements about the content or length. (Occasionally, if I don’t have time to treat the events of the day properly, I will put the entry off until the next day and just make some brief notes before going to bed.)

Here’s what a typical page looks like:

cb9-example

Searching CBs

The paper-is-for-Luddites camp will point at me here and say, “Hah! But how do you find anything in your 2000 pages of paper notes?” Believe me, I thought about this before I started – and while I admit that I do not have full-text search and that that can sometimes be a liability, I can still find things remarkably well. The heart of the system is an index of each notebook, which I maintain in the front cover of each notebook as I write, adding to it after I finish each day’s entry. When I finish the notebook, I type all of the index entries into the Records Project Paper Augmentation System (RPPAS).

The RPPAS is a custom software package that I wrote from scratch; here is where being highly computer-literate comes in handy. I took a long, hard look at how long it was going to take and other possibilities for handling the task, but found that there was no other software that even remotely resembled what I wanted. The RPPAS is still in development, but all the essential features that I need work.

The software runs in a terminal (a text-based interface) because it’s easy to program and efficient to use. It looks like this:

RPPAS screenshot 1

With the RPPAS, I can search all of my indexes at once for keywords I’ve put in the index. Once the results are displayed, I can press the number next to it to see what notebooks and pages that keyword is used at. Here’s an example for the keyword “Technical Geekery”:

RPPAS screenshot 2

If there are a number of locations listed for the same keyword, it can be pretty tough to figure out which one used the keyword in the way you were thinking of. Since index entries are really just a concise way of describing the content of the page, I wrote the “nearby” query to quickly list other index entries around a given one. For instance, in the following screenshot, I can easily learn that the rather vague entry “gender” listed in CB14 was about a discussion we had in my sociology class about whether the concept of gender should exist in society, as well as the “unpopular opinion” that arose as part of the discussion:

RPPAS screenshot 3

I happen to remember offhand that “CB14” began during the end of the Interim term of my freshman year, but that’s not something I can count on for all the notebooks I have, especially as I continue to add more. So if I don’t remember when the events in CB14 actually were, I can use the aptly named “When was” query, which shows the dates as well as the events listing, a list I put in the front cover of each notebook listing the most salient events:

RPPAS screenshot 4

This system allows me to find most things in about thirty seconds of searching at the computer. The downside of indexing as opposed to the full-text search possible on a computer file is that I might neglect to add a certain keyword or have not thought about the relevance of that keyword to the text at the time when I wrote it, and I would then be unable to find it by searching that keyword in the index. Even on the occasions where this happens, information is rarely lost forever; I can often remember a related concept which is in the index and find it that way.

It is foolish but common to assume that full-text search is intrinsically superior to paper-based search methods like indexing. Full-text search can be defeated as well; I recently couldn’t find the list of classes I intended to take next semester in my Random Thoughts document, even though I was certain that I’d written them in there. After manually paging through the document scanning for it, I found that I’d described them as “courses” rather than “classes,” causing the search to miss it. Full-text search, when used for large documents, also has an unfortunate tendency to find all sorts of things that are not actually relevant (unless you remember the exact wording that was used), forcing you to wade through piles of irrelevant information. Since index entries are assigned manually, they only get attached to things that you consider important, and you can use the same wording in the index for related pieces of information that don’t actually share a keyword in the text.

(Before you ask, Google succeeds in providing useful full-text searches of the unimaginably massive amount of data on the Internet using an extremely complex algorithm which draws on all kinds of metadata provided by sites (including index-like keywords!), the number of links to each page, what other users have looked at, the user’s personal search habits, and God knows what else; any system smaller than Google simply does not have the data or the computational resources to make that a useful approach.)

Exchange between Mediums

At the end of my discussion of paper and computers, I alluded to the idea that my definition of a good paper-computer hybrid system includes exchange of information in both directions. I have three ways of doing this (besides the already-described searching mechanism).

First, in addition to references within CBs and Random Thoughts, I use references between the two. Often I want to quote something I wrote in Random Thoughts in CB, or I want to allude to an event or experience from CB in something I write in Random Thoughts. So I simply write “RT 2412” in my CB or “CB20.56” (volume 20, page 56) in the Random Thoughts entry. If I want to look up the Random Thoughts entry, I go to the computer and type ;ta 2412 into my Random Thoughts window; if I want more information on the event, I can do some poking around in the RPPAS with that reference, or I can go to the closet and grab the notebook. There is really no disconnect between the electronic and paper components.

Second, I scan all of my completed paper notebooks into the computer, thereby addressing another of the anti-paper objections, that I might lose the notebook, drop it into the water, or have my house burn down. The scans are high-quality enough that I could reprint them or use them as a substitute for the paper notebooks if necessary, although I’d still much rather have the originals.

Finally, I occasionally print out a copy of the index, which I can use if I don’t have a computer handy and which will itself provide a backup to the computer version. (I do back up my files, but you never know for sure what might happen.) I’m a typography nerd, so I spent some time creating a feature that uses the LaTeX engine to create a nice, compact index (PDF, as an image at legible quality would be huge).

Why?

I know there’s probably one more burning question for many readers: why go to all this bother? This might be a question of why I want to use the hybrid paper/computer system, or why I’m doing this project at all. These are valid questions, and I’ll take them in turn.

Paper is a different medium than a computer. And because of this, I write differently on paper than I write on my computer. In particular, after many years of hard work and practice, I’m an extremely fast and natural typist (it’s a bad day that I type at less than 100 WPM in complete comfort). In my simple form of handwritten shorthand I can reach about 50WPM when I’m giving myself writer’s cramp while frantically scrawling scribbles that I might be able to read back in five minutes. Typing would mean that I could write more; for a while I kept a journal on the computer, and I think I did write more words than I do now. But for CBs I like writing slower, taking a few more minutes to reflect and really think about the words I’m writing instead of mashing them out on the keyboard.

Call me weird, but I also like writing by hand, and it’s something I don’t get a lot of chances to do nowadays, so paper gives me that chance. As I said before, I tried keeping a journal on the computer for a while, and I was inconsistent with that because I didn’t enjoy it; it always felt like a chore. I wanted to have a record of what I was doing and my thoughts, but I didn’t want to write it, and that’s as much a recipe for failure as trying to become a professional musician when you can’t stand practicing your instrument. Writing by hand with my fountain pen and my notebooks and going through the ritual of numbering and indexing makes it less of a task. Occasionally writing does feel like a task in this system, but only rarely, usually when I have something on my mind and resent having to take the time to do anything else at all.

That’s why the project has succeeded with paper, and why I don’t think it would have succeeded on the computer. It would also be a tremendous, unsearchable mess if I hadn’t developed the computerized indexing system and moved all of my random notes into the computerized Random Thoughts. This is why the combination is the solution.

But why do it in the first place? There are plenty of reasons, but a couple stand out. I initially started the project because I wanted to improve my autobiographical memory, and that has certainly happened. I’m sure that it has also made me a better writer, even in the relatively short timespan of the project. I’ve written over 450,000 words in RT and CB combined, and even when I’m not trying to produce polished writing, writing that many words cannot help but improve your writing skills. And often I do look something up in the thesaurus or spend some time working out how to express a complex idea. Finally, it satisfies my desire to have a complicated, organized system of information that is truly useful, and I get to play with information systems while accomplishing something.

Should you try something like this? It would be silly to say there is a right answer to this question. But a Random Thoughts–like document takes practically no effort and can be both lots of fun and extremely useful. All you have to do to start is create a new document in your word processor or text editor of choice and start typing whenever you have something you want to write down. That can be quotations, stories from your day, reminders about things you need to do, anything you want. Sure, there are tools that will make it easier to use (for instance, I have macros that will jump between files, find numbered references, and automatically insert the next unused number for a new entry), but you don’t need them to get started.

My CB system is for the truly dedicated. I have not left out an entry for a single day so far, and I don’t intend to. Regardless of how picky you are about that, it takes time and deliberate effort to write something regularly, and most people will give up (including me, until I found this system). It also takes additional time and motivation to maintain the search system so that you can find things. I think it’s worth it, but everyone will not, and we would live in a boring world if everyone did.

That said, I highly recommend a project of this kind (if at a lower level of commitment), even if you only try it for a couple of weeks and conclude it’s not for you. And trust me, it gets easier: once you’re past the first couple of months, it changes from being a difficult project you’re working on to something you just do.

If you’re interested in the RPPAS software I described earlier, my code and a manual can be found on GitHub, licensed under the GNU General Public License.

How to Access a Web Page That’s Gone Offline

Have you ever been researching something and come across a website that looks like it’s exactly what you’re looking for, only to click the link and find that it doesn’t exist anymore? Unfortunately, the Internet changes quickly, and things as simple as reorganizing a site can completely invalidate any existing links — even if the information is still there! And, of course, it takes money and effort to keep websites running and well-maintained, so less-popular sites have a tendency to eventually disappear when their owners tire of them.

Fortunately, this has been a problem for long enough that people have started to develop ways to get around it. Unfortunately, most of us still don’t know about them, and I find myself teaching people often enough that I thought I ought to write a brief article. I will present a couple of techniques, from simple to more complex.

1: Check the Google cache.
This technique is useful if a site is experiencing temporary downtime, or if you click on a search result and find the page has moved to a different URL.

When you search Google (or any other Web search engine), you’re not actually sending a request to every website that the content might be on. Instead, you’re searching an index of the contents of all the pages the search engine knows about. In addition to the indexed form, most search engines store copies of all the pages they’ve been to (usually excluding media to save space). Here’s the secret: you can access them too, and you can access them even if the original site is offline.

On Google, there’s a teensy little down arrow next to the page’s URL (in green). If you click on that, there’s a “cached” option. (Google likes to move this option around, so if it’s not there, poke around and see if it’s somewhere nearby.) Bing has a similar little arrow; Yahoo is the sensible one and just has the word “cached” next to the URL.If the page won’t come up in a Google search or the version in the cache also gives a 404 error or doesn’t contain all the information you needed, though, you’ll have to try a different method.

2: Access old Geocities pages
This is a very specific technique, but if you happen to want the contents of a page starting with http://geocities.com, know that Yahoo permanently deleted all the contents of this former free web hosting service. A lot of it was junk, yes, but there was also some very useful information on Geocities websites. Fortunately, the nice folks at Reocities copied a large portion of the content before it went down. You can try accessing it this way by simply changing the ‘g’ to an ‘r’ in the URL you’re trying to access.

3: Use the WayBackMachine
Even if the page you’re trying to access was not hosted on Geocities and has been down for years, there’s still hope. The Internet Archive’s “WayBackMachine” keeps permanent snapshots of over 390 billion pages (at latest count), so there’s a good chance that the one you’re looking for is there.

Using it is straightforward: browse to http://archive.org and paste the URL you’re trying to access into the WayBackMachine box. (You have to remove the http:// first if you’re pasting.) You’ll then be prompted to select a snapshot date; the more popular the site, the more frequent the snapshots. You can start by selecting the latest one, but if that only contains an error page you can move back several until you find what you’re looking for. This is also handy if you want to view an old version of an article or manual, or if you just want to have fun seeing what the Google homepage looked like in the nineties.

The archives aren’t perfect; sometimes a page or even a whole site will simply be missing, and there’s not really anything you can do about it. But very often it will let you view that missing page.

Now you can be a little bit less frustrated next time you get the dreaded 404 error!

The Art of Personal Indexing: The Complete Guide to Indexing Your Paper Notes

Contents

Why This Article?
One of the biggest advantage of electronic documents has always been that they’re easy to search. Good ol’ Ctrl-F has probably saved millions of hours since its invention. But what if you’d rather have something on paper, but you still need to be able to search it? I don’t have a keyboard and a little display in the front of my notebooks, but I do have an index, and in a large number of cases it works nearly as well.

The index seems like a lost art nowadays with so many references moving online. Maybe that’s not so surprising: making a generally good index is quite difficult and historically has been a profession, and there’s actually an organization called the American Society of Indexers. But if you just want to help yourself find stuff when you put it away in your notebook or binder, it couldn’t be easier to start an index. In fact, you’re the best-qualified person to make an index for yourself, because you know how you relate ideas way better than anyone else.

I’ve found a surprising lack of resources on the Web relating to this idea, so I’m writing my own. While I’ve designed this guide for notebooks because that’s how I use it, most of the techniques should apply to binders as well, or maybe even filing systems with a little bit of adaptation.

(As a side note, the plural of index as used in this article is indexes. Indices is a more Latin form nowadays used only in mathematical contexts.)

Examples
You might prefer to look at these once you’ve read some of this guide, but if I put them at the end you might not know I had them here until you finished. I’ll refer to them later on. (Click on an image to enlarge it.)

A journal index.
A dream index.
A quote index.

A Topic Book index (ideas, thoughts).

Influences on This Technique
What got me interested in making my own indexes in the first place was an article by Lion Kimbro in the book Mindhacker, as previously mentioned way down in the middle of this article. He also wrote a book, How to Make a Complete Map of Every Thought You Think, which gave me a few more ideas. Many of the techniques are borrowed from one or both of these books, but I’ve added some of my own experience and provided a bit more description.

My favorite idea from there, and one that I’ll repeat several times here, is this: “There are no binder police.” (I’ll say notebook for better consistency with this article.) It’s great to look at other people’s techniques and learn their rules. It’s also great to make up your own rules. Organization makes things more consistent and more useful. But sometimes stepping outside the lines is even better, and here, if you do, nobody is going to tell you you did something wrong. Don’t wonder whether you can draw an arrow in your index if I didn’t tell you to. Do it! Here’s a secret: if you like, you can even do something “wrong” just because you can. It feels pretty good sometimes.

What an Index is Not
An index, as described in this article, is not a sequential list of the contents of your notebook. This article talks about the indexes the author uses, which consist of writing a page number next to the title of an entry with no particular order. While I don’t doubt this works for the author, personally I wouldn’t call it an index—it’s much more like a traditional book’s table of contents than an index. The problem with that approach, at least for me, is that, while it’s a little bit easier to create, you have to scan the entire thing to find what you’re looking for, which takes away a good part of the efficiency (and, frankly, the fun) of using an index in the first place.

An index is not a list of titles. You want to extract words or concepts from your content and provide multiple ways to access it, because that’s the way your brain works.

An index is not an exhaustive list of every possible word you might relate to a page in your notebook. Don’t hesitate to add useful keywords to the index, but only add ones you honestly think you might use to get back to that point.

Finally, and most importantly, even after those rules, an index is not something that gets created only according to rules that are set in stone. Remember, there are no notebook police. If you want to write a note next to one of your entries, do it. If you want to flip the order of two entries, draw a big arrow on the page. If you want to add something that’s not even in this notebook, do it!

Numbering Your Pages
This is both a boring topic and a boring task, but it’s a topic that cannot be avoided. If you don’t have any page numbers, you can’t have an index. Unless you’re really lucky, your notebook probably won’t come with page numbers in it, and if you’re using a binder and loose-leaf, it definitely won’t.

If you’re going to use your notebook completely linearly, from front to back, you can get away with numbering pages as you use them. I personally prefer to go ahead and do it all at the beginning anyway even though it’s a boring job just because I’d rather not deal with it later, but you may feel differently. If you’re splitting the book into multiple sections or using some other organizational system, though, you’re going to have to bite the bullet and number every page at the beginning.You can get lazy if you like and only number every other page (either numbering with only odd numbers on the right side or using every number and using .5’s for the left side). However, if you’re picky like me, you’ll probably want to number all of them. If you do go for numbering all of them, number all the right-hand or left-hand pages first, then go back and do the others—it’s much faster since you don’t have to move your writing hand back and forth.

Update 2013/06/28: There’s one other option, sometimes called the “quadrant method.” See the appropriately named section on this Moleskine/GTD fan page.

In any case, make sure you’re turning the pages carefully so you don’t skip any accidentally. If you do miss a page, that’s not the end of the world either—the notebook police aren’t going to fine you for being clumsy. Just number the pages in between with decimals or fractions (I have at least one notebook that goes 86 – 86⅓ – 86⅔ – 87). And if you accidentally skip a number, you’ll just be missing a page number—it doesn’t matter.

If you’re picky and paranoid about screwing up the numbering, you can do 20–50 pages on one side, then go backwards doing the facing pages, checking your work as you go along. That way you’ll catch it easier and have fewer pages to correct if you decide to change them.

You can put your page numbers anywhere on the page you like. Personally, I’ve gotten used to using the outside bottom corners, but there is not even a guideline for this, much less a rule.

If you’re using a binder, you have the ability to add pages in the middle of already existing pages. You can do whatever you like for numbering added pages, but I recommend using decimals between the existing pages. So if you insert a sheet between page 24 and page 25, number the front side 24.3 and the back 24.7. If you later add something between 24.7 and 25, number it 24.8 and 24.9, and so on. If you prefer integers, you can start by numbering by tens (if you’re old and geeky enough to remember programming in BASIC, you’ll be familiar with this technique).

With a binder, you can’t number only one side of the pages, because if you insert a page in the middle later, one of the pages will suddenly have a different (implied) number. However, if you trust yourself to remember to add the missing number every time you add a page in the middle, you might be able to get away with it.

Making an Index
Your index should go at one end of the notebook. Most books have an index in the back, but feel free to put it at the front if you prefer—that’s what I usually do. Don’t put it in the middle, though, because the very front and very back pages are by far the easiest to find.

For a 240-page journal-size notebook, I use five pages. For an 80-page notebook, I use two. Those are the only sizes I’ve experimented with extensively, so I can’t offer advice on others, but give scaling it a shot and see what you find out. You’re going for the most information in the fewest number of pages without making it messy or difficult to read. (I write multiple entries per line, usually 2–3, letters about 2mm tall; see the examples.)

Then write big letters along the left side of the page (preferably in a different color than you intend to write in the index with). Some letters need more space than others. In a 240-page ruled notebook with 30 lines, I use five or six as a baseline number and add, subtract, or combine letters as needed.

  • C usually takes up more space than any other letter. Give it at least one-third more space than a baseline amount.
  • I takes up somewhat less space than average.
  • J and K can be combined effectively into JK, using an average amount of space together.
  • N and O can be combined into NO, using an average amount of space together.
  • Q needs almost no space, as one would expect. I prefer to not combine it with either P or R, since they are average space-users, but rather to write it on its own, giving it only one or two lines.
  • S needs more space than average.
  • T does too.
  • U and V can be combined into UV and still use slightly less space than average.
  • W takes the most space of any of the end-of-the-alphabet letters, but can still use slightly less than average.
  • XYZ123 can be just one section and still look empty most of the time. (123 indicates entries that start with a number, like 3-ring binder or 911.)
(The above assumes that you’re using English for your notes; if you’re using a different language, you’ll need a different letter distribution.)

You can plan out the letter distribution ahead of time if you like: multiply the number of lines per page by the number of pages, divide it by the number of entries (you can do 26 if you like, but as shown above, you probably want to combine some of them), then add and subtract from each letter to adjust the distribution, making sure the total number always remains the same. The one catch with this system is that you probably don’t want to split a letter over multiple pages, so you have to deal with also grouping the letters into sets of the number of lines on a page as well.

Using an Index
Whenever you add some notes to your system, whether by writing them, copying them, filing them, or punching and binding them, add some entries to the index. Good keywords

  • are not the title of the page (we’re not going for a list of contents).
  • do not apply to very many other notes (a keyword that has 15 page numbers is annoying since you have to look up many of them).
  • are things you would think of when trying to find these notes (that seems obvious, but sometimes I find myself putting keywords in the index that are related to the notes but I couldn’t possibly expect myself to use when looking something up).
  • if in doubt, should be the first things you think of, because those are probably the same keywords you’ll think of when you’re looking for it again.

You can take a look at my example indexes for some ideas for keywords. If you don’t understand what one is, that’s good—it means it’s personal.

I prefer to write names as Lastname, Firstname, but sometimes I have to skip out of this pattern when I don’t know somebody’s last name. If I’m afraid I might forget someone’s last name, I’ll often enter it in my standard format, then add an entry “Firstname, see Lastname”. In the end, it doesn’t really matter how you prefer to do it as long as you’re relatively consistent.

Try to roughly alphabetize the entries within each letter. It doesn’t have to be perfect, and it won’t be, since you can’t predict what entries you’ll use next, but at least you can have items whose second letter is a at the beginning and ones with u‘s near the end. I’m still working on learning second-letter distributions for different letters; for instance, nearly half of words that start with c start with co, and most of those start with com or con. But don’t worry about these minutiae at the beginning, just try to get the entries roughly in order.

I start with two columns, the first roughly A-L and the second M-Z; if one of them fills up and you still need to add more to the letters in that column, you can squeeze some entries in between, use some of the space from an adjacent letter, or put the entry somewhere else where there’s space and draw a line to the place where it should go. I’ve done this several times in the first example index.

A final note here: be careful with the index pages! One of my notebooks recently split apart at the first page because I turn to that page so much and probably don’t do it too carefully (you can sort of see the damage in the final example). If you’re using loose-leaf paper, put those little reinforcement stickers around the holes (if you don’t have any, you can imitate them by taping over the holes on both sides and then re-punching the paper through the tape). If you’re using a notebook, be gentle when you turn to the index so you don’t rip the index pages out or wear through the binding.

The Index is Never Finished
It’s frustrating to have a nicely designed and maintained index, flip to the index, and be unable to find what you were looking for. It’s even more frustrating to do this twice. So if you can’t find something, don’t just page through the notebook and find it and then continue on your merry way. Find the place, but then add it to the index under all the keywords you tried to find it under. That way, next time, you won’t have to do the same thing.Similarly, if you do find something in the index but only after you’ve thought of several different keywords, add the ones you were originally thinking of. And if you’re reading some notes and suddenly think of a brilliant keyword you didn’t think of before, go ahead and add it (just be prepared to find that you have, in fact, already written that one in the index—it will happen).

Advanced Topics
If you’ve never made an index before, don’t worry about these things now. But if you’re looking for more, here are some other advanced ideas that I’ve found useful.

References
Sometimes you might want to reference some other notes somewhere else. If they’re in the same notebook or binder, you can just write the page number (I always write references in green ink, but I’m particular like that and I write with a four-color pen). If they’re in a different notebook, though, you’re going to have fun writing things like “that yellow spiral-bound notebook” or “the one I currently keep in my pocket.” So it’s better to start numbering your notebooks/binders and classify them if you have different kinds. I have the following system:

  • TB (Topic Book) – Ideas, things that don’t really go anywhere else.
  • CB (Chrono Book) – More conventionally known as a journal, but “journal book” sounds really dumb.
  • DB (Dream Book) – What it sounds like.
  • PB (Pocket Book) – A little tiny green notebook that I squeeze random ideas into and then put somewhere else.
  • QB (Quote Book) – Another pocket-sized notebook with quotes from stuff I’m reading.

Each set has a volume number, and every volume has page numbers, so I can write, for example, TB1.53. This reference is easy to write inline in other notes or in an index. Someday I’m hoping to make an index that covers many notebooks, but right now I don’t have enough notes to make it necessary or worthwhile.

Internal Non-Page Numbering
Sometimes it might be easier or more useful to index by a numbering system other than pages. For instance, in my dream journal, I number each entry and use that for my index. It may be less precise, since one entry can span multiple pages, but it’s more useful for finding what happened where.

You don’t need to adapt your index in any special way, you just have to remember that the numbers aren’t page numbers. If you don’t number the pages, that won’t be hard to remember, but if you’re picky like me (are you seeing a pattern yet?) you might want to number the pages anyway and include a table of contents in the back that maps your internal numbering system to pages, or use the pages for some other thing.

It’s useful to add a second set of page numbers at the other end of the page (top if you numbered pages at the bottom, or bottom if you numbered pages at the top, or either if you didn’t number pages at all, or on the side if you like to break the rules, or on the back of the page if you’re just weird) that match the internal numbering, in a way similar to the guide words in a dictionary. Thus if you find that you want to look up #459, you can just flip through the book at that corner until you see the number 459.

Multiple Pagination Systems
In my Topic Books, I have a separate section at the back for quick notes. Some of these later get made into full pages or sections, some of them don’t. In any case, I like to index them. The information density is so high, however, that it’s not useful to give the number of the page—there could be twenty completely different ideas on the same page. So I number these ideas separately.

Page numbers then get written in black next to keywords in the index, and quick note numbers get written in blue. If you don’t have multiple colors, you can put page numbers for one of the systems in parentheses, or precede them with a B or a smiley-face, or whatever you fancy.

The Index Game
This isn’t really a technique, but it can be fun all the same. If I look at the index of one of my journals, I can instantly remember a bunch of the stuff that happened during that time just from reading the entries—indexes actually serve as a decent summary.

The Index Game, then, is to look at an index (preferably one you haven’t used in a moderate amount of time) and try to see how much you can remember about the notes that correspond to each entry without turning to that page. For every one you succeed on, you’ll probably strike out on several more, but it’s amazing how much you can remember about some of them even when they’re extremely random.

One trick is to look at the page number, then scan the rest of the index for other items with the same page number or a nearby one; hopefully another one will help you remember.

Searching Google: Tips & Tricks

I have published a new article about all sorts of tricks for searching the web, both in forming search queries and using features of Google you probably didn’t know existed. This is an updated version of an article that’s been around in the past; if you were ever a subscriber of the original Technical Geekery Tips, you might vaguely recognize it.

You can read the article here (it will remain under the Miscellaneous tab of the website menu, if you want to look for it later).

People who know me personally might also appreciate a new item on the (also new) Miscellaneous tab, Conversations with Soren. Check it out.

What Email Filters Are, and Why You Should Use Them

Ever gotten repeating emails from a website that you just can’t get rid of? If you use Gmail, would you like to be able to prevent emails from a certain address from ever being marked as important? Would you like to store work orders or other requests in a separate folder automatically? Email filters give you the ability to take control of what emails get presented in your inbox and how they’re displayed to you there.

I’m going to show you how to set up a filter in Gmail, since that’s what I use (and because it has one of the more powerful and useful filter systems out there), but virtually every email client provides a filter of some sort.

Filters are essentially just a search that’s automatically applied to your incoming mail, so they’re pretty easy to understand. Here’s how to set one up:

  1. Locate the filter settings in your Preferences or Settings. In Gmail, it’s under the Filters tab in your settings (in the new layout, you have to click the gear icon in the upper-right-hand corner to get to settings).
  2. Determine criteria that match the email you want to filter out. See below for suggestions on what you might want to filter. You can typically search the subject, sender, receiver (different depending on whether it was sent only to you or to a mailing list), or body text. You can also frequently check for whether a message has an attachment.
  3. Type the criteria and test the search on emails you already have. If your email client is any good, you’ll be able to see what messages you already have that match the filter. If it looks like it’s going to work, you can set the filter.

No ideas on what you might want to filter? Here are a few ideas:

  • The most obvious is when a website is sending you spam that you can’t get rid of. For instance, I somehow wound up on a software development list that I did not sign up to be on, and no matter how I changed my preferences, I couldn’t seem to get off of it. To correct the problem, I simply went into my email settings and filtered on the search subject:([supertux OR [meta) (this matches the prefix that comes before the subject in every message from the list) and set the action to “skip inbox” and “delete.” Now I never see the messages anymore.
  • If you use Gmail, you may not know that you can use a +anything after your email address. For instance, emails sent to both john.smith@gmail.com and john.smith+spam@gmail.com land in John Smith’s inbox. Since you can filter on what address an email was sent to, you can take advantage of this to help filter spam and track the source of it when signing up for less-than-kosher websites. You can also use it to specify that certain email is important. For instance, you could opt to have email sent to john.smith+bob-urgent@gmail.com automatically starred and flagged as important if Bob’s messages are always important.
  • If you’re on a mailing list or two, it might be nice to have email from the list kept in a separate folder if you don’t always want to look at it with the rest of your email. (If you use Gmail, you can also label it without removing it from the inbox if you just want to be able to look through the archives more easily later.)
  • If you’re wondering what filters I use, here’s a screenshot (click to enlarge and make it easier to read):

My email filters. See above for suggestions if you can't see this...

In Gmail, there’s another handy way to create a filter: build a search from the ordinary search box, then click the little arrow next to the search box and choose “create a filter from this search”:

Create Filter From This Search

Searching Google for Only a Specific Site

Ever been to a really poorly-designed website? I’ve certainly seen a few. And what’s worse than a poorly-designed website? A poorly-designed website without a search box.
Fortunately, you can get around this fairly easily using a surprisingly little-known trick on Google. Just start your query with site:www.confusing-site.com. (You must not put a space between the site: and the domain of the website, or it won’t work.) Try it out–here’s an example search.

This can also come in handy if the website does have a search box, but just doesn’t have a good one. I also use it routinely when I read a news article, then want to show it to someone else. If I know what site I found it on (say, Slashdot or the New York Times website), I can easily get back to the article by searching this way, whereas if I go to the site and try to browse for it, it’s likely to be buried or even completely gone if I go back a day later.

Soren “scorchgeek” Bjornstad

http://www.thetechnicalgeekery.com

If you have found an error or notable omission in this tip, please leave a comment or email me: webmaster@thetechnicalgeekery.com.

Copyright 2012 Soren Bjornstad.
Verbatim copying and redistribution of part or all of this article
is permitted, provided this notice is preserved.

Five Really Cool Chrome (and Firefox) Extensions

In my opinion, one of the best things about Google’s Chrome browser is the excellent selection of browser extensions. In the past, Firefox has taken the title for largest selection of extensions, but recently I’m seeing more and more really good Chrome extensions. Since two of these extensions are available for Firefox as well, I’ll give you links for those versions too.

Here are five of my favorite extensions.
1: AutoPager (Chrome and Firefox)
Have a favorite site that likes to split articles over five different pages, requiring you to click the Next link every time you get to the bottom of the (usually about two paragraphs long) page? AutoPager automatically loads the next page once you begin to reach the bottom of the page you’re currently on, then tacks it onto the end of the page you have.

It does require a “rule” for each page, but most popular sites have rules uploaded by users, and if you really want it to work with a site that doesn’t have a rule, you can always write one yourself.

Download:
2: Better Omnibox (Chrome only)
The “omnibox” is the improved address bar in Chrome that can be used to load websites by typing just the first couple of letters, search the web, and search websites (type the first couple of letters of the site you want to search, then press Tab). Better Omnibox extends this to allow you to search your history and bookmarks as well by simply pressing #, then entering your search terms. Searching history and/or bookmarks always used to be a painful process, requiring opening up the history page or bookmarks manager, and it never seemed to work quite right for me. With this extension, finding a page I visited yesterday is as easy as it could possibly be.

Download:
3: Chrome Remote Desktop (Beta) (Chrome only, obviously)
This extension is just what it sounds like–you can access another computer remotely. You need a person sitting at the computer you want to access, who clicks the Share button and receives a code and sends it to you; you simply type the code in and are on your way.
As a makeshift tech support representative for quite a few people, this extension comes in handy occasionally. Trying to write a script for somebody over the phone (or worse, Facebook chat with a slow typist, as it was last time this happened) is more frustrating than you can possibly believe until you’ve tried it. After I finally thought about this extension, the problem was fixed in under five minutes.
Also nice is the fact that this extension is completely cross-platform: you can access a Mac from a Windows PC, a Linux PC from a Mac, or even a Windows PC from a Chromebook. It’s supposedly still in beta, but I’ve never had a problem with it.
Download:
4: Visual Hashing (Chrome and Firefox)
This handy extension changes the white background of password fields to four colored bars which change as you type your password. Each set of colors is the result of a mathematical calculation based on the password you type, but there is no way to derive the password from the bars, so this won’t help anyone watching you figure out your password. On the other hand, once you‘ve typed your password and watched the pretty colors a few times, you’ll notice that the colors don’t look right and realize you’ve mistyped it before you hit Enter and wait fifteen seconds for the site to reload and make you type everything in again.

 

Download:

 

5: Chrome Daltonize (Chrome and sort of Firefox)
This extension is a bit more obscure, but it’s still interesting. Its purpose is to filter the colors in images that appear in web pages. It can either simulate colorblindness or perform the Daltonization technique, which creates more contrast and makes it easier for people who are colorblind to differentiate the colors in the image. This extension is probably a bit more useful for me, since I actually am colorblind and occasionally have difficulty with fancy graphs and maps on the Internet, but most of the people with normal color vision to whom I’ve showed the simulation have thought it was pretty cool too, so it might be fun to play with anyway.

 

Chrome configuration
Once you’ve installed the extension, right-click on the little color wheel that appears on the toolbar and choose Options. Chances are fairly good the default settings aren’t what you want. You can either choose to Daltonize or Simulate any of the three main types of colorblindness; if you actually are colorblind, you probably want to choose the one that corresponds to the type you have. (If you’re not sure, check out the handy test at http://www.colour-blindness.com/colour-blindness-tests/colour-arrangement-test/.) If you’re just playing around, you might want to try each of the settings in turn.

 

Once you’re done with the settings, close the tab, browse to the page you want to try the extension on, and click the color wheel button.

 

Firefox configuration
There is no native Firefox extension, but there are bookmarklets available at the download link. To use a bookmarklet, just drag the link to your bookmarks toolbar or menu, browse to the site you want to use it on, and click it. (It might take a second to work; be patient.) With the bookmarklets, you need to drag a different link depending on which settings you want; see the Chrome configuration section if you’re confused about what they are.

 

Download:
Firefox bookmarklets: http://daltonize.appspot.com/

Three Fun Google Tricks

Google is well-known for putting cool logo modifications on their homepage. So it doesn’t come as much of a surprise to see that they love throwing random and quirky tricks into their search engine. Here are a couple of things to try searching for.

I’m not going to tell you what these do, or it wouldn’t be fun anymore–try them and see for yourself.
  • do a barrel roll
  • askew
  • recursion
Soren “scorchgeek” Bjornstad
http://www.thetechnicalgeekery.com

 

If you have found an error or notable omission in this tip, please leave a comment or email me: webmaster@thetechnicalgeekery.com.

 

Copyright 2012 Soren Bjornstad.
Verbatim copying and redistribution of part or all of this article
is permitted, provided this notice is preserved.

Using the Internet to Recall Sayings and Quotations You’ve Forgotten

Ever remember fragments of a saying? Or just part of a quote? You’re not alone. The trick is figuring out how to search for it. Here are two searching tricks to rescue you from that annoying feeling of remembering just part of something.

1: The Asterisk
There’s a really handy Google trick that almost nobody seems to know about: an asterisk (*) matches any single word. This lets you easily search for quotes that you can only remember part of. For example, “one death is a * a million deaths is a *” will easily bring up Joseph Stalin’s fairly well-known statement, “One death is a tragedy; a million deaths is a statistic.” (I have this posted on my wall right in front of me, so I’m not liable to forget it, but I couldn’t think of a better example.)

 

This trick works wonders; there are only so many possible sentences with that precise structure, and if it’s something reasonably well-known, the first page of hits is liable to give you a unanimous verdict on what you were trying to think of. If you get irrelevant results (which has actually never happened to me), you can try putting the whole thing in quotes. It’s also possible that you remembered the part that you knew wrong; try adding more asterisks in places you weren’t sure of.

 

2: Searching Books on the Internet
This is what happened to me the other day. I remembered the following phrase: “You may be the world champion tetris player, but eventually….” That was it. For the life of me, I could not figure out where it came from, or indeed any information about it. So I went to Google and just typed that in. Guess what? There was exactly one hit, a Google Books result taking me to exactly the passage I was looking for.

 

To test whether this was a transferable trick, I grabbed five books from my bookshelf, flipped them open to a random page, and typed in a quote from each. A search for the quoted passage (only ten words long or so, and devoid of any specific names) brought up the correct title of the book in five out of five cases.

 

The uniqueness of fairly mundane English sentences is truly surprising. Some things that worked:
  • “It lay out in the open, several feet away and unreachable” (Once Upon a Time In the North by Philip Pullman, 1 result)
  • “nudging people to use the standard cursor keys” (Windows XP Annoyances for Geeks by David Karp, 3 results)
  • “For the last six months we have exhausted every means of locating you” (East of Eden by John Steinbeck, 3 results).
So next time you can’t remember the source of a quote you’re thinking of, forget about thinking hard and scanning through books–just type it into Google. In most cases the websites also let you see a couple of pages of context, so you probably don’t even have to go get the book. Remember to use quotation marks around the quote, assuming that you’re fairly sure your words are exactly right–you’ll get much more relevant results.

 

Many sites and devices that you might use have their own search features (for instance, I can search all the books and documents on my Kindle from the main screen), but with the success rate of this technique, I’d only recommend using that if you don’t have immediate access to Google.

Finding Text on a Web Page Quickly

Chances aren’t bad you already know the basics of this trick, but if you don’t, it could save you a heck of a lot of time. If you already know the trick, I have a couple of wicked cool shortcuts you probably don’t know.

(Disclaimer: I only had access to the Chrome and Firefox browsers while writing this tip. I find that these are the best browsers available today; if you don’t have one of them, check them out! If you are stuck using a different browser, these tips will probably work anyway, but I can’t guarantee it.)

Part 1: Searching for Text on a Page
In every modern browser, you can quickly search for any text on the current page by pressing Ctrl-F (“find”) and typing a word or words in the search box. In most browsers you’ll be brought to the first result and all results will be highlighted as you type. Here are screenshots for Chrome and Firefox users.

Part 2: Cool Tricks
Now here’s the stuff you probably didn’t know:

1. Alternative Ways to Start Searching
If you don’t like the Ctrl-F shortcut, in most browsers you can use F3 instead. In Firefox, you can also use a slash (‘/’). This search works slightly differently from the normal search box (for instance, there is no “Find Next” button); see a screenshot.

If you use Firefox, there’s an even faster way to start searching if you set an option. Go to Edit –> Preferences (or Tools –> Options depending on the version of Firefox you use), select the Advanced tab at the top, and check the box “Search for text when I start typing” (screenshot). Now when you’re outside of any elements on a web page that accept text (text boxes, search boxes, drop-down menus, etc.), Firefox will automatically start a quick find.

2. Continuing A Search (and more tricks)
Because of the differences between browsers, this section is really confusing. So I made three versions, the Chrome version, the Firefox version, and the both version. Pick the one that corresponds to the browser you use — if you use both or neither, you probably want to plod through the both version so that you know the differences. (If you use Internet Explorer or Safari or some other strange and weird browser, take a look at the tips and experiment to see which ones work for you.)

____CHROME____
Beginning a search is all well and good, but if the first result isn’t what you wanted, how do you move on? When you start a search, you’ll get a couple of buttons that let you move to the next or previous result. Clicking these buttons with the mouse works just fine, but if you don’t have your hands on the mouse or you’re clicking other places on the website with your mouse, you may find that repeatedly returning to the buttons is a bit inefficient.

In this case, you need the F3 (Find Next) key. Pressing F3 will immediately jump you to the next result on the page. (If you close the search box and then realize you need to keep searching, F3 will still take you to the next result.) If you miss a result and need to go back, just use Shift-F3.

But F3 is kind of hard to reach, isn’t it? Just pressing Enter (and Shift-Enter) does exactly the same thing while you’re in the search box. There is only one small limitation: if you close the search box, Enter won’t reopen it–only F3 will.

When you press F3, the text in the search box is highlighted, allowing you to easily change the word you’re searching for if you need to.

____FIREFOX____
Beginning a search is all well and good, but if the first result isn’t what you wanted, how do you move on? If you start your search by pressing Ctrl-F or F3, rather than /, you’ll get a couple of buttons that let you move to the next or previous result. Clicking these buttons works just fine, but if you don’t have your hand on the mouse or you’re clicking on other things while searching, you may find that repeatedly returning to the buttons is a bit inefficient. And if you started your search with /, you apparently can’t go to the next result at all.

In this case, you need the F3 (Find Next) key. Pressing F3 will immediately bring you to the next result on the page. (If you close the search box and then realize you need to keep searching, F3 will still take you to the next result.) If you miss a result and need to go back, just use Shift-F3.

But F3 is kind of hard to reach. Just pressing Enter (and Shift-Enter) does exactly the same thing while you’re in the search box. However, this trick does have a couple of limitations:

  • When searching with / (but not when using Control-F), pressing Enter will follow a link if the text found was in a link. If you land on a link and want to keep searching, you need to press F3 instead of Enter.
  • After closing the search box, Enter doesn’t return to a search, only F3 does.

If you don’t think you can remember the differences between F3 and Enter, you can just forget about the Enter tip and use F3 instead–slightly less efficient, but simpler.

____BOTH____
Beginning a search is all well and good, but if the first result isn’t what you wanted, how do you move on? If you start your search by pressing Ctrl-F or F3 in Firefox, or anytime in Chrome, you’ll get a couple of buttons that let you move to the next or previous result. Clicking these buttons with the mouse works just fine, but if you don’t have your hands on the mouse or you’re clicking other places on the website with your mouse, you may find repeatedly returning to the buttons is a bit inefficient.

In this case, you need the F3 (Find Next) key. Pressing F3 will immediately bring you to the next result on the page. (If you close the search box and then realize you need to keep searching, F3 will still take you to the next result.) If you miss a result and need to go back, just use Shift-F3.

But F3 is kind of hard to reach. In both Chrome and Firefox, just pressing Enter (and Shift-Enter) does exactly the same thing while you’re in the search box. However, this one does have a few limitations: In Firefox, when searching with / (NOT when using Control-F), this will follow a link if the text found was in a link. In both Firefox and Chrome, after closing the search box, Enter doesn’t return to a search, only F3 does.

In Chrome, when you press F3, the text in the search box is highlighted, allowing you to easily change the word you’re searching for if you need to. Unfortunately, this doesn’t happen in Firefox.

In Firefox, when searching with /, pressing Enter while over a link will follow it.

Part 3: Internet Explorer 7 Notes
While I won’t exactly consider this a complete test, I got a chance to try this tip out in Internet Explorer 7. (Note that the current version is 9, so some of this information might potentially be out of date considering your browser.)

  • Oddly, you can’t use F3 to advance to the next match–but it still works to bring up search in the first place. Go figure.
  • When you press Enter, it seems that the search function finds the first match after where you last clicked on the page (though that point isn’t actually displayed in the browser).
  • You can still use Enter to advance to the next match.


Soren “scorchgeek” Bjornstad
http://www.thetechnicalgeekery.com

If you have found an error or notable omission in this tip, please leave a comment or email me: webmaster@thetechnicalgeekery.com.

Copyright 2011 Soren Bjornstad.
Verbatim copying and redistribution of part or all of this article
is permitted, provided this notice is preserved.