<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>tilde silver</title>
  <subtitle>Karen Cravens</subtitle>
  <id>http://relvokcor.xyz/~silver/atom.xml</id>
  <link rel="alternate" href="http://relvokcor.xyz/~silver/" type="text/html"/>
  <link rel="self" href="http://relvokcor.xyz/~silver/atom.xml" type="application/atom+xml"/>
  <updated>2014-11-13T23:29:47Z</updated>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/local-cache.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/local-cache.html" type="text/html"/>
    <title>Local cache</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Pumpkin Spice can now successfully monitor a feedless HTML page and turn changes into feed entries - retaining the full HTML formatting. To that end, I just subscribed it to all six-hundred-and-thirty</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>Pumpkin Spice can now successfully monitor a feedless HTML page and turn changes into feed entries - retaining the full HTML formatting. It only pays attention to the text, not to the formatting, though if you bold something or otherwise break up text with HTML tags in the code, I think it'll treat <em>that</em> as a change.</p>

<p>To that end, I just subscribed it to all six-hundred-and-thirty-seven of us, with the exception of ~bw whose page redirects to a 404. PS won't (at this point) subscribe to nonexistent pages. All that means for now is that it cached a copy of everyone's front page, to compare to the next version when I tell it to poll. (Everyone except the half-dozen of us who have detectible XML feeds, that is.) Right now, it doesn't do anything with that data except dump it to STDOUT for debugging purposes.</p>

<p>But I could very trivially dump that to an RSS/Atom/JSON feed, either one for each user (basically a reinvention of Page2RSS) or one big huge sitewide group feed. I'll probably start building those, just because.</p>

<p>Eventually, of course, it will use that data internally, to present its feeds and feedlike things in the form a Facebook user might find familiar. Which strikes me as funny: I figured tilde pages made a good test set, but that also means that I'm, uh, kinda turning relvokcor.xyz into a social media network.</p>

<p>Probably my next step will be figuring out how to get my git repo up on Github. I've been faithfully committing my changes each night. (Or morning, really. My coder tendency to code late, sleep late does not work so well with my parent requirement to get up at 5:50am to get a kid ready for school.)</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-13T23:29:47Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/coding-for-dollars.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/coding-for-dollars.html" type="text/html"/>
    <title>Coding for dollars</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">We have pretty decent insurance through my husband's employers, but having learned that our out-of-pocket expenses on a scrip might be anywhere from $400 to $2000 a month, suddenly I'm thinking maybe </div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>We have pretty decent insurance through my husband's employers, but having learned that our out-of-pocket expenses on a scrip might be anywhere from $400 to $2000 a month, suddenly I'm thinking maybe I should be looking aggressively for a job or contract. Daaaang.</p>

<p>Which is annoying, because I'm really getting into Pumpkin Spice. I'm working on the default vanilla-HTML plugin, and remember why I like Perl. (Because of CPAN, mostly.) And be proud of me: I'm committing to a git (but not yet Github) repo every night.</p>

<p>(That title actually made me go look up <a href="http://en.wikipedia.org/wiki/Bowling_for_Dollars">Bowling for Dollars</a> which I never actually saw. Because, it turns out, I didn't live in one of the markets. Huh.)</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-13T03:06:11Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/when-in-doubt.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/when-in-doubt.html" type="text/html"/>
    <title>When in doubt, code</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">It's maybe not the best policy, but like I've said elsewhere, I was raised by wolves. So that's what I did. I kind of knew that the evolving nature of my formatting here had maybe introduced some inva</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>It's maybe not the best policy, but like I've said elsewhere, I was raised by wolves. I can do a lot of brainstorming before settling into coding, but sometimes I just have to start laying out the Perl (or whatever, but in this case it's Perl) and seeing what happens. I may not end up with the grandiose (silo buster)[http://relvokcor.xyz/~silver/blog/silo-buster.html] I've talked about, but at the least I'll have a critter that can build Atom change feeds off Facebook and Twitter and vanilla HTML pages, which will improve my Tiny Tiny RSS life.</p>

<p>So that's what I did. It's been an embarrassingly long time since I've done any major coding in Perl, especially building modules from scratch, so I dinked around until I remembered how those work. I threw together a skeletal library for (Pumpkin Spice)[http://relvokcor.xyz/~silver/projects/pumpkin_spice.html] and started hanging plugins off it: Spice::HTML for those pages that just don't have any other structure, then Spice::Feed for those that have an Atom or RSS feed. My test suite used my own tilde page, and XML::Feed barfed all over my Atom feed.</p>

<p>I kind of knew that the evolving nature of my formatting here had maybe introduced some invalid markup here and there, but that was just comical: <a href="https://twitter.com/gamehawk/status/532395685824327680">https://twitter.com/gamehawk/status/532395685824327680</a> and that's just one screenful.</p>

<p>So I stopped doing Atom with HTML::Template and built it with XML::Feed like I should have all along. To no one's surprise, XML::Feed then parsed it with no trouble. To those of you who've subscribed and now are suddenly getting all my back posts now that it's, you know, actually feed-able, I apologize.</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-12T05:50:41Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/oops.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/oops.html" type="text/html"/>
    <title>Oops</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Oops Page created: 12 November 2014 tilde homesilver home Random page info</div>
    </summary>
    <content type="html">&lt;!-- content begin --&gt;Crazy wind (they say 55mph "gusts," but the baseline wind was 45mph) and temperature drop yesterday, so we weren't surprised that the ADSL was flapping all day. Complained, complained, complained... AT&amp;amp;T's diagnostic was uninformative, other than to tell us they had auto-updated the firmware to close the root exploit, and to tell us that we needed to schedule an "in-home tech." I was all set to grab the router-modem thingy and stomp into the AT&amp;T store in person, but Carl went out and punched down one of the punchdowns a little harder.

And hey, it hasn't dropped since.

Maybe we should have done that a long time ago.

&lt;!-- content end --&gt;</content>
    <updated>2014-11-12T02:32:49Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/oh-oauth.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/oh-oauth.html" type="text/html"/>
    <title>Oh, OAuth</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I had, apparently, blocked from my memory the fact that Twitter, Facebook, and probably every other place in the world requires OAuth these days. OAuth requires, unless I'm missing something, two thin</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>I had, apparently, blocked from my memory the fact that Twitter, Facebook, and probably every other place in the world <em>requires</em> OAuth these days.</p>

<p>OAuth requires, unless I'm missing something, two things: the user to sign in via the service's website (inconvenient but not impossible), and place for the service to send the oauth_token and oauth_verifier. And there it gets awkward.</p>

<p><a href="http://relvokcor.xyz/~silver/projects/pumpkin_spice.html">Pumpkin Spice</a> isn't supposed to be dependent on anything the user isn't a customer for (other than the already-existing networks). So who manages that token and verifier? OAuth2 gets past this but Twitter, at least, doesn't allow user-level <em>posting</em> from OAuth2.</p>

<p>Maybe screen-scraping would be more effective.</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-08T19:27:42Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/identification.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/identification.html" type="text/html"/>
    <title>Identification</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">If this entry is about subscribing to a particular feed (that is, a particular place-to-write stuff, be it an actual Atom/RSS feed, a blog, a social-media-network account, or just a web page), then th</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>If <a href="parsing.html">this entry</a> is about subscribing to a particular feed (that is, a particular place-to-write stuff, be it an actual Atom/RSS feed, a blog, a social-media-network account, or just a web page), then this one's about subscribing to a particular person. Or at least identifying a particular person across multiple feeds, and letting the user decide which bits to subscribe to. I haven't written any code for this yet, but it's a little more complicated. A feed is really just a changelog, while an identity is a little fuzzier.</p>

<p>Let's use my tilde as an example. My hypothetical Spice user hits <a href="http://relvokcor.xyz/~silver/">http://relvokcor.xyz/~silver/</a> and says "Whoa, this person is fascinating, I want to follow them. The index.html is easily parsed to come up with a feed, but how can we automatically identify the person behind it?</p>

<p>First of all, there's an atom.xml referenced in the headers and, when I haven't borked its formatting, there are <code>author</code> blocks on every entry. So I know this <code>Karen Cravens</code> wrote this stuff, and that her email address is <code>silver@phoenyx.net</code>. Cool.</p>

<p>The first thing a human sees in <a href="http://relvokcor.xyz/~silver/">http://relvokcor.xyz/~silver/</a> is "I am <a href="http://relvokcor.xyz/~silver/me.html">Karen Cravens</a>" which links to a page where I further identify myself. Probably PS should look at me.html, about.html, bio.html and other likely candidates. The fact that that link is an exact match for an author from the feed is probably also a clue we should pay attention to. Tilde accounts aren't as ubiquitous as they used to be, but we should still consider <code>silver@relvokcor.xyz</code> as a possibility.</p>

<p>That said, parsing <a href="http://relvokcor.xyz/~silver/me.html">http://relvokcor.xyz/~silver/me.html</a> nets us a link to a Twitter account, a Github account, that <code>silver@phoenyx.net</code> email again, and a couple other bits. PS knows what Twitter is, so it pulls that account info up, sees that the name field matches, so that's definitely this Karen person. Same with Github. If the accounts didn't match, we'd let the user decide. From Twitter, we see that Karen is from Wichita, Kansas (we can also make an educated guess on that from the "I am from" text in <code>me.html</code>.) The Twitter webpage info points back to <a href="http://relvokcor.xyz/~silver/">http://relvokcor.xyz/~silver/</a>, so nothing new there. Likewise Github has the same email and webpage. We can pull avatars from both those sites, which in this case happens to be the same picture. We can also check <code>http://phoenyx.net/silver</code> and <code>http://phoenyx.net/~silver</code> but at the moment both of those 404. (Though Real Soon Now I'm going to make phoenyx.net a tilde site.)</p>

<p>But wait, phoenyx.net's whois record matches Cravens. A quick look at its homepage shows a feed, which is a stupid WordPress one that doesn't include much in the way of <code>author</code> blocks. Looking at the RSS version, we find the author <code>kareninwichita</code> and have to go to the page for that, which tells us <code>Name: Karen Cravens</code> so hey, we have a match. If we want to get bold, we can say <code>kareninwichita</code> is a potential alternate username, and find things like my local Twitter account <a href="http://twitter.com/kareninwichita">http://twitter.com/kareninwichita</a> but also someone else's MySpace account. (We can ask the user if Karen Coleman is an alternate name, but hopefully they'll say no.) Similarly, searching for <code>gamehawk</code> turns up more false hits than real ones.</p>

<p>We can check known social networks for me: there's a Karen Cravens on Facebook who lives in Wichita Kansas, and whose avatar matches the Twitter @kareninwichita one. That adds my maiden name and spouse's name to the list of things. And my spouse's name matches the rest of that phoenyx.net whois record, so we can add a mailing address (which matches the hometown) to the information.</p>

<p>An identity is starting to shape up. We have a name, some avatar to choose from, a maiden name, a spouse, a hometown, mailing address, phone number, an email address or two, a couple of blogs, a Facebook, a couple of tweet streams, and a repo. That's enough for a pretty healthy profile page. Let's go stalk another tildenizen.</p>

<p>Looking at <a href="http://relvokcor.xyz/~silver/sitemap2.html">http://relvokcor.xyz/~silver/sitemap2.html</a>, and "randomly" picking the most recent update, our candidate is <a href="http://relvokcor.xyz/~john">http://relvokcor.xyz/~john</a>. Oh good, he has a nice cryptic page. (If you haven't figured it out, you might want to go look at it now because I'm going to <em>SPOILER</em> it) No feed, no email links, nothing. We have an image link to a 1x1 pixel, so that's probably not an avatar, and a link to a solitary other page. Which links to yet another page like it, and so on for what, fifteen levels? That's probably more than Spice should follow, but maybe it asks the user and the user says keep going. Eventually, it gets to one that links back to <code>index.html</code> (the symbol is, of course, a tilde on that page, so John <em>is</em> going home) but which also has <code>By &lt;A HREF=http://johnholdun.com&gt;John Holdun&lt;/A&gt;</code> on it. A "by" is probably a good keyword to look for, and ~john matches at least the first name, so away we go.</p>

<p>From there we have some lovely links to places PS understands: Instagram (where we get an avatar), Tumblr, Twitter (from which we learn that John is from New York, and see the same avatar), and an email link. There's also a batch of other links there, so let's check them out.</p>

<p>The first one is <a href="http://attentiontoretail.co/">http://attentiontoretail.co/</a> which, to a human who scrolls to the bottom, is obviously a blog by John. (It says "ATTENTION TO RETAIL is a blog about thinking about shopping. It is published on Mondays by John Holdun.") But can PS figure that out? There's no handy-dandy Atom or RSS, no standard CMS/blogging software obvious (and those generally build Atom or RSS in any event). The only thing we've got is that <code>by &lt;a href='http://johnholdun.com'&gt;John&amp;nbsp;Holdun&lt;/a&gt;</code>. Whois on the domain tells us it belongs to John (by name, though not by email address). Bingo! There's a Twitter link that PS can identify as blog-specific (it has this blog as its homepage, plus the bio includes the Twitter account we already know is John's), as well as a Tumblr, Facebook, and email. We attach all these to John too.</p>

<p>On to the next: <a href="http://puthtml.com">http://puthtml.com</a>. There's John's twitter account at the bottom, but no other firm clues, even in whois. To make sure this isn't someone else's page that just happens to link back to John, we should probably ask the user "Is this really John Holdun's page?" User says yes, so we add it. And so on.</p>

<p>We can check known social networks for John as well, but even if we don't find any ~john still ends up with a pretty complete profile page too.</p>

<hr/>

<p>Now, tildenizens are probably not the "best" candidates for this (by which I really mean "worst"). Most of my family members don't have a net presence outside of Facebook, so their Pumpkin Spice profile page is going to be pretty one-dimensional. (And, interestingly, they're even more freaked out about privacy and stalkers and stuff because, I guess, it's better to give all your data to one company than to spread it all over the net? Maybe they have a point. But I once mentioned an AT&amp;T problem on Twitter, had an AT&amp;T rep ask me to "follow and DM my info." Having been down that road before and not particularly wanting to follow yet another AT&amp;T tech support account, I just @-replied them the voice line the ADSL was attached to. I got an anxious reply telling me to delete the tweet because it was public. My response was something along the lines of "This, from a company that wants me to pay them extra to keep them from delivering my name, phone number and home address to the doorstep of half a million people every year?" The tech didn't have an answer for that. Nor did they fix our problem, come to that.)</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-08T16:00:24Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/economies_of_scale.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/economies_of_scale.html" type="text/html"/>
    <title>Economies of scale</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Or scale of economies, really. I got invited by a member of my nobility to a meeting today, the local chamber of commerce's health committee. In Delano, we have no budget. So when the chamber gal said</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>Or scale of economies, really.</p>

<p>I got invited by a member of <a href="poverty-phones.html">my nobility</a> to a meeting today, the local chamber of commerce's health committee. (I didn't know they had one, but now I do.) The local Y and university have been partnering on food access studies, and this was the analysis. The presentation was very good, but it was what was wrapped around it that was boggling to me. </p>

<p>In Delano, we have no budget. Like, no money at all. The neighborhood association has no dues (it's not an HOA), and no budget outside the donations we take in at meetings and events. We're not in bad shape, as neighborhood associations go; got a few hundred dollars in the general fund, a few thousand in various project funds that we're working toward. The web pages we run live on surplus storage/bandwidth from my own server, and I pay for the domain registration myself. We print a newsletter at a print shop owned by the husband of one of the neighborhood pastors, paid for by ads that I scrounge from neighborhood businesses every month. (When I die, use the funeral home down the street that has faithfully run a $50 ad every month for, as far as I know, the sixteen years the newsletter has existed.) Delivery is by volunteers; high school kids that need community-service brownie points to buff up their transcripts, churches that happen to be delivering their own fliers to the neighborhood, whatever I can come up with. Some months, I can't come up with advertising or I can't come up with delivery, and we get no newsletter.</p>

<p>So when the chamber gal said they needed to rebrand the health committee, and they were budgeting $10-12K for the new logo and website, I may have realized I was probably in the wrong room. Wrong league. Something.</p>

<p>But you know? I wouldn't trade our community fabric, our huge base of social capital, for all the grant money they've got.</p>

<p>(Most days, anyway.)</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-07T22:37:32Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/git.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/git.html" type="text/html"/>
    <title>git</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Yeah, like I mentioned earlier I gotta learn git. So okay, I've updated sitemapper.pl to dump a JSON file as well (and commented out the private files entirely), and I need to update my repo on Github</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>Yeah, like I mentioned <a href="http://relvokcor.xyz/~silver/blog/halloween-name.html">earlier</a> I gotta learn git. I set up a Github account, put sitemapper.pl in it via the web thingy and... that was it. I have four tabs of Github documentation and tutorials opened, I have a lovely ebook bookmarked that ~winston... uh, <a href="http://twitter.com/suchwinston">@suchwinston</a> (now I can't find him on ~) pointed me to, I have a brilliant systems administrator/architect in the same house with me... but nope, I have done nothing.</p>

<p>So okay, I've updated sitemapper.pl to dump a JSON file as well (and commented out the private files entirely), and I need to update my repo on Github. It goes something like this:</p>

<ul>
<li><p>Set up my RSA key. That's pretty easily done, following their instructions (especially since I already had a key generated).</p></li>
<li><p><code>git clone https://github.com/tyrosinase/tilde-tools.git</code></p></li>
<li><p>Following <a href="https://help.github.com/articles/fork-a-repo/">https://help.github.com/articles/fork-a-repo/</a> I decide I should add an upstream. It's the same as my origin (because I'm not actually forking this), so I may be doing something wrong, but whatever: <code>git remote add upstream</code> (the RSA key that was still in my buffer)</p></li>
<li><p>Dangit. (I always have trouble with the clipboard in LXDE between Firefox and UXTerm, but usually there isn't a dang carriage-return in the buffer...)</p></li>
<li><p>Hi, Stackoverflow. Oh, okay. <code>git remote set-url --add upstream https://github.com/tyrosinase/tilde-tools</code></p></li>
<li><p>Okay. Now I download the current sitemapper.pl from tilde to my local machine and... um... Github's tutorial stops there. I don't remember how to commit my ch... oh yeah, git commit.</p></li>
<li><p><code>git add sitemapper.pl</code></p></li>
<li><p><code>git commit -m "Updated sitemapper to produce JSON"</code></p></li>
<li><p>Okay! Um, now I need to push that to Github. <code>https://guides.github.com/introduction/getting-your-project-on-github/</code> tells me to sync using Github Desktop which is, um, Mac and Windows. Clearly as a Linux person I'm supposed to know what the heck I'm doing already.</p></li>
<li><p>Oh, wait. I remember git push... yeah. <code>git push origin master</code> (Okay yeah, I didn't really need that upstream.)</p></li>
</ul>

<p>Holy wow you guys, I did it without having to pester any live people! <a href="https://github.com/tyrosinase/tilde-tools/blob/master/sitemapper.pl">https://github.com/tyrosinase/tilde-tools/blob/master/sitemapper.pl</a></p>
<!-- content end --></div>
    </content>
    <updated>2014-11-07T03:12:36Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/parsing.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/parsing.html" type="text/html"/>
    <title>Parsing</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Yak shaving. Before you build a pumpkin spice client, you have to have something to read with it. So I started fiddling with a little Perl script, takes an url on the command line and checks it out. T</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>Yak shaving. Seriously.</p>

<p>Before you build a <a href="http://relvokcor.xyz/~silver/projects/pumpkin_spice.html">pumpkin spice</a> client, you have to have something to read with it. I mean, technically you want to select things to read ("follow" or "friend" people) within the client, but still.</p>

<p>So I started fiddling with a little Perl script, takes an url on the command line and checks it out. If it's a Facebook or Twitter url, it can tell who the person/page is (and if I had bothered to register with the API, it could go off and do stuff with it). I haven't done anything with Instagram or Google Plus, but there are libraries for those on CPAN so I'm just treating them as a solved problem for now.</p>

<p>relvokcor.xyz pages are really a pretty good early test for at-large web pages. Some of them, like mine, have the feed properly marked in the header, and I can just look at <code>XML::Feed-&gt;find_feeds($uri);</code> and get something that presumeably represents a blog feed.</p>

<p>Others have a feed but it's not marked, so I look for things like index.rss or feed.xml or any of the other standard-ish names in the same directory as the page I've got.</p>

<p>And then there's the large majority of them: pages that have no machine-readable equivalents. In my real life, I use <a href="http://page2rss.com">Page2RSS</a> to produce a changelog RSS. That works pretty well, but for two things: one, it's rather tedious in TinyTinyRSS: copy the page address, open the Page2RSS page, paste the page address into the form, copy the resulting page address, waaaaait for TinyTinyRSS to open, select Subscribe to Feed, paste the address, select the category, waaaaait for TinyTinyRSS to poll the site, waaaaaaaait for TinyTinyRSS to reload. (I'm not sure if TTR is slow, or our server is, or my browser is, or all three.)</p>

<p>Now, once it's set up, it works great, and generally hands me everyone's blog entry in a reasonably timely manner. So if pumpkin spice does all of those steps under the hood and asynchronously, that solves most of my problem. All that's left is the fact that I'm relying on a third-party service whose customer I am not. So PS has to have a build-in diff function that can preserve the formatting relatively well. And ideally, it should be a little smarter than Page2RSS and not hand me every update where just a timestamp (or a temperature, or whatever) just changed.</p>

<p>I'm really hoping somebody else has solved that problem, and that I just need to pore over CPAN (and Github, these days) to find it, because otherwise I have to go into the hell that is HTML parsing.</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-07T01:13:21Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/protocols.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/protocols.html" type="text/html"/>
    <title>Protocols</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Protocols I can't remember who pointed to this on Twitter, but I think it was a tildenizen: Liberate Apps Through Protocols: Lets Update IRC!. Yes, let's. Page created: 04 November 2014 tilde homesilv</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>I can't remember who pointed to this on Twitter, but I think it was a tildenizen: <a href="http://continuations.com/post/101674805915/liberate-apps-through-protocols-lets-update-irc">Liberate Apps Through Protocols: Lets Update IRC!</a>.</p>

<p>Yes, let's. More importantly, let's <a href="http://relvokcor.xyz/~silver/projects/pumpkin-spice.html">build clients</a> for these protocols that are as easy and slick-looking (and that have as much defense against abuse) as the silo equivalents.</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-04T12:39:22Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/squirrel.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/squirrel.html" type="text/html"/>
    <title>Squirrel!</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">In case you were wondering, I never did get that yard work done. If it isn't obvious by now, what with my blog topics being all over the map, I have Adult Attention Deficit Disorder. Then the book had</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>In case you were wondering, I never did get <a href="poking-at-silos.html">that yard work</a> done. Now it's at that awkward stage: the grass is dormant, so there's no rush. At least this year it's relatively low - last year it had gotten high enough to go to seed (not high, but raggedy) and then it reached the point where it was kind of embarrassing to let it go (the grass showed through what little snow we had) but also embarrassing to mow it ("HI EVERYBODY THIS IS ME RUNNING THE LAWNMOWER IN DECEMBER"). Anyway, I should get the garden put to bed so I can actually plant stuff just as soon as the weather allows next spring. I didn't do it this year and ended up just letting it lie fallow in what would have been a really good year. The garden and I both needed a rest, though.</p>

<p>If it isn't obvious by now, what with my blog topics being all over the map, I have Adult Attention Deficit Disorder. Didn't really realize it until we had a son, and he was diagnosed ADHD (and, eventually ASD). I read a book on ADHD parenting and when I got to the part about girls and ADHD and went "holy wow, that was me." I grew up hearing "you're in your own little world" (I was) and "if you cared about people, you'd remember X" (promises, birthdays, whatever). I think my mother feels kind of guilty about it, because she is the opposite of ADHD and just could not comprehend that my brain doesn't work like hers. I can't exactly blame her, being as how I was almost 40 before <em>I</em> realized what was going on. Girls didn't get ADHD, after all, I was by no means hyperactive (and son is what they call "primarily inattentive") and mostly it took the form of me reading all the time and shutting out the world.</p>

<p>Then the book had a chapter on AADD, and I realized "holy wow, that's STILL me." You don't necessarily outgrow ADHD, you just learn coping mechanisms. And I hadn't, entirely, because I was convinced I should be able to keep everything in my head all organized and stuff. Like Mom. So what the hey, I visited a psychiatrist. Got a formal confirmation that I'm mildly crazy, which is kind of paradoxical: it changes nothing, but knowing that there's a DSM-IV label, an explanation, a name for it makes it feel <em>more</em> normal. Apart from confirming that I really didn't have any of the co-morbidities (depression, substance abuse, etc.) that often go along with it, I didn't learn too much from the doc except the obvious: I need to build coping mechanisms, and that's what I've done for the last several years. I refer to my tablet as my "brain," and feel a lot freer in telling people, "If you don't see me write it down, it's not going to happen." I try not to use it as an excuse, but I'm not shy about enlisting help in keeping myself accountable.</p>

<p>I feel kinda dumb, in hindsight, trying for all those years to be "normal" and not just acknowledging that mayyyybe I should try something different. So the moral of the story is: go see a mental health professional sooner, not later.</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-03T15:09:10Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/jekyllization.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/jekyllization.html" type="text/html"/>
    <title>Jekyllization</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">My little blog-building script is getting more advanced. It can handle Markdown and HTML::Template. Sooner or later I'm going to have reinvented WordPress.</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>My little blog-building script is getting more advanced. It can handle Markdown and HTML::Template.</p>

<p>Sooner or later I'm going to have reinvented WordPress.</p>
<!-- content end --></div>
    </content>
    <updated>2014-11-01T22:14:09Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/halloween-name.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/halloween-name.html" type="text/html"/>
    <title>Halloween name</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I kinda hate October on Twitter, especially an October when I've followed a whole bunch of new people. In my early years, I was "Tulsa CoCo" on CompuServe CB Chat. Needless to say, most places "silver</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>I kinda hate October on Twitter, especially an October when I've followed a <a href="https://twitter.com/gamehawk/lists/tildenizens">whole bunch</a> of new people. I don't set a different name for Halloween, and seldom change my avatar (though when the ADSL went down this morning, I couldn't resist setting my <a href="http://www.phoenyx.net/images/halloween.jpg">Facebook avatar.</a></p>

<p>In my early years, I was "Tulsa CoCo" on CompuServe CB Chat. This answered two of the three most common questions, MORF? of course being the third. (I usually lied about that one because it cut down on drama.) On the BBS scene, I was "Silver," or sometimes "Mercedes Silver," though my CoCo was old enough that when the silver wore off I took nail polish to the case and had a shiny black computer. (I never tested the conventional knowledge that said you could touch up a Tandy with "Mercedes silver" auto paint.)</p>

<p>Needless to say, most places "silver" is a quickly-taken username. My <a href="/~silver/phoenyx.html">first tilde</a> was ~phoenyx but I rarely used that as my personal handle. When I joined Twitter, I picked <a href="http://twitter.com/gamehawk">@gamehawk</a> because @silver was taken (I think it's changed hands since then). I just went to sign up on GitHub last night, and gamehawk is taken too, as is phoenyx, and of course silver. Lately I've been using KarenInWichita, but lately we've been contemplating the possibility of relocating to another city (and state) so I hate to commit like that.</p>

<p>I finally fell back on <a href="https://github.com/tyrosinase">tyrosinase,</a> which is my Minecraft ID. I didn't pick that; when ~raven needed to choose an ID for what was then a test account, the namespace was pretty crowded. (Tyrosinase is an enzyme. It controls melanin production. Don't ask me how/why he picked it.) I liked it because it shortened to "tyro," which as a latecomer to Minecraft (my longtime PC didn't have a graphics card that worked with it) I was. And now it works for me as a sort-of latecomer to git.</p>

<p>Yep, that's right. ~sippey had a <a href="http://relvokcor.xyz/~sippey/#10292014">tildefession</a> about a midlife crisis, so here's mine: in alllll my years of development I never significantly used version control. I was kind of raised by wolves, IT-wise, often being the entire IT department. I was religious about backups, and that was generally good enough. Other places, like the bank, the version control system was behind a wall of code-review procedures - code magically appeared in a working directory, I worked on it, I told the code reviewer when I was done, the code fairies took the code away.</p>

<p>I've had git on my home system, and I've used it for larger projects like Wirebird, but I haven't touched that project in (mumblety) years and my vague grasp of how it worked has slipped away from me. So yeah: I gotta learn git. DON'T JUDGE.</p>

<!-- content end --></div>
    </content>
    <updated>2014-10-31T15:23:51Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/grocery-app.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/grocery-app.html" type="text/html"/>
    <title>Grocery app</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I guess I should get categories here. On the topic of groceries, I'm unsurprised to see there are apps out there poking at parts of the problem. That kind of touches on a problem I have: perhaps it's </div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>I guess I should get categories here.</p>

<p>On the topic of groceries, I'm unsurprised to see there are <a href="http://nextcity.org/daily/entry/food-shopping-wic-mothers-app-quickwic">apps out there</a> poking at parts of <a href="oasis.html">the problem.</a></p>

<p>That kind of touches on a problem I have: perhaps it's a latent streak of libertarianism or something, but I don't want to be the guy who says, "Ooh, there's an untapped market, lemme write something to sell to the government."</p>

<p>Worse, if I'm targeting the working poor and not just folks on WIC/SNAP, a moneymaking app starts to smell like <a href="http://en.wikipedia.org/wiki/Poverty_industry">poverty industry.</a></p>

<p>This is all fine as long as I'm not trying to make a living.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-31T01:22:46Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/poking-at-silos.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/poking-at-silos.html" type="text/html"/>
    <title>Poking at silos</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I spent some time with some experimental scripts yesterday. I also poked at my blog-building script a little, since I realized it was updating index.html with the last time I'd changed the blog. Putti</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><p>I spent some time with some experimental scripts yesterday. Good news: everyone has an API (and CPAN has a library for every API, sometimes more than one). Bad news: no one's API is open. You gotta have an account to read the data. This is kind of okay, since you obviously have to have an account to post comments there, and <a href="/~silver/projects/pumpkin_spice.html">pumpkin spice</a> needs to be able to post comments. But not so okay if you want to use PS for discovering new people, which I think is important for a social network. So: bah.</p>

<p>I also poked at my blog-building script a little, since I realized it was updating index.html with the last time I'd changed the blog. I don't know why I didn't notice that on my <a href="/~silver/sitemap.html">sitemap,</a> but I noticed it on <a href="/~JW%C3%A4rn/tildesorted.html">~JWärn's</a>. Fixed now.</p>

<p>Putting just a snippet of the current blog entry means I don't show up on <a href="/~agray/pages/prolific/report.html">~agray's most prolific report.</a> This is probably good or I'd get self-conscious about all my jibba-jabba.</p>

<p>Anyway. It's the last nice day of this crazy extended summer, so I should probably get yard work done instead of digging up my Github account and starting a repo for my pumpkin spice noodlings. But probably I'll tell myself I *prefer* yard work in chilly temps and put that off.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-30T15:06:28Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/architecture.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/architecture.html" type="text/html"/>
    <title>Architecture</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I've been thinking about how to build the dumb pipes/pumpkin spice thingy, and I'm leaning back toward a client/server architecture (or maybe plumbing is a better metaphor, but whatever). First of all</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><h1>Architecture</h1>
<p>I've been thinking about how to build the <a href="dumb-pipes.html">dumb pipes</a>/<a href="/~silver/projects/pumpkin_spice.html">pumpkin spice</a> thingy, and I'm leaning back toward a client/server architecture (or maybe plumbing is a better metaphor, but whatever). Here's my thinking, and <a href="mailto:silver@phoenyx.net">tell</a> <a href="mailto:silver@relvokcor.xyz">me</a> if I'm wrong.</p>

<p>First of all, second screens. I in theory use Tiny Tiny RSS because I want to be able to access it from my desktop or from my tablet or even from my <a href="poverty-phones.html">sad little smartphone</a>, though in practice I pretty much always hit it from the desktop. But Twitter I do hit from all my screens (totally not addicted, nope, nope). So I have to assume other people work like that, some even more than me.</p>

<p>Second of all, second screens that aren't second. A social network isn't (<i>probably</i> isn't) as important as <a href="oasis.html">groceries,</a> but I still don't want to rule out people who only have sad little smartphones.</p>

<p>Third of all, and this might be an all-you-have-is-a-hammer, I have a whole lot more experience writing REST apps than direct-on-the-desktop stuff.</p>

<p>That complicates things a tiny bit more, but not without violating the <a href="customer-vs-product.html">you-are-the-customer,</a> you-own-the-data principles. You pay your few dollars a month for a tilde-size server, you install Pumpkin Spice (a one-button install), you're in business. PS would have to be multi-user, so the technical member of the family could set one up and let everybody in the family use it (like we do with our TTR install).</p>

<p>One thing I think you'd need is an email address you owned, which tends to mean you have to own your own domain or you give up some portability. That also complicates things a tiny bit more, but domains have gotten pretty darn cheap, and again you could have a family domain.</p>

<p>Fortunately, I own enough domains and have a tilde-size server of my own that I can develop on it without goofing up relvokcor.xyz itself.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-28T15:25:40Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/sitemapping.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/sitemapping.html" type="text/html"/>
    <title>Sitemapping</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Because I can, I hacked together a sitemapper. It excludes anybody in the tildebot killfile at /home/brendn/bin/botify/killfile, respects robots.txt's (checking each directory for them), and has an ex</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><h1>Sitemapping</h1>
<p>Because I can, I hacked together a sitemapper. It's at /home/silver/bin/sitemapper.pl (because I'm imaginative with my naming like that), and its output is at <a href="/~silver/sitemap.html">~silver/sitemap.html</a> (and sitemap2, and any others I think of).</p>

<p>It excludes anybody in the tildebot killfile at /home/brendn/bin/botify/killfile, respects robots.txt's (checking each directory for them), and has an exclusion file at /home/silver/bin/allowdeny.txt of everything/everybody that's automatically generated (that I've noticed so far), including itself.</p>

<p>At the moment I'm manually running it, but I could put it in a cron if there was demand. It also wouldn't be hard to add a JSON dump if anyone would use that.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-28T14:47:49Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/dumb-pipes.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/dumb-pipes.html" type="text/html"/>
    <title>Dumb pipes</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">-- from Why Google wants to replace Gmail (Mike Elgan) I really like my dumb pipe. But obviously, if I'm a really good developer* I can make a heck of a lot more money building a service and harvestin</div>
    </summary>
    <content type="html">&lt;!-- content begin --&gt;&lt;h1&gt;Dumb pipes&lt;/h1&gt;
&lt;blockquote&gt;Google exists to mediate the unmediated. That's what it does.&lt;/blockquote&gt;

&lt;blockquote&gt;That's what the company's search tool does: It mediates our relationship with the Internet. That's why Google killed Google Reader, for example. Subscribing to an RSS feed and having an RSS reader deliver 100% of what the user signed up for in an orderly, linear and predictable and reliable fashion is a pointless business for Google.&lt;/blockquote&gt;

&lt;blockquote&gt;It's also why I believe Google will kill Gmail as soon as it comes up with a mediated alternative everyone loves.&lt;/blockquote&gt;

&lt;p&gt;-- from &lt;a href="http://www.computerworld.com/article/2838775/why-google-wants-to-replace-gmail.html"&gt;Why Google wants to replace Gmail (Mike Elgan)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I really like my dumb pipe. Enough so that I'd like to make something that let me &lt;a href="pumpkin-spice.html"&gt;use my dumb pipe as a social network.&lt;/a&gt; The problem is, we need smarter dumb pipes - that is, software that's easy enough for Average Joe to install on a basic relvokcor.xyz-esque server (that Joe is the customer for, and that Joe owns the data on, the Two Commandments of the free Internet). There's a certain amount of stuff that GMail can do (mostly spamcatching) based on the large numbers of emails it gets to analyze, but for the most part nothing Inbox does can't be done by a reasonably smart client reading a dumb-pipe IMAP mail account.&lt;/p&gt;

&lt;p&gt;But obviously, if I'm a really good developer&lt;a href="#foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; I can make a heck of a lot more money building a service and harvesting data than I can selling software. (Today my husband complained about a phone app that cost an outrageous TEN DOLLARS. And then commented on the strangeness of the app stores that we've reached a point that that's outrageous instead of a bargain.) So I have to be a really altruistic, possibly even crazy one&lt;a href="#foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; to decide to build things that let people do this themselves. But I think that's what tilde should do: not just enjoy the freedom of the old tools, but make modern equivalents that even non-tildenizens can use (and would &lt;i&gt;want&lt;/i&gt; to).&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a name="foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; Spoiler: I am.&lt;/p&gt;
&lt;p&gt;&lt;a name="foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; Spoiler: I am.&lt;/p&gt;
&lt;!-- content end --&gt;</content>
    <updated>2014-10-27T02:45:55Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/tile-club.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/tile-club.html" type="text/html"/>
    <title>Tile Club</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I live in a 1919 Craftsman bungalow, which sadly has been gutted but even before that was too blue-collar to have had nice decorative tiles. Anyway, the actual "Tile Club" was part of the Aesthetic Mo</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><h1>Tile Club</h1>
<p>~procload's typo of "procload's tile.club page" amuses me. I live in a 1919 Craftsman bungalow, which sadly has been gutted but even before that was too blue-collar to have had nice decorative tiles. But that hasn't stopped me from being interested in Arts &amp; Crafts (and to a certain extent, Art Nouveau and Art Deco) tile work. I've even fiddled around with making some (we have kilns) but it's hard to make flat tiles with throwing clay, and I haven't gotten serious enough to justify getting fifty pounds of tile-appropriate clay.</p>

<p>Anyway, the actual "Tile Club" was part of the Aesthetic Movement. I'd totally join it.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-24T12:57:15Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/barriers-to-entry.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/barriers-to-entry.html" type="text/html"/>
    <title>Barriers to entry</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Somewhere along the line, my post to tilde.projects (, I think) got interpreted as "relvokcor.xyz could be a Facebook killer" rather than "relvokcor.xyz should build a Facebook killer." Tilde is a tough soc</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><h1>Barriers to entry</h1>
<p>Somewhere along the line, my post to <a href="news:tilde.projects">tilde.projects</a> (<a href="news:alpine.LRH.2.11.1410192150390.25581@relvokcor.xyz">&lt;alpine.LRH.2.11.1410192150390.25581@relvokcor.xyz&gt;</a>, I think) got interpreted as "relvokcor.xyz could be a Facebook killer" rather than "relvokcor.xyz should <i>build</i> a Facebook killer." Which is okay - that's an interest premise too (though probably OT for .projects).</p>

<p>Tilde is a tough social network. It was fun when it was just wall, but then it moved to IRC. I've never been a fan of IRC. And almost nobody has syndication feeds (look at <a href="/~silver/tilde.opml">my OPML so far</a> and see how many I'm using Page2RSS for; do a <pre>ls /home/*/public_html/*xml</pre> and see how few feeds there are). There are a lot of <a href="https://twitter.com/gamehawk/lists/tildenizens">tildenizens on Twitter</a> but that's Twitter, not here, and the community that's there is largely one that existed before tilde. (Logically enough, since that's mostly how we all heard about it. I heard about it through ~jesse, whom I followed because of Perl, and had already noticed earlier times when he retweeted ~ford because I like Paul's Amiga avatar.)</p>

<p>Anyway, unless you're already a part of that circle, you really have to work hard to make tilde a social network. That's good, on the one hand, because there's value in having to work for something. But <a href="/~silver/projects/pumpkin_spice.html">the FB-killer I have in mind</a> is all about <i>lowering</i> the barriers to entry. It's a whole different animal. Though I guess that makes relvokcor.xyz a good test: if it can make it here, it can make it anywhere.</p>

<!-- content end --></div>
    </content>
    <updated>2014-10-23T13:35:45Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/pumpkin-spice.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/pumpkin-spice.html" type="text/html"/>
    <title>Pumpkin spice</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Pumpkin spice Okay, I started brainstorming on the silo buster (and, obviously, gave it a silly code name). Like I have time for another project like that. tilde homesilver home Random page info</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><h1>Pumpkin spice</h1>
<p>Okay, I started <a href="/~silver/projects/pumpkin_spice.html">brainstorming</a> on the <a href="silo-buster.html">silo buster</a> (and, obviously, gave it a silly code name). Like I have time for another project like that.</p>

<!-- content end --></div>
    </content>
    <updated>2014-10-21T18:16:17Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/silo-buster.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/silo-buster.html" type="text/html"/>
    <title>Silo buster</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">The last post got me thinking: what would it take to get my relatives off Facebook? First of all, the "wall" (or "News Feed," these days) would basically be a super-friendly feed reader. That wouldn't</div>
    </summary>
    <content type="html">&lt;!-- content begin --&gt;&lt;h1&gt;Silo buster&lt;/h1&gt;
&lt;p&gt;The &lt;a href="customer-vs-product.html"&gt;last post&lt;/a&gt; got me thinking: what would it take to get my relatives off Facebook? Aside from the really tough one ("a critical mass of OTHER relatives/friends"), that is.&lt;/p&gt;

&lt;p&gt;First of all, the "wall" (or "News Feed," these days) would basically be a super-friendly feed reader. Ideally, one that's smart enough to recognize common comment systems and display them natively, and of course let the user comment natively.&lt;/p&gt;

&lt;p&gt;That wouldn't necessarily mean running a server, either. I could write a desktop app (or a Firefox extension, or whatever) that does that. I only run TTR these days because theoretically I like to be able to read stuff from my desktop or from my tablet (which latter never happens in practice), and because the caching is nice. I'd have to play around with things to see if caching would be necessary to make things happen speedily.&lt;/p&gt;

&lt;p&gt;Then there would have to be a simple way to post pictures and posts of their own. Almost like, gosh, some kind of blogging software. I could be wrong, but I think that's a solved problem.&lt;/p&gt;

&lt;p&gt;Really, all that boils down to is making a client that skins existing stuff to look like a unified Facebook clone (or G+ clone, or whatever). There's not even a need for a paid service except for the blog hosting. So far, so good.&lt;/p&gt;

&lt;p&gt;But what about "friending" people? There are two problems: one being how to find friends or at least people you want to follow. If there isn't a central service, searching becomes harder. Being able to see your friend's friends list is one way, plus there's the old-fashioned way: I email my blog URL to my mother. Maybe the client implements FOAF (&lt;a href="http://en.wikipedia.org/wiki/FOAF_%28ontology%29"&gt;Wikipedia&lt;/a&gt;) too.&lt;/p&gt;

&lt;p&gt;The opposite problem is: what about people who want to trick you into following them? This gets a little more iffy. Facebook has problems with profile-cloning, but at least there's a central authority to appeal to (even if said authority treats you as a product and not a customer). There's no real authentication happening - Facebook culture says you see a name and a profile pic that you recognize and you friend them. Especially if they already say "X friends in common," which only means you have X friends of possibly-decreasing levels of gullibility. Ideally, you'd want to build in at least a culture of testing people to make sure they're who you think they are. (For example, sending an email asking, "Mom, did you change your blog host?")&lt;/p&gt;

&lt;p&gt;Hmm. Really, on breaking it down, it doesn't seem like a particularly hard thing. Surely someone's written something like this already, and the problem is just in getting enough adoption to make it worthwhile to the average Joe?&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a name="foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; I didn't actually have any footnotes this time, so I'm just going to post this Wikipedia article that I came across while rabbit-trailing some thoughts while writing this. Yay AADD! Behold, the questionably-real sport of &lt;a href="http://en.wikipedia.org/wiki/Kudu_dung-spitting"&gt;kudu dung-spitting.&lt;/a&gt;
&lt;!-- content end --&gt;</content>
    <updated>2014-10-19T21:03:28Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/customer-vs-product.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/customer-vs-product.html" type="text/html"/>
    <title>Customer vs. Product</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">There's been a little bit of talk about silos and microblogging and middling and such which is probably synchronicity but I choose to believe it's because tilde is making us think about these things. </div>
    </summary>
    <content type="html">&lt;!-- content begin --&gt;&lt;h1&gt;Customer vs. Product&lt;/h1&gt;

&lt;p&gt;There's been a little bit of talk about &lt;a href="http://relvokcor.xyz/~pb/2014/10/17/#fragmented"&gt;silos&lt;/a&gt; and &lt;a href="https://thoughtstreams.io/joeld/microblogging-with-rss/"&gt;microblogging&lt;/a&gt; and &lt;a href="http://waxy.org/2014/10/middling/"&gt;middling&lt;/a&gt; and &lt;a href="https://t.co/b977a4bWjc"&gt;such&lt;/a&gt; which is probably synchronicity but I choose to believe it's because tilde is making us think about these things. Or maybe I'll choose to believe my last post influenced everyone.&lt;/p&gt;

&lt;p&gt;Anyway, I think I should clarify my thoughts a little. I'm not agin' centralization in some cases. I keep my bookmarks on Pinboard, for instance, because even though we (~raven and I) have our own server, it doesn't mean we want to maintain everything. We run our own Tiny Tiny RSS server, and of course a web server and mail server, but sometimes it's a pain and I certainly wouldn't expect most people to do it.&lt;a href="#foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No, the real problem isn't centralization. Specialization can be good. The real problem is the weird ad-supported model. You can't get angry at Google for shutting down Reader, because you were never Google's customer. You were the product being sold. I can get mad at Maciej, because I paid him money to use Pinboard. (I suspect getting mad at Maciej would mostly give him snark fodder for Twitter, but that's okay. I knew that danger when I signed up.)&lt;/p&gt;

&lt;p&gt;I don't know how to get away from the Internet's ad-supported, free-to-play culture, at least in the social/blogging sphere. I can go off to my blog here or on phoenyx.net, but my family will never bother to check it much less start blogs of their own so I can quit checking Facebook. And with the regular "they're going to start charging for Facebook" panics, I can't see convincing a critical mass of people to move to a Facebook-equivalent that's subscription- rather than ad-supported.&lt;a href="#foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; Pinboard is nice, but it's clearly a service for nerds who are eccentric for even caring about this sort of thing.&lt;/p&gt;

&lt;p&gt;Or maybe I'm just pessimistic, and I should start building a Facebook-equivalent for my family members, collect a monthly or annual fee pitched as a "let's all chip in for the server" at first, and just let it spread from there.&lt;/p&gt;

&lt;p&gt;Hmm.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a name="foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; Carl's a professional systems architect and I'm a software dev with enough sysadmin experience to know it's &lt;i&gt;always&lt;/i&gt; a permissions problem in Unix. And to know that the best way to aggravate a sysadmin/architect is to say, "Never mind, I'll just chown it 0777."&lt;/p&gt;

&lt;p&gt;&lt;a name="foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; Maybe "ad- and data-supported" is better? I should coin a scary-sounding phrase for "you are the product" services.&lt;/p&gt;
&lt;!-- content end --&gt;</content>
    <updated>2014-10-19T19:30:53Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/bring-back-the-feed-reader.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/bring-back-the-feed-reader.html" type="text/html"/>
    <title>Bring back the feed reader</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">You know what busts silos? It is also no accident that I put up an atom feed as fast as I could here. I have been trying to persuade my 14yo to start using the family Tiny Tiny RSS installation, but h</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><h1>Bring back the feed reader</h1>
<p>You know what busts silos? Syndication. It's no accident that Google killed Reader and brought up the feedless Plus, or that Facebook recently dumped what few feeds they ever provided.</p>

<p>It is also no accident that I put up an atom feed as fast as I could here.</p>

<p>I have been trying to persuade my 14yo to start using the family Tiny Tiny RSS installation, but he hasn't seen the benefit yet. Clearly I'm going to have to set up some sample feeds and make it his Firefox home page to get him to catch on, but I think once he does he'll be sold. Paired with a service like Page2RSS that builds a changelog feed for sites that don't have them (or just for pages that you want to monitor), it would save him from so much "Oh! I didn't know [that game I was interested in] actually released!"</p>

<p>If I could convince my family members to use feed readers, I could quit having to post stuff on Facebook - and they would quit having to "like" everything to keep Facebook from relegating me to their "only show stuff from this person when there aren't any paid things to show" bin.</p>

<p>Of course, there's still the problem that a web-based feed reader itself can be a silo. We run our own TTR because we have our own server, and because we got spoiled by GReader's caching and whatnot. But there are plenty of in-browser or standalone options for non-technical types. I should really learn how to use one of them, because probably everyone should have that in their "things I set up when doing tech support for relatives" along with the virus scanners and whatnot.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-16T15:43:46Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/no-tilde-is-an-island.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/no-tilde-is-an-island.html" type="text/html"/>
    <title>No tilde is an island</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I think maybe I'm missing out on a little ~ stuff because I don't spend much time in the shell there, but rather do most stuff (including typing this) in the shell on my local machine.* But I've been </div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin --><h1>No tilde is an island</h1>
<p>I think maybe I'm missing out on a little ~ stuff because I don't spend much time in the shell there, but rather do most stuff (including typing this) in the shell on my local machine.<a href="#foot1"><sup>*</sup></a> But I've been following along on Twitter, and it's been interesting to see the ~.* network growing: relvokcor.xyz begat tilde.town, tilde.camp, tilde.farm, and <a href="http://relvokcor.xyz/~pfhawkins/othertildes.html">a few other places</a> that stray from the naming convention. When I get done poking at the scripts to produce this blog (or at least done-for-now), I'll have to look into getting phoenyx.net into that, because you guys, *Usenet*.</p>

<p>Won't happen before this weekend, though. It's neighborhood-cleanup weekend (and I'm the empress), and also somehow I got roped into providing chili for an event that got rescheduled to the same day. And that went from being "chili for 100" to "chili for 300." And also this is the year that everybody and his brother wants to volunteer for the cleanup - thirty people from the university in the neighborhood, another twenty from a high school whose usual neighborhood isn't having a cleanup. So the cleanup luncheon is also going from "chili for 50" to "chili for at least 100." You guys. I'm feeding 400 people this weekend. HOW DID THAT EVEN.</p>

<h3>Chili for 100</h3>
<p>Brown 10 pounds ground beef, drain. Add 5 #10 cans chili beans, 1 #10 can ketchup, 1 #10 can tomato juice. Simmer until heated through (or longer). Fills 2 ~18-quart roasters.</p>

<p>Sam's Club (I know, I know, but we don't have a Costco here yet) carries a 10-pound chub of ground beef, Bush's chili beans, Hunt's ketchup, and while it doesn't have canned tomato juice it *usually* carries a couple of yoked-together jugs that are more or less the right amount. And the juice is optional anyway, it stretches the chili but also thins it. I've made it without when using the chili for hot dogs or Frito chili pies. Depending on the price of beef, everything came to around $60. All the "fixins" of course bring the total up, but if you're doing a community event (like the cleanup) it's pretty easy to get everyone to bring a bottle of hot sauce, a few onions, a bag of pre-shredded cheese, etc. So it's a good way to feed a bunch of people. If you've got vegans among you, just mix up all the canned stuff separately and reserve some of it for the vegans… do up some TVP and mushrooms to mix in, or maybe let people bring their own meat-substitute if you're going the communal route.</p>

<p><a name="foot1">*</a> Since AT&amp;T helpfully "upgraded" us from ADSL to… uh… ADSL that they call "UVerse" (whatever *that* distinction means), we haven't had a connection that can reliably stay connected for hours at a time. There's an upstream box that fails regularly (some days it can't see any IPv4 addresses at al). We've given them the IP address, called them out on it repeatedly on Twitter, and the answer is always, *always*, "Well, your modem is scheduled for a firmware upgrade in the next couple days, let us know if that doesn't fix it." We've gotten the tree cut down that was blocking Cox's ability to run a cable back to the house, so pretty soon we're going to take care of the problem ourselves. Trading it, no doubt, for a whole new set of problems.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-16T13:39:41Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/technicalities.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/technicalities.html" type="text/html"/>
    <title>Technicalities</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I got sidetracked in pontificating and haven't paid enough attention to the technicalities of my "blogging software" - a Perl script that runs stuff through Template::Toolkit (I don't know why; I've a</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin -->[% META title="Technicalities" %]
<h1>Technicalities</h1>

<p>I got sidetracked in <a href="poverty-phones.html">pontif</a>i<a href="oasis.html">cating</a> and haven't paid enough attention to the technicalities of my "blogging software" - a Perl script that runs stuff through Template::Toolkit (I don't know why; I've always preferred HTML::Template) and does some parsing to build the atom.xml file. And I've gotten all fancy-pants since the old days, and I know people with crazy high-order characters in their names and something along the lines is helpfully converting them instead of leaving them as proper ampersand-thingies.</p>

<p>So mostly this is a test post to see if I have convinced it to maybe process things a little less. C'mon, it's good organic HTML, it should be left raw as long as possible, right?</p>

<!-- content end --></div>
    </content>
    <updated>2014-10-14T21:57:41Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/oasis.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/oasis.html" type="text/html"/>
    <title>Oasis</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">What's the opposite of a food desert*? I'll try not to sound too much like a 1950's "House of the Future!!!" thing. Mom* opens up the menu planner on her phone. She plans the meals. Meanwhile, one of </div>
    </summary>
    <content type="html">&lt;!-- content begin --&gt;&lt;p&gt;What's the opposite of a food desert&lt;a href="#foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt;? An oasis. So that's the working title of the software/project to fix one of the &lt;a href="poverty-phones.html"&gt;problems in my neighborhood.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;In a perfect world&lt;/h3&gt;

&lt;p&gt;I'll try not to sound too much like a 1950's "House of the Future!!!" thing.&lt;/p&gt;

&lt;p&gt;Mom&lt;a href="#foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; opens up the menu planner on her phone. It knows what there is in the pantry, the fridge, and the freezer, and she tells it what the budget is for the week. She tells it the meal schedule - between her and Dad there are three part-time jobs, and you take hours when you can get them - and which meal each family member is going to be at, or will be needing leftovers from. It already knows the ages of the kids, and that one is allergic to eggs. It knows what stores are close to the house, and she tells it she can make a trip to the full-service store later in the week.&lt;/p&gt;

&lt;p&gt;She plans the meals. The planner already knows the family's food history, so it can suggest favorite recipes that haven't been used in awhile, or ones that will use up a soon-to-expire product. It can give her a running total of the grocery bill, and when everything needs to be bought. It can run a nutrition analysis and suggest changes, either tweaks to existing recipes (replacing 73%-lean ground beef with a smaller amount of a lower-fat grind, to keep the protein the same and cut down the fat, slipping in filler vegetables where they won't be noticed) or new recipes. One new recipe includes some unfamiliar terminology, so she clicks through "braising" to a video, where she discovers that it's just something she didn't know the terminology for - and maybe learns a little about when and why to use it. Another recipe calls for a rice cooker, but she doesn't have one. It remembers that, and has a link to a page explaining alternatives. Another uses eggs, but has a suggestion for a substitution.&lt;/p&gt;

&lt;p&gt;Meanwhile, one of the local stores is a new concept, or rather a very old one. It's in an old storefront, that was a neighborhood grocery almost a hundred years ago. Back then, customers arrived by streetcar, told the grocer at the counter what they needed, and his stockboy filled the order for them. Or they phoned it in and it went on the weekly delivery route. Today, that's pretty much how it works again. when Mom is done making her meal plan, she sends it to the store. Instead of handwritten bits of paper, the stocker has a tablet with a scanner gun, but the process is otherwise the same. Some customers set their orders for pickup - the store is convenient to suburban commuters leaving downtown, and curbside grocery loading is part of the service. Others, like Mom, are within the store's delivery range. And now and then someone drops in and uses the tablets at the counter to place an order on the spot.&lt;/p&gt;

&lt;p&gt;Because the store is linked to its customers' meal planners and knows their history, it can do some predictive, just-in-time ordering. Shelf space is very limited after all, even though not having customers browsing them means the store can be much more efficient. When enough customers are putting an item on their lists that the store doesn't stock, it can consider carrying it. When its suppliers have special pricing - say, on seasonal produce, or promotions - it can push that information out to customers who can plan their meals accordingly. In fact, customers have some transparency into the suppliers' databases as well. The store doesn't usually stock low-demand items, but customers can see what's available for special-order, and can even put their names on an "I'd like to try this" list, where an item with a large minimum order waits for enough interest. Overall, prices are still a little higher than the big-box stores, but they're competitive - enough that customers pick it either because they need the delivery, or they just like the convenience.&lt;/p&gt;

&lt;p&gt;Naturally, there's a social network involved too. A group of young couples formed a dinner club - they share recipes, and meet at a different couple's house every week. A local church has a Wednesday-night dinner, and publishes its menu through the software - sometimes Mom takes the kids over when the schedule allows, because everyone pays through the app so no one has to know what she does or doesn't enter in the "donation" field. The senior center partners older adults living alone with others in the same situation, or with nearby families who are willing to welcome a guest at the table now and then. A foodie group coordinates its "I'd like to try this" lists and makes special orders.&lt;/p&gt;

&lt;p&gt;The concept fits a small town just as well as an old urban neighborhood, which is kind of a big deal around here. Rural Kansas towns are dying off when they lose their grocery stores.&lt;/p&gt;

&lt;h3&gt;The less-perfect reality&lt;/h3&gt;

&lt;p&gt;None of that is super-hard to code; cooking is just a small-scale, highly customized manufacturing process. Sure, the bill of materials is a thicket of exceptions - ground beef comes in leannesses ranging from 73% (or lower) to 98%, and sometimes you can substitute, say, crumbled pre-cooked hamburger patties, sometimes not, and if you have to you can pad the amount with filler, or replace it with TVP if you're vegan, or whatever. Standardizing recipes is pretty labor-intensive. It relies on having reasonably complete and accurate nutrition info on a huge array of commercial products. But it's not insurmountable. The question is, can it be done in the tiny brain of a low-end smartphone with limited data connectivity?&lt;/p&gt;

&lt;p&gt;I started on the project awhile back. Downloaded the USDA food databases, started a nice little RESTful web backend, figuring the heavy lifting could all happen serverside and a lightweight Javascript client (for the web) or Android/IOS client (for the phones) would be easier to support. Problem is, my target audience - sure, I'm counting on appealing to the well-connecting tech generation for the bulk of my customers, but really this is about getting groceries to the marginalized folks in my neighborhood - my target audience can't really count on having a live data connection during all this. Probably.&lt;/p&gt;

&lt;p&gt;Somewhat unintentionally, I have a pretty good test bed. I've had an ASUS Transformer (tablet with a detachable keyboard; more of a netbook than a tablet the way I use it) with wifi for some time, and because I work with pretty much every business and church in Delano I have enough private wifi passwords that I haven't needed a smartphone. Some while back the speaker finally died on my seven-year-old dumbphone. Paid $50 for a ZTE Valet, and $100 for a one-year Tracfone card. It's slow, it's tiny, it has a genuinely awful fixed-focus camera&amp;#8230; in short, if someone has a smartphone it's not likely to be much less capable than mine. And in fact because when you're poor that's likely to be the only computing device you've got (or because a friend who owed you money "paid" you with an iPhone, or whatever) you probably put a little &lt;i&gt;more&lt;/i&gt; money into yours than I did. So the working poor are generally covered.&lt;/p&gt;

&lt;p&gt;That still doesn't reach the older demographic, who are unlikely to be able to deal with the 3.5" screen. There's not much room for simplifying things for complete newbies there, after all. This is a problem because in that perfect world I'd like Grandma to be able to 
scan her paper recipe and OCR it in. That isn't going to happen when the camera on my phone (which proved completely unable to use bar-code recognition on the meal planner apps I played with), and getting Grandma something like a Pi-based device she can plug into her TV 
starts to get less affordable when you have to add a scanner or camera.&lt;/p&gt;

&lt;p&gt;Assuming we get everyone on board with functioning devices, then what? We've been noodling around with the idea of a food co-op already, so that's our new-concept local store. The grocery business is a cutthroat one, but we have a local grocery owner who's interested in either cooperating with us or maybe in launching his own store (which would be good; co-op stores are a great community-builder but we don't have anyone with experience doing it, and would have to take the time to "capacity-build" to get a co-op team, or put it on our own overloaded board.&lt;/p&gt;

&lt;p&gt;I also haven't even touched on the financial aspect - a lot of people in poverty are "underbanked," which means our delivery driver is going to be picking up cash. Delano is not a high-crime neighborhood (in fact, our neighborhood association is struggling because attendance is pretty much linked with perception of crime, and doggone it our community police officer won't even let me stage a &lt;i&gt;fake&lt;/i&gt; crime wave), but that's still asking for trouble. Taking WIC or SNAP is pretty straightforward, except that when you're collecting all that nutrition data there &lt;i&gt;will&lt;/i&gt; be righteous types who insist on making it mandatory to report it to Big Brother.&lt;/p&gt;

&lt;p&gt;And there &lt;i&gt;is&lt;/i&gt; a certain Big-Brother-ish aspect to collecting everyone's information like that. That big-box store is going to be real interested in our data, and in using it to out-do our little local store. No doubt Amazon's already looking into doing a lot of this sort of thing - a friend of mine is a bookstore owner, so I already know it's not a good idea to be a small operator in a field Amazon wants to own. And there's the enormous tech-support nightmare of trying to get a whole neighborhood full of low-end, mismatched hardware working reliably enough for people, many of them technically semi-literate, to buy in to using the system - and it really takes a lot of buy-in to see some of the benefits start to kick in.&lt;/p&gt;

&lt;p&gt;And the Big Brother issue comes up when thinking about funding. The software could maybe be done on a shoestring; like I said in a previous post, I'd like to go back to the workforce but it's not necessary for the household. If we have to build a co-op, well, that's a problem but it's a solved one - it just takes a lot of fundraising and share-selling legwork. But getting equipment and more importantly network access into people's hands, without getting into strings-attached grants or other funding&amp;#8230; that's tougher. I still have a lot of thinking to do on that end of things.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a name="foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; Actually about the time this got public acceptance, the term is already falling out of fashion: Delano, for instance, doesn't have a problem of no food being available. The problem is that most food is of the processed, salt-laden convenience-food variety. Which is a whole 'nother problem, because that's what sells, not (just) what's cheapest/highest-margin. When you work multiple jobs, or don't own much cookware, or don't have a full kitchen, or do but some major appliances don't work, or you don't know how to cook from scratch, or you're a single-person household and it's just not worth cooking for yourself, or any combination of these&amp;#8230; sometimes cooking a normal meal is an unattainable luxury and so you're stuck with whatever easy-to-fix stuff you can afford. But for now, we'll just go with "food desert" and kind of try to address the other issues along the way.&lt;/p&gt;

&lt;p&gt;&lt;a name="foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; It's almost always Mom, even though Dad's probably around.&lt;/p&gt;

&lt;!-- content end --&gt;</content>
    <updated>2014-10-13T02:05:39Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/poverty-phones.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/poverty-phones.html" type="text/html"/>
    <title>Poverty phones</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">There was an interesting intersection of a bit of yesterday's post and a series of tweets when I got up this morning. I accidentally fell into this neighborhood: right after we got married ~raven got </div>
    </summary>
    <content type="html">&lt;!-- content begin --&gt;[% META title="Poverty phones" %]
&lt;h1&gt;Poverty phones&lt;/h1&gt;

&lt;p&gt;There was an interesting intersection of a bit of &lt;a href="why-its-1999.html"&gt;yesterday's post&lt;/a&gt; and a &lt;a href="https://storify.com/DelanoWichita/poverty-and-phones"&gt;series of tweets&lt;/a&gt; when I got up this morning.&lt;/p&gt;

&lt;h3&gt;Let me tell you about my empire.&lt;/h3&gt;

&lt;p&gt;I accidentally fell into this neighborhood: right after we got married &lt;a href="/~raven"&gt;~raven&lt;/a&gt; got laid off and decided to take his education benefit (good as long as he had recall rights) and get a CS degree. Our lease was up at our far-suburban duplex and we decided we needed a cheaper place to live so he didn't have to work while he was taking classes. Right about that time a former co-worker of mine wanted to buy a new place but her old house was underwater and her bank told her she could only get the loan if she found a tenant. A year or so of payments would bring it positive. So we moved into a wacky built-in-1914 house in a neighborhood I didn't yet know the name of. And we liked it so much that a year or two later we bought a "starter" house there, where we accidentally have stayed for almost twenty years now even though it's almost-comically below our means (our mortgage is somewhere under 5% of our annual income). But this place gets into your heart, and it kind of hurts to see some of the problems here.&lt;/p&gt;

&lt;p&gt;I linked to the Justice Map for its income levels, but let me do that again in case you missed it.&lt;/p&gt;

&lt;h3&gt;History&lt;/h3&gt;

&lt;p&gt;You can skip this, if you want, it just tells how we got where we are.&lt;/p&gt;

&lt;p&gt;Delano is what they call a First Suburb, or a first-ring neighborhood. We're just across the Arkansas&lt;a href="#foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; River from downtown Wichita, and take our name from a little town that was founded within a few months of Wichita. It was kind of 
an interesting situation: both towns were on the Chisholm Trail, that brief but powerful phenomenon that shaped a lot of the cities around here. Delano is on the west side of the river, the side the cattle were coming from. Wichita was on the east, the side of 
civilization. The herds would come up, cross the river, and get loaded on trains. The cowboys would get their pay, but if they wanted to come to the Wichita side they had to check their guns and behave themselves. Delano was only nine blocks, but all around it on the 
riverbank were generally-unregulated brothels and bars and all the sort of thing you associate with Old Dodge City. (Dodge City's turn came a few years later, when the rails crossed the river and loaded the cattle further west.)&lt;/p&gt;

&lt;p&gt;Almost immediately, the city fathers saw which way the wind was blowing - Wichita was growing &lt;i&gt;fast&lt;/i&gt; (its nickname, before the real estate bubble burst in 1878, was "New Chicago") and so the town of Delano became West Wichita. By 1880 it was annexed and was Wichita's "Fifth Ward" or "West Side." The west-of-the-river stigma persisted for the next century-and-a-half; the newspapers over the years are full of stories about West Side residents complaining about the toll bridge over the Ark, then the quality of streetcar service, and so forth. West Wichita today still has nice neighborhoods, but never &lt;i&gt;quite&lt;/i&gt; as nice as their east-side counterparts. Rivers are barriers; less so today, but the legacy is there.&lt;/p&gt;

&lt;p&gt;At any rate, the Fifth Ward was a blue-collar neighborhood that boomed in two waves, one following each World War. Wichita is an aviation town, and things took off (um, no pun intended) like crazy then. That built-in-1914 house I mentioned had a storage area cobbled 
together under the basement stairs, and the boards used to make it came from Stearman Aircraft crates, according to the stencils on them. But like every other First Suburb in every other American city, the neighborhood fell out of favor as everyone fled to the suburbs. 
They ran a highway through it so white-collar workers could zoom through (and later, over) it commuting between their McMansions and their downtown jobs.&lt;/p&gt;

&lt;p&gt;By the late 1980's, our downtown (Delano's, not Wichita's, though Wichita's had its own problems) looked like every other small-town downtown: a few low-rent storefronts and a whole lot of boarded up turn-of-the-century buildings. A few dedicated people - property owners, people interested in the history of the area - got together and convinced the City of Wichita to institute a revitalization plan, re-branding the neighborhood from the lame "River West" some consultant had tried to pin on it to "Delano." The City gave it a streetscape with wide sidewalks, angle parking, an iconic clock tower in a tiny roundabout, and today downtown Delano is at almost 100% occupancy with restaurants, boutique shopping, some anchor employers like INS, and so forth.&lt;p&gt;

&lt;p&gt; Success!&lt;/p&gt;

&lt;h3&gt;Where we are today&lt;/h3&gt;

&lt;p&gt;Mostly success. When most people hear "Delano" they think of our downtown - six blocks of streetscape. But Delano is almost two square miles, around 2400 houses, of pretty diverse residential area. My immediate neighbors' stories are repeated throughout the neighborhood..&lt;p&gt;

&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/080101459X" target="_blank"&gt;&lt;img src="http://phoenyx.net/images/taoneighboring.jpg" alt="The Art Of Neighboring" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I read this book awhile back and at the time I could name all eight neighbors. I can't right now, which is something I need to fix. This is who they were.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;One household is a retired couple who bought their house in the late 50's, raised a bunch of kids (in two bedrooms!) and still live there, though they hop in their RV and leave for a couple months every year these days.&lt;/li&gt;
&lt;li&gt;Another household is a rental (went to auction after the couple who had lived there "since the war," also raising a passel of kids, passed on). It's currently occupied by a man and his elderly mother, plus a rotating assortment of twenty-something nieces and nephews and their couch-surfing friends. The unheated, unplumbed shed out back is occupied, and at one point they had a tent in the back yard. The extended family has lived in the neighborhood for generations. When they moved in the man had a car, but it died and he can't afford to replace it so there's always a thicket of bikes next to their porch. He's a day laborer, I think.&lt;/li&gt;
&lt;li&gt;Another house has been empty for as long as I can remember. One of the other neighbors has the contact information for the owner, and occasionally calls to let them know squatters are living there, or a tree has fallen through the roof, or whatever. I have no idea what the story is there.&lt;/li&gt;
&lt;li&gt;Another house was bought by a young couple who thought they could remodel it (to flip or to live in, I don't know). I never met them, and they only got a little way into remodeling before it got foreclosed on. It also sat empty for quite awhile before it went to a HUD auction, and was bought by a Vietnamese family who finished the remodeling and moved in.&lt;/li&gt;
&lt;li&gt;Another household is a rental, a young Hispanic family. He's an apprentice electrician. They've lived in a few rental houses around Delano, preferring to stay long-term and garden when they can, but sometimes having to move when a landlord won't fix things or when neighbors become a problem.&lt;/li&gt;
&lt;li&gt;Another house, one of the tiniest on the block went through several changes of ownership after its long-term owners moved to assisted living. Finally, it was bought by a local investor who put serious work into it and gave it to his daughter as a graduation present.&lt;/li&gt;
&lt;li&gt;Another household is a young couple who bought it after the long-term owners went to assisted living. They put it on the market during the recession when construction stalled and there were no HVAC systems for him to install, but were too far underwater for it to sell. They managed to hang onto it, though.&lt;/li&gt;
&lt;li&gt;Another household is another retired couple. They've got serious health issues, and home health services and occasionally an ambulance visit now and then. There's a wheelchair ramp, and they have a basement and a second floor that they almost never visit, but they refuse to go into assisted living. They keep very much to themselves, so I only know these things through the grapevine.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;At least two houses on my street, fortunately at least a block away, have been meth labs. Others have been partitioned into apartments (one used to have "JUGGALOS OWN THIS HOUSE" spraypainted on the porch wall, which you could only see when the ice-cream truck wasn't parked in the grass). But most are just plain folks: older folks who've lived here for decades, young families starting out, new immigrants, hipsters, anybody who wants cheap housing in a fairly safe neighborhood. We're starting to see some gentrification as downtown Wichita revitalizes, but so far it's only nibbled at the riverfront edges.&lt;/p&gt;

&lt;h3&gt;The issues&lt;/h3&gt;

&lt;p&gt;The neighborhood used to have a grocery on every corner. The house we rented was across the street from a small Dillons (a chain now owned by Kroger) on the edge of the neighborhood, and little old ladies with granny carts would pass by our house (stopping to chat with our dog) on their way to and from. Dillons closed that store some years back, right after the last local grocery closed in 1995. The nearest grocery is now a half mile from one corner of the neighborhood&amp;#8230; the opposite corner from the poorest section, so about two miles for them.&lt;/p&gt;

&lt;p&gt;Until very recently, cutbacks in Transit meant we didn't have bus service between us and there either - and Transit had a rule (admittedly honored more in the breach) of no grocery carts, and no more than two bags. Presently we have two routes, but the City has linked keeping them with passage of a five-year sales tax (Kansas is one of seven states that has no exemption or rebate for sales tax on food, by the way), which is an ugly piece of blackmail for the people who can tell you exactly what those dollars will mean they can't buy on their next grocery trip. Even with the new routes, Wichita's transit is sorely lacking. Delano is slightly better off than modern suburbs in that we were initially built for a lot of foot traffic, but some of that has eroded. Wichita leaves sidewalk maintenance to property owners (albeit making it mandatory, at least when problems are reported). And we were built for no- or one-car households, so our residential streets are crowded with parked vehicles. And of course the foot traffic was assumed to be destined for a corner grocery or a transit route that no longer exists.&lt;/p&gt;

&lt;p&gt;As I mentioned yesterday, most households don't have always-on Internet. Many older people don't have smartphones &lt;i&gt;or&lt;/i&gt; computers, and many poor people might have computers but no reliable Internet connection. The recession has closed most public computer access; the nearest site within walking distance is the downtown Wichita library. Wichita has the lowest per-capita funding of libraries in Kansas, so needless to say they have neither the space for enough computers nor the budget to buy them if they did. Computer access is now critical for so many things we take for granted. If you qualify for public assistance, gotta register online (government cutbacks - websites are cheaper than clerks). Jobs, even blue-collar ones, are advertised and applied for online. Housing? Find it on craigslist. Registering your kids for school? Online, or a four-hour process in person. Need to track your kids' progress reports? Online.&lt;/p&gt;

&lt;h3&gt;Trying out the lifestyle&lt;/h3&gt;

&lt;p&gt;A couple years ago, I tried sourcing all my groceries within a mile of my house, and seeing where the lack was. It wasn't a completely scientific study - my pantry is well-stocked, we buy a side of beef for the freezer every few years, I have the free time to prepare 
meals from scratch, and I used my car instead of a bike or walking or transit. But it was still enlightening. Meat is either fresh and expensive, clearly aimed at the wealthier residents of Delano (we do have a stretch of beautiful huge old Victorians by the university) 
or at commuters stopping on the way home; or it's frozen and cheap and really iffy. We're fortunate enough to have just enough competition to avoid the $5 gallons of convenience-store milk and $2 shrink-wrapped bananas that some neighborhoods are limited to, but still it's clear that most people with the means are hopping in their car and driving further out to a conventional supermaket (whose sea of parking would never fit in Delano even if WalMart or Kroger deigned to look our way).&lt;/p&gt;

&lt;p&gt;A few years ago, a newly-transplanted-to-Wichita friend mocked my choice to drive to her shop two blocks from her house. I was able to defend my decision by pointing out I was en route to the post office, but in honesty, I would have driven there anyway. Such is the Wichita mindset - we're in the middle of the prairie so we're very spread-out, and car use is so often mandatory that we stop noticing the times it's not. I started walking everywhere I could. This spring, when the bus added two routes through Delano, I signal-boosted as much as I could, even &lt;a href="http://delanowichita.com/blog/2014/04/27/two-n00bs-on-a-bus/"&gt;livetweeting and blogging&lt;/a&gt; our first trip to introduce non-riders to it. My mom thinks I've gone crazy. And this spring, I bought a thrift-store bike and started decking it out with cargo baskets and whatnot. Circumstances&lt;a href="#foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; conspired to keep me from using it seriously for most of the summer, but not before I rode it down to a further route, put it on the front of the bus, and threw it in the back of the van to bring the van home from the mechanic's. (Ironically, the van was in after an incident where I drove in a flood to get to a public meeting about a bike path proposal&amp;#8230;.)&lt;/p&gt;

&lt;p&gt;My next experiment, as I've discussed on Twitter with @suchwinston (whose ~ escapes me at the moment), is I guess going to be dipping my toe in the technology gap. Turning off the tablet and the desktop and deleting the home wifi password from my phone. I'm conveniently already the owner of a "free/cheap shitty smartphone" (as he put it), in that I hate phones (the actual phone part) and so used an Asus Transformer as my mobile device of choice, and only reluctantly upgraded my seven-year-old Tracfone to a smartphone: a $50 ZTE Valet, with a fixed-focus camera, 3.5" 320x480 screen, and not-real-fast processor. ~raven reacts in horror every time he has to use it, because he's used to a work-provided 4G monster with unlimited data, but when it's all you know and it's only the device-of-last-resort, it's not bad. I'm kind of fired up about writing some Perl code right now, so it's probably not the week to do it (or maybe I'll unplug the network cable from the desktop and partition my coding from the experiment), but real soon now I'll see what it's like to live with just that tiny screen as my window into the wired world.&lt;/p&gt;

&lt;p&gt;Some of this I do for empathy-developing reasons, but some of it is for problem-solving. It's hard to ask someone in this situation what will help them. (The answer is always "money," and while it's not wrong it's also not helpful since I'm not a Koch sibling.) I can't bring back jobs that no longer exist, or magically upgrade laborers and machinists into Teh Creative Class, but I can do what I can to make life less time-consuming and a little less expensive and maybe give some people just a little bit of an edge in breaking out of a bad situation.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a name="foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; Pronounced Ar-KAN-zus, not AR-kin-saw. The pronunciation changes when it crosses the state boundary.&lt;/p&gt;

&lt;p&gt;&lt;a name="foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; A heart scare. Turned out to be something else (and trivial) entirely, but in the meantime I got to learn via pulmonary tests and a heart cath that hey, my heart and lungs are actually in better shape than my age and nerdy lifestyle would predict. They'd be even better if I hadn't unnecessarily missed out on three months of Y workouts and bike riding and walking, dangit.&lt;/p&gt;
&lt;!-- content end --&gt;</content>
    <updated>2014-10-12T12:29:08Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/why-its-1999.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/why-its-1999.html" type="text/html"/>
    <title>Oh, that's why I'm partying like it's 1999</title>
    <summary type="text">I had a small epiphany. So now I&amp;#39;m &amp;quot;unemployed&amp;quot; (see that * again) and trying to decide: do I dust off the r&amp;eacute;sum&amp;eacute; and jump back in the corporate game? I could go the freelance route in a less desultor</summary>
    <content type="html">&lt;!-- content begin --&gt;[% META title="Why it's 1999" %]
&lt;h1&gt;Oh, that's why I'm partying like it's 1999&lt;/h1&gt;

&lt;p&gt;I had a small epiphany. I've mentioned before that in many ways tilde is nostalgic, and in other ways it isn't. And then I realized: I walked away from the corporate world on June 16, 2000, having taken an airline and a bank through Y2K and staving off TEOTWAWKI, had 
a baby (the following week). And I became a stay-at-home mom. A nerdy stay-at-home mom, to be sure, but still. I did contract programming here and there, and of course I was pretty sure I was finally going to complete the gamehawk software for The Phoenyx, but for all 
intents and purposes I wasn't in the rat race anymore.&lt;a href="#foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; But if you did the math there, you'll notice that that then-baby is going into high school this year. And after some pretty heavy involvement in his elementary school, and a 
combination of brick-and-mortar, home- and e-schooling through middle school, I'm now at loose ends while he goes off to regular full-time school.&lt;/p&gt;

&lt;h3&gt;Picking up where I left off&lt;/h3&gt;

&lt;p&gt;So now I'm &amp;quot;unemployed&amp;quot; (see that &lt;a href="#foot1"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; again) and trying to decide: do I dust off the r&amp;eacute;sum&amp;eacute; and jump back in the corporate game? I like to think I've kept my hand in enough, and in any event my shtick has 
always been archaic or obscure languages anyway (which was great during Y2K frenzy - old COBOL code? No problem. RPG-III? Business Basic? Alpha Five? I've done a lot of crazy coding). Last contract job was rewriting a POS&lt;a href="#foot2"&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/a&gt; into Delphi, 
which was enough like the Visual Basic I used circa 1993 that I could jump right in&amp;#8230; and when the company sold partway through the project and the new owners wanted it redone in C#, well, I can shift a manual transmission without the clutch if I have to. Problem 
is, if I go that road I need to find a company that can handle someone who's had fifteen years to shed her corporate-BS filters. That's one skillset I haven't kept polished.&lt;/p&gt;

&lt;p&gt;I could go the freelance route in a less desultory fashion. That involves being a bit of a salesperson, which some of my interim experiences would help with. I've learned to network, which is one thing that is &lt;b&gt;not&lt;/b&gt; exactly as it was fifteen years ago. It also involves a hopefully-regular change of scenery, which I sort of like. It's maybe less stability than I'd like if I'm going to become the primary breadwinner, which would be nice someday. (My husband ~raven is a sysadmin, but maybe he'd like his fifteen-year sabbatical to his own crazy things.)&lt;/p&gt;

&lt;p&gt;Or&amp;#8230; I could bypass freelancing and just write my own killer app. I have a couple of them rattling around; the software that backed The Phoenyx is still almost-rewritten and even in fifteen years &lt;em&gt;still&lt;/em&gt; nobody's filled that particular niche well. Or I 
could figure out the solution to the grocery problem in my Empire (no grocery store, an aging and/or &lt;a href="http://www.justicemap.org/?id=397" target="_blank"&gt;low-income&lt;/a&gt; population) but it's hard to fix things with software when you have very limited hardware. Only 
around 40% of households have any networked computer or phone with data plan - we've kicked around some thoughts around mesh networking and Pi's, but haven't had any idea breakthroughs.&lt;/p&gt;

&lt;p&gt;Even if I go with one of the first two options, I'll be doing the last two as some kind of open-source hobby thing, because &lt;a href="http://relvokcor.xyz/~silver/blog/sincerity.html"&gt;sincerity.&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a name="foot1"&gt;* Not that I wasn't even busier, having become the &lt;/a&gt;&lt;a href="http://en.wikipedia.org/wiki/Emperor_Norton" target="_blank"&gt;Empress&lt;/a&gt; of &lt;a href="http://en.wikipedia.org/wiki/Delano,_Wichita,_Kansas" target="_blank"&gt;Delano&lt;/a&gt; and building a 
hyperlocal news site with a following in excess of the population of the area it covered. But none of that was paying work, or very (often) technical.&lt;/p&gt;

&lt;p&gt;&lt;a name="foot2"&gt;* It was both kinds.&lt;/a&gt;&lt;/p&gt;
&lt;!-- content end --&gt;</content>
    <updated>2014-10-09T03:07:53Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/the-club.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/the-club.html" type="text/html"/>
    <title>The club</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">One of my Facebook followers* made the inevitable joke about being glad he missed the relvokcor.xyz open admission period because "I'd never join a club that would have me as a member." I have two "socia</div>
    </summary>
    <content type="html">&lt;!-- content begin --&gt;[% META title="The club" %]
&lt;h1&gt;The club&lt;/h1&gt;

&lt;p&gt;One of my Facebook followers&lt;a href="#foot1"&gt;*&lt;/a&gt; made the inevitable joke about being glad he missed the relvokcor.xyz open admission period because &amp;quot;I'd never join a club that would have me as a member.&amp;quot; I haw-haw'd and we moved on.&lt;/p&gt;

&lt;p&gt;I have two &amp;quot;social&amp;quot; Twitter accounts... one for the local Wichita scene, and one for the nerd scene - roleplaying, tech, et cetera. The first one's definitely my default (in fact, you'll see me reply to a lot of tilde tweets with it because I always forget to change the default when I'm replying from a list column in Tweetdeck). The second, well, I've been adding a lot of tildenizens to lately.&lt;/p&gt;

&lt;p&gt;I'm picky about who I add, though, because I'm definitely a no-drama person. Following ~heather/@Heather_R's tildeclub list, I see about a million times more drama than I've ever known existed. Some of it's in-jokey but Poe's Law, y'know? So I've been looking carefully at everyone's bio and overall twitterstream before I follow them directly.&lt;/p&gt;

&lt;p&gt;And some of those bios... man, these are people with their own Wikipedia entries and whose companies, usually of the &amp;quot;successful web startup&amp;quot; flavor, have their own Wikipedia entries.&lt;/p&gt;

&lt;p&gt;BRB, gotta go raise some venture capital so I can fit in here.&lt;/p&gt;

&lt;p&gt;(Okay, really I'll just try to stay &lt;a href="sincerity.html"&gt;sincere.&lt;/a&gt;)&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="foot1"&gt;* I know, I know. But I run a neighborhood full of elderly people, and I need to communicate with them.&lt;/a&gt;&lt;/p&gt;

&lt;!-- content end --&gt;</content>
    <updated>2014-10-08T20:25:59Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/lynx.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/lynx.html" type="text/html"/>
    <title>Lynx</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">So yesterday Maciej Cegłowski (@Pinboard) was mocking what we eventually started calling scrollerskate websites, and I replied with a Lynx screenshot to one of them and the comment "Looks fine to me."</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin -->[% META title="Lynx" %]
<h1>Lynx</h1>

<p>So yesterday Maciej Cegłowski (@Pinboard) was mocking what we eventually started calling scrollerskate websites, and I replied with a Lynx screenshot to one of them and the comment "Looks fine to me."</p>

<img src="https://pbs.twimg.com/media/BzXkiJsCUAAXJKg.png" alt="Screenshot of Kano.me in Lynx"/>

<p>It's gotten more favorites and retweets than probably any other tweet I've made, even others that Maciej has retweeted. I'm not sure how I feel about that.</p>

<p>I used Lynx way, way past the time when I had a functioning graphical browser. In part because I'm stubborn and slightly hipsterish, but in large part because it's really fast. No hassling with waiting for overdone graphics to load - overdone graphics have always, always been a thing, even when they were tiny little animated gifs - or for Javascripts to break, or for an ivory-tower web designer's layout to fail because your font wraps where theirs didn't.</p>

<p>I got away from using it, I guess, when everything and its brother was in a frame, which meant searching through (generally unlabeled) links in an Easter-egg hunt for the content. I've been firing it up more and more often lately, because the problems that kept me on 
it for so long haven't really gotten any better. There's probably a nice aphorism to be made about how "content" (except not the meat, but the decoration) expands to fill or exceed available bandwidth.</p>

<p>Lynx is pretty self-explanatory. You type "lynx" and then the web address you want to go to. If you're like me, you hit the [O]ptions and turn on link numbering (it's under Keypad Mode, which sort of makes sense but isn't intuitive). Then you can just type link 
numbers to jump to them. It clutters up the screen a little, but it saves a whole bunch of arrowing around. You can, if I remember right, set Lynx up to accept mouse clicks, but as with nano I always found that to be a weird cognitive mismatch.</p>

<h3>On mice</h3>

<p>Speaking of clinging to the old ways, I do the same thing with mice. Mice are wonderful, wonderful things, except that I only have one right hand and it's busy on the keyboard. So I've always been funny about using keyboard shortcuts instead of the mouse.</p>

<p>Funny story: I once had to ship a computer to Guam. Shipping was crazy expensive (even though we were a cargo airline who shipped stuff to/from Guam... just none of it came from/to Wichita) so I wanted to be really sure I shipped everything the first time.</p>

<p>The computer came from our supplier, and I happened to be moving to a new office at the time. So I took the boxes straight to the still-empty room, unpacked them all there, set the computer out on the floor and installed Windows 3.1 (95 would have been out, but we 
were on 3.1 for compatibility). When I had the OS and whatnot set up, I packed up everything in the room and shipped it out. And then I got a phone call from Guam. Um, where was the mouse? Yep, I had installed everything with keyboard shortcuts, and never even noticed 
its absence. I taught a pilot how to use keyboard shortcuts, and I like to think I created an acolyte, but in practice I think he went out and paid the extortionate island price for a mouse as soon as possible.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-07T12:29:19Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/sincerity.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/sincerity.html" type="text/html"/>
    <title>Sincerity</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">A number of people are talking about, agonizing over, and being ashamed by decisions about how "period" to make their pages here. I'm being as basic as possible, not out of any perception of a standar</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin -->[% META title="Sincerity" %]
<h1>Sincerity</h1>

<p>A number of people are talking about, agonizing over, and being ashamed by decisions about how "period" to make their pages here. Guess I'll weigh in.</p>

<a href="http://www.gocomics.com/peanuts/1959/10/29"><img src="http://phoenyx.net/images/pe591029.gif" alt="Peanuts 10/29/1959"/></a>

<p>I'm being as basic as possible, not out of any perception of a standard of "purity," but simply because that best puts me in the nostalgic mindset. I've got a couple projects I'm going to pick up again, and I don't want to get off on the same rabbit-trails that left them bogged down last time.</p>

<p>So IMO use whatever tools you want, as long as your relvokcor.xyz page is sincere.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-06T12:29:33Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/keeping-it-simple.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/keeping-it-simple.html" type="text/html"/>
    <title>Keeping it simple.</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">So I wrote a nifty little Perl script that would take my text files and build the data file to feed it to ttree so I would have a nice archival setup categorized by month and year and so forth, build </div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin -->[% META title="Keeping it simple" %]
<h1>Keeping it simple.</h1>

<p>So I wrote a nifty little Perl script that would take my text files and build the data file to feed it to ttree so I would have a nice archival setup categorized by month and year and so forth, build at Atom file, etc.
</p><p>
And then I deleted it. Because that was overthinking it for relvokcor.xyz - I mean, if I want all that I can just go ahead and install a static generator on Wordpress and scp *that* here.
</p><p>
Not that there's anything wrong with a nice structured blog. Just, if I'm going to reinvent a wheel I'm going to reinvent the web forum.
</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-05T19:39:58Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/October_04.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/October_04.html" type="text/html"/>
    <title>Ripple effects</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Ripple effects _________ 

 --------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     || The shortcomings of wall led me to get</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin -->[% META title="October 4" %]
<h1>Ripple effects</h1>
<pre>
 _________ 
&lt; TinyMOO &gt;
 --------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
</pre>

<p>The shortcomings of wall led me to get around to installing a MOO on my own Unix box. I've messed with LambdaMOO a little, so now I'm trying out TinyMOO. I'm kind of curious if I can get the kids from the Minecraft server we run interested in it, which led me to realize it would probably be My Little Pony themed... which led me to google a little, and learn that there are at least three very active MLP-themed MU*'s out there already.</p>

<p>One of which is R-rated.</p>

<p>Huh. Kids these days.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-04T19:40:51Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/October_03.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/October_03.html" type="text/html"/>
    <title>Recapitulating phylogeny</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Recapitulating phylogeny Today I kluged together a perl-based static blog^W web diary. tilde homesilver home Random page info</div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin -->[% META title = "October 3" %]

<h1>Recapitulating phylogeny</h1>

<p>Today I kluged together a perl-based static blog^W web diary.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-03T19:40:34Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
  <entry>
    <id>http://relvokcor.xyz/~silver/blog/October_02.html</id>
    <link rel="alternate" href="http://relvokcor.xyz/~silver/blog/October_02.html" type="text/html"/>
    <title>relvokcor.xyz ate my day</title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">relvokcor.xyz ate my day Not directly. But I spent all my free time yesterday rereading old tilde-phoenyx chat lots and contemplating the resurrection of The Old Phoenyx. And then I installed a TinyMUSH </div>
    </summary>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><!-- content begin -->[% META title = "October 2" %]
<h1>relvokcor.xyz ate my day</h1>

<p>Not directly. But I spent all my free time yesterday rereading old tilde-phoenyx chat lots and contemplating the resurrection of The Old Phoenyx. And then I installed a TinyMUSH (on my desktop machine) and debated about the potential for using it as a chat server.</p>
<!-- content end --></div>
    </content>
    <updated>2014-10-02T19:40:17Z</updated>
    <author>
      <name>silver@phoenyx.net (Karen Cravens)</name>
    </author>
  </entry>
</feed>
