Posts in "productivity"

Arrow Keys (for Keyboards Without Arrow Keys)

Do mechanical keyboards really need arrow keys?

Interesting idea showcased in this article from The Verge: an upcoming Angry Miao mechanical keyboard that adds a capacitive touchpad to use for arrow movement or other functions.

I use an ErgoDox EZ split keyboard that has no arrow keys. I find that placing the arrow keys on another layer works fine with practice. However, I still prefer to have arrow keys visible and easy to access. My preferred solution is to use a tiny SIXKEYBOARD placed to the left of my keyboard. The primary downside: this adds another cable to manage.

On the Manifesto for Ubiquitous Linking

The Manifesto for Ubiquitous Linking debuted at the end of 2021, but I just learned of it today. I’ll post the entire thing here, as the manifesto requires: “This declaration may be freely copied in any form, but only in its entirety, including this notice.”

We recognize that an immense amount of useful information is available digitally, and that tremendous value can be gained by connecting this information. Connected knowledge enables people to create great products, solve important problems and improve themselves.

We also recognize that humans work best in psychological flow. Switching contexts, even to search for information, interferes with flow while consuming precious mental capacity, brain energy and time. Activating an aptly-placed link to information is easier and faster than searching for the information — and more protective of flow.

We affirm that the ability to copy a link to a resource is as important for cognitive productivity as the ability to copy other types of information. This applies to all persistent digital information.

We invite software developers to do their part, by

  1. ensuring their users can conveniently obtain a link to the currently open or selected resource via a user interface; and
  1. providing an application programming interface (API) to obtain or construct a link to that resource (i.e., to get its address and name). To help people benefit from the information they process with software, we advocate ubiquitous support for linking of information resources. This would help realize the potential of hypermedia that was envisioned by information technology pioneers such as Ted Nelson and Douglas Englebart.

A good goal and, fortunately for me, most of the apps I use are link-friendly.

From Adam Engst of Tidbits:

Keep in mind, this is a manifesto, not a technology, standard, spec, or product. The Manifesto for Ubiquitous Linking is meant to encourage developers to add linking capabilities to their apps such that every distinct information resource within the app can be accessed via a link. And it encourages users who want to reap the cognitive benefits to request such support from the developers of the apps they use.

Split Keyboard Base with Trackpad Rest

My new keyboard set-up:

C0832e647f

Here's a weird little project that took only a few hours and solved a unique problem. Here's what my computer keyboard set-up looked like before my project:

D8bf9746b2

Backstory: I use an ErgoDox EZ split keyboard with an Apple trackpad in between (yes ... I use a trackpad and a mouse, for reasons). One problem: I'm pretty particular about my keyboard layout, so I like to have the angle of each side of the keyboard and the wrist rests just so. But each wrist rest and each keyboard half are free floating so they are always moving around. This is especially annoying when I need to move this stuff out of the way to clean underneath, or to use my secondary mechanical keyboard. Another problem: the trackpad in the center is too low, weirdly placed, and is just not great. So I came up with this odd thing:

2ab01a01c2

This was an interesting little challenge to create using hand tools. But it was worth the effort. Now when I need to move my rather elaborate keyboard set up out of the way to clean underneath, or when I want more desk space for a non-computer task, or to switch keyboards, I can quickly set things back up with the exact spacing and angling I want. I start by placing the wrist rests:

478afbdc0f

And then place each keyboard half against the wrist rests:

2b61e56ca5

And then place the trackpad on the raised, angled stand in the middle. The cable that connects the two keyboard parts tucks neatly under the trackpad. I wanted to keep this as minimalist as possible, so I made it so that the trackpad front edge rests on the stand, but it's angled so that the trackpad back edge rests perfectly on the keyboard edges. This is the minimal width to fit the trackpad and the spacing is just right (for me) for typing. It is very stable and feels solid.

6ac1991e44

So I'm going to use this for a few days and make sure I like it, then I'll finalize everything, glue it up, give it a coat of Osmo. Based on a few hours of usage, I think this will be a good solution. Everything lines up just so and it just takes a few seconds to get all assembled. It also looks much neater.

Linux on an iPad

Pop! OS on an iPad

I recently "upgraded" an old 2009 Macbook Pro with Elementary OS, a fantastic Linux distribution. This led me down the distro hopping path, exploring way too many different Linux distros on my primary 2013 Macbook Pro using Parallels.

Then it occurred to me that to try out Linux on my iPad, just for kicks. Turns out it works great, provided you have a tool to run virtual machines and a Luna Display adapter. Above is a screenshot of my iPad displaying Pop! OS via my Macbook. Maybe this isn't the most useful thing in the world, but it's pretty cool to use my Apple pencil on Linux.

As an aside, my forays into Linux have been so enjoyable that I'm strongly considering switching to a System76 machine when my Macbook Pro kicks the bucket. I hope to hold out until System76 launches their first in-house designed laptops.

Ergodox EZ and Arrow Keys

I bought an Ergodox EZ Glow ergonomic mechanical keyboard in 2019 and I've grown to love it. It took me some time to adjust to a split keyboard, and even more time to nail down my personalized layout across three different programmed layers. The unmarked keys on the board did not take as much time to adjust to as I thought they would. I purchased the black model with Cherry MX Brown switches, and upgraded to Blue Zilent switches and gray/blue keycaps. Dreamy.

But after months of using this keyboard, there was one thing I could just not get used to: switching layers to get to the arrow keys. I never realized how often I use arrow keys until they weren't easily accessible. My solution was to get a tiny six key customizable keyboard from TechKeys. It fits perfectly in between the two keyboard halves. In addition to the arrow keys, I programmed the top left and right keys with an extra shift and space, because it's often quicker to tap the tiny board when arrowing around. I think it's an amazing set-up.

Now I just need to get some custom keycaps for the tiny board. I'm currently using leftover keys from my Vortex Race 3. Why two mechanical keyboards? I have a standing desk station and a sitting desk station. I use the Vortex while sitting, the Ergodox while standing. Excessive? Perhaps. But the Ergodox is not the easiest keyboard to move around, so this works for me. Plus ... I just love mechanical keyboards. It's a bit of an addiction.

Copying Unclutter Notes --> Bear App

In light of the new Ulysses subscription pricing, I’ve been testing out the Bear writing app for Mac to see if it meets my needs (it’s a lot cheaper for annual subscription). I like it. I’m also using the Unclutter app, from the makers of DaisyDisk.

With Unclutter, it’s really easy to create new notes on the fly. You just move your mouse up to the top of the menu bar, drag down, and you’re presented with a field to start typing in notes. I love this. It’s fast and I don’t need to first open an app. As an aside, Unclutter presents three panes: one holds clipboard items, one stores files, and one is for jotting down quick notes. It’s very handy. But this post is just about the notes pane, which I tend to use the majority of the time.

And the majority of the time, I’m typing in notes that I only need to maintain for a short time. Say, for instance, when I’m on a call and want to quickly log some notes. Those notes remain within Unclutter until I’m done with them, then I delete them.

But on occasion, I want a new note to be copied over to the Bear app. Bear is where I hold longer-term notes. Here’s a very easy way to do that using the Hazel, a brilliant Mac automation tool.

When I create a note in Unclutter that I want to save in Bear, I add a tag. In my case, I call it #.inbox/unclutter. In Bear tagging structure parlance, this means that I want this note to be in my inbox (#.inbox) with the sub-tag of unclutter. This works similar to traditional folders: the note will appear nested in my inbox tag. The ‘.’ in front of my inbox tag ensures that this frequently-accessed tag is sorted (alphabetically) near the top of my list of tags, which is handy since the “inbox” is always where I start when I fire up Bear. It’s where I store items to be further processed. So here’s a note I created in Unclutter (using markdown) with the ending tag: #.inbox/unclutter:

In Hazel, I created a rule to scan for texts in the Dropbox folder where Unclutter notes are stored. That rule searches for the tag: #.inbox/unclutter. When it sees that tag, it automatically copies the text note into Bear. Here’s what that rule looks like:

And once the Hazel rule runs, my new Unclutter note is copied into Bear.

Why do I want to do this? I’m generally using Unclutter as a really fast way to jot down notes. For most of those notes, I don’t want to save them for posterity. They’re just quick single entries for when I need to get some text down with no fuss, without needing to open an app. But sometimes I create a note with content that I intend to either build upon in the future, or want to copy/move to another text note housed within the Bear app. For those notes that I want to save for the longterm, I add just add the tag at the end and it’s waiting for me in Bear.

Fargo: Minimalist Browser-Based Outliner

fargo

I’ve just started using Fargo, a new browser-based outliner from Small Picture. This little tool is platform-independent and works within any modern browser (i.e. Chrome, Safari, Firefox, IE10). It’s an HTML5 app written with JavaScript. Files are stored in Dropbox in an open format (OPML).

Why use this instead of one of the myriad of other outliner tools on the market? It's simple to use. You don't need to install proprietary software. It's available anywhere you happen to need it. You don't need to worry about 'lock-in.' There's no need to export your files, ever. It's free. It works well. I like it.

On WriteRoom, Simplenote, and Plain Text Syncing

Simplenote subscription. 'Why not try something else out?,' I thought. It's not that I don't like Simplenote. It's great. But I've never tried anything else beyond Apple's paltry notes and the overpowered Evernote. Surely there are other worthy contendors out there.

What began as a simple search for an alternative snowballed into a larger project. I began by mulling over what is important to me when it comes to the note-taking (and note-retrieval) process. Ubiquity, certainly. I want my notes to be available anywhere, on any device. I want to be confident that the changes I've made to a note on my iPhone or on my Mac at work will sync back to my Mac at home. Simplicity, too. For all the praises of Evernote, I just can't use it without wincing. It's just so ... heavy. I need something light, like Simplenote.

Then there's format.  As a rule, I try to keep all of my important notes in plain text, stored in individual files. One reason for this is longevity. This is the one format that will always be accessible. Another reason is utility. Plain text may be cut and paste into just about any application. The final reason is portability. I store all of my important plain text documents (all of my documents, really) outside of databases, in individual files accessable through the Finder. File sizes are tiny, and I can move these files around and modify them with ease. So I want a tool that specializes in plain text.

What else? I also quite liked that I could email myself notes with the Simplenote premium service. I'd like to keep that ability. And I want to keep my notes synced with a lightweight desktop client. With Simplenote, I use the free Notational Velocity (actually, I'm using nvALT, a fork of NV with some extra capabilities). I'd like to keep using that. And I'd like to add one new thing that I've never tried: I want my notes to sync with my desktop file organizer, EagleFiler.

With all of these criteria in mind, two alternatives stuck out: WriteRoom ($5) and PlainText (free), both by Hog Bay Software. I tried both tools and settled on WriteRoom (even though PlainText meets most of my needs and looks great, it has no search capability. That's a deal-breaker). 

What follows is my solution for the syncing bit. This solution allows me to store all of my notes in one folder on my Mac. If I change a plain text file within EagleFiler, within nvALT, on my iPhone, or by directly editing one of my files via the Finder, the changes will be synced across-the-board.

You may wonder why I want my notes in both Notational Velocity and in EagleFiler. The answer is that it's more convenient and flexible. On the Mac, Notational Velocity is a speedy way to get to a note to modify it, or to quickly add or delete a note. EagleFiler (EF) is where all of my important documents reside, so I'm often using it (why switch to another program if I don't have to?). Added to this, EF is where I typically add metadata to my notes (flags, tags, etc.). And since all of my documents are in EagleFiler, I can perform more complex searches to easily locate, say, all notes and PDFs and other documents that contain certain keywords. Also, it's easier to move bits of text from my notes to other documents within EagleFiler.  

Here's how I set up syncing using WriteRoom, although a similar scheme works with slight modifications for Simplenote and PlainText. I'll get into some of those differences at the end.

Using WriteRoom

  1. The first step is to buy the iOS version of WriteRoom. Log in to WriteRoom using an existing Google ID (you can also chose to host your own sync service) and select 'Sync Automatically' from the apps Settings menu. Then head to simpletext.ws and log in, using the same Google ID. You can now sync your notes to this subscription-free online service.
  2. Now you’ll need to get the free SimpleText Mac client from Hog Bay Software and install that. This tiny app runs in the menubar. When you first run it, it creates a new folder in your Home folder called 'SimpleText.' Open the SimpleText app Preferences and choose to 'Start on Login' and 'Automatically Sync When Local Files Change.' Your text notes will now sync to the newly-created 'SimpleText' folder. Each note will be stored as an individual file.
  3. Next, you need to create a folder within EagleFiler. I called mine 'Sync.' Once created, you need to download and install a free app called 'MacDropAny.' This simple tool allows you to sync any folder on your Mac using Dropbox (Note: you need to be a Dropbox user to use MacDropAny).  When you run MacDropAny, you'll be asked to select a source and destination folder. The destination folder is that which you've just created within EagleFiler (you'll have to find it via the Finder). The Source is your 'SimpleText' folder where your notes are held.
  4. Now here's where you'll notice a problem. MacDropAny won't allow you to select an existing folder as your 'Source.' How do you get around this? Here's what I did. I temporarily copied my existing text files residing in the 'SimpleText' folder, then deleted that folder (you could also just move the folder to your desktop). Then I ran MacDropAny, choosing to create a folder called 'SimpleText' as my Source folder. After I did that, I copied back my notes (text files) to the 'SimpleText' folder. I know, it's a bit clumsy ... but it works.
  5. Next, head to Notational Velocity (or nvALT) Preferences and choose the 'Storage' tab. Choose to 'Store and read notes on disk as Plain Text Files.'  Then you need to choose the folder to store the files.  This is where you point to (you guessed it) the 'SimpleText' folder where all of your notes reside.
  6. Now test it out. Add some text to a file on your iPhone. The changes should appear within EagleFiler and within Notational Velocity. Change some text in EagleFiler or Notational Velocity. The changes should appear back on your iPhone.

EagleFiler Caveats

There are a few caveats about using EagleFiler. You're not really supposed to add files directly to file structure within Finder, but that's what I'm doing here. It works well enough, but it takes a little extra effort to keep it running smoothly.

EagleFiler uses a database to store metadata. An important part of that is monitoring any changes to files held within the app. If you delete a file on your iPhone, directly from the SimpleText folder, or from Notational Velocity, EagleFiler doesn't know what happend to that file. A similar thing happens if you change a file outside of EagleFiler, as the app monitors each files checksum to keep track of changes—I'm guessing many people don't even use this checksum feature, but it's there to ensure the integrity of your files.

So. Changing text in a note or adding new notes outside of EagleFiler isn't a big deal. You won't see any error messages unless you use checksum. If you do use checksum, you need to periodically update the checksums for the files you've changed (you're basically telling EagleFiler that the file is OK and that you've changed it from outside of the program). 

For files deleted outside of EF, you'll notice that EagleFiler retains the deleted file, but the contents of the file within EagleFiler now have no content. That's because the file isn't there anymore. To fix this, periodically run 'Scan for New Files' from the EagleFiler 'File' menu (Shift-Apple-R). EF will then show you all the files that cannot be found (as they've been deleted) so you can go in and clean them up from the list within the app. Once you delete them from the EF file structure, empty the trash. 

A few final notes about EagleFiler. The app creates new Rich Text Format documents by default. If you want to move an existing file that is in RTF to your EagleFiler sync folder, you'll first need to convert it to plain text. There's a handy script to do that. If you want to create a new note in your EF synced folder, hold down the 'Option' key while choosing the 'New RTF' button from the menu bar, and a new plain text file will instead be created (there is no 'New Plain Text' button option). I should also mention that the metadata you add to a note in EagleFiler stays (is only visible) in EagleFiler. Those tags, flags, etc., do not transfer to your externally-stored notes. However, this metadata does persist in EagleFiler, even if you modify a note outside of the program. 

While syncing plain text files to EagleFiler may sound difficult to maintain, it's really not bad. I think it's worth it. (I'm now waiting for the developer or other EF users to tell me that this is a terrible idea!)

Syncing with Simplenote, PlainText

You can use a similar process to sync files using the Simplenote and PlainText iOS apps. I tried them both out and the syncing worked just as well. Actually, these other apps were a bit easier to set up.

For PlainText, the main difference is that this app stores your notes using Dropbox (in a folder called 'PlainText).' Since the syncing is via Dropbox, you won't need the SimpleText Mac client. Note, though, that you also won't get the simpletext.ws online syncing.

For Simplenote, Notational Velocity includes built-in syncing support so it's a bit, um, simpler. And while Simplenote does not store notes in individual text files, you can accomplish the same thing via Notational Velocity. You just need to head to Preferences within NV and choose to store your notes as files on your local disk as plain text files. You can choose any folder you like. However, if you want to go the extra step of syncing with EagleFiler, you'll need to be a Dropbox user so you can take advantage of MacDropAny.  

Emailing plain text messages

The last point to talk about is how to add the ability to send messages from your email client to your notes folder.

With a Simplenote subscription, it's a straightforward task since this service provides you with an email address. There's nothing more to do.

With WriteRoom and PlainText, you need to bring in a couple of other tools. First, set up a free (donationware) service called, appropriately, Send to Dropbox. This service establishes a folder within your Dropbox called 'Attachments' and provides you with an email address to send your messages to. Note that this third-party service only stores your unique Dropbox ID, not your login/password (the same ID used when you share a file using your 'Public' dropbox). While the service is mainly for sending email attachments to your Dropbox via email, it works just as well for plain text. (As an aside, there are many other interesting Dropbox Addons worth checking out).

The trick, now, is how to get those plain text email messages from the Dropbox 'Attachments' folder to your synced notes folder. I used Hazel to accomplish this, establishing a rule to move any text file in the 'Attachments' folder to my 'SimpleText' folder.

That's it

The text for this post was harder to pull together than the syncing scheme. I spent a lot of time discussing EagleFiler. Even if you don't use this particular app, hopefully you'll get some new ideas about syncing folders. And if you've never used Notational Velocity, it's worth trying out. It's free, after all. NV is very easy to configure and is a great way to access your notes on your Mac.

How does WriteRoom stack up against Simplenote? It's still a bit early for me to say. One thing I know I don't like: the app is requiring me to log in every time I open it. I hope this is fixed in a future release. It wouldn't be that big of a deal if I had a newer iPhone with iOS 4. With my old phone, however, I can't run apps in the background.

As for looks, you can set up WriteRoom for iPhone to look quite similar to Simplenote. I prefer the default WriteRoom black background with white text.  One nice touch that WriteRoom offers, akin to its big brother on the Mac, is the ability to edit notes in full-screen mode. 

The WriteRoom web version of your notes looks like an old-old-school Mac text editor. Some may find that fun and retro, but it may be offputting if you're expecting a slick interface like that served up by Simplenote. Me? I rarely used the Simplenote online service, and I doubt I'll be logging into writeroom.ws very often.

If you like tags in Simplenote, you'll be missing that in WriteRoom. There are ways you can tag, though. I use the same work-around that I used in 'pre-tag' Simplenote—by creating tags with text at the end of my documents (using the syntax &tag: e.g. &home, &web). It works well enough for searching through many notes.  

Since I gave Simplenote a year, I plan to stick with WriteRoom for the next year. 

Dropbox 1.0

The best online file synching service is now out of Beta. Dropbox 1.0 offers selective folder synchronization (hooray!), an easier installation process, improved performance, and a slew of bug fixes.  If you're not on Dropbox, why not? The first 250MB of storage space is free. And if you get new people to sign up to the service, you get an additional 250MB of free space per person. Speaking of which, if you're new to Dropbox ... why not use this referral link to sign up. He he.