Monday, November 23, 2020

Pen 15 Club: For Tim Donaghy: On Changing a Zebra -- OR -- When the Record Isn't Spotty Nor Checkered but Striped -- AND -- Hot Zebra F-301 VERSUS F-701 Comparison

Pen 15 Club: For Tim Donaghy: On Changing a Zebra
-- OR --
When the Record Isn't Spotty Nor Checkered but Striped
-- AND --
Hot Zebra F-301 VERSUS F-701 Comparison

"Sadness." -Tinzeroes, texting me when New York City's cobblestones juddered his freakbike's DNA fork beyond cohesion or repair.

One of the reasons I have enjoyed using my (second) Zebra F-301 pen is that it's (mostly) metal, and promises to last a long time and keep stuff out of the landfill. However, it's not entirely metal, it's only mostly metal, metal joined to plastic, and where metal and plastic join, there you find weakness, with the unyielding weight and strength of metal able to stress the lighter, brittler plastic.

One easy way to verify this weakness is to drop your F-301 on the streets of San Francisco while trying to promote democracy. If a person needed to re-verify, a solid option would be drop the pen onto the mighty concrete of the Berkeley Bowl's floor. First time, the results were ... shattering. This time, a subtler damage obtained.

(The F-301's obtuse angle.)

The bend isn't something that makes the pen not work. The stability and solidity of the unit are substantially lessened, however, and the way it creaks and shimmies under pressure of writing make it very difficult for me to enjoy using.

(The Zebra F-701.)

Luckily, I have options. I swiftly yoinked from my quiver a pen I've used only occasionally thus far, another Zebra model, the all-metal F-701. I bought it in a frenzy of anxious need a couple months back, along with some F-301 refills, and several—nearly multiple—instances of graph paper. I was very anxious that day. I haven't used the F-701 too much. It is very heavy. I think the ink might be the slightest bit different than the F-301 inserts, and the tip is listed as .8 mm, as opposed to the .7 mm of the F-301, and the writing seems a little smoother, lighter, waterier, and blobbier (at least in the notebook I'm currently using).

Fiddling with the F-701 initially, I discovered that F-301 refills seem to work in it, but F-701 refills do not seem to fit into an F-301. I also discovered that the spring in the F-701 is very stiff, and (thus) incredibly satisfying (to click). A weird fillip: post-click, when the tip is deployed into Writing Mode, there is apparently a secondary spring holding the plunger erect. The F-301, in Writing Mode, offers no (such) support to the plunger. I go back and forth on this. I'm not used to it, on the bad side (I do loathe change). It's quiet, when waving the pen around, and allows a second stage of fiddling—pushing the plunger down, but not enough to engage the tip-retraction mechanism—both of which are on the good side, indeed, on the side of good.

(Note the variance: tip out, plunger down vs. tip out, plunger up. Intriguing.)

The aforementioned ink issues aside, the F-701 isn't the easiest thing in the world to write with. It's heavy as all hell, and it's noticeably thicker than the F-301, which is a bit of an issue for my small hands and extraordinarily short fingers.

  • F-701: 24 grams on the digital scale
  • F-301: 11 grams on the digital scale

It may well be worth trading away lightness and overall ease of use for incredible durability—which I do expect a fully metal pen to embody—and just that much less waste. But if the use of, the writing with, will be slower, more awkward, more tiring, perhaps I should explore other channels of less waste.

Let's take a little break to listen to some great new French prog-metal.

I have two main tracks of writing by hand: work, and not-work. For work writing, please see the recent approach to writing less by hand and more by computer I pioneered in the following effort: Vim (for non-programmers) Section DCLXVI: Automating Making a To-Do List and Crossing Off Make a To-Do List on Your To-Do List Automatically. Work writing is usually notes, from a meeting or interview, or lists. Not-work writing, like, not to put to fine a point on it, this thing that I'm writing now, tends to be much more connected, and extended, which is to say that the writing tends to go on longer and have fewer breaks. This all means that a less wieldy pen, a heavier pen, is less desirable. And that all means...maybe I should investigate one last option for keeping my F-301 in my hand and out of the landfill.

You see, something you likely don't know about me, unless you're reading this, in which case you almost certainly do know me and thus know or can predict the following about me, is that I throw...little away. When my last F-301 died, I actually saved its busted guts, in case its parts might come in handy. I dug it out recently to see if I could kit-bash the situation together into something fitter, happier, more productive. It appears, though, unfortunately, that what I have here is two broken pens, with three pieces apiece, that share a broken piece.

(Two Donaghys, artist's rendering.)

It should maybe not surprise me that the critical flaw of the F-301 is a piece of plastic: a critical flaw of our civilization itself is dependence on plastic (and other petroleum products) and often can the part reveal and replicate the whole. But even if it's no surprise, it can still be a stone bummer, and indeed and in fact I am bummed, a little, that I can't cobble together one satisfactorily operational F-301 from two broken ones. I can, more or less, use the more recently and less severely damaged model, with...some psychic discomfort (and a likely physical failure impending, as my heavy hand imposes more pressure on the compromised plastic piece.

I find it difficult to disprove my assessment that what I should do is:

  1. Use the F-701 at work, where its durability will be great and its drains on my stamina will be less of a problem
  2. Deploy another new F-301 for my personal uses, hoping that if—when?—it fails, a different part will be the problem, and I can join fragments of three to make one, where I now can't make a broken two into a one entire

(Two Donaghys, documentary evidence.)

Or maybe I should learn to throw things away, when they're broken?

—Fat, pondering abandonment

Saturday, November 14, 2020

Vim (for non-programmers) Section DCLXVI: Automating Making a To-List and Crossing Off Make a To-Do List on Your To-Do List Automatically

Vim (for non-programmers) Section DCLXVI: Automating Making a To-List and Crossing Off Make a To-Do List on Your To-Do List Automatically OR So...I wrote a thing...the thing is a plugin, sort of

Where notebooks and calendars and computers meet is ... well, lots of different places. But one place they meet is at work. Thus it did come to pass that I felt the need to take a daily notebook calendaring exercise and turn it into something that could be replicated on my computer. Which brings us to a thing I wrote, entitled "todotxt.vim", a "plugin" for the Vim text editor, which promises little and delivers less.

As it says in the help file I wrote (lol):

When I start work each day, it makes sense for me to:
  1. Start a new page in my work notebook for that day
  2. List my meetings for the day (at the top of the page, in order)
  3. List my tasks for the day (to use the page efficiently, I populate the tasks starting at the bottom of the page, but I don't generally order them or worry about grouping or managing them)
This plugin creates a digital version of that page of my notebook, with a new file for each day.

The premise of the plugin is that a list of the things you have to do is a good thing to have. The list might as well be in plain text, so you can look at it on pretty much any device, and if it's in plain text, I might as well be able to use the fancy special features of my favorite text editing program, Vim to edit it. I find it helpful to be able to look back and see what I did on a given day, so a big piece of the "functionality" involves knowing what day it is and making a special file for that day. Since I don't always finish everything I want to do on a given day (lol), another big piece of the "functionality" involves looking at a specified previous day and pulling the un-done tasks from that day to the current day. There's also a tiny bit of attention paid to making it look quasi-nice (using Vim's syntax formatting).

Anyway, if you want to try this, there's a link to the files here:

And while the file itself is more or less definitive, and can be read in a text editor by clicking here, the help file may be more illustrative, so I have pasted it in below. Sorry about the formatting below. If you hate it, click the link, I guess. NOTE: where it says something like \tadd you should replace \ with leader in angle brackets.

*todotxt.txt* for Vim version 7.4 and greater Last change: 2020 Nov 4

Adds limited functionality and syntax highlighting for plain-text to-do files
accessed in Vim.

================================================================================
CONTENTS *todotxtcontents*

1. Introduction ................ |todotxt-introduction|
2. Installation ................ |todotxt-installation|
3. Usage ....................... |todotxt-usage|
4. Mappings .................... |todotxt-mappings|
5. Configuration ............... |todotxt-config|
6. License ..................... |todotxt-license|
7. Bugs, Version, and To-Dos ... |todotxt-bugs|
8. Contributing ................ |todotxt-contributing|
9. Changelog ................... |todotxt-changelog|
10. Credits .................... |todotxt-credits|


================================================================================
Section 1: Introduction *todotxt-introduction*

This is a very simple plugin for creating, using, updating, and (very very
lightly) tracking to-do files in plain text. Syntax highlighting and a few
mappings make the to-do list easier to look at and easier to use.

The basic idea is to start your workday with a file that has the following in
it:


By default, when the empty file is loaded at the beginning of the day, the
plugin will ask if there is a previous file to check for tasks that are not
marked as done. This will usually be the previous workday's file. If the
specified file has tasks not marked as done, those tasks will be added to the
current day's file, along the lines of the following.

+--------------------------------------------------------------------+
| # Today's Date |
| # Meetings |
| |
| --- |
| |
| # Tasks |
| |
| - [ ] McDonalds 2020-11-04 |
+--------------------------------------------------------------------+

To add a task, use \tadd to enter a date-stamped task on the line under
the cursor along the following lines.

+--------------------------------------------------------------------+
| # Today's Date |
| # Meetings |
| |
| --- |
| |
| # Tasks |
| |
| - [ ] McDonalds 2020-11-04 |
| - [ ] Eat Hot Chip 2020-11-05 |
+--------------------------------------------------------------------+

More tasks can be added to the line under the cursor.

+--------------------------------------------------------------------+
| # Today's Date |
| # Meetings |
| |
| --- |
| |
| # Tasks |
| |
| - [ ] McDonalds 2020-11-04 |
| - [ ] Eat Hot Chip 2020-11-05 |
| - [ ] Charge Phone 2020-11-05 |
| - [ ] Lie 2020-11-05 |
+--------------------------------------------------------------------+

Meetings work similarly, but instead of a datestamp that is added
automatically, meetings ask you to enter a time. Once added, it looks
something like the following. The command for this is \madd.

+--------------------------------------------------------------------+
| # Today's Date |
| # Meetings |
| - [ ] Twerk Noonish? |
| |
| --- |
| |
| # Tasks |
| |
| - [ ] McDonalds 2020-11-05 |
| - [ ] Eat Hot Chip 2020-11-05 |
| - [ ] Charge Phone 2020-11-05 |
| - [ ] Lie 2020-11-05 |
+--------------------------------------------------------------------+

Adding tasks and meetings manually can be done throughout the day.

To make a file for the day, \logit is used. This will create a file
with a datestamp in the filename for easy sorting, and to make it simple to
pull the undone tasks from earlier files.

To mark a meeting or task as done, put the cursor on the line of the meeting
or task and enter \done. This will have an effect like the following.

+--------------------------------------------------------------------+
| # Today's Date |
| # Meetings |
| - [ ] Twerk Noonish? |
| |
| --- |
| |
| # Tasks |
| |
| - [X] McDonalds 2020-11-05 |
| - [ ] Eat Hot Chip 2020-11-05 |
| - [X] Charge Phone 2020-11-05 |
| - [X] Lie 2020-11-05 |
+--------------------------------------------------------------------+

Sometimes a meeting will be cancelled or you will decide to not do a task in a
way you want to document (and not carry the task forward to future days). To
do this, enter the command \skip, which will have an effect like the
following.

+--------------------------------------------------------------------+
| # Today's Date |
| # Meetings |
| |
| |
| --- |
| |
| # Tasks |
| |
| - [X] McDonalds 2020-11-05 |
| - [ ] Eat Hot Chip 2020-11-05 |
| - [X] Charge Phone 2020-11-05 |
| - [X] Lie 2020-11-05 |
+--------------------------------------------------------------------+

This doesn't look very interesting in a help file, but the plugin uses
Markdown formatting to make list items and HTML comments -- like the skipped
meeting above -- visually distinctive. Since the meetings and tasks are added
on the line under the cursor, the line the cursor is on is also highlighted.

To-do-specific functions are mostly handled with mappings. Everything else
about the file is meant to be handled using Vim's built-in capabilities. For
more details, see the credits section.


================================================================================
Section 2: Installation *todotxt-installation*

I think this will work with Pathogen? I'm not sure: I don't use Pathogen.
What I would do is:
1. Put the todotxt.vim file somewhere in your plugins folder
2. Make a todo directory somewhere that makes sense to you
3. Add the following to your .vimrc file. >
augroup filetype_todo
autocmd!
autocmd BufNewFile */todotxt/*todo*.txt :source path/to/todotxt.vim
autocmd BufNewFile */todotxt/*todo*.txt :Todotxtstartup
augroup END
<

Or you could just dump the whole todotxt.vim file into your .vimrc...


================================================================================
Section 3: Usage *todotxt-usage*

This is an opinionated little plugin. It is based on a small set of (my)
practices and makes certain assumptions. If those practices and assumptions
don't work for you, this plugin is almost certainly not going to work for you
either (whether or not I've actually made it functional).

Practices: When I start work each day, it makes sense for me to:
1. Start a new page in my work notebook for that day
2. List my meetings for the day (at the top of the page, in order)
3. List my tasks for the day (to use the page efficiently, I populate the
tasks starting at the bottom of the page, but I don't generally order them or
worry about grouping or managing them)

This plugin creates a digital version of that page of my notebook, with a new
file for each day.

Assumptions:
1. You want to do something (very) like the practices above
2. You want to use Vim to edit to-do files
3. You're okay managing your own files

The way todotxt.txt expects you to use it is:
1. Each day, use the command line to tell Vim to create a file with "todo"
(without the quotes) in its filename and the extension .txt in a folder with
"todo" (without the quotes) in its path
2. Tell todotxt.txt to import undone tasks from a specified previous day (or,
in a very special situation, a lot of days)
3. Add your meetings and tasks over the course of the day
4. Mark meetings and tasks done over the course of the day
5. Save a copy of the list for reference later
6. Repeat 1-5 the next day
7. Every so often (once a month would make a lot of sense) move all the old
daily files into a sub-folder

To make 2, 3, 4, and 5 easier, there are mappings. To make the file easier to
look at, it uses syntax highlighting. That's it. That's all it does. It
should save you some typing of items from day-to-day if on Day 2, you have
some tasks you didn't complete on Day 1, and it should look better than a raw
text file. Otherwise, you're on your own.


================================================================================
Section 4: Mappings *todotxt-mappings*

This is kind of the meat of the plugin, in a weird way. Of course, if you're
a Vim user looking for plugins, you probably have a ton of your own mappings,
which is a problem, because I cannot for the life of me figure out all the
things I'm supposed to do to make sure this plugin's mappings aren't going to
clobber yours. Sorry. To make things easier, I've listed them all below. To
make things less dangerous, I've made them all pretty long.

Type: To: ~
\tadd Add a new task
\madd Add a new meeting
\done Mark a task or meeting accomplished
\skip Mark a meeting or task skipped
\logit Write a file with the current date in the filename
\grabit Pull in undone things from a specified file
\graball Pull in undone things from all files in the folder

graball is meant for big clean-up jobs and should rarely be used. All others
are meant for use daily (logit) or more often (tadd, madd, done, skip). grabit
fires automatically when you open the file, but can be used to add days one at
a time, if needed.


================================================================================
Section 5: Configuration *todotxt-config*

There aren't configuration options at this time. If you want a different path
or a different filename or a different type of syntax highlighting, you can
edit the todotxt.vim file to suit your preferences (but don't blame me if
something goes wrong).


================================================================================
Section 6: License *todotxt-license*

This file is placed in the public domain. But you shouldn't use it if you
aren't literally me.


================================================================================
Section 7: Bugs *todotxt-bugs*

God, there are probably a million bugs. If you find one, shoot me an email at
cfcollision@gmail.com, please! If you fix it, that's even better.

I am having enormous trouble with the apparently important "avoid loading the
file multiple times per buffer" issue, so frequently you may need to manually
set filetype to markdown, and I have no idea why. It loads other shit, but
not the filetype setting and I cannot figure out why that might be. For now,
I just have the entire "1. Filetype Protections from usr_41.txt" section
commented out because I can't make it work properly.

Tasks and meetings are added under the cursor. This is a little clunky, but
since Vim makes it easy to put the cursor where we want it, we can accept this mild inconvenience.

Not a bug, but a behavior: "logit" will (a) overwrite any previous version of
the file you made that day and (b) silently enter the current day if you start
up todotxt.vim on one day but use "logitlogit" on a different day.

"skip" marks things done, so they do not carry over into following days. This
is deliberate, but may not be what you want. My usage is to use "skipskip" only
for meetings that were cancelled, not for tasks I have chosen to leave undone;
those, I would usually allow to carry forward to the next day (and the next
day's file) and simply delete if need be, or use "skipskip" and add a comment
about why I had left the task undone.

This is tested on my home laptop, running Ubuntu 16.4, and my work MacBook.
It has NOT been tested on any Windows machine and probably won't work on one.

This works on Vim version 7.4 on Ubuntu 16.4 and should work on newer
versions. I think it works on Vim version 8.0 on my work MacBook.

Todo:
1. Sorting tasks by datestamp would be pretty cool
2. Auto-sorting meetings by time would also be pretty cool
3. Getting gVim to work would also be sweet (setting pwd on BufNew or
something?)
4. Add menus?
5. Sweet README.md file?
6. Smart enough to check more than one file?
7. Sweep done tasks (but not meetings) to the bottom of the file and hide them
(comment them out or fold them?)
8. Cleverly fold the todotxt.vim file using blank lines?
9. Shortening everything so I could have a cal in there
10. Making long lines work better and not just let them scroll off
endlessly?

================================================================================
Section 8: Contributing *todotxt-contributing*

It is unlikely that this will be useful enough to any other human to merit any
contributions. If you tweak it to your liking, feel free to shoot me an
email about your tweak. If you are okay with me adopting your tweak, please
say so.


================================================================================
Section 9: Changelog *todotxt-changelog*

This document is for plugin version 0.2.1, first even potentially shareable
version, with broken stuff commented out.


================================================================================
Section 10: Credits *todotxt-credits*

This is inspired by three things:
1. Bullet journal practice
2. Hipster PDA practice (documentation here:
http://www.43folders.com/2004/09/03/introducing-the-hipster-pda_ )
3. Steve Losh's program t: "a command-line todo list manager for people who
want to FINISH tasks, not organize them" ... "it does the simplest thing that
could possibly work" ... "hacked together in a couple nights to fit my needs"
with more documentation available here:
https://stevelosh.com/projects/t/

The idea is to mirror in plain text files my particular implementation of
ideas adopted from bullet journaling and the hipster PDA. In particular:
1. Treating a day as a container for the stuff I have to do that day, not
distinguishing between tasks and meetings, because they are both things I have
to do on a given day
2. Devoting a page in a notebook to that day, so everything is available at a
glance
3. Marking things done when done
4. Carrying over things to the next day if they are not done

Losh's program did a lot of things I found interesting, especially with very
short commands to do useful things, but had certain features that didn't work
well for my needs, including a dependency on Python and a need to make
command-line aliases for things. His repeated comment "need to do something?
open it in a text editor" inspired me to harness Vim's capacities and make Vim
the home for the whole thing. Also I have one need his program does not allow
for, which is an occasional but very important need to document what I did on
a given day or set of days: this implies a daily log of some kind. Finally,
hell, sometimes I do want to organize my tasks, not finish them. (And a lot
of his functionality is built around preventing multiple users or computers
clobbering one file, which is not a need I have.)

So, I hacked something together over the course of a couple days, test-drove
it and amended it.

His way -- t -- is almost certainly better, and I encourage you to try it out
rather than muck around with this.

vim:tw=78:ts=8:ft=help:norl:

Previous entries in Vim (for non-programmers):

  1. Vim (for non-programmers) Chapter O (NOT 0), recipes which are quick and dirty, example six: Let's Make a Time-Stamped Log of Stuff We Read Online and Want to Have a List Of; Hey, Guess What? I Got a Lot of This from Chris Toomey (heart-eyes emoji)
  2. Vim (for non-programmers) Part Three: Refactoring my _vimrc File; Chapter Five: Correct Easy Link Addition (Correcting My Misreading of Steve Losh)
  3. Vim (for non-programmers) Part Three: Refactoring my .vimrc File, Chapter Five; Correct Easy Markup of Markdown Headlines (Building on Chris Toomey's "Your First Vim Plugin")
  4. Vim (for non-programmers) Chapter O (NOT 0), recipes which are quick and dirty, example two: Dumping Out the Recommendations from IDEOTVPod into One File

Sunday, November 01, 2020

Real Life is Fine for People Who Can't Do Any Better

The difference between Woody Allen and say, Todd Solondz or Charlie Kaufman, is Allen will do a romantic comedy without a hint of disillusion or angst. And the problem with a lot of Woody Allen reviews I’ve read is that if his newest film isn’t unexpected or profound they pawn it off as a stale retread—overlooking brilliance cloaked in subtlety.


 
     A Rainy Day in New York (2019, Woody Allen) is a confection of pure escapist romantic illusion that packages many of Allen’s most familiar trademarks except one: nihilism.
 
     What’s my favorite thing about A Rainy Day in New York? The dialogue. It’s like a buffet of delightfully witty one-liners that slowly pass right in front of you on an automatic conveyer belt for you to sit there and enjoy. Next is what the film says about romance.
 
     Or more specifically, what A Rainy Day in New York dreams of romance as. The leads are all young and good-looking. The main couple define the ideal chemistry of a perfect match by means of their matching of wits through intellectually comic sparring. And the characters don’t spend time talking about love or how they feel about each other very much, although when they do it’s about partners that aren’t exactly right for them. 
     But ultimately in Allen’s règle du jeu his most optimistic sentiment is that of how in a vast sea of vain searching only one couple actually get struck by fleeting Cupid’s elusive arrow, and once they finally realize it, the film is over. And this is why Allen can still craft a masterwork in a year of duds.
 
     I’m probably reaching and way off here, but I read some symbolism into how HOLDEN’S paramour wears a sweater and skirt. When he starts hanging out with the other woman CHAN, right after it rains she changes into a sweater and mini-skirt. Could it be the change in costume design is telling us how we can find our ideal where we would least expect to?
     Or maybe another bit of subtext could be how Holden never loses at poker, but with love he doesn't quite have the same luck? Or does he? Is Allen using poker as an analogy about love? Like losing a hand doesn't mean you still can't come back to win the pot?


10/11/2020 Landmark Midtown Art Cinema
Atlanta, GA
DCP