<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2010-04-27:505737</id>
  <title>The Mandelbear's Musings</title>
  <subtitle>mdlbear</subtitle>
  <author>
    <name>mdlbear</name>
  </author>
  <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom"/>
  <updated>2019-09-28T23:43:42Z</updated>
  <dw:journal username="mdlbear" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1688029</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1688029.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1688029"/>
    <title>Sable and the turtles: laptop configuration made easy</title>
    <published>2019-09-28T23:43:42Z</published>
    <updated>2019-09-28T23:43:42Z</updated>
    <category term="s4s"/>
    <category term="curmudgeon"/>
    <category term="laptop"/>
    <category term="computers"/>
    <category term="configuration"/>
    <category term="linux"/>
    <dw:music>Windward</dw:music>
    <dw:mood>didactic</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>9</dw:reply-count>
    <content type="html">&lt;p&gt; I recently bought a new-to-me &lt;a href="https://www.thinkwiki.org/wiki/Category:X230"&gt;Thinkpad X230&lt;/a&gt;, and
    in keeping with my ongoing theme of naming thinkpads after their color, I
    called it &lt;a href="https://en.wikipedia.org/wiki/Sable"&gt;Sable&lt;/a&gt;, which
    in addition to being the heraldic name for the &lt;a href="https://en.wikipedia.org/wiki/Sable_(heraldry)"&gt;colour black&lt;/a&gt; is
    also a small dark-brown animal in the &lt;a href="https://en.wikipedia.org/wiki/Mustelidae"&gt;mustelid (weasel)&lt;/a&gt;
    family.

&lt;p&gt; I've become quite fond of Sable.  It's only an inch wider than my former
    laptop, Cygnus (named after &lt;a href="https://en.wikipedia.org/wiki/Cygnus_X-1"&gt;Cygnus X-1&lt;/a&gt;, the first
    X-ray source to be widely accepted as a black hole), about ten times
    faster, and the same weight.  The extra inch makes it &lt;em&gt;exactly&lt;/em&gt; the
    right size for me to put one of my Thinkpad USB keyboards flat on top of
    it.  One may wonder why I would even want to do this, but I can move the
    keyboard to my lap when one of the cats wants to sit on my desk. (The cat
    is almost always Desti, who is also black, but naming a laptop after her
    would be confusing.)

&lt;p&gt; Anyway.

&lt;p&gt; One of the problems with getting a new computer is getting it configured
    the way I want it, which usually means "pretty much the same as the last
    one".  Most people do this by copying as much as they can off the old one,
    (on Linux that's typically their entire home directory), and then
    installing the same collection of applications (packages, in Linux
    terminology).  It's tedious, and when the architectures or operating
    system versions are different it leads to a wide range of random glitches
    and outright bugs that have to be tracked down individually over the
    course of the next week or so.  Even if it doesn't, home directories tend
    to include a large amount of random stuff, like downloads and the contents
    of your browser cache, that you &lt;em&gt;don't&lt;/em&gt; necessarily want.

&lt;p&gt; And if you're trying to set up a home directory on your web host, or your
    work machine, or something tiny like a &lt;a href="https://www.raspberrypi.org/"&gt;Raspberry Pi&lt;/a&gt;, well...  What you
    really want to do is start afresh and just install what you really need.

&lt;p&gt; That's where the turtles (&lt;a href="https://steve.savitzky.net/Songs/windward/"&gt;because home is
    wherever you carry your shell&lt;/a&gt;, as it says in the song) come in.
    Specifically, &lt;a href="https://github.com/ssavitzky/Honu"&gt;Honu&lt;/a&gt;, which
    is a collection of makefiles and scripts that does almost all of the setup
    automagically.

&lt;p&gt; Honu (Hawaiian for the &lt;a href="https://en.wikipedia.org/wiki/Green_sea_turtle"&gt;green sea
    turtle&lt;/a&gt;) requires nothing more than a shell (the Linux/Unix
    command-line processor, and anything Posix-compatible will work), an &lt;a href="https://linux.die.net/man/1/ssh"&gt;SSH client&lt;/a&gt;, the &lt;a href="https://kernel.org/pub/software/scm/git/docs/git.html"&gt;git&lt;/a&gt;
    version-control system, and &lt;a href="https://www.gnu.org/software/make/manual/make.html"&gt;make&lt;/a&gt;.  In
    fact, if you can install packages on your target system, the first thing
    Honu's bootstrap script will do is install the ones you don't have.

&lt;p&gt; Make was one of the first programs for building software automatically,
    and I'm very fond of it.  It lets you define "recipes" -- actually, short
    shell scripts -- for building files out of their "dependencies", and it's
    clever enough to only build the things that are out of date.  It can also
    follow rules, like the built-in one that tells it how to use the C
    compiler to turn a &lt;code&gt;.c&lt;/code&gt; file into a &lt;code&gt;.o&lt;/code&gt; object
    file, and the linker to turn a &lt;code&gt;.o&lt;/code&gt; file to an executable file.
    (On Windows the executable file would end in an extension of
    &lt;code&gt;.exe&lt;/code&gt;, but Unix and its descendents don't need it.)

&lt;p&gt; Make can also follow chains of rules, so if your source file changes it
    will rebuild the executable, and (unless you tell it not to) delete the
    object file after it's sure nothing else needs it.  And rules don't have
    to result in actual files -- if you give it a recipe for a "phony" target it
    will simply notice that it isn't there, and run the recipe every time.
    This is good for things like "install-pkgs" and "install", which are
    Honu's main make targets.  

&lt;p&gt; Turn it loose with a &lt;code&gt;make&lt;/code&gt; command, and Honu's makefiles
    happily go about installing packages, creating directories, and setting up
    configuration files ; the whole process takes well under an hour.

&lt;p&gt; I wrote Honu to be pretty generic -- it knows a lot of my preferences, but
    it doesn't know my name, email address, current projects, or hosting
    service.  I also have another package, Mathilda (our name for the
    particular happy honu who narrates "&lt;a href="https://steve.savitzky.net/Songs/windward/"&gt;Windward&lt;/a&gt;").
    Mathilda sets all of &lt;em&gt;that&lt;/em&gt; up, pulling down the Git repositories
    for my current projects, blog archives, websites, songbooks, build
    systems, and so on; putting them in the right places so that I can sit
    down in front of Sable, open the lid, and be right at home.

&lt;p&gt; ...Except, as in most moving projects, for tracking down all the little
    pieces that got left behind, but that only took a couple of days.

&lt;p&gt; ...

&lt;p&gt; ...And in case you were wondering what happened to this week's &lt;a href="https://mdlbear.dreamwidth.org/tag/s4s"&gt;Songs for Saturday&lt;/a&gt;, you
    can read more about "&lt;a href="https://steve.savitzky.net/Songs/windward/"&gt;Windward&lt;/a&gt;" in &lt;a href="https://mdlbear.dreamwidth.org/1541816.html"&gt;Songs for Saturday:  Travelers and The Bears&lt;/a&gt;, from 2015.

&lt;blockquote style="white-space: pre-wrap;"&gt;
Where the wind takes us next year no turtle can tell,
But we'll still be at home come high water or hell,
Because home is wherever you carry your &lt;strong&gt;shell&lt;/strong&gt;.
&lt;/blockquote&gt;

&lt;p&gt; Or &lt;code&gt;$(SHELL)&lt;/code&gt;, as the case may be.

&lt;p class="colophon"&gt; &lt;em&gt;Another fine post from
    &lt;a href="https://mdlbear.dreamwidth.org/tag/curmudgeon"&gt;The Computer Curmudgeon&lt;/a&gt; (also at
    &lt;a href="https://computer-curmudgeon.com/"&gt;computer-curmudgeon.com&lt;/a&gt;).&lt;br&gt;
    Donation buttons in &lt;a href="https://mdlbear.dreamwidth.org/"&gt;profile&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1688029" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1663349</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1663349.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1663349"/>
    <title>Writing Without Distractions</title>
    <published>2019-03-02T00:50:01Z</published>
    <updated>2019-03-02T00:50:01Z</updated>
    <category term="curmudgeon"/>
    <category term="unix"/>
    <category term="version-control"/>
    <category term="linux"/>
    <category term="writing"/>
    <category term="computers"/>
    <category term="markup"/>
    <category term="text-editors"/>
    <dw:music>The Ultimate Rain Noise Generator</dw:music>
    <dw:mood>didactic</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>10</dw:reply-count>
    <content type="html">&lt;p&gt; A few years ago I read an article about how to set up a Mac for
    distraction-free writing.  I can't seem to find it anymore (okay, some
    rather large value of "a few"), but "there's an app for that" now.  Many
    writers on my reading list are talking about &lt;a href="https://lifehacker.com/five-best-distraction-free-writing-tools-5689579"&gt;distraction-free writing tools&lt;/a&gt; like &lt;a href="https://ia.net/writer"&gt;iA Writer&lt;/a&gt; (seems to be the one people are most impressed by at the
    moment) and &lt;a href="https://gottcode.org/focuswriter/"&gt;FocusWriter&lt;/a&gt;
    (free and cross-platform).  There's even &lt;a href="https://github.com/joostkremers/writeroom-mode"&gt;an Emacs mode&lt;/a&gt;.

&lt;p&gt; These all work roughly the same way:  run a text editor in full-screen
    mode, and write plain text with simplified markup in a fixed-width font.
    Worry about formatting later, if at all.  Grey out everything but the
    sentence or paragraph you're working on.  The article I can't find --
    written before specialized writing programs and even before the web --
    suggested getting the same effect by taking all of the icons off your
    screen and setting your default font to Courier.

&lt;p&gt; If you're happily using one of these tools, you may want to skip ahead to
    the section on &lt;a href="#formatting"&gt;formatting&lt;/a&gt;, and maybe fill in
    the gaps later.  If you're still using a word processor, or typing into a
    text field in a browser (even in "rich text" mode), you should probably
    stick with me.

&lt;h3&gt;&lt;a name="all-you-can-get"&gt;What You See is All You Can Get&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt; WYSIWYG (What You See Is What You Get) word processors are arguably the
    worst thing to have happened to writing in the last half-century.  They
    have three huge problems:

&lt;p&gt; &lt;strong&gt;The first&lt;/strong&gt; is that they make a promise they can't deliver
    on.  In fact, they should be called WYSIAYCG -- What You See Is All You
    Can Get.  If your word processor doesn't support kerning, multiple fonts,
    paragraphs with hanging indents large initial capitals, mathematical
    notation, or internal cross-linking, you can't use them.  If they make it
    &lt;em&gt;difficult&lt;/em&gt; to use these features, you &lt;em&gt;still&lt;/em&gt; won't use
    them unless you absolutely have to, and then you find yourself wasting
    time doing clumsy work-arounds.  Think about how you'd go about formatting
    song lyrics with chords over them.  Shudder.  How about making the space
    between sentences equal to one-and-a-half times the space between words?

&lt;p&gt; &lt;strong&gt;The second&lt;/strong&gt; is related to the first:  word processors
    target a specific page layout.  If you want to make a printed book, a web
    page, and an eBook, you're going to have to do extra work to accommodate
    the differences, or settle for something that has about the same level of
    mediocrity in all of those environments.

&lt;p&gt; At a lower level, word processors use proportional-spaced fonts.  That
    means you have to peer over the tops of your glasses to see whether that
    character at the end of the sentence is a period or a comma, and if your
    hands are shaking from too much coffee you'll have trouble selecting it.
    Or putting the cursor in front of it &lt;em&gt;without&lt;/em&gt; selecting it, if you
    want to add a few words.

&lt;p&gt; &lt;strong&gt;The third&lt;/strong&gt; is that they distract you from actually
    &lt;em&gt;writing&lt;/em&gt;, tempting you to fiddle with fonts, reformat your
    footers, worry about word-wrapping and hyphenation, and place your page
    breaks to avoid widows and orphans, at a time when you should be
    concentrating on content.

&lt;p&gt; There's a fourth, mostly unrelated, problem which is so pervasive these
    days that most people accept it as The Way Things Are:  if you
    accidentally select something and then type, whatever you selected goes
    away.  In almost all cases, even if your word processing has an "undo"
    feature, this can't be undone.  So let's talk a little more about...

&lt;h3&gt;&lt;a name="editing"&gt;Editing&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt; Anyone who's been hanging around me long enough is expecting me to mention
    &lt;a href="https://www.gnu.org/software/emacs/"&gt;GNU Emacs&lt;/a&gt; at some
    point, and I will.  But there are plenty of other text editors, and most
    of them are perfectly usable.  They're often called "programmers'
    editors".  

&lt;blockquote&gt;
&lt;p&gt; I'm not going to tell you how to use a text editor here; I'm just going to
    tell you more about &lt;em&gt;why&lt;/em&gt;, and point you at some resources.
    Michael Hartl's &lt;a href="https://www.learnenough.com/text-editor-tutorial/vim"&gt;&lt;cite&gt;Learn
    Enough Text Editor to Be Dangerous&lt;/cite&gt;&lt;/a&gt; is a pretty good
    introduction to most of them, though you may want to skip the chapter on
    Vim.  It gives short shrift to Emacs, but fortunately the first thing on
    your screen after starting Emacs is the tutorial.  Start there.
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt; So, why would you, a writer, want to use a programmer's editor?

&lt;p&gt; One reason is that programmers have been writing on computers for a quite
    a bit longer than writers have, so text editors have a considerable head
    start.  More to the point, programmers &lt;em&gt;use their own programs.&lt;/em&gt;
    This gives them a strong incentive to make their programs fast, efficient,
    and powerful.  Not every programmer who has a problem with their text
    editor is going to fix it, but enough do to make them improve rapidly.

&lt;p&gt; Word processors, on the other hand, are written &lt;em&gt;by&lt;/em&gt; programmers,
    but they are usually written &lt;em&gt;for&lt;/em&gt; ordinary users, not experts, and
    they're written to be products, not programming tools.  As products, they
    have to appeal to their customers, which means that they have to be easy
    to learn and easy to use.  They don't have to work well for people who
    spend their entire work day writing -- those are a tiny fraction of the
    customer base.

&lt;p&gt; Another reason is that text editors use fixed-width fonts and encourage
    you to use comparatively short lines (typically 72 or 80 characters, for
    reasons that date back to the late 1880s).  Paragraphs are separated by
    blank lines.  Since line breaks inside of paragraphs are ignored by
    formatters, some authors like to start every sentence on a new line, which
    makes them particularly easy to move around, and makes it easier to spot
    differences between versions.

&lt;p&gt; A text editor also makes you more efficient by giving you a wide range of
    keyboard commands -- you can write an entire book without ever taking your
    fingers off the keyboard.  (This is, in part, due to their long history --
    text editors predate graphical user interfaces by several decades.)  And
    most modern text editors are &lt;em&gt;extensible&lt;/em&gt;, so that if you want new
    commands or want them to behave differently for different kinds of markup,
    they're easy to add.  (I have a set that I use for my band's lead sheets,
    for example, and another for my to-do files.)

&lt;h3&gt;&lt;a name="markup"&gt;Markup&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt; Up until somewhere around 1990, everyone who did any serious writing knew
    how to edit a manuscript using proofreaders' marks.  Manuscripts were
    typed double-spaced to leave room for insertions, corrections, and cryptic
    little marks between the lines and in the margins.  This was, logically
    enough, called "marking up" the manuscript.  You've probably heard of
    Markdown.  You've &lt;em&gt;certainly&lt;/em&gt; heard of HTML, which stands for
    "HyperText Markup Language".  HTML, in turn, is a variant on SGML,
    "Standard General Markup Language".  You may have heard of LaTeX, which is
    the standard for academic -- especially scientific -- writing.

&lt;p&gt; Markup languages let you separate content writing from formatting.
    &lt;em&gt;Semantic&lt;/em&gt; markup lets you add additional information about what
    the things you are marking up &lt;em&gt;mean&lt;/em&gt;; it's up to a stylesheet to
    determine what they look like .  In HTML, you don't have to
    &amp;lt;i&amp;gt;&lt;i&gt;italicize&lt;/i&gt;&amp;lt;/i&amp;gt; something, you can
    &amp;lt;em&amp;gt;&lt;em&gt;emphasize&lt;/em&gt;&amp;lt;/em&amp;gt; a talking point, or
    &amp;lt;cite&amp;gt;&lt;cite&gt;cite&lt;/cite&gt;&amp;lt;/cite&amp;gt; a book title.  They usually
    look the same, so most people don't bother, until they decide to turn all
    the book titles in their two thousand blog posts into links.

&lt;p&gt; You can see how using semantic markup can free you from having to think
    about formatting while you're writing.  There's another, less obvious
    advantage:  you aren't stuck with just one format.  By applying different
    styles to your document you can make it a web page, a printed book, an
    eBook, a slide show, or an email.

&lt;p&gt; Another advantage of markup languages is that &lt;em&gt;all&lt;/em&gt; of the markup
    is visible.  This week's &lt;a href="https://xkcd.com/2109/"&gt;xkcd: "Invisible
    Formatting"&lt;/a&gt;, shows how you can accidentally make a boldface space in
    the middle of normal text, where it can distract you by making an
    insertion unexpecedly boldface.  It may also make subtle changes in line
    and word spacing that are hard to track down down.

&lt;p&gt; There are two main kinds of markup languages:  ones like &lt;a href="https://daringfireball.net/projects/markdown"&gt;Markdown&lt;/a&gt; and &lt;a href="https://github.com/textile"&gt;Textile&lt;/a&gt;, that use simple
    conventions like &lt;code&gt;**&lt;strong&gt;double asterisks&lt;/strong&gt;**&lt;/code&gt; for
    strong emphasis, and the ones that use tags, like
    &amp;lt;cite&amp;gt;&lt;cite&gt;HTML&lt;/cite&gt;&amp;lt;/cite&amp;gt;.  &lt;a href="https://www.latex-project.org/"&gt;LaTeX&lt;/a&gt; and &lt;a href="http://docutils.sourceforge.net/rst.html"&gt;Restructured Text&lt;/a&gt; are
    somewhere in the middle, using both methods.  You can be a lot more
    specific with HTML, but Markdown is far easier to type.  Markdown and
    Textile let you mix in HTML for semantic tagging; Markdown, Textile, and
    Resturectured Text all use LaTeX for mathematical notation.  Some
    formatters let you embed code with colored syntax highlighting.

&lt;p&gt; These days, it looks as though Markdown is the most popular, in part
    thanks to &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;; you can find it in
    static site generators like &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; and &lt;a href="https://github.com/jekyll/jekyll"&gt;Jekyll&lt;/a&gt;, and it's accepted by
    many blogging platforms (including Dreamwidth).  Unfortunately they all
    accept different &lt;em&gt;dialects&lt;/em&gt; of Markdown; there is an enormous
    number of Markdown-to-whatever converters.  But the nice thing about
    markup languages is that you aren't stuck with just one.  That brings us
    to...

&lt;h3&gt;&lt;a name="formatting"&gt;Formatting&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt; Once you have a file that says exactly what you want to say, the next
    thing you'll want to do is format it.  Formatting programs (a category
    that includes LaTeX, web browsers, website generators like Jekyll and
    Hugo) all use some kind of style sheet that describes what each kind of
    markup is supposed to look like.  You probably know about CSS, the
    "Cascading Style Sheets" that are used on the web.  LaTeX has a different
    set, written in the typesetting language TeX.

&lt;p&gt; If you wrote your file in HTML and you want to publish it on the web,
    you're done.  You may want to make your own stylesheet or customize one of
    the thousands that are already out there, but you don't have to.  Modern
    browsers do a perfectly reasonable job of formatting.  CSS lets you
    specify a separate style for print, so when a reader wants a printed copy
    it actually looks like something you'd want to read on paper.

&lt;p&gt; If you wrote your file in LaTeX and you want to publish it on paper,
    you're done -- it's safe to assume that LaTeX knows more about formatting
    and typesetting than you do, so you can just tell LaTeX what size your
    pages, pick one of the hundreds of available stylesheets (or write your
    own), and let it make you a PDF.  You can change the page size or layout
    with just a few keystrokes.

&lt;p&gt; If you wrote your file in Markdown or some other markup language, there
    are dozens of formatting programs that produces HTML, LaTeX, PDF, or some
    combination of those.  (My favorite is Pandoc -- see below.)  Markdown is
    also used by static website generators like Hugo or Jekyll, and accepted
    by everything from blogging sites to GitHub.  If you're publishing on the
    web or in some other medium your formatter supports, you're done.

&lt;p&gt; The advantage of separating content from format is that you're not stuck
    with one format.  Web?  Print?  eBook?  You don't have to pick one, you
    have all of them at your fingertips.  There are hundreds of conversion
    programs around: &lt;code&gt;html2latex&lt;/code&gt;, &lt;code&gt;latex2html&lt;/code&gt;,
    &lt;code&gt;kramdown&lt;/code&gt; (which GitHub uses),...  For most purposes I
    recommend &lt;a href="https://pandoc.org/"&gt;Pandoc&lt;/a&gt;.  The subtitle of
    Pandoc's home page calls it "a universal document converter", and it is.
    It can convert between any of the the markup languages I've mentioned
    here, and more, in either direction.  In addition it can output eBook,
    word processor, wiki, and documentation formats, not to mention PDF.  As
    an example of what it can do, I write these posts in either HTML or
    Markdown as the mood takes me, and use Pandoc to convert them to HTML for
    Dreamwidth and plain text, stripping out the tags, so that I can get
    accurate word counts.

&lt;h3&gt;&lt;a name="version_control"&gt;Version Control, etc.&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt; Text files with short lines are ideal for other tools in the Linux (and
    Unix -- did you know that Unix was originally used by technical writers?)
    environment.  When you compare two files, a line-by-line comparison (which
    is what &lt;code&gt;diff&lt;/code&gt; gives you) is more useful than a
    paragraph-by-paragraph comparison (which is what &lt;code&gt;diff&lt;/code&gt; gives
    you if you don't hard-wrap your text).  Text editors can run formatters,
    spelling checkers, search tools, and others, and put the cursor on the
    exact line you're looking for.  Want to search nearly 6500 blog posts for
    your favorite quote from G. K. Chesterton?  Took me one line and a little
    over 4 seconds.

&lt;pre&gt;
        time find . -type f -exec grep -nHi -e 'rules of architecture' {} +
&lt;/pre&gt;

&lt;p&gt; Many formatting tools simply ignore single line breaks and use a blank
    line to separate paragraphs, examples include LaTeX and most (though not
    all) Markdown translators.  HTML ignores line breaks altogether and relies
    on tags.  I take advantage of that to make HTML more readable by indenting
    the text by four spaces, and using 80- or 90-character lines.  If you want
    an example and you're reading this page in a browser, just hit Ctrl-U to
    look at the page source.  Compare that to web pages made without
    hard-wrapped lines -- you may find yourself scrolling dozens, if not
    hundreds, of characters to the right because browsers don't do any
    wrapping when displaying source.  Nor would you want them to.

&lt;p&gt; The &lt;em&gt;biggest&lt;/em&gt; advantage (in my not-so-humble opinion) is &lt;a href="https://en.wikipedia.org/wiki/Version_control"&gt;version control&lt;/a&gt;.
    (Those of you who've been around me were just waiting for me to mention
    &lt;code&gt;git&lt;/code&gt;, weren't you?)  Being able to find all the changes you
    made this week -- and why you made them -- can be incredibly useful.
    Being able to retrieve a file from three years ago that you accidentally
    deleted is priceless.

&lt;p&gt; This post is already pretty long, so the &lt;em&gt;next&lt;/em&gt; post in this series
    is going to be about version control (and the other things you can do with
    &lt;code&gt;git&lt;/code&gt; and &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;; it's not
    just version control) for writers.  Stay tuned.

&lt;h3&gt;Resources&lt;/h3&gt;
&lt;ul class="resource-list"&gt;
  &lt;li&gt;&lt;a href="https://www.gnu.org/software/emacs/"&gt;GNU Emacs&lt;/a&gt;
  &lt;li&gt;&lt;a href="https://github.com/joostkremers/writeroom-mode"&gt;writeroom-mode
    for Emacs&lt;/a&gt;
  &lt;li&gt;&lt;a href="https://atom.io/"&gt;Atom&lt;/a&gt;
  &lt;li&gt;&lt;a href="https://www.learnenough.com/text-editor-tutorial/vim"&gt;&lt;cite&gt;Learn Enough Text Editor to Be Dangerous&lt;/cite&gt;&lt;/a&gt;
  &lt;li&gt; &lt;a href="https://pandoc.org/"&gt;Pandoc&lt;/a&gt;
  &lt;li&gt; &lt;a href="https://daringfireball.net/projects/markdown"&gt;Markdown&lt;/a&gt;
  &lt;li&gt;&lt;a href="https://github.com/textile"&gt;Textile&lt;/a&gt;
  &lt;li&gt;&lt;a href="https://www.latex-project.org/"&gt;LaTeX - A document preparation system&lt;/a&gt;
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p class="colophon"&gt; &lt;em&gt;Another fine post from
    &lt;a href="https://mdlbear.dreamwidth.org/tag/curmudgeon"&gt;The Computer Curmudgeon&lt;/a&gt; (also at
    &lt;a href="https://computer-curmudgeon.com/"&gt;computer-curmudgeon.com&lt;/a&gt;).&lt;/em&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1663349" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1595282</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1595282.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1595282"/>
    <title>Done last week (20170507Su - 13Sa)</title>
    <published>2017-05-14T21:35:19Z</published>
    <updated>2017-05-14T21:35:19Z</updated>
    <category term="emacs"/>
    <category term="emotions"/>
    <category term="psych"/>
    <category term="software"/>
    <category term="done"/>
    <category term="links"/>
    <category term="moving"/>
    <category term="linux"/>
    <dw:mood>unknown</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>9</dw:reply-count>
    <content type="html">&lt;p&gt; It's been another rough week.  This week it's been mostly health care -- I
    found out Tuesday that Amazon hadn't continued my health care as they said
    they were going to, so I was unable to order Colleen's humira.  (Which, at
    $1800 for two doses, isn't something one wants to pay for out of pocket.)
    My HR contact is looking into it, but it took several days to get through;
    meanwhile I went online and signed up for Medicare Part D and identified a
    Medigap provider (ExpressScripts and Premera Blue Cross; both for
    continuity and because they seem to get top reviews.  Who knows how long
    that will last under Trump(Doesn't)Care.)

&lt;p&gt; I know there's something called compassion fatigue.  Is despair fatigue a
    thing?  Or is that just another phase of despair?  I find myself incapable
    of being surprised at &lt;a href="https://solarbird.dreamwidth.org/tag/fascism+watch"&gt;whatever
    outrageous thing Trump and the "Republicans" have done each day&lt;/a&gt;.  (I put
    "Republicans" in quotes because they are rapidly turning this country into
    a right-wing dictatorship.  I feel powerless to stop them.)  

&lt;p&gt; Onward.  Had a really good trip with Colleen up to Whidbey Island; we went
    up the whole length of it and came back by way of Deception Pass.  It's
    been a very long time since Colleen and I went out for a drive that long
    that was just a drive -- our occasional loop drives along the California
    coast were probably the last ones.  It was a little too long, but it went
    ok.

&lt;p&gt; I've been spending much of my spare time catching up on my reading.  For
    some reason I'd stopped reading &lt;a href="https://lwn.net/"&gt;LWN (Linux
    Weekly News)&lt;/a&gt; sometime around the first of the year; in the last two
    weeks I've completely caught up.  You can see the results in the links,
    most of which came from LWN, or indirectly by way of &lt;a href="http://sachachua.com/blog/about/"&gt;Sacha Chua&lt;/a&gt;'s awesome &lt;a href="http://sachachua.com/blog/category/geek/emacs/emacs-news/"&gt;Emacs
    News&lt;/a&gt;.  I've also been finding Whidbey-related links.  At some point I
    need to go back through my to.do archives, extract all the links, and
    aggregate them.  They're kind of useless scattered across blog entries the
    way they are.

&lt;p&gt; I've even done a little walking (not quite every day, and not much because
    I seem to be walking at about half my old 3mph pace), a little music, and
    a little hacking (almost entirely cleanup tasks).  On the whole, I appear
    to have been keeping myself busy in a relaxed kind of way, though I
    haven't yet fallen into any kind of routine.  Later, hopefully.

&lt;p&gt; But.

&lt;p&gt; My last few trips down to the house we used to call Rainbow's End (should
    we call it "Rainbow's Ended" now?) have been increasingly sad and
    discouraging.  We put a lot of ourselves into that house; it was a large
    part of what we were as a family.  Now we're scattered.  We'll come back
    together, mostly, on Whidbey Island in a little over two months; it may
    very well be wonderful -- I hope it will -- but it won't be the same.  I
    can't keep from thinking of what I might have done differently, over the
    last few decades(!), that might have made it possible to stay there.  Hell,
    we all made decisions that seemed like the right thing at the time.  Can't
    be fixed.

&lt;p&gt; "I can't fix it!" is probably what I say most often when things are going
    badly.  It always feels like my fault.  I don't think I can fix
    &lt;em&gt;that&lt;/em&gt;, either.  I should shut up and go for a walk with Colleen.

&lt;p&gt;&lt;span class="cut-wrapper"&gt;&lt;span style="display: none;" id="span-cuttag___1" class="cuttag"&gt;&lt;/span&gt;&lt;b class="cut-open"&gt;(&amp;nbsp;&lt;/b&gt;&lt;b class="cut-text"&gt;&lt;a href="https://mdlbear.dreamwidth.org/1595282.html#cutid1"&gt;Notes &amp; links, as usual&lt;/a&gt;&lt;/b&gt;&lt;b class="cut-close"&gt;&amp;nbsp;)&lt;/b&gt;&lt;/span&gt;&lt;div style="display: none;" id="div-cuttag___1" aria-live="assertive"&gt;&lt;/div&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1595282" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1573683</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1573683.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1573683"/>
    <title>[I wrote a thing]  Xmonad (part 2 of several)</title>
    <published>2016-06-29T04:10:25Z</published>
    <updated>2016-06-29T04:10:25Z</updated>
    <category term="software"/>
    <category term="500-words"/>
    <category term="curmudgeon"/>
    <category term="xmonad"/>
    <category term="linux"/>
    <category term="writing"/>
    <dw:mood>productive</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt; You may want to start with &lt;a href="http://mdlbear.dreamwidth.org/1573035.html"&gt;Part 1&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt; Xmonad is a &lt;em&gt;tiling&lt;/em&gt; window manager.  That means that, with very
    few exceptions, it lays out all of the windows in your workspace so that
    they completely fill the screen.  You can have multiple layouts, and flip
    between them with a single keystroke.  You can bring a workspace (there
    are 9 by default, but you can add more) to your screen with a single
    keystroke, or send a window to a workspace.
&lt;/p&gt;
&lt;p&gt; And the whole thing is configured using a text file that is actually a
    program, written in the functional language Haskell.  I'll get to that
    later. 
&lt;/p&gt;
&lt;p&gt; One of my main gripes about Gnome, etc., and one of the things I miss the
    most about CTWM, is that when you first start a program its window shows
    up at some random location on the screen, with whatever size the program
    thinks is appropriate.  If you don't like those choices you have to move
    and resize the window yourself, and then do it all over the next time you
    log in.  (There are some exceptions -- many newer programs remember where
    you put them last, and older programs, from the CTWM era, can be given a
    starting geometry.)
&lt;/p&gt;
&lt;p&gt; Xmonad's layouts are all deterministic, which is to say, predictable.
    When you start a program, you know &lt;em&gt;exactly&lt;/em&gt; where it's going to be
    on the screen.  When you change the layout, you know where everything is
    going to go.  If you want to move a window into the main position (most
    layouts have one; e.g. the left-hand column) it's (as usual) just one
    keystroke to put it there.
&lt;/p&gt;
&lt;p&gt; But the best thing, and the reason I switched to xmonad in the first
    place, is the way it treats multiple monitors: it simply assigns one
    workspace to each monitor.
&lt;/p&gt;
&lt;p&gt; Undock your laptop, and its screen stays exactly the same.  The workspaces
    that were shown on the other screens simply go back into hiding with all
    the others, and are still only a keystroke away.  When you have multiple
    screens, you can move a window to another screen, or bring a workspace to
    a screen, or &lt;em&gt;warp the pointer to another screen&lt;/em&gt;, all with single
    keystrokes. 
&lt;/p&gt;
&lt;p&gt; When you go to a conference room and plug in a projector, a workspace
    immediately shows up there and its layout automatically adjusts to the
    projector's resolution and aspect ratio.  When you get a new computer --
    all the developers at work got new laptops just a month or two ago -- just
    copy your configuration files to it and everything will be exactly the
    same as it was on the old one.  (Sometime later I'll write about my
    portable configuration, which makes it possible for me to set up my entire
    working environment in mere minutes.)
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt; So let's go a little deeper into those magic keystrokes.  First of all,
    you have to know that all of the commands (you can't really call them
    shortcuts) include a key that xmonad calls "Mod" (short for "modifier", of
    course).  Mod is initially defined as Alt, but the first thing any Emacs
    user is going to do is redefine it as something else, usually the "logo"
    key.  (That's the one on the left between Ctrl and Alt that usually has a
    Windows logo on it.  If your keyboard has replaceable keys you may be able
    to get a penguin for it.)  On old laptops that don't have a logo key I use
    Ctrl-Alt, but that's a matter of taste.
&lt;/p&gt;
&lt;p&gt; You also probably want to know that Mod-? gets you a list of all the
    commands.  And that there's a fantastic collection of tutorials,
    documentation, and sample configuration files at &lt;a href="http://xmonad.org/"&gt;xmonad.org&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt; When xmonad starts up, you see a totally empty, black screen.  Most
    people, myself included, add a status/navigation bar at the top, but you
    don't have to.  I'll get to that later.  You can start a program by typing
    Mod-P, or open a terminal window with Mod-Shift-Enter.  You will
    immediately notice that the first window you open fills the screen.  If
    you open another, xmonad will tile the screen with them, showing them side
    by side.
&lt;/p&gt;
&lt;p&gt; If you start a third program, it will get added to the right-hand column.
    You can probably see where this is going.  When you move the mouse pointer
    into a window, it gets a thin red border to show you that it has "focus".
&lt;/p&gt;
&lt;p&gt; If you decide that you started things in the wrong order, move the pointer
    into the window you want to put in the left-hand column (the "master"
    column) and hit Mod-Enter.  You close a window you're done with using
    Mod-Shift-C. 
&lt;/p&gt;
&lt;p&gt; Here's where it gets interesting: Mod-Space will switch you to a new
    &lt;em&gt;layout&lt;/em&gt;, with the master column turning into a master
    &lt;em&gt;row&lt;/em&gt;, and all the other windows across the bottom.  Hit Mod-Space
    again, and the currently-focused window goes full-screen.  (I reconfigure
    my full-screen layout to put a row of tabs across the top.  Wondering how
    to see the hidden windows?  Mod-Tab moves focus to the next window in the
    stack.  It also works in other layouts, so you don't need the mouse to
    move focus around.  If you spend most of your time in a terminal and an
    editor like vim or emacs, you can throw your mouse away and still be
    productive.  Mod-Shift-Tab moves focus to the previous window.
&lt;/p&gt;
&lt;p&gt; Mod-2 puts you into a second &lt;em&gt;workspace.&lt;/em&gt;  There are nine of them.  (I
    add two more -- 0 and -.)  If you want to move a window, say from
    workspace 2 to workspace 1, use Mod-Shift-1.  That's kind of a recurring
    theme in xmonad -- Mod-something does one thing, and Mod-Shift-something
    does something related.
&lt;/p&gt;
&lt;p&gt; You can see that in action if you add an(other) monitor.  Now, workspace 1
    is in the left-hand screen, and 2 is in the right-hand screen.  Think of
    the two of them as West and East.
&lt;/p&gt;
&lt;p&gt; Now, Mod-w will move the focus (and the mouse pointer) into the West
    screen, and Mod-e will move the focus into the East screen.  Mod-1 through
    Mod-9 will bring that workspace into whatever screen has the focus.  If
    the other workspace was already visible, they trade places.  (Some people
    don't like that, so you can change it so that it just moves focus into the
    other screen if you select a workspace that's already visible.)
&lt;/p&gt;
&lt;p&gt; Add a third screen to the right of East, and call it Right.  Now, Mod-r
    and Mod-Shift-R do exactly what you would expect.  (There are no bindings
    for T, so I suppose that if you have space for a fourth screen you could
    use it for that.)
&lt;/p&gt;
&lt;p&gt; There are more key bindings, to move focus (Mod-j and Mod-k focus the next
    and previous window, respectively; shifted, they swap the focused window
    with the next or previous window), to shrink and enlarge the master area
    (Mod-h and Mod-l respectively), or increase or decrease the number of
    windows in the master area (Mod-Comma and Mod-Period respectively).
&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1573683" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1573508</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1573508.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1573508"/>
    <title>Done last week (20160619Su - 25Sa)</title>
    <published>2016-06-26T18:13:13Z</published>
    <updated>2016-06-26T18:13:13Z</updated>
    <category term="mood"/>
    <category term="psych"/>
    <category term="computers"/>
    <category term="done"/>
    <category term="linux"/>
    <dw:mood>meh</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>3</dw:reply-count>
    <content type="html">&lt;p&gt; Not all that good a week.  Continued lack of productivity at work, mainly
    because of meetings this time, but still...  I want to take a vacation
    after Westercon, but I have goals that I can't meet if I do.  Bletch.
&lt;/p&gt;
&lt;p&gt; I haven't done much writing, either.  A reasonable amount on Monday, but
    only a little after that.  Grump.  Did do more cooking than usual:
    chicken tikka masala on Monday, and beef Stroganoff yesterday.  That was a
    real win.  Lots of shrooms.  I note in passing that while Cash and Carry
    has great prices, it doesn't have a very big selection, and few if any
    small packages.  
&lt;/p&gt;
&lt;p&gt; On the plus side, I did a pretty good job of noticing and identifying my
    mood Friday.  On the minus side, the mood in question was despair.  Cat
    therapy helps, but not completely.
&lt;/p&gt;
&lt;p&gt; A fair amount of computer-related work -- got my raspberry pi up and
    running, with both Raspbian and OSMC (on different cards).  OSMC (Open
    Source Media Center) looks like it would work well as a music and video
    player.  Being one of the original cards, it doesn't have much in the way
    of RAM, so it wouldn't work as a desktop with my current workload.  I also
    swapped my desktop machine for one of the two that have been sitting
    behind my desk ever since we moved in.
&lt;/p&gt;
&lt;p&gt; Moderate amount of house-project work.
&lt;/p&gt;
&lt;span class="cut-wrapper"&gt;&lt;span style="display: none;" id="span-cuttag___1" class="cuttag"&gt;&lt;/span&gt;&lt;b class="cut-open"&gt;(&amp;nbsp;&lt;/b&gt;&lt;b class="cut-text"&gt;&lt;a href="https://mdlbear.dreamwidth.org/1573508.html#cutid1"&gt;Notes &amp; links, as usual&lt;/a&gt;&lt;/b&gt;&lt;b class="cut-close"&gt;&amp;nbsp;)&lt;/b&gt;&lt;/span&gt;&lt;div style="display: none;" id="div-cuttag___1" aria-live="assertive"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1573508" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1573035</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1573035.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1573035"/>
    <title>[I wrote a thing] xmonad (part 1 of several, incomplete)</title>
    <published>2016-06-22T04:04:08Z</published>
    <updated>2016-06-29T04:15:03Z</updated>
    <category term="xmonad"/>
    <category term="software"/>
    <category term="500-words"/>
    <category term="curmudgeon"/>
    <category term="writing"/>
    <category term="linux"/>
    <dw:mood>productive</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>3</dw:reply-count>
    <content type="html">&lt;p&gt; As I mentioned about a week ago, I've been trying to write more.  And
    since my current obsession is a program called &lt;a href="http://xmonad.org/documentation.html"&gt;xmonad&lt;/a&gt;, well, ...
&lt;/p&gt;
&lt;p&gt; This is incomplete: it's about the first day's worth (I've been trying to
    write about 500 words per day).  Comments and suggestions are, of course,
    welcome. 
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt; My new 27" monitors arrived at work; I took advantage of the change to
    rearrange my work space.  Before, it was the set-up I've had for most of
    the last three years -- monitor in front on a stand, second monitor on the
    right, and my laptop on the left.  The new laptop, however, has a decent
    keyboard (with trackpoint and three buttons), and the monitors between
    them occupy about 2/3 of the desk.
&lt;/p&gt;
&lt;p&gt; The new arrangement has the laptop dock under the "middle" monitor; the
    laptop, being a business-class Dell, has both a pointing stick and a
    middle "mouse" button.  The laptop's keyboard is decent enough that it can
    replace the thinkpad keyboard I've been using for the last couple of years
    -- it's a high-end Dell, and has both a pointing stick and a middle
    button.  (The middle button has part of the Unix desktop environment since
    the mid 1980s; it means "paste", and I use it all the time.) The monitors
    are about 50% bigger, pixel-wise, than the laptop, and are arranged
    "traditionally" with the laptop on the left.
&lt;/p&gt;
&lt;p&gt; You can probably see the problem with this arrangement.  The total
    workspace is about 7000 pixels wide, and it's not even arranged in a
    straight line -- to get from the laptop to the "middle" monitor you have
    to move the cursor to the right, but the natural direction would be
    straight up.  What's more, when you undock the laptop the whole thing
    collapses down to a "mere" 1920x1080.  It's no wonder that most of the
    programmers in my team have opted for a single 30" monitor, and keep their
    laptop (almost invariably a mac) closed while they're using it.
&lt;/p&gt;
&lt;p&gt; Fortunately, I anticipated this problem months ago, and started using a
    window manager called xmonad.
&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &lt;/p&gt;
&lt;p&gt; One of the things I love most about Linux is the fact that the program
    that manages the layout of the screen and the behavior and appearance of
    the windows on it is &lt;em&gt;not&lt;/em&gt; part of the operating system.  It's a
    separate program, sensibly called a "window manager", and it runs in user
    space as a perfectly ordinary application that just happens to have a
    couple of extra hooks into X, which is the (also ordinary) program that
    actually controls the display, the keyboard, and the mouse.
&lt;/p&gt;
&lt;p&gt; Being an ordinary program -- and not even a terribly complicated one --
    anybody can write one, and many people have.  For a long time I was using
    one called TWM (Tabbed Window Manager, but the T originally stood for
    Tom's).  Later I started using CTWM (Claude's Tabbed Window Manager),
    because it introduced the then unfamiliar notion of multiple workspaces.
    (Before CTWM, these could only be found in an experimental system at Xerox
    where they were called "rooms".  Apple introduced them decades later, as
    part of MacOS X.)
&lt;/p&gt;
&lt;p&gt; You've probably heard of Gnome, KDE, and Ubuntu's horrible Unity desktop
    environments.  Down at the bottom, they're just window managers plus a
    couple of utilities for doing things like putting up the familiar bar
    (Gnome calls it a "panel") full of menus, launcher buttons, clocks and
    other widgets.  You can, in fact, run &lt;code&gt;gnome-panel&lt;/code&gt; under any
    window manager, and I did for a while.  They also include a "session
    manager", which handles things like starting the panel and making sure
    that applications get notified when you log out, so that they can save
    their state and exit cleanly.  I've been using Gnome for years, and loved
    it for its configurability.
&lt;/p&gt;
&lt;p&gt; But Gnome's configurability comes with a cost -- every time you move to a
    new computer, you have to spend an hour clicking around in control panels
    and property windows to get everything set up the way you like it.  And
    every time there's a major upgrade, something is a little different.  It's
    a cost I no longer have to pay.
&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt; &lt;a href="http://mdlbear.dreamwidth.org/1573683.html"&gt;Part 2&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1573035" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1572516</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1572516.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1572516"/>
    <title>Done last week (20160612Su - 18Sa)</title>
    <published>2016-06-19T20:53:07Z</published>
    <updated>2016-06-19T20:53:07Z</updated>
    <category term="cats"/>
    <category term="linux"/>
    <category term="done"/>
    <category term="computers"/>
    <category term="psych"/>
    <category term="query"/>
    <dw:music>Rainbow's Edge (in my head)</dw:music>
    <dw:mood>nostalgic</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>6</dw:reply-count>
    <content type="html">&lt;p&gt; Moderately productive week.  Lots of computer configuration and upgrading
    work, which is always an easy way for me to feel like I've done something,
    even if it isn't all that useful.  I have a new desktop computer, in a
    nice little Shuttle box, but haven't fully switched over to it yet.
    Because browser tabs, mostly.  (I also got the raspberry pi booting,
    finally.  Which mostly required looking at the installed card and noticing
    that, not only did it not have an OS installed, but it wasn't flagged as
    bootable.  The Pi is one of the original 512Mb ones -- it's dog slow.
    Still, it has a lot of potential as either a media center or a
    special-purpose controller.  I'm guessing that used, older pi's are dirt
    cheap on eBay.
&lt;/p&gt;
&lt;p&gt; My new monitors arrived at work; I took advantage of the opportunity to
    re-arrange my workspace (see notes for 0615We) -- and to get back into
    writing, with xmonad as my first topic.  Xmonad really wins for this,
    because the physical arrangement of the monitors becomes almost
    irrelevant.  By moving the laptop in front of me (because it has a usable
    keyboard for once) with the dock under the monitor, I not only freed up a
    sizeable amount of desk space but freed up my second thinkpad keyboard to
    come home with me.  Win.
&lt;/p&gt;
&lt;p&gt; Last weekend also included a lot of cleanup work in the garage and the
    back yard -- the huge piles of junk and lumber have been hauled away.  I
    really hated to lose the lumber, but it had been out in the rain for too
    long.  I was, however, able to save most of the hardwood.
&lt;/p&gt;
&lt;p&gt; As indicated, I have been writing (see notes for 0614Tu).  My goal is to
    write 500 words most days.  (I missed yesterday because I was hacking on
    my journaling makefiles, which sort of counts in terms of time if not
    bytes.)  This post is intended to hit today's word count, and, no, I'm
    &lt;em&gt;not&lt;/em&gt; going to count the notes.
&lt;/p&gt;
&lt;p&gt; So that raises a question for &lt;em&gt;you&lt;/em&gt;, my loyal readers.  The article
    I'm writing on xmonad isn't done yet, but I do have two days worth of work
    on it.  Should I post "episodes" as I go along?  Maybe I should phrase
    that differently -- would anyone object if I &lt;em&gt;did&lt;/em&gt; post what amount
    to partial rough drafts?  Feedback would be useful.  Because otherwise,
    that's what I'm going to do.
&lt;/p&gt;
&lt;p&gt; Some other ongoing projects will also be included in the word count,
    notably "&lt;a href="http://mdlbear.dreamwidth.org/tag/s4s"&gt;Songs for
    Saturday&lt;/a&gt;" (or occasionally Sunday, if I'm being lazy) and the "&lt;a href="http://mdlbear.dreamwidth.org/tag/river"&gt;River&lt;/a&gt;" posts.  I will
    find or create a tag for the Linux-related stuff, like the aforementioned
    xmonad article, and probably "adventures in home computing" as well.
    Fiction is somewhat unlikely; I'm pretty bad at it, especially plotting.
    Metafiction and prose poems are a distinct possibility, though.
&lt;/p&gt;
&lt;p&gt; There.  500 words.  Approximately, since &lt;code&gt;wc&lt;/code&gt; doesn't
    distinguish between actual content and markup.  At some point I need to do
    something about that, but I'm not going to worry about it right now.
&lt;/p&gt;
&lt;span class="cut-wrapper"&gt;&lt;span style="display: none;" id="span-cuttag___1" class="cuttag"&gt;&lt;/span&gt;&lt;b class="cut-open"&gt;(&amp;nbsp;&lt;/b&gt;&lt;b class="cut-text"&gt;&lt;a href="https://mdlbear.dreamwidth.org/1572516.html#cutid1"&gt;Notes &amp; links, as usual&lt;/a&gt;&lt;/b&gt;&lt;b class="cut-close"&gt;&amp;nbsp;)&lt;/b&gt;&lt;/span&gt;&lt;div style="display: none;" id="div-cuttag___1" aria-live="assertive"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1572516" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1548360</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1548360.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1548360"/>
    <title>Done last week (20150503Su - 09Sa)</title>
    <published>2015-05-10T16:50:16Z</published>
    <updated>2015-05-10T16:50:16Z</updated>
    <category term="mood"/>
    <category term="done"/>
    <category term="health"/>
    <category term="linux"/>
    <category term="colleen"/>
    <category term="links"/>
    <dw:mood>ok</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>4</dw:reply-count>
    <content type="html">&lt;p&gt; Hmm.  Long week.  The week included a lot of moving stuff around setting
    things back up after the wedding; that's probably what's behind my current
    back problems.  (See QOTD from yesterday.)  
&lt;/p&gt;
&lt;p&gt; My loaner project at work is winding down, though not as quickly as I'd
    like.  Not feeling very good about work right now.
&lt;/p&gt;
&lt;p&gt; On the gripping hand, the Great Room looks fantastic, with much more room
    in its new configuration (blue couch in the SE corner).  And Colleen's new
    baker's rack nightstand has been installed, and looks great.  And I
    upgraded Nova to Debian Jesse, which rocks.  (Not entirely clear what I'll
    do with the extra monitor space; possibly mostly devote it to the to.do
    file, which I usually edit on Nova anyway when I'm at home.  x2x rocks,
    too. 
&lt;/p&gt;
&lt;p&gt; I have to tell you about &lt;code&gt;&lt;a href="http://linux.die.net/man/1/x2x"&gt;x2x(1)&lt;/a&gt;&lt;/code&gt;.  (For those of you still stuck on legacy operating
    systems, the equivalent is &lt;code&gt;synergy&lt;/code&gt; or, if one of your
    machines runs linux, &lt;code&gt;x2vnc&lt;/code&gt;.)  It's the exact opposite of a
    remote desktop application (which you get for free in Linux) -- it lets
    you share a mouse and keyboard between multiple computers.  You just sit
    their displays side by side, tell x2x which edges are next to one another,
    and your mouse slides smoothly between them, taking the keyboard with it.
    Cut and paste work perfectly.  Indispensable.  I also set it up at work,
    between my desktop and laptop.
&lt;/p&gt;
&lt;p&gt; Links in the notes, as usual.
&lt;/p&gt;
&lt;span class="cut-wrapper"&gt;&lt;span style="display: none;" id="span-cuttag___1" class="cuttag"&gt;&lt;/span&gt;&lt;b class="cut-open"&gt;(&amp;nbsp;&lt;/b&gt;&lt;b class="cut-text"&gt;&lt;a href="https://mdlbear.dreamwidth.org/1548360.html#cutid1"&gt;raw notes, with links&lt;/a&gt;&lt;/b&gt;&lt;b class="cut-close"&gt;&amp;nbsp;)&lt;/b&gt;&lt;/span&gt;&lt;div style="display: none;" id="div-cuttag___1" aria-live="assertive"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1548360" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1458988</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1458988.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1458988"/>
    <title>Adventures in Family Computing:  Replacing the Router</title>
    <published>2012-06-16T02:53:48Z</published>
    <updated>2012-06-16T02:53:48Z</updated>
    <category term="linux"/>
    <category term="aifc"/>
    <category term="starport"/>
    <dw:security>public</dw:security>
    <dw:reply-count>4</dw:reply-count>
    <content type="html">&lt;p&gt; As I mentioned downwhen Stargate, our gateway/router, had become basically
    unusable by Sunday morning.  It's rather mysterious -- the CPU seems to be
    working fine, and it passed rootkit, memory and filesystem checks just
    fine.  But there you have it: it would slow down rapidly after each
    reboot.
&lt;/p&gt;
&lt;p&gt; The next problem was finding a replacement.  I tried the machine that
    &lt;em&gt;had&lt;/em&gt; been our router.  It wouldn't boot.  Even after I noticed
    that the power connector on the disk had been disconnected, and fixed
    that.  I tried several different ways of replacing it with the fileserver,
    and succeeded only in disabling its networking altogether with an
    ill-advised firewall install.
&lt;/p&gt;
&lt;p&gt; At that point I had two choices:  add an extra ethernet card to one of the
    laptops, or reconfigure our wireless access point as a router instead of a
    bridge.  Fortunately I did the latter.  Which was something I'd been
    toying with for quite a while anyway.  Did I mention that I'm somewhat
    obsessed with saving power?
&lt;/p&gt;
&lt;p&gt; At this point I have to mention that it wasn't quite that simple.  I had
    to do quite a lot of reconfiguring, and got some of it wrong.  For
    example, forgetting to test incoming ssh.  I never did get that to work;
    it's something of a security hole, so it's not surprising that the
    router's ssh daemon doesn't listen to the WAN port.  When I got back I did
    what I should have done in the first place, and forwarded the fileserver's
    ssh port to an alternate on the router.
&lt;/p&gt;
&lt;p&gt; Also forwarded the fileserver's web server; I still need to set up the
    appropriate virtual hosting.  The other thing that needed attention was
    that the router was hosting my external git repositories.  I moved them to
    my external host, at savitzky.net.  No problem.
&lt;/p&gt;
&lt;p&gt; DHCP and DNS were a bit of a problem -- the DD-WRT distribution on the
    router doesn't seem to support multi-homed interfaces or my usual config
    files.  I'll deal.  I'll probably have to abandon my hare-brained idea of
    keeping WiFi and wired interfaces on separate subnets, but that wasn't
    working too well anyway.  And I lose an instance of apcupsd, unless I can get
    that going on the router.  
&lt;/p&gt;
&lt;p&gt; But the net gain is huge -- I've eliminated a box and about 12W of
    power-sucking from my rack, improved my security, and gotten a major
    project out of my "to.do" file.  I win.
&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1458988" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2010-04-27:505737:1395078</id>
    <link rel="alternate" type="text/html" href="https://mdlbear.dreamwidth.org/1395078.html"/>
    <link rel="self" type="text/xml" href="https://mdlbear.dreamwidth.org/data/atom/?itemid=1395078"/>
    <title>Done yesterday (20111104 Fr)</title>
    <published>2011-11-05T17:52:21Z</published>
    <updated>2011-11-05T17:52:21Z</updated>
    <category term="done"/>
    <category term="activism"/>
    <category term="trainwreck"/>
    <category term="links"/>
    <category term="linux"/>
    <dw:mood>good?</dw:mood>
    <dw:security>public</dw:security>
    <dw:reply-count>5</dw:reply-count>
    <content type="html">&lt;p&gt; Hmm.  Not as good a day as its two predecessors, though the morning
    included a really good, useful meeting on the web-services side of
    $PROJECT.  But that and the switch to cold weather made for too many
    excuses not to go out for a walk.
&lt;/p&gt;
&lt;p&gt; And I made progress toward setting up a transfer from my bank to my credit
    union, but didn't get started soon enough for it to count toward &lt;a href="http://www.facebook.com/Nov.Fifth"&gt;Bank Transfer Day&lt;/a&gt; (which is
    today).  I tend to get down on myself about the obvious negative effects
    of procrastination, but of course by then it's too late to fix them.
&lt;/p&gt;
&lt;p&gt; One of the good parts was figuring out -- remembering, really -- one of
    the last bits of magic required to make ssh port tunneling work.  Still
    having trouble with X forwarding, though; it worked fine with Lenny.
&lt;/p&gt;
&lt;p&gt; As for links, I was pleased to note that &lt;a href="http://hackaday.com/2011/11/02/occupy-rigs-up-human-power-after-generators-are-confiscated/"&gt;Occupy rigs up human-power after generators are confiscated&lt;/a&gt;
&lt;/p&gt;
&lt;span class="cut-wrapper"&gt;&lt;span style="display: none;" id="span-cuttag___1" class="cuttag"&gt;&lt;/span&gt;&lt;b class="cut-open"&gt;(&amp;nbsp;&lt;/b&gt;&lt;b class="cut-text"&gt;&lt;a href="https://mdlbear.dreamwidth.org/1395078.html#cutid1"&gt;raw notes&lt;/a&gt;&lt;/b&gt;&lt;b class="cut-close"&gt;&amp;nbsp;)&lt;/b&gt;&lt;/span&gt;&lt;div style="display: none;" id="div-cuttag___1" aria-live="assertive"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=mdlbear&amp;ditemid=1395078" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
