Two things: Response 02 and The Internet

Two quick things (I’ve been busy):

  1. Response 02 can now be ordered from the printer. You can read a little (really: I mean a little) more about it at theworkandresponse.com. I’m very proud of it. I already found and fixed one typo, too. Yay, print on demand.

  2. The internet is a pretty horrible thing a lot of the time, but sometimes it’s pretty cool. I was thinking about that this morning as I was getting the word out to the Response 02 contributors – scattered literally all over the country – and a few minutes ago, when I was looking up a bunch of paintings for this reading group I’m in. What a world we live in where you can basically see everything a painter has ever painted all at once, from the comfort of your living room. Hopefully someday we’ll figure out how to use it well. In fact, this reminds me of something my friend Greg Brown pointed out a long (long) time ago about technology, that it takes a long time for humanity to figure out how to use properly. He’d said, “I mean, we haven’t even figured out how to use gunpowder responsibly.” And maybe we won’t figure it out, but like gunpowder and fireworks, perhaps we can try to use the internet for good things more than bad things. I hear Twitter was down during the old-men-town-halls last night, at least.

Authentication

It used to not bother me that this site was served over plain HTTP, because (a) I don’t collect any information from users, and therefore security doesn’t so much matter and (b) I had this site hosted as a subdomain (because I’m an idiot and didn’t understand the hosting plan I set up when I was…​19? Surprisingly the price is still competitive.) and so if I tried to force HTTPS you’d get that "This site may be trying to steal your data!" warning, because the cert was for 'bikesbooksandbullshit.com,' not the subdomain. Anyway.

While it doesn’t so much matter for this little bloggy thing, HTTPS will probably look better for The Work and Response, so I thought it might be time to look into it. I did, it was fine, I hosted this site as a test. Great.

But I’m an idiot so it broke all my goddamn automated builds. Which I did not even document a little bit.

So here I am, trying to remember what SSH keys I created and used and this, that, the other — how to update permission on the server so it would actually accept the build system’s private key and so on, and basically…​ it’s fixed now.

So I hope the little lock makes you feel better, is the point.

(And yes, this post was written largely to convince myself that it’s all working now. Yay.)

Writing Asciidoc in Geany, Haltingly

Some very small part of me is afraid that this will turn into something like a technology blog, but perhaps that was inevitable once I started working at ORM. The predecessor to this blog, P ¬ P, was sometimes a technology blog, too, as I was then working for a software company as a tech writer. After that it was Danny Takes a Trip, which was pretty, er, explicitly about something else, but with this, as I was starting it in Wisconsin, reading a lot, writing a lot of books, engaged in the political shitstorm of late-2016, "bikes, books, and bullshit" made a lot of sense at the time. But now? I’ve got this job at a tech publisher. I’m spending most of my day in a code editor (which is not really all that new, but still--), and the new toy I bought myself to stave off quarantine boredom and to learn something (by which I mean: to continue procrastinating on a few writing projects) was one of the shiny new Raspberry Pis, on which I am working presently.

I’d say, "so much for bikes, books, and bullshit," but obviously this is still bullshit, you know? Anyway — I’ve had this idea for a while to cook up something like 'asciidoc for poets' or some such thing, and this could be considered a part of, or warm up, for that.

A Little Background (As Short as I Can Make it)

I have been doing most of my writing — save for school papers (until recently) requiring footnotes and bibliographies — in markdown for almost a decade. At first, it was because I was getting into "distraction-free" writing programs, having just bought my first typewriter at the tender age of 'my-first-poetry-class.' I didn’t think too much of it until I got into static-site blogging after college, and then later-later when I was building a new documentation system for a tech writing gig, and realized that I wanted nothing to do with DITA (the Darwin Information Typing Architecture), which I had been using before. tl;dr I’ve been working in plain text for a while.

As a part of researching this job I wanted (and did, fortuitously, get), I finally got around to learning asciidoc, which was starting to come up as a more modern alternative to DITA, taking some good things from markdown but avoiding its (many) pitfalls (when working with complex documents — it’s still great for blogging and non-technical things). So then I was writing asciidoc, learning about the Asciidoctor toolchain, writing templates and using asciidoc to write, format, and "build" my graduate thesis. Along the way I picked up some new tools, skills, and a new favorite code editor (which was not Geany). But new circumstances arise constantly, I’m always down to learn something new (i.e., procrastinate), and so, Geany.

So, Geany.

Geany is a lightweight, cross-platform IDE (integrated development environment), and it plays well with Raspberry Pi OS (while my preferred editor, Atom, does not). In part for fun, in part because (and this is really stupid) I don’t like having to completely move my work laptop off my desk to use my personal laptop with the fancy work-from-home monitor I bought, and in part because it does, in some respects, offer fewer sources of distraction, I’ve been working on the Pi at night when I do my writing, work on Response, correspondence, etc. So I’ve found myself in the position of using Geany, which isn’t really so great for writing asciidoc, though I’ve somewhat made it tolerable, and it’s starting to really get there.

Some things, out of the box, that I liked about Geany:

  • It’s a code editor! This means when I write python scripts it has syntax highlighting, it has some nice auto-complete and selection features, and generally is laid out in a way that I’m familiar with (and if it isn’t I can customize that).

  • It has a built-in terminal, which I actually greatly prefer to the Git nonsense built in to Atom (which, though occasionally very useful, I mostly ignore, preferring to keep a Terminal window open anyway).

  • It is (also) open source!

  • It works well on the Pi.

Some things, out of the box, that I disliked about Geany:

  • While it has some understanding of asciidoc as a filetype, there is no syntax highlighting. This shouldn’t be a big deal, from an asciidoc philosophy point of view, but I still find highlighting useful, especially at work when I’m editing whole chapters.

  • Part of the problem was I’m moving from a mac to linux, but in any case I didn’t find the built-in key commands particularly intuitive (they can be changed; see below)

  • Like many editors, you need to add plugins to make it useful. Because it’s an open source project, the docs aren’t exactly…​great, if you don’t already know a lot about IDEs and so forth. There is a learning curve.

  • It’s written in C, on C-like technologies, and I do not write C, and therefore have to rely on others to do things (unlike in Atom, which is built on Javascript, and I write enough Javascript to make it do useful things on my own).

So, you know, good and bad.

First Impressions

At first I was fighting with it a lot. A lot of the features don’t really google well. It has it’s own ecosystem and nomenclature and I am real lazy about remembering certain kinds of bash commands and how to use them (again, see below).

I spent far too long trying to find an asciidoc syntax highlighter for it, and then I spent time trying to hack one in before realizing I was far out of my depth with that.

I found a file tree thing for the sidebar, but didn’t find the right one, and so was disappointed when it didn’t do what I needed it to (a different plugin was the trick, turned out).

I wrote some things but because of my insistence on re-writing as I write, involving a lot of jumping back words and so forth, I was super slow because all the keycommands built into my fingers after how-many hours writing in a different editor were all wrong, and though I’m sure you’d think it wouldn’t slow me down, it did. It shouldn’t have, perhaps, but I am only human.

In any case, I frankly hated it. I downloaded code-oss, the closest thing to Atom I could find, but don’t really love it. It’s kind of like getting vanilla when you really wanted chocolate, so you’d almost rather just have avocado ice cream instead because it’s at least really different. So I thought I would at least try to give Geany a proper go, and now here I am: using it regularly, mostly not even that annoyed with it anymore!

Making the World (OK: Geany) Conform to Me

The thing that I find most exciting about programming isn’t the possibility to get rich or change the world or anything like that — it’s to make my life easier. Need to add a <span class="x"> over and over again around words in a document? Write a little coffeescript into your init.coffee file! Need a random number? import random -→ random.randint(0,x)! Want to display how many words you wrote in a given writing session onto a little eInk display you impulsively bought and that you have no real practical use for? Spend a really, really long time googling git hooks and writing bad python code until it works!

As mentioned before, I was hoping that Geany would let me do something similar — if I couldn’t have syntax highlighting, maybe I could at least be able to use CMD-i to wrap a word in characters to make it asciidoc-italic, right? (God forbid I actually spend the time to type characters around words I want to italicize.)

I am very pleased to say that, after a lot of googling and a lot of real dumb mistakes: yes, you can do that. Here’s how:

  1. Spend a lot of time googling until you stumble upon the MiniScript plugin for Geany.

  2. Realize that it’s not behaving as you’d expect it to, so do more googling.

  3. On a Geany GitHub issue, scroll until you discover that someone else has had this problem, and was directed to a "Set Custom Commands" feature.

  4. Read about this feature in the Geany docs.

  5. Write a python script to read standard in, wrap text, send it to standard out.

  6. Realize that the "Set Custom Commands" refuses, for some reason that you still haven’t figured out, to let you do this.

  7. Spend a lot of time googling why this might be, until finally accepting that you are at last forced to learn about the sed utility.

  8. Read the sed docs. Google other alternatives. Find none. Read the sed docs again.

  9. Write a sed command, cross your fingers, and it half works! Spend the rest of half-an-hour getting the other half to work.

  10. Huzzah! You’ve gotten it to work! Now hurry and write as many words as you can before it’s time for bed (because obviously you do all your computer-play-time when you should be writing).

So, in case you ever want to use Geany to write asciidoc (or markdown, tbh), you can enter the following commands into the Edit -→ Format -→ Send Selection to — > Set Custom Commands:

sed 's/^\|$/_/g'

For italicizing text, e.g., text

sed 's/^\|$/*/g'

For making text bold, e.g., text (add a second * if working in markdown)

There’s more I’ll need to do, but that was the bare minimum I wanted. It doesn’t work if there isn’t a word selected (so arguable typing _ may still be faster in many, if not most, circumstances) due to the way Geany processes the commands' standard-in/out, but still: it’s something.

After I got the commands sorted, it was simply a matter of setting new key commands in the regular preferences for these new formatting tasks. Nice, right?

So now that I had my minimum key commands (aside from reassigning a bunch of others, e.g., moving between word parts, certain selection things, etc.), there was enough to work on. Beyond that it was cosmetic: downloading a slightly less (forgive me) open source-looking fixed-width font, figuring out the difference between Line Wrapping and Line Breaking, that sort of thing.

Though I still wouldn’t use Geany for my professional editing work (I am far too reliant on the multi-cursor feature, which doesn’t (yet?) seem possible in Geany from all I’ve read, to use it for that), for day-to-day writing, perhaps some web work (TBD: I’ve got some work to do on Response next week, so we’ll see), and what little scripting I do, it seems perfectly good for now.

Am I still looking for alternatives? Yes. Am I happy enough for the time being? Does it work? Does it get the job done? More or less, yes.

Briefly on Habits

There are habits that I have and don’t think about and habits that I think about constantly but struggle to keep. I’ve been thinking a lot about these latter, lately.

For example, I keep a separate Google account logged in to Chrome on my work computer for some sense of an illusion that it keeps what I read "separate" from my "work reading," though I am aware that even this is not necessarily immune to the system administrator, were they to want to see what I actually do all day. In this separate set of tabs I open articles, usually from LitHub or the one of the other far-too-many newsletters I’m subscribed to, that I think I might want to read. After finishing an MFA and heading off into the world, I’m thinking about "literary citizenship," or how I can be a productively engaged and community-oriented writer (whatever that means in the time of COVID), and reading articles and new poems or stories seems like the bare minimum. I don’t read a lot of contemporary fiction so this does, indeed, help me sleep better at night.

Like all well-intentioned habits, however, this one often falls by the wayside. I didn’t do a Wednesday Weekly Recommended Reading yesterday because I had four or five tabs open that I wanted to read first. Reading two of them after finishing up a few projects this morning ("A Second Chance" by Janet Malcolm and "A House Is Not a Home" by Eula Biss) reminded me that this is another small habit I’ve let fall by the wayside. Bliss’s article, in particular.

I have noticed, though, that though I’m not an every-day habit, I do have some habit of working-on-my-habits.

I’ve been seeing a therapist for about a year and a half now, and after we worked thorough what was bringing me there in the first place, we’ve spent a lot of time talking about habits (in so many more words). A part of it was balancing work and school and art, which was an ever-shifting equation given that in any given semester (or month, at times), one or the other would flare up and cause the whole system to come out of whack; it did not help that the hourly job I held for most of grad school could flex wildly in terms of hours worked and stress, which though not the most extreme certainly, also certainly made it hard to make anything like good art.

Now, post-school, post-part-time employment, the discussions have turned towards cementing new habits — at least for the duration of COVID times, during which A. and I are both very fortunate to be able to work entirely from home — around work, keeping up my mental health, keeping up my physical health (i.e., maintaining my bicycling addiction), and work, i.e., not failing to do the work required to not only be a good literary citizen, but also indeed to maintain some semblance of an ongoing artistic practice. Suffice to say that it is something I’ve struggled with before (indeed: it was one of the motivators to go to graduate school), as I am easily distracted by whatever shiny thing (these days: the slippage from working on computational lit projects to simply writing code for its own sake).

I have managed to carve out some kind of a routine. We get up when we get up, start work when we have to, but I try to get a few minutes in the back yard by myself to drink coffee and journal and read either the news or a little bit of a book or magazine (this week: Volume 2 of David Leo Rice’s A Room in Dodge City and the summer issue of Bicycle Quarterly). I sit at my desk and work, read articles, write blog posts, scribble notes for other projects. We go for a walk and make dinner and watch TV (did you know that "Murder She Wrote" can be found streaming on IMDB?), and then after a while I’ll retreat back to the office and write and read and do my best to make interesting art as much as I am able that evening.

Nevertheless, the habit(s) are slow to form. I struggle to do revisions, I struggle to work on longer things, I struggle to start things that feel scary (here’s looking at you, novel). So I write 500-800 word exercises, flash fictions, write the logic code for the next computational lit project (while studiously avoiding writing the actual text). It’s coming, though, but slowly.

On one of the walls in the English department in my high school there was painted:

We are what we repeatedly do. Excellence, then, is not an act, but a habit.

— Aristotle

The quote is, of course, apocryphal, but it was very much cemented in my little adolescent brain, then very keen on all things old and philosophical. Like all good misquotations, it can be read in any number of ways to suit. There is a somewhat "liberatory" reading, which seemed the only kind of truth when I was reading too much of the existentialists, that you are nothing other than what you repeatedly do, which seems to promise a kind of absurd freedom from class, background, race, the opinions of others; but of course there is also kind of a strong challenge, there: excellence is a habit, therefore you best be on your best behavior and ability at all times.

This, of course, makes me think of the argument in Malcolm’s Kids These Days (which was interesting, though, ultimately I found the book itself somewhat forgettable), about my generation and after — the precariate, or whatever you’d like to call it — thinking of ourselves as assets whose value(s) must be protected at all costs in a kind of risk-mitigation scheme, and how, indeed, this historical circumstance (whose possibility or truth I do find compelling) may converge with this apocryphal quotation to create rather a lot of anxiety surrounding habits and the way they contribute to (or, perhaps, even determine) one’s sense of self.

I’m thinking too, then, to perhaps try and circle these rambling threads up, of things like "Writers Write," whose very name links an activity with identity. And in many ways I’m not disinclined to this view: you are what you consistently do.

But I suppose the question then must center on "consistently." What does "consistently" mean in this context? Is it then the case that, to quote a much-loved writing professor, "writing every day is an emergency?" Does it mean that my poet friend who hasn’t been able to string more than a few lines together since COVID started is no longer a poet, no longer a writer?

But perhaps another angle at which to attack the statement may be in terms of identity, to interrogate "are," i.e., is a "poet" something you "are," or is that merely a description of something you do or have done? Or are the description and "being" then even different in any important way? Where does one locate identity? And then the question becomes of the "I" being identical to what?

Suppose we allow for the moment that existence proceeds essence. This is obviously contra-Aristotle (in some important ways, at least — though I’ll freely admit I am rusty on Aristotle’s metaphysics, which I was only ever vague on to begin with), but supposing we may still import the mis-attributed statement, does the "are" of being change? How often? What accumulation of "consistency" is required to then be? It’s a sorties paradox all over again.

I wish I could remember more of my William James (or had the time, presently, to look). I was given the "Habits" chapter in his Psychology textbook to read as a freshman in college. I remember having a strong, negative gut-reaction to it. I think that reaction was tempered by the time we’d gotten through discussing it in the freshmen seminar. But I do remember it was a question of habit-formation. And habit-formation as a constitutive element of self.

And so perhaps I may want to add another reading of the apocryphal quote, or rather, I would like to re-emphasize the "consistently do" above and beyond the implications for that ever-murky thing we call "identity." We’re awash in conversations about being consistently anti-racist, about giving consistently to organizations you want to support, about consistently holding this or that political line, and a lot of it — or at least some, perhaps darker side of it — seems fixated on gathering just enough "consistent" evidence to affix labels, affix identity. But, at least for me, this only causes anxiety: do I post this or that to genuinely share (and thereby "be" one of "the good ones"), or am I merely performing politics and allyship (and therefore "be" a part of the problem)? In even asking this question of myself am I consistently-enough centering the narrative around myself (though I ask this privately) and therefore am I again coextensive with "the problem?" Perhaps. Perhaps even likely.

But instead — and maybe, too, I am falling prey to something like "the power of positivity," though I maintain perhaps I’m walking closer to William James and his Pragmatism, after all — perhaps I, we, ought to focus on habits not in terms of what they do for our identity, our identification, but rather in terms of habitual actions we enjoy, things we want to do often, actions that we are glad to have taken on our better days when we are able.

I hope I am not falling into some kind of apologist mode. But I must believe — if only for psychological security — in the possibility of change, of changes in action and in habits, both for others and myself.