tilde.club/~brennen/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1428 lines
52 KiB

<!DOCTYPE html>
<html lang=en>
<head>
<meta charset="utf-8">
<title>~brennen (prop., ed., pub., sysop)</title>
<link rel="alternate" type="application/atom+xml" title="changes" href="feed.xml" />
<link rel=stylesheet href="tildebrennen.css?update_for_xmas_lights=yesplease" />
<!-- the following are all available for general use from squiggle.city/js/ -->
<script type="text/javascript" src="https://squiggle.city/js/jquery.js"></script>
<script type="text/javascript" src="https://squiggle.city/js/shjs/sh_main.js"></script>
<script type="text/javascript" src="https://squiggle.city/js/shjs/lang/sh_perl.js"></script>
<script type="text/javascript" src="https://squiggle.city/js/p5/p5.min.js"></script>
<link type="text/css" rel="stylesheet" href="//squiggle.city/js/shjs/css/sh_darkness.css">
</head>
<!--
Hello there, intrepid viewer-of-source.
To be honest, there is nothing very interesting here, but one day
there might be.
(o)(o)
========
/ \
\ /
`` ``
One day.
-->
<body>
<div id=squiggleCanvas style="position: fixed; bottom: 0; right: 0; z-index: -5000;"></div>
<header>
<nav>
<h1>~brennen</h1>
<p>
<a href="feed.xml" title="an atom feed of updates">feed</a>
| <a href="http://squiggle.city/">squiggle.city</a>
| <a href="http://tilde.club/">tilde.club</a>
| <a href="https://p1k3.com/" title="a blog">p1k3</a>
| <a href="https://p1k3.com/userland-book/" title="a book about the command line for humans">userland</a>
| <a href="http://squiggle.city/~brennen/workings-book/" title="a technical notebook">workings</a>
</p>
</nav>
</header>
<div style="clear: both;"></div>
<section>
<article>
<h2>December 2015</h2>
<p>Ok maybe I will rethink the slidy-tile interface to this page.</p>
<p>Also I put the lights back up.</p>
</article>
<article>
<h2>A Sunrise</h2>
<p class="huge centerpiece">🌄</p>
</article>
<article>
<h2>A Crawly</h2>
<p class="huge centerpiece">𓆨</p>
</article>
<article>
<h2>three things i kind of love</h2>
<ol>
<li>
<p>I actually think the Marvel Cinematic Universe, for all its
considerable flaws and shallow CGI flash, has been really great. With
few exceptions, even the trivial movies are pleasant enough diversions
featuring people I like, while the better ones have real emotional
heft. Plus I can watch and talk about them with my 50-something
parents, who have them all on DVD and are completely up on who last
kicked Loki's ass etc.</p>
<p>In the end, will its narrative metaproject succeed? Maybe it's not
likely. A longform story project on this scale with no clear endgame is
likely enough to collapse under its own considerable weight. But who
knows. So far they're pulling it off. They've managed to make me care
about a character literally named Captain America.</p>
<p>(Parenthetical to Marvel: I think you have enough dumptrucks full of
money by now to give Black Widow a movie already. Hell, why not a
<em>series of movies</em>? Remember, I'm pulling for ya. We're all in
this together.)</p>
</li>
<li><p>Two-slice toasters from the 1950s-70s having at most two controls.</p></li>
<li>Dishes consisting of a gravy on rice.</li>
</ol>
</article>
<article>
<p>[ a dry, cold wind whistles through the streets of tilde.club ]</p>
<p>[ a tumbleweed skitters into the big pile under the mercantile's front window ]</p>
<p>[ a single flake falls from the slate-gray sky and drifts into the black water pooled in the old stock tank by the windmill ]</p>
<p>[ creaking noises ]</p>
</article>
<article>
<p><img src="images/frog.gif"></p>
</article>
<article>
<h2>some textfiles</h2>
<ul>
<li><a href="textfiles/corn.txt">a news.tilde.club post about sweetcorn</a> (I
hope ~schussat (?) doesn't mind being quoted here)</li>
<li><a href="textfiles/vimpoems.txt">about writing poems in vim</a></li>
</article>
<article>
<h2>Reverse Chronological Dated Entries Are Totally Fine But I Already Do That Elsewhere</h2>
<p>And, thinking that, I decided to make my home on squiggle.city a stack
of cards about... Well, about whatever. Some of them will have dates.
Some of them will change arbitrarily.</p>
<p class=centerpiece><img src="hypercard.png" /></p>
</article>
<article>
<h2>Thursday, January 22, 2015</h2>
<p><a href="http://squiggle.city/~brennen/workings-book/#Thursday-January-22">RARGH GIT</a></p>
</article>
<article>
<h2>Thursday, January 15, 2015 - wee hours</h2>
<p class=centerpiece><img src="hypercard.png" /></p>
<p>I have decided that my squiggle will now be more like a HyperCard
stack.</p>
<p>Please use &larr; &rarr; arrow keys to navigate.</p>
<p>Comparisons to PowerPoint will be vigorously disdained.</p>
</article>
<article>
<h2>Wednesday, January 14, 2015</h2>
<p>Some things I have been up to:</p>
<ul>
<li>nostalgia-tripping a little bit on <a href="http://squiggle.city/~brennen/workings-book/#Monday-January-12-MS-DOS-AGT">DOS software</a></li>
<li>the third in a series of guides for Adafruit, <a href="https://learn.adafruit.com/an-illustrated-shell-command-primer">An Illustrated Shell Command Primer</a></li>
<li><a href="http://squiggle.city/~brennen/workings-book/#Tuesday-January-13-rtd-bus-schedules-transit-data">messing around with RTD schedule data</a></li>
<li>a <a href="http://squiggle.city/~paper/archives/squiggle.city.herald.1.2.txt">second issue of the local paper</a></li>
</ul>
</article>
<article>
<h2>Monday, January 12, 2015</h2>
<p><img src="images/heart_keen.jpg"></p>
</article>
<article>
<h2>Sunday, January 11, 2015</h2>
<p>Some radio streams, ordered by time in my life when they were
important:</p>
<ul>
<li><a href="http://wnax.com/">AM 570 WNAX Yankton</a></li>
<li><a href="http://129.93.42.12:8000/listen">FM 90.3 KRNU Lincoln</a></li>
<li><a href="http://www.kzum.org/">FM 89.3 KZUM Lincoln</a></li>
<li><a href="http://stream.kgnu.net:8000/KGNU_live_high.mp3">FM 88.5 KGNU Boulder/Denver</a></li>
<li><a href="http://www.radio1190.org/wp-content/themes/nextmagazine/listen_high_v3.html">AM 1190 KVCU Boulder/Denver</a></li>
</ul>
<p>WNAX is one of the great old mid-American AM stations. It's been
operating since 1922. I remember it for the Five State Trader, the
Neighbor Lady, and being the kind of station that carried <a
href="https://en.wikipedia.org/wiki/Paul_Harvey">Paul Harvey</a>. Also a
lot of weather and farm market stuff. These days when I hear it (and I'm
listening to the stream right now), it's mostly right-wing talk radio in
the modern style, though it still sounds like itself during the ad
breaks.</p>
<p>KRNU is the <a href="http://www.unl.edu/">UNL</a> college station. I
first heard a lot of indie rock and deliberate weirdness there.</p>
<p>KZUM is the community station in Lincoln. It's deeply weird in the
way that all community stations seem to be, and idiosyncratic in the way
of volunteer-run broadcast media in smallish
urban-refuge-from-the-provinces markets. I'm pretty sure it was the
first place I heard Democracy Now, but that doesn't really convey the
full character of the thing. Like right now it's winding up two hours of
Native American drum-and-group-vocals stuff, and I have vivid memories of
driving to work and listening to this (daily? weekly? it happened over
and over again) U2-only hour.</p>
<p>KGNU is Boulder's equivalent to KZUM. It's both a more professional
exercise and perhaps a more predictable one, though it shares a lot of
the implicit politics of a KZUM. Both stations, it pretty well goes
without saying, get deeply weird late at night.</p>
<p>Radio 1190 is the local take on the low-power college indie radio
thing. In keeping with type, it's often aggressively unlistenable in
precisely the way that its core demographic is always seeking.</p>
</article>
<article>
<h2>Thursday, January 8, 2015</h2>
<p>Wikipedia sentence fragment of the day:</p>
<blockquote>
<p>groundhogs are the most solitary of the marmots</p>
</blockquote>
</article>
<article>
<h2>Tuesday, January 6, 2015</h2>
<p>So I skim through ~schussat's
<a href="http://prettygoodhat.com/2015-01-03-EndlessLegend.html"
title="My Endless Legend Journal">Endless Legend journal</a>, which is
a writeup of a game with a bunch of screenshots. It looks neat, but I
know I'm never going to play it.</p>
<p>What I keep wanting, really, is something that is like a game but is
not exactly a <i>game</i> so much as it's a little world in a box that I
can ramble around in like an itinerant traveler with no particular
agenda, or watch over like an indifferent minor deity. The thing I want
is for interesting things to happen without me being obligated to
<i>do</i> anything. I don't want to go on quests. I don't want to
manage an empire. I don't want to work my way through any decision trees
or max any stats or struggle to make any NPCs happy or deal with any
marauding hordes. (I don't mind if there occasionally <i>are</i>
marauding hordes. I don't even mind having the option to thwart them or
whatever. I just don't want to be <i>compelled</i> to thwart them by
some ludic apparatus any more mechanical than my own reaction to whatever
they're doing in the simulation space.)</p>
<p>Back when I still played a lot of games, I used to spend absurd
amounts of time flying around with all the cheatcodes on just looking at
stuff and trying to provoke the monsters into doing anything that wasn't
fighting me. One of my favorite parts of Doom-engine games was the thing
where some monster would accidentally shoot some other monster and they'd
forget all about whatever hackneyed narrative they were part of and just
start slaughtering one another in a fit of pique. I loved the little
villages and forests and rainclouds in something like <i>Black &amp;
White</i>, but I passionately hated that I was supposed to complete
quests and achieve goals.</p>
<p>I don't want all my interactions with the denizens of whatever
world-in-a-box reduced to the nexus of simulated violence or simulated
feed-the-livestock quasi-benevolence.</p>
<p>(Is there a mode in <a href="https://en.wikipedia.org/wiki/Dwarf_Fortress">Dwarf
Fortress</a> where everything just happens and I don't have to decide anything?
Because that sounds like it would be neat to watch.)</p>
</article>
<article>
<h2>Monday, January 5, 2015</h2>
<p><a href="https://ello.co/brennen/post/EPBHcI7lPlBPdG-CCD_PCw">Cats think about murder.</a></p>
<p>I <a href="http://squiggle.city/~paper/">founded a newspaper</a>.</p>
<p>~imt made <a href="https://club6.nl">club6.nl</a>, "the first IPv6
only Public Access UNIX System". Get in while you still can, folks. It's
gonna be a landrush.</p>
</article>
<article>
<h2>Saturday, January 3, 2015</h2>
<p>It's snowing.</p>
<p class="huge centerpiece">
❄ ❅ ❆
</p>
<p>I have talked some real shit about Ubuntu in the not-so-distant past,
and if I'm honest I have to admit it probably won't have been the last time.
Every once in a while it wouldn't hurt for me to acknowledge some of the
<i>good</i> work happening there.
<p>Specifically, I really like the Mono variant of <a href="http://font.ubuntu.com/">this
font family</a>. Looks great in the terminal and gvim both.</p>
</article>
<article>
<h2>Monday, December 29</h2>
<p>Leaving the decorations up too long is a family tradition.</p>
<p>Recent notes:</p>
<ul>
<li><a href="http://squiggle.city/~brennen/workings-book/#screencast-gifs-thursday-december-18-2014">screencast GIFs</a></li>
<li><a href="http://squiggle.city/~brennen/workings-book/#drawing-tools-friday-december-19-2014">drawing</a></li>
<li><a href="http://squiggle.city/~brennen/workings-book/#candles-amp-candlemaking">candles</a></li>
</ul>
</article>
<article>
<h2>Tuesday, December 16, early a.m.</h2>
<p><img src=christmas_lights.svg width=500 /></p>
</article>
<article>
<h2>Monday, December 15</h2>
<p>Text editors I have known and loved:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Pfs:Write">pfs:Write</a> for DOS</li>
<li>DOS Edit / QBasic</li>
<li>Notepad<sup>1</sup></li>
<li>Pico</li>
<li>BBEdit</li>
<li>Some weird Windows thing that had a bunch of menus of HTML tags built in</li>
<li>The super-90s-Windowsy text controls embedded in mIRC</li>
<li>XEmacs</li>
<li>Vim</li>
</ul>
<p>Games I really liked:</p>
<ul>
<li>That one where you were a little smiley face and you went around
the dungeon finding artefacts and sometimes typing things like
<tt>DRINK POTION</tt>.</li>
<li>The first super-pixelly <i>Commander Keen</i>, with the little green
Vorticons running around.</li>
<li><i>Cosmo's Cosmic Adventure</i></li>
<li>That artillery game on the Apple ][ where you had little castles
shooting at each other.</li>
<li><i>Scorched Earth</i>, where little tanks shot at each other.</li>
<li><i>Worms</i>, where a bunch of little worms shot at each other.<sup>2</sup></li>
<li><i>Bolo</i>, where little tanks shot at each other but it was
top-down and real-time and there was a Little Green Man to do your
bidding and it was <i>networked multiplayer</i>.</li>
<li><i>Taipan</i>, where you had a merchant ship and shot at
pirates.</li>
<li><i>Tempest</i>, which featured both shooting and abstract colorful
shapes.</li>
<li><i>Spy Hunter</i> on the NES. Also the version of <i>Spy Hunter</i>
at the Pizza Hut in Wayne, NE.</li>
</ul>
<p><small><sup>1</sup> Ok to be fair I never actually loved Notepad.</small></p>
<p><small><sup>2</sup> I've never really warmed to subsequent entries in
this (enormously successful) series. They all struck me as the wrong
kind of cartoony. I think this is a lesson in how the constraints on
an aesthetic can force it into channels more broadly appealing than
the same artists will later find with bigger budgets and greater
technological capacity. Either that or a lesson on how weirdos like
me often prefer low-res hackery. Either way, there is probably an
analogy to country music and George Lucas somewhere in here.</small></p>
</article>
<article>
<h2>Sunday, December 14</h2>
<p>Here's an interesting little thing:
<a href="http://protocol.club/~datagrok/beta-wiki/tdp.html">Tilde
Description Protocol</a>.</p>
<p>I have the following going in relation to this:</p>
<ul>
<li><a href="http://squiggle.city/tilde.json">squiggle.city/tilde.json</a></li>
<li><a href="http://squiggle.city/tilde.txt">squiggle.city/tilde.txt</a></li>
<li><a href="http://squiggle.city/users.json">squiggle.city/users.json</a></li>
<li><a href="http://squiggle.city/users.txt">squiggle.city/users.txt</a></li>
<li><a href="https://githug.com/squigglecity/squiggle.city">squiggle.city repo with listusers.pl</a></li>
</ul>
</article>
<article>
<h2>Tuesday, December 9</h2>
<p>A few sections in <a href="http://squiggle.city/~brennen/workings-book/">workings</a>:</p>
<ul>
<li><a href="http://squiggle.city/~brennen/workings-book/#makecitizen-wednesday-december-3-2014">on
a script to make new users</a></li>
<li><a href="http://squiggle.city/~brennen/workings-book/#single-board-computers">on messing around
with single-board computers</a></li>
<li><a href="http://squiggle.city/~brennen/workings-book/#namespaces-scope">on namespaces
&amp; scope</a></li>
</ul>
<p>In more interesting news, a bunch of people have asked for
squiggle.city accounts lately. That's pretty cool. I do wish I knew how
to encourage more people who aren't demographically within a couple of
degrees of me to sign up.</p>
</article>
<article>
<h2>Saturday, December 6</h2>
<p>I just started a new project that I'm going to host on squiggle.city:
<a href="http://squiggle.city/~brennen/workings-book/"><i>workings</i></a>
is an attempt at an ongoing technical notebook. I plan for it to get huge,
and expect it to be really boring, if you're not me. Hopefully it will
be useful for remembering stuff I do, and a place for the rough notes on
things I'm going to turn into finished writing later.</p>
<p>This idea owes something to an experience I had in jr. high and
highschool of being required to keep a daily logbook for science classes.
(Ed Brogie, if you ever google yourself, here's a little ego bump for
you, which I will temper by observing that the <a
href="http://en.wikipedia.org/wiki/Bloom%27s_taxonomy#Cognitive">Bloom's
taxonomy</a> trip you were on was really weird and probably super
counterproductive - but hey, at least you tried to get people to write every
day.)</p>
<p>I could put this kind of effort into contributing on Stack Exchange or
something, but doing <a href="https://p1k3.com/userland-book/">userland</a>
showed me that I really like the <i>idea</i> of a book as a container for
effort, and anyway I can't stand all that gamified bullshit with roaming
packs of vicious procedure jockeys constantly assailing useful questions
and answers as incorrectly framed, categorized, or imagined. This kind
of thing is also why I no longer invest time in the bureaucratic hell
that is the machinery of Wikipedia. Life is just too short and time too
precious.</p>
</article>
<article>
<h2>Tuesday, December 2</h2>
<p>There's a list of updated pages on the
<a href="http://squiggle.city/">squiggle.city home page</a>, generated
from <a href="#2014-11-12">a script</a>. For a while, I was updating this
by deleting it and running a vim command to pull it back in:</p>
<pre><code>
:r !perl listusers.pl
</code></pre>
<p>I wanted to make this automatic. In the old days, I would have
turned on Server Side Includes in Apache and written something kind of like:</p>
<pre><code>
&lt;!--#exec cmd="perl /var/www/listusers.pl" --&gt;
</code></pre>
<p>Unfortunately, squiggle.city is running nginx, and while nginx is
pretty groovy these days, its SSI module only does includes, not execs.
What I settled on instead is this include directive:</p>
<pre><code>
&lt;!--# include file="listusers.html" --&gt;
</code></pre>
<p>Coupled with typing <code>su www-data</code>, followed by
<code>crontab -e</code> and adding this:</p>
<pre><code>
# m h dom mon dow command
0,5,15,25,45 * * * * perl /var/www/listusers.pl &gt; /var/www/listusers.html
</code></pre>
<p>Which should refresh the list on minutes 0, 5, 15, 25, and 45 of every
hour. (The intervals are arbitrary. I just kind of felt like those were
the right minutes.)</p>
<p>There is pretty good <a
href="http://nginx.org/en/docs/http/ngx_http_ssi_module.html">documentation</a>
on enabling the nginx ssi module and writing directives for it. I just had to
do this in <code>/etc/nginx/sites-enabled/default</code>:</p>
<pre><code>
location /index.html {
ssi on;
}
</code></pre>
</article>
<article>
<h2>Monday, December 1</h2>
<p>I'm out on the plains for a few days.</p>
<p>It's a strange season in a strange century. The news cycle is still working
the kind of groove that feels like it would fit pretty well in the opening
infodump of a film about the collapse of civilization. (You can practically
hear Godspeed swelling over the measured tones of NPR personalities and the
stridencies of ChristoRepubliFascistCatholiFamilyTalk radio alike, complete
with little bursts of punctuating static.)</p>
<p>And then on the other hand, things are not so abnormal as all that. My
cousins are having babies. My sisters are getting married. The people who
were my age when I first knew them are twice my age now.</p>
</article>
<article>
<h2>Wednesday, November 27, 12:27 p.m.</h2>
<p>It turns out there's now an IHOP attached to the Flying J Limon, CO.
I think this is a relatively new establishment, but truck stops have a way
of aging in quickly, so it's hard to tell.</p>
<p>I'm having the quick two-egg breakfast, eggs over medium, bacon, wheat
toast. The eggs are pretty much actually over medium, which is a thing
you can't always rely on.</p>
</article>
<article>
<h2>Tuesday, November 25, early a.m.</h2>
<p><a href="https://github.com/stars/brennen">Things I have starred on GitHub</a>.</p>
<p>A thing about lists like this: They're often full of touchstones for
personal memory. Here's me getting worried about e-mail. Here's me
keeping an eye on the big boss. Here's when <a
href="http://danacoalition.org/">Erik Winn</a> died. Here's that <a
href="https://p1k3.com/2014/1/14">detour</a> into weird text editors.
Here's that <a href="https://github.com/sinker/tacofancy">taco thing</a>, when they
<a href="https://www.metafilter.com/125946/Google-Illiterate#4870602">closed</a> Google Reader, that <a
href="https://www.youtube.com/watch?v=mzL04B9WPQg">day with the model train</a>...</p>
</article>
<article>
<h2>Monday, November 24</h2>
<p><a href="https://p1k3.com/2014/11/24">On not spamming</a>.</p>
</article>
<article>
<h2>Saturday, November 22</h2>
<p>So as we were drinking beers yesterday,
<a href="http://squiggle.city/~stilldavid">~stilldavid</a> pointed out
that you should be able to mail everyone on the server.</p>
<p>I figured this should be pretty easy, but it took more googling and
grepping and general head-scratching than I really would have liked to
remember that <code>/etc/aliases</code> is a file which exists, and then
to determine that the version of exim installed here supports a line like
this one:</p>
<pre style="white-space: pre-wrap; overflow: scroll;"><code>
citizens: acg,ahava,ben,berkay,brennen,bri_huang,burnedboard,casey,danlyke,delio,drun,erik,fazol,frencil,hord,ianremsen,jbd,jenleelind,jimblom,joe,kache2k,kirstenrk,leducmills,mike,mshorter,nallen,nick,nightliz,pearcebot,randy,robacarp,sgmustadio,sibicle,skk,stilldavid,thcipriani,todd,tonicorinne,trevor,typexawesome,zinefer
</code></pre>
<p>...which means that if you're logged into squiggle.city, you can write
to citizens@squiggle.city in your mailer of choice and we should all see
your message.</p>
<p>Send some e-mail?</p>
</article>
<article>
<h2>Friday, November 21</h2>
<p><a href="http://squiggle.city/~robacarp">Pretty good answer</a>.</p>
</article>
<article>
<h2>Wednesday, November 19</h2>
<p>Hey <a href="http://squiggle.city/~robacarp">~robacarp</a>, long-time
listener, first-time caller here. I just have a couple of questions for
you and then I'll take my response off the air, thanks:</p>
<ol>
<li>Where the heck do you get lanolin? Is this just a "now we have
the internet and you can mail order literally anything" phenomenon, or
is there a kind of store you go to and they have lanolin in a jar on the
shelf like some kind of normal thing that you would normally buy in a store?</li>
<li>Second, and really Rob this is more of a comment, but second, isn't there an
"i" in "manifesto"?</li>
</ol>
</article>
<article>
<h2>Monday, November 17</h2>
<p>Here are <a href="http://squiggle.city/~brennen/drawrings/">some drawings</a>.</p>
</article>
<article>
<h2>Saturday, November 15, evening</h2>
<p>In which I install a MUSH engine:</p>
<pre><code>
TOPICS
Help available on the following Topics:
$-COMMANDS ARBITRARY COMMANDS ATTRIBUTE OWNERSHIP
BEING KILLED BOGUS COMMANDS BOOLEAN VALUES
COMMAND EVALUATION COMSYS CONTROL
COSTS CREDITS DROP-TO
ENACTOR EXITS FAILURE
FLAG LIST FLAGS FUNCTION LIST
FUNCTIONS GENDER GOALS
HERE HOMES LINKING
LISTENING LISTS LOOPING
ME MONEY MOVING
OBJECT TYPES PARENT OBJECTS PARENT ROOMS
PIPING POWERS LIST PUEBLO
PUPPETS REGEXPS ROBBERY
SEARCH CLASSES SEMAPHORES SPOOFING
STACK SUBSTITUTIONS SUCCESS
SWITCHES USER-DEFINED COMMANDS VERBS
WIZARDS ZONES
help wizards
WIZARDS
Wizards are the people that help run the game and make sure that everything
is working properly. They have special powers to tweak reality in ways
mortals can only dream of. Be nice to them, they are going out of their
way to help keep the game running smoothly. And remember, if you have any
problems or just want to talk to someone, they will be there for you as
well.
</code></pre>
<p>Yesssssssssssssss.</p>
</article>
<article>
<h2>Saturday, November 15, afternoon</h2>
<p>If you have JavaScript turned on, <del>this</del> the background of this
page should be a silly <a href="http://p5js.org/">p5.js</a> doodle.</p>
<p>For folks with squiggle.city pages, there are a few resources at <a
href="http://squiggle.city/js/">squiggle.city/js/</a> if you'd like to
include jQuery, p5.js, or syntax highlighting on your pages without cluttering
your <code>~/public_html</code> or relying on somebody's CDN.</p>
</article>
<article>
<h2>Wednesday, November 12, 9:38</h2>
<p>Here's <a href="tilde.club.listusers.html">listusers.pl output for
tilde.club</a>, just 'cause.</p>
<p>Really, the way this should work is that <code>listusers</code> should be
a utility which outputs tab-separated values, and there should be another
utility that's good at making TSV into HTML tables.</p>
</article>
<article>
<h2><a name="2014-11-12"></a>Wednesday, November 12, 9:00ish</h2>
<p>The <a href="http://squiggle.city/">squiggle.city home page</a> now
has a slightly better summary of users' home pages. I also feel better
that it now contains a table (used for tabular data, though - I should
really work one in somewhere for layout).</p>
<p>I wrote a little Perl script to generate that list. Here it is in
full:</p>
<pre class=sh_perl><code>
#!/usr/bin/perl
use strict;
use warnings;
use 5.10.0;
# we'll use this to filter out people who haven't logged in.
# pretty silly!
my %whitelist;
my (@lastlog) = split /\n/, `lastlog | grep -v Never | awk '{ print \$1; }'`;
foreach my $user (@lastlog) {
$whitelist{$user} = 1;
}
opendir(my $dh, '/home/')
or die "could not open /home/: $!";
my %dirs;
my %titles;
while (my $dir = readdir $dh) {
next if $dir =~ /^[.]/;
next unless $whitelist{$dir};
my $index_html_path = "/home/$dir/public_html/index.html";
if (-e $index_html_path) {
$dirs{$dir} = (stat $index_html_path)[9]; # mtime
$titles{$dir} = get_title_from_file($index_html_path);
}
}
close $dh;
sub sort_by_time {
$dirs{$b} &lt;=&gt; $dirs{$a};
}
my $list = "&lt;table&gt;\n";
foreach my $key (sort sort_by_time (keys(%dirs))) {
$list .= ' &lt;tr&gt;'
. '&lt;td&gt;&lt;a href="/~' . $key . '/"&gt;~' . $key . '&lt;/a&gt;&lt;/td&gt;'
. '&lt;td&gt;' . $titles{$key} . '&lt;/td&gt;'
. '&lt;td class=tiny&gt;' . $dirs{$key} . '&lt;/td&gt;'
. "&lt;/tr&gt;\n";
}
$list .= "&lt;/table&gt;";
say $list;
sub get_title_from_file {
my ($filespec) = @_;
my $html = slurp($filespec);
if ($html =~ m{&lt;title&gt;(.*?)&lt;/title&gt;}is) {
return $1;
}
return '';
}
sub slurp {
my ($file) = @_;
my $everything;
open my $fh, '&lt;', $file
or die "Couldn't open $file: $!\n";
# line separator:
local $/ = undef;
$everything = &lt;$fh&gt;;
close $fh
or die "Couldn't close $file: $!";
return $everything;
}
</code></pre>
<p>This is by no stretch of the imagination a good script. Actually, it's
terrible. As an exercise, maybe I'll write and explain a version that's
less dumb.</p>
</article>
<article>
<h2>Monday, November 10, 1:58am</h2>
<p>I like <a href="http://tilde.club/~schussat/slowblog-sat-20141108.html">~schussat's
slow-blog from Saturday</a>.</p>
</article>
<article>
<h2>Monday, November 10, 12:55am</h2>
<p><a href="http://squiggle.city/~danlyke/">~danlyke</a> has some thoughts about
design. These are harsh thoughts, but they are worth considering.</p>
<p><a href="http://squiggle.city/~frencil">~frencil</a> has some thoughts
about nuclides and JavaScript. I look forward to seeing where this project
goes. I should mess with D3 again. It broke my brain <i>so hard</i> the
first time around, probably because I cannot math very well.</p>
<p><a href="http://squiggle.city/~stilldavid">~stilldavid</a> has some
thoughts about science, and measurement, and value.</p>
<p><a href="http://squiggle.city/~acg/">~acg</a> has a list of all the
things he's voted up on Hacker News, which is cool because I mostly can't
bring myself to follow HN on a day-to-day basis and Alan's interest in a
thing is often a pretty good filter for whether it will be worth my
time.</p>
<p class="centerpiece"></p>
<p>If you're logged into squiggle.city, you can run a few classic text
games now. I installed <code>adventure</code> a while ago, using the
bsd-games package in Debian. The other day I added <code>frotz</code>,
an interpreter which will let you play lots of the things at the
<a href="http://www.ifarchive.org/">Interactive Fiction Archive</a>. I
downloaded a version of Zork there and made a <code>zork</code> command that runs this
in Frotz. What I will do eventually is install a whole crapload of
adventure games and make a big menu for running them.</p>
<p>I'd also like to install some development tools for this kind of thing.
I used to dabble in <a href="http://www.tads.org/">TADS</a> and such, and
it was fun even though I never wrote a game that anyone would actually
play. I should probably take another look, because I'll bet the
<i>programming</i> side of this stuff would be a lot easier for me these
days, even if the structuring and writing of a serious game would still
be pretty daunting.</p>
<p class="centerpiece"></p>
<p>I'm on the tilde operators mailing list now. I get the sense that some
interesting things are about to happen, and I should probably take some
action with regard to those things. It's been difficult to do anything
requiring thought or planning or a working memory because I have been
<i>sick as a dog</i> for a bit over a week now, but I think I'm trending
towards functional. I'm down to "coughing sometimes" and "feel massively stoned
even though theoretically sober" from "coughing relentlessly" and "the kind
of headache you think of in terms of how bad the tunnel vision is at any
given moment." This is promising.</p>
</article>
<article>
<h2>Tuesday, November 4, 4:48pm</h2>
<p>Oh also, I wrote <a href="https://p1k3.com/2014/11/3">a little bit about
quitting</a> SparkFun and talking in front of people.</p>
<p>I'm going to bet this isn't the last I'll write about either of these things.</p>
<p>The best tweet I saw today was
<a href="https://twitter.com/GreatDismal/status/529706476315500544">this one</a>,
by Wm. Gibson, in tribute to everybody's favorite Colorado airport demon horse.</p>
</article>
<article>
<h2>Tuesday, November 4</h2>
<p>New on ~c:</p>
<ul>
<li><a href="http://squiggle.city/~zinefer/">our first arcade</a></li>
<li><a href="http://squiggle.city/~stilldavid/">Dave is gonna write</a></li>
<li><a href="http://squiggle.city/~nallen/">Nick's face</a></li>
</ul>
</article>
<article>
<h2>Friday, October 31</h2>
<p>Hi SparkFun.</p>
<p>Here are some <a
href="https://p1k3.com/userland-book/slides/">slides</a> from the talk I
gave today on the command line.</b>
</article>
<article>
<h2>Tuesday, October 28</h2>
<p>Last night's project: <a href="https://github.com/brennen/git-feed">git-feed</a>:
a simple tool for making Atom feeds out of git commit logs.</p>
</article>
<article>
<h2>Monday, October 27</h2>
<p>I'm doing a "lunch &amp; learn" at work on Friday that will attempt to
be a gentle introduction to the command line.</p>
<p>I have <i>no idea</i> how to go about this, really. Some smart people
on irc.tilde.club suggested that I go with the "tell them what you're going
to tell them, tell them, and tell them what you told them" + "tell them
about three important things" approaches. These seem like good ideas. I
guess I will start by trying to decide what the three things should be.</p>
<p>I used to be so very afraid of public speaking of any kind. Like, physically
shaking, cold sweats, creeping numbness, inability to talk terrified. I don't
really think I am any more, but I'm not sure how that changed.</p>
<p>It's funny how what you're afraid of changes. I used to be afraid to say
things in front of people. Now I'm afraid that everyone I've ever loved is
going to die and everything I've ever done will be forgotten and it will
be as if I never even lived. The defining difference between these two fears
is probably that the former wasn't even really <i>of</i> anything at all
and the latter is an objective fact.</p>
<p>Anyhow, if you have any ideas about what the best thing to convey to
people right after you give them a shell account is, I would love to hear
them.</p>
<p class="huge centerpiece"></p>
</article>
<article>
<h2>Saturday, October 25</h2>
<p>Reading about nerd things:</p>
<ul>
<li><a href="http://michaelcoyote.github.io/2014/08/15/my-fathers-tools/">my father's tools...</a> - on Awk</li>
<li>a lot of <a href="http://tilde.club/~ford/">~ford</a></li>
<li>a lot of things via <a href="http://tilde.club/~_/">~_</a></li>
</ul>
</article>
<article>
<h2>Friday, October 24</h2>
<p>squiggle.city, while still far from heavily trafficked or populated,
stirs a little, and a few things emerge:</p>
<ul>
<li><a href="http://squiggle.city/~robacarp">~robacarp</a> makes a squiggle follow your mouse</li>
<li><a href="http://squiggle.city/~thcipriani">~thcipriani</a> has a nice face up</li>
<li><a href="http://squiggle.city/~todd/">~todd</a> is all droney</li>
<li><a href="http://squiggle.city/~joe/">~joe</a> clearly understands the internet as well as anyone</li>
<li><a href="http://squiggle.city/~randy/">~randy</a> also has sound ideas</li>
</ul>
</article>
<article>
<h2>Monday, October 20</h2>
<p>So for now, I'm going to mirror this on both tilde.club and
squiggle.city.</p>
<p>squiggle.city is coming together pretty ok. I'm maybe going to rethink
the Debian stable approach, because everything is <i>super old</i>. On the
other hand, I'm not sure if I want to run testing. I'm still pretty sure I
don't want to run Ubuntu but I guess we'll see.</p>
<p style="text-align:center;"></p>
<p>Also, I just put up a new version of <a
href="https://p1k3.com/userland-book">userland</a> that feels more complete
to me. I think I'm going to call this version 1.0.0 (except maybe for
adding more detail about how to run your own Linux) and wait until after
I've tried to teach out of it to make any more changes.</p>
<p style="text-align:center;"></p>
<p><a href="https://p1k3.com/">p1k3 is live again!</a> Well, minus the wiki part,
but I'll get that back up soonish.</p>
<p>This is good: <a href="http://monkey.org/~marius/unix-tools-hints.html">Hints for writing
Unix tools</a>.</p>
</article>
<article>
<h2>Sunday, October 19</h2>
<p>Now open for business, in a completely unprepared fashion:
<a href="//squiggle.city">squiggle.city</a></p>
</article>
<article>
<h2>Thursday, October 16</h2>
<p>All of my personal internet stuff is still broken. I spent an hour
earlier this evening trying to configure Apache on the machine where I'm
stitching p1k3.com back together, and <i>nothing</i> worked. I had
almost forgotten the unbelievable frustration of the nothing works &rarr;
bash on config files &rarr; google errors &rarr; read docs &rarr; bash on
config files &rarr; nothing works loop here. Apache at its worst is like
a special kind of stateful psychological torture device for web
nerds.</p>
<p>My working life is also a shambles. For most of the workday I kept
task-switching between a few dozen utterly predictable nerd failure
modes: Stare at the bug tracker. Stare at the e-mail. Stare at the
code just long enough to begin to understand it, then get distracted by
something blowing up in the logs. Stare at the bug tracker. Go for
coffee. Open some browser tabs, forget what I was trying to research.
Close the wrong browser tabs, spend too much time trying to retrieve
them. Review other people's code ineffectively and with misdirected
hostility. Sit on the couch drinking beer and listening to the Velvet
Underground. Stare at the bug tracker.</p>
<p>My house is the kind of messy that usually indicates severe illness or
nontrivial substance abuse issues. My clothes are all dirty. My car
sounds like it's going to disintegrate. I'm pretty sure I need to
advance my landlord the rent money for next month or the power's going to
get turned off. I'm eating undercooked pizza at the unbelievably shitty
bar across the street from my driveway (where the same angry bartender
acts skeptical of my age and IDs me with focused hostility two or three
times a week, but also usually proves to be nice in the long run) instead
of just making a salad or something at home.</p>
<p>Anyway, I just registered squiggle.city and pointed it at a
DigitalOcean VM. I think AWS is maybe the standard thing, but I feel
this weird sense that there is a benefit to spreading the thing out
across providers. I'm going to run Debian on it because Debian is one of
the longstanding loves of my technical life, and because I would rather
teach unixy stuff using it, if I've got the option.</p>
<p>I in no way have the mental bandwidth or the temporal capacity to
sysop anything that actual human beings are using, on the off chance that
anyone uses the system I spin up, but I'm going to do it anyway, because
despite all the trappings of nostalgia, this feels to me somehow like a
thing that gestures at a possible future that I would like to be working
on, and I would really like to continue feeling that way for a
minute.</p>
<p>All of these decisions may bite me. I'm going to look at the existing
configuration stuff people are doing tomorrow and see how practical it is
for reuse, given my self-imposed constraints. If anyone would like to
get on my list for an account, tweet me or find me on freenode #tildeclub as
brennen or whatever.</p>
<p>This is fun.</p>
</article>
<article>
<h2>Wednesday, October 15, 12:11 a.m.</h2>
<p>On the rest of the internet, things are kind of loathsome right now.</p>
<p>In the tiny part of it that I inhabit, I'm watching a bunch of people
rediscover things that maybe a lot of us didn't know were sincerely missed
by more than just ourselves.</p>
<p>I've written a handful of posts to local newsgroups tonight. This
doesn't feel like an exercise in nostalgia so much as it does an exercise
in <i>reevaluation</i>.</p>
<p>It seems to me like this is an important distinction. You can indulge
nostalgia for a little while, but you can't really trust it. Sooner or
later it will deceive you really painfully.</p>
<p>On the other hand, sometimes older patterns illuminate. Sometimes the
nagging, pervasive sense that you have been sold a bill of goods can be
thrown into a useful kind of relief in the light of a time - or just a
mode - that didn't feel that way at all.</p>
</article>
<article>
<h2>Monday, October 13</h2>
<p>As happens every year or two, DreamHost just updated something and broke
<a href="//p1k3.com">p1k3.com</a>, which is where I put most of my writing.</p>
<p>I think I'm going to take this as a sign that maybe it's time to move that site somewhere
less likely to arbitrarily quit working. I just fired up a vm on
<a href="https://digitalocean.com/">DigitalOcean</a>, which was a fairly painless experience.
After DNS finishes propagating, I will have to figure out an Apache configuration for the
umpteenth time and install some Perl modules and muck around with SSL certificates.</p>
<p>Once I get that done, I think I'll get serious about putting together a
tilde.club-alike shell server. I have, right now, the following domains sitting unused:</p>
<ul>
<li>userland.club - I like this because it echoes my intent to make a space for playing
around with the stuff in <a href="https://github.com/brennen/userland-book">userland-book</a>,
but I don't want any confusion with UserLand Software.</li>
<li>getyouashell.com - sort of speaks for itself, I think?</li>
<li>lostsnail.org - I had this dumb idea one time about a service where you'd sign up
and you'd get handwritten letters in the mail (gift subscriptions available). For some
reason, despite never having done anything about the service, I haven't quite been able
to bring myself to give up the domain.</li>
</ul>
<p>I'm not really sure any of these are quite right, but then I'm also not sure that I need
to spend any more money on vanity domain names.</p>
</article>
<article>
<h2>Saturday, October 11, 2014</h2>
<p>Interesting things generally are happening in the
<a href="https://github.com/tildeclub/tilde.club/issues/">tilde.club
repo issues</a>. Also, I
<a href="https://github.com/tildeclub/tilde.club/issues/33">asked about shells</a>.</p>
</article>
<article>
<h2>Friday, October 10, 2014</h2>
<pre class=art>
__________________________________
( Time keeps getting away from me. )
----------------------------------
o ^__^
o (oo)\_______
(__)\ )\/\
||----w |
|| ||
</pre>
</article>
<article>
<h2>October, 2014</h2>
<pre class=art>
______________
&lt; Hi everyone. &gt;
--------------
\ ^__^
\ (oo)\_______
(__)\ )\/~
||----w |
|| ||
</pre>
<p>I'm Brennen. I also have <a href="https://p1k3.com/">this other web site</a>
and there is this <a href="https://p1k3.com/userland-book/">thing I am writing about
using the command line</a>.</p>
<p></p>
<p>I am keeping this in a git repository. Here is <a href="git-feed.pl">a
Perl script</a> you can use to make a <a href="feed.xml">feed</a> out of a
git log. (It needs a little work to generalize well.)</p>
<p>Maybe tomorrow I'll try to find my old GeoCities stuff and put it up here.</p>
</article>
</section>
<footer>
<p><img src="freespeechrib.gif"></p>
<!-- Begin Tilde.Club Ring Fragment-->
<center><font size="2">
<center>
<br><img src="webring.png" border="0" usemap="#notepad.map"><br>
</center>
<map name="notepad.map">
<area shape="rect" coords="0, 0, 60, 70" target="_top" href="http://tilde.club/~harper/link.html?action=join">
<area shape="rect" coords="130, 0, 417, 75" target="_top" href="http://tilde.club/~harper/link.html?action=random">
<area shape="rect" coords="465, 0, 549, 75" target="_top" href="http://tilde.club/~harper/link.html?action=join">
</map>
</center>
<!-- End Webring Fragment-->
</footer>
<script>
$(document).ready(function () {
// syntax highlighting - see http://shjs.sourceforge.net/
// I was going to use http://prismjs.com/, which seems neat,
// but that one doesn't come with Perl highlighting out of the
// box, and the thing I wanted to highlight was a Perl script.
// This one's been around for a while, and seems to do a pretty
// nice job, really.
sh_highlightDocument();
// A really simple p5.js sketch - google p5.js:
var lights_sketch = function(sketch) {
var x = 0;
var y = 12;
var world;
var red = sketch.color(255, 0, 0);
var green = sketch.color(0, 255, 0);
var blue = sketch.color(0, 0, 255);
var yeller = sketch.color(255, 255, 0);
var colors = [red, green, blue, yeller];
var light_width = 9;
var light_height = 18;
var renderlight = function (x, y, color) {
sketch.push();
sketch.stroke(color);
sketch.fill(color);
sketch.ellipse(x, y, light_width, light_height);
sketch.pop();
};
sketch.setup = function () {
world = {
// size of the canvas
width: $(window).width(),
height: $(window).height(),
};
sketch.createCanvas(world.width, world.height);
sketch.background(0, 0, 0);
};
var waitfor = 1800;
var wait_til = sketch.millis() + waitfor;
sketch.draw = function () {
x = 0;
if (sketch.millis() < wait_til) {
return;
}
sketch.clear();
var previous_color;
var color;
while (x < world.width) {
while (color === previous_color) {
color = colors[ Math.floor(Math.random()*colors.length) ];
}
renderlight(x, y, color);
x += 50;
previous_color = color;
}
wait_til = sketch.millis() + waitfor;
};
};
var myp5;
myp5 = new p5(lights_sketch, 'squiggleCanvas');
$(window).resize(function () {
myp5.setup();
});
/*
// STACK STARTS HERE
// get all the "cards", hide them
$cards = $('article, footer');
$cards.hide();
var card_number = 0;
var $cur_card = $( $cards.get(card_number) );
$cur_card.toggle();
var transit = function (jump) {
$('button').hide();
$cur_card.hide();
card_number += jump;
// wrap around (1)
if (card_number > ($cards.length - 1)) {
card_number = 0;
}
// wrap around (2)
if (card_number < 0) {
card_number = $cards.length - 1;
}
$cur_card = $( $cards.get(card_number) );
console.log(card_number);
console.log($cur_card.html());
$cur_card.toggle({
duration: 200,
done: function () { $('button').show(); }
});
};
var $fwd_button = $('<button class=clicker-button>&rarr;</button>');
var $bwd_button = $('<button class=clicker-button>&larr;</button>');
var $all_button = $('<button class=clicker-button>all</button>');
var $button_group = $('<div class=buttons/>');
$fwd_button.click(function (e) {
e.preventDefault();
transit(1);
});
$all_button.click(function (e) {
e.preventDefault();
$cards.show();
$button_group.hide();
});
$bwd_button.click(function (e) {
e.preventDefault();
transit(-1);
});
$(document).keydown(function(e) {
switch(e.which) {
// case 8: // backspace
case 37: // left
$bwd_button.click();
break;
// case 32: // spacebar
case 39: // right
$fwd_button.click();
break;
case 90:
toggleFullScreen();
break;
default:
return;
}
e.preventDefault();
});
$button_group.append($bwd_button, $all_button, $fwd_button);
$('body').append($button_group);
var toggleFullScreen = function () {
if (!document.fullscreenElement && // alternative standard method
!document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) { // current working methods
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if (document.documentElement.msRequestFullscreen) {
document.documentElement.msRequestFullscreen();
} else if (document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if (document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
}
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
};
*/
});
</script>
</body>
</html>