A pleasant walk through computing


3 Chrome Extensions for Performance, Research, and Blogging

Efficiency Rag 1

I like to be efficient in my work. But I don't like to use technology when I don't have to. I've found too much technology reduces productivity. So, I might try out a whole bunch of utilities to make my life better, then settle on just a few of them.

These three Chrome extensions are useful, simple and don't use much memory.


I often find myself with twenty or thirty tabs open when I'm trying to solve a programming problem or learn a software tool (or buy new flashlight). Just as often, I want to temporarily save those tabs and look them up later. I previously used Chrome's right-click > bookmark all tabs feature. That worked, but OneTab is much better.

OneTab will collapse all open tabs (except pinned) to a single tab containing links that can be ordered. A set of tabs can be named. Clicking on a link restores the tab and removes the link. Ctrl-click restores and keeps the link. This makes it easy to research a subject, keep a set of tabs around for a week or so, then dump them.

Added huge benefit? Collapsing to a single tab reduces memory consumption tremendously.

The Great Suspender

Even when I'm not researching, I'll have a dozen tabs open. But I won't be using them all. The Great Suspender suspends tabs after a period of time, reducing memory usage. Open the tab, choose Click to Reload, and it comes back up.

I love a simple tool that keeps my computer running at its peak.

Create Link

Create Link has made my tech writing, email and--especially--blogging life not just simpler but more enjoyable. In the past, to create a Markdown link of a web page, I'd type or copy/paste the title, then copy the URL, then select the text in my editor and create the link.

With Create Link, I press CTRL-M (a configurable shortcut key), and a Markdown link is created in my clipboard. I paste it to my editor, and I might have to edit the title text. I love this!

The utility also lets you create a link in HTML, plain text and MediaWiki.

(By the way...SVG does not suck)

Chrome Browser Pinned Startup Tabs

I finally "fixed" an irritation that's been part of my Death by a Thousand Cuts. I have a setup of web pages I want to open at startup in Chrome. However, I also want them to open pinned, as shown above.

Chrome provides three startup tab options:

  1. Open a New Tab page
  2. Continue where you left off
  3. Open a specific page or set of pages

Many people use #2 to accomplish what I want. But, you have to close all the other tabs before closing Chrome.

For years, I've used option #3. The problem was, my pinned tabs would typically appear but so would all my startup tabs, like this.

I'd then have to delete the regular-sized tabs. But if the pinned tabs didn't load, at least my startup tabs would appear and I could repin them.

The solution: a Chrome extension named Save Pinned Tabs.

This extension lets me save a named set of currently open pinned tabs. I can have multiple sets (not that I need them...yet), and mark one as Autoload.

I then changed my startup tab options to #1 Open a New Tab page and, et voila!, Chrome opens how I've always wanted!

It'd be nice if the extension let me edit the pinned tabs directly, but at the worst I can load a set, change them, and resave.

One less!

Solving NancyFx Tokenizer keyChain.bin Invalid Read Type Request '115'

The Error

I was getting this error when running an ASP.NET solution using NancyFx:

System.Runtime.Serialization.SerializationException: 'Invalid read type request '115'.'

on this statement in my NancyBootstrapper:

container.Register<ITokenizer>(new Tokenizer());

There is only one mention of this error when searching Google, and it refers to using a sync service of some kind. So, not apparently related.

After quite a bit of sleuthing, I wondered about Nancy's keyChain.bin file, which I knew had been modified during a recent git rebase operation.

Sure enough, I checked out the file from a working branch and the bug went away. Interestingly, I had renamed and saved the "bad" file. When I renamed it back, the bug didn't recur. So, I don't really understand what went wrong, but it got fixed.

A simpler way to fix this would have been to rename or delete the keyChain.bin file, then let Nancy regenerate it.

Make it Better

I also was doing the wrong thing for the right reason. The (deprected) Nancy Token-Authentication requires a writable keyStore folder. By default, it gets created in the project root. I was marking the keyChain.bin file Build Type as Content and Copy Always, so it would be created in a first-deployment. But that meant storing the file in Git and it was always changing.

My current solution is to use a readme.txt placeholder file, and ignore keyChain.bin.

The better solution...I'll blog if successful...will be to write a custom FileSystemTokenKeyStore that stores the keyStore folder in App_Data, which is always writable.