It’s Yuri’s Night!
We need to make a bigger deal out of this.
Oops! Better late than never!
As I mentioned, my preferred text entry tool is a fountain pen. That doesn’t work on a computer. While I use a variety of email clients, Microsoft Word, and browser-based tools, my text editor of choice is GNU EMACS. Part of it is an appreciation of its heritage–this software dates back to the Seventies. It’s my choice in the long-running editor war with (the far inferior) vi. It’s multi-platform: I can use essentially the same tool in OS X, Windows, LINUX, and other operating systems. Designed in the days of VT100 terminals, it is as happy at the command prompt as it is in a GUI.
I appreciate the power. It can be configured to support different programming languages, or automate some processes. Hypothetically, I could use it as my email client (though I haven’t quite mastered getting it right), or act as a web browser. Some have compared it to an operating system.
The key configuration file is called .emacs (“dot emacs”). People spend years tuning and adjusting their .emacs file. I recently realized I was pasting in chunks from the various files on various systems. I wondered: in this era of cloud storage, could I have one .emacs to manage all my systems? For that matter, could I also use cloud storage to be the location for my extension modules. The advantage of this approach is I can ensure the settings are the same on each machine. Ideally, this also means that any modules I install will be present as well. There may be some tuning per machine, but, for the most part, it will be in common.
I decided my approach would be to host my core .emacs and modules on Copy.com as my cloud provider, though I think it could be used with OneDrive, Google Drive, or a similar product. Each machine would have a local .emacs that would point to the shared one, which I’m calling dot.emacs, though it could readily be called shared.emacs or common.emacs. dot.emacs would set some common settings, as well as machine-specific ones based on the hostname (the name assigned to a given computer).
Most cloud storage services create a spot on the local hard drive to point the cloud files to. On my MacBook, it’s /users/mrguilt/copy; on the WorkTop, it’s c:\users\my.real.name\copy. On the cloud, I created a directory called elisp for all the EMACS files, including dot.emacs. A variable, cloud-dir, is set th point to the cloud elisp directory, so all the modules I use can exist there. The local .emacs looks like this:
;;;Creates a variable pointing to where the cloud directory appears on ;;;this machine. (setq cloud-dir "~/Copy/elisp") ;;;showswhere the cloud elisp directory is. ;;;Hand-off to shared "dot-emacs" file (dot.emacs.el) (add-to-list 'load-path cloud-dir) (load-library "dot.emacs")
dot.emacs does the heavy lifting of settings. Notionally, I divided it into four sections or subsections:
- First, I wanted to test if the GUI version of EMACS was being used, or a terminal version, and make settings based on that.
- Within the GUI vs. terminal sections, I wanted to make some per-machine settings. Primarily, this is about fonts and colors, though other local settings may go into that section.
- Set some basic parameters, like what mode to activate for certain file types, whether or not I want backup files, etc.
- Set up and load any extensions, such as a twitter client.
The dot.emacs, which needs to be named dot.emacs.el, looks a bit like this:
;;;GUI vs. terminal, and per-machin settings (if (display-graphic-p) (progn (print "It's a GUI!") ;;; I like to have some feedback, for testing among other things ;;;General GUI Stuff (tool-bar-mode -1) ;Turn Off Toolbar (set-fringe-mode '(0 . 0)) ;;;Turn off fringe mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Checking what machine I'm using, and setting fonts and other local settings (if (string= system-name "WorkTop") (progn (print "It's the WorkTop!") (set-face-attribute 'default nil :font "Consolas") (set-face-attribute 'default (selected-frame) :height 120) ;;;Make the typeface a bit bigger (120%). (set-background-color "#FFFFCC") (if (string-match "MacBook.*" system-name) ;;;Work-Around for 10.10's hostname bug (progn (print "It's the MacBook!") (set-face-attribute 'default nil :font "Anonymous Pro") (set-face-attribute 'default (selected-frame) :height 165) ;;;Make the typeface a bit bigger (125%). (set-background-color "#8a9ff2") ;;;Set colors )) (if (string= system-name "WinVM") (progn (print "It's the Windows VM!") (set-face-attribute 'default nil :font "Consolas") (set-background-color "#A9F5A9") )) ) ;;; else ;;; Things for terminal mode (progn (print "It's a Terminal")) ) ;;;Common settings--these are mine; you may have something different (setq make-backup-files nil) ;;; I don't want backup files. ;;; Auto Longline Mode for .txt and .html (blogstuff) (setq auto-mode-alist (cons '("\.txt" . longlines-mode) auto-mode-alist)) (setq auto-mode-alist (cons '("\.html" . longlines-mode) auto-mode-alist)) ;;;Here is where loading extensions and settings go. ;;;Twittering Mode (add-to-list 'load-path (concat cloud-dir "/twittering-mode-3.0.0")) (require 'twittering-mode)
Adding machines is as simple as adding another if-then block.
One question might be, why not put local settings, like colors and fonts, into the local .emacs file. In fact, I had a note in the comments of my dot.emacs file asking that very question–my initial implementation became as much a game of “can I do this” as a practical event. Recently, the wisdom of putting local settings in the common file made sense: my WorkTop hard drive needed to be reimaged. I was able to sett this back up by simply copying the .emacs, as written above, into the proper place. In effect, all my systems also have the same local .emacs file.
I’m not sure if everyone has a need for such a crazy configuration, or uses as many different systems as I do. However, I think it speaks to the power of the EMACS that it can accommodate a shared configuration file.
This has been a bit of an odd winter. I was able to get out and ride a lot in January–about twice what I did last year. February looked promising, until mid-month, when I wasn’t able to get out and ride one weekend…then the next. When last weekend looked to be the third in a row, I felt I had to do something. I can handle going to suffer on a stationary bike several times a week, and even both days of a weekend once in a while. I couldn’t take three weeks in a row–really a month before the next possible opportunity. I was going MAD!!!!
In the past, I’ve looked into ways to try to drive to better weather. Unfortunately, the climate is such that getting to warmer-enough weather generally requires a drive of several times what I would ride–each way. However, a new option appeared in Louisville in February at the Louisville Mega Cavern that seemed to be a hack. This recreation complex is located in an old mine that stretches under the city, including the zoo. For years, they have had a zip line and a ropes course, along with tram tours of the mine itself. In February of this year, they opened what they describe as the largest indoor bike park in the world.
It’s billed as a “mountain bike” course, with lots of single track and cross-country paths to follow, which I could handle easily on my cyclocross bike. Other areas were designed to allow mountain bikers to get speed, and perform amazing jumps. The big advantage: the cave is a constant sixty degrees.
My ‘cross bike doesn’t have a wheel sensor–I rely exclusively on GPS when I ride it (I also worry, during a race, the sensor would just be a place for mud to accumulate). In a cave, you can’t get GPS signals, so I can’t really give an accurate measure of how big this is. It was easily a mile or so in circumference.
On the day I was there, Morpheus bikes was there, giving demos. I had been watching the folks who do gravity jumps, and was curious. So, I decided to try one out. The folks from Morpheus were quite nice, even if they teased me a bit about being the only one there (at the time) in lycra. The setup is completely different–the saddles are quite low, and mostly, you stand to control your body as you run over the ramps. I rode it for about an hour, and got pretty good on the beginner run getting good air and not falling. By the end of my session, I was thinking about adding another discipline to my cycling.
We had a great time at the Mega Cavern, and made mental notes for “next time.” While, for me, it was not the long, stead distance I want to prepare for TOSRV, it definitely was a great way to get out of the gym. I also enjoyed the opportunity to challenge myself on different terrain. I’m also grateful that Morpheus Cycles let me try out something new.
With Radio Shack filing for bankruptcy, lots of geeky toys may go with it. Yes, the TRS-80 may be long gone, but so have most computers of that era. The thing I remember playing with was their electronics kits. These were simple introductions into circuits. Using spring terminals, you could build an AM radio, or morse code key, or 150 other projects (or more, depending on the exact set you got). About half mine actually worked, but it was a good way to spend an afternoon.
The spirit of this lives on, however, in Snap Circuits, which my daughter is even more fascinated with than I was the Radio Shack kits. Rather than a box of loose parts and springs you have to connect, each component is encased in plastic, with connections made with snaps. While it means you don’t actually get to hold a resister, you’re less likely to lose the part, and the projects seem to have a higher success rate–it’s not as finicky as the spring terminals. Many of the old projects of the Radio Shack kit are present, and some versions even have a computer interface. It’s a great toy to encourage an interest in STEM fields, not that I have much trouble encouraging that with my daughter.
My wife related a story where she was not the only one exploring electrical engineering.
Beso is a watcher. He likes to sit off to the side and observe what my daughter does. I often wonder if he has a notebook in which he jots his observations about life, in a manner like Thoreau. A week or so ago, my daughter was playing with her Snap Circuits. As pictured, Beso sat in the box lid, intently watching what she was up to. She made a circuit which had a switch, and an electric motor that turned a fan. She flipped the switch a few times, and had the fan spin, then stop. She then got up for a minute, leaving her project.
Beso took the opportunity to walk over and examine the breadboard. He sniffed around the motor, then put his paw on the switch and pushed. He wasn’t quite catching it, but it was clear he was paying enough attention to determine that’s what made the fan go. He tried from one side, then the other, only giving up when my daughter returned.
I’m not sure you’ll have the same result with Snap Circuits with your cats. However, I can certainly endorse it as a great education toy for the girls they love.
There is a growing community of folks who prefer, to varying degrees, analog tools, such as pens, paper, and pencils. Lots of people are sharing ideas, be it Sketchnoting, Bullet Journals, and blogs such as The Cramped or, appropriately enough Write Analog. I have several hypothesis as to why. It may legitimately be a way some folks can think and focus. I know I have those tendencies. As with distraction free text editors, for some people, obsessing over tools is a good way to feel like you are getting something done while avoiding the task at hand. Finally, some folks simply enjoy old-school office supplies, and, in a world which is increasingly paperless, want to find a way to use these tools in their day-to-day work, rather than simply admire them.
However, much of my life these days tends to exist in the digital realm. I know my Outlook inbox has a lot of mail in it, in part because it has an attachment or link to a SharePoint that I need to access. I keep both my professional and personal calendar online, and occasionally make a pass at getting the whole household on one system. Much of the information I generate tends to wind up stored as ones and zeros.
This spills over into my journals and notepads. My handwritten activities often bounce between things that come from my head (which is put on paper) and things online that relate to it. For instance, something I read in a blog post will spawn an entry in a journal. Or, I might take a digital photo of a whiteboard that I want to associate with the notes (but, at the same time, share with my team). Creating these connections is the challenge of analog tools in a world that want to be paperless.
Most of these sorts of things are either conventional web posts, or stored “in the Cloud,” using SharePoint, Evernote, or other cloud storage options such as Copy or OneDrive. What all these things have in common is the ability to point to something with a uniform resource locator, or URL. You may know this as a “web address.” This blog, for instance, is https://mrguilt.wordpress.com. That one is fairly simple, and could be written down in a notebook fairly easily. But, when you start to get to specific items, it gets long. The URL for my post about the Riverbanks Zoo is https://mrguilt.wordpress.com/2015/01/21/riverbanks-zoo-and-garden-in-columbia-south-carolina/. While relatively long, it is clear what it points to.
However, you have to write down the URL exactly for it to work, and then type it into the address bar of your browser exactly for it to work. URLs can be tricky this way. Evernote is a good place to stash a picture of a whiteboard. However, a share URL from there is quite cryptic: http://www.evernote.com/l/AAFdTwhp225H97wlIADxiTP3CJWPZiBVCfY/–and one wrong character (even the wrong case) can throw it off. Microsoft SharePoint is commonly used to store and share files in the corporate world. However, its URLs are even longer and more challenging: https://services.bigcorp.com/sites/Portal/Office/Division/Shared%20Documents/Data%20Center%20Space%20--%20Cincinnati,%20Ohio/A%20Subdirectory%20Power/Really%20Important%20Spreadsheet%202015.xls. There is no way this can make its way reliably into the analog word, much less the return trip.
There are a few products out there that try to bridge this gap. One example is the Quo Vadis Multimedia Enhanced journal. I won one over the summer, and played with the system a bit. The basic journal is nice. Mine is just shy of US letter size, and filled with Clairefontaine paper–the same used in my beloved Rhodia pads. This means it is great paper, and the very definition of “fountain pen friendly.” As a notebook, there is nothing to complain about.
What makes it unique is that, on each page, a QR code is printed. With a SmartPhone app, you can scan the code, and attach and view digital objects to the page. The objects can include video, audio, pictures, files, or links. The app is a bit quirky, with an awkward interface, and periods where I have to reset my password. It does an OK job capturing and storing items. Unfortunately, a code I scanned a few months ago doesn’t show up in my “library” (though scanning the code gets me to to item–strange). Also, it is somewhat of a dead end. I can’t share things out of it, and it doesn’t link to more common tools. I could muddle through with it, if the overall system held value.
There are other flaws as well. There is only one QR Code per page. On some pages, there may not be anything to link to, which, at worst, makes the QR Code meaningless. On other pages, I might want to make multiple links. Further, I’m tied into using that notebook, or ones like it. I couldn’t use other notebooks, nor can I tie it to other documents, such as a map or brochure. The pre-printed code doesn’t offer the flexibility you might need or desire for an analog/digital system.
There was a service called StickyBits that was a similar implementation of this idea, but enhanced the flexibility of the system. Rather than having the QR Codes pre-printed into a journal, you could either print or purchase stickers with the QR Code on them. When you needed to make a connection, you could put the sticker in your notebook, scan it with their app, and then create what you needed. At the time it was released, I didn’t really think through the utility: I played with it for a day or two, then let it fade. Unfortunately, it has since joined other Web 2.0 start-ups in, well, closing shop.
I actually started to consider building StickyBits on my own, doing some coding in Perl and HTML. It seemed like a major undertaking, and it’d be something just for myself–after all, one start-up already failed with this concept. It is a bit of a niche intersection of folks who use analog tools and digital tools and want to somehow create interoperability. Simply put, I had better things to do with my time.
Then, I read an article, “Connecting Your Paper Notebooks to the Digital Age,” which made me realize that I was out-thinking this. Rather than being dependent on the QR Code, it leverages a URL shortener, such as Bitly. By assuming that there is the same domain and server name (the http://bit.ly part), the shortened URL is written down with some demarcation (he uses greater than/less than symbols). The article suggests also underlining upper case letters for clarity.
Using this scheme, I would write “<1HGmax9>” in my notebook, and it would point me to the article that inspired this. The author suggests Bitly, as you can forward your own domain to it, but it doesn’t sound like a hard requirement, so long as you can use the same URL shortener. Multiple URL shorteners could be used with a different demarcation symbol–brackets could be used, for instance, for my company’s in-house shortener.
This scheme has several advantages. First, there is no need for a sticker or something printed on the page. You simply write it on the fly wherever it is relevant. This also means you are not tied to a specific notebook-or even a notebook. A Post-It, margin of a magazine, or any other relevant place can be used. The short URL frees you from having to use a specific application or a device with a camera. This is quite a flexible solution.
One other advantage is from other features of the URL shortener. Most URL shorteners can allow customization of the short URL. A meaningful title, such as “DataCenterMap” could be used. In addition to making it easier to write down, it makes it easier in other contexts. I have even been taking greater advantage of this in my emails that I don’t expect to wind up on paper, as I think it makes it more obvious what a given URL is for.
My quest to link my beloved pen and paper to the omnipresence of digital media has taken me from specialized tools to a very simply DIY approach. In doing so, I’ve come to the conclusion that this will be a niche interest, and each individual will probably find an approach that best suits them. I am doubtful that specialized products, such as the ME Journal, will find much success. But I have found that there are ways to achieve the end which offer the flexibility I desire in the analog world, and can extend their utility in the digital one as well.