Sign in

Vulnerability

I could say I haven’t been blogging because I was hoping to move to the new leapf app before sharing something new, and that would be true, but not the whole truth. You can see in my archive that I’ve posted less often as the years go by. While I could claim that that’s because I started working and not having the time for so much writing and sharing, that’s not the whole truth either.

This talk revealed something to me:

Originally this blog was going to discuss organizing principles, so here I could describe how I suddenly see vulnerability as an organizing principle. Brown calls out the certainty of your pet rigid religious dogma as an effect, but popular libertarianism would seem just as well a denial of vulnerability. To be vulnerable a minute, though, I should care about the personal first.

The chord Brown’s talk strikes is that I write less because I’m afraid of sharing as much as I used to. The stakes have changed, and I feel more vulnerable out here on the internet than I did. It’s tempting to say I wrote so much about so little, so where was the risk, but that isn’t so. The posts where I write about the aftermath of 9/11 from my perspective as an otherwise uninvolved American seem so cavalier that I cringe. Why did I have feelings and opinions about things? Did I not know the risk for criticism I put myself at?

While the things I’m ashamed of probably don’t compare to anyone else’s real truth, I still fear harsh judgment. It seems like a lack of trust, and I suppose it is. Maybe I didn’t care then, some kid at school from nowhere with nothing to risk. Over several years, connecting with new people grew me a new shell. Having to represent other people I cared about through a company I cared about to the outside world gave me something to protect.

Now, I have only my own reputation, such as it is, to trade on. Now, I have to trust it to a society in thrall to troll culture. I don’t trust that I won’t be the target of a relative standard where my heart is deviant but someone equivalent is loved, by some invisible immutable reasoning.

Besides squishy secrets, I’ve spent this whole lost year feeling vulnerable for not having a job. (We call it a livelihood.) I mostly filled the hole with the looser material of contract work, picked up through colleagues, but it doesn’t bind. It’s mostly covered my rent, though it’s the speculative personal projects keeping me busy, so I feel like I’m doing it wrong if it’s supposed to be a way to live. There’s no equity (so to speak) in it. It’s a shifting foundation I can’t depend on for anything.

I don’t mean to think a job is necessary, or the solution. If I invested too socially in my job (building up those connections, unexposed to the real world of mutual skin-in-the-game vulnerability), well, I deserve to be punished for lack of foresight, and to fail into a more diversified situation. Just from this year’s blown opportunities I know for damn sure you don’t cope with that powerlessness by getting a job at someone else’s company – but maybe the best way out is through.

Ultimately I think (or at least hope) that sense of vulnerability is what I was trying to identify writing about the pleasure of being lied to. That memory I describe there is really about the temptation to be open, and that desire and fear and possibility is my emotional definition of vulnerability. If its shape is completely foreign to the structure of my life today, perhaps it’s my life that needs to change.

War cartographer

Cool that Adobe is doing a whole suite of Touch Apps, including Kuler and Ideas. Ideas always seemed like a cool minimal drawing app. This weekend I reinstalled it for something I needed to draw:

partial map of the Legend of Zelda overworld

It took a few tries to figure out how to make the screens a consistent size. The easiest way to move around is to drag with two fingers, but if you pinch or stretch while you do, the zoom factor changes too. In the end, after drawing a few screens that were small enough to fit the whole map into the Ideas canvas, I picked one screen to standardize on. Whenever I needed to stamp out a new screen I would go to the standard room, zoom until it fit just right in the frame (the whole iPod screen), then use the Move tool to pan to the new location without affecting the zoom.

Turns out it's convenient that I just reinstalled it, since as part of Touch Apps it's now $6. (Maybe it's worth it.)

September

Thirty days hath September
April, Rain, and Rhododendron
All the rest have thirty-some
'Cept February-upon-avon
It lost a few, we're not sure how
But it was pretty sad
When we found out we made a cake to cheer it up.

A dive into the past

Solatorobo is the testament of an era that’s slowly fading. Its afterimage leaves the player longing for faraway afternoons sitting in front of consoles that didn’t claim to oust all other forms of entertainment, losing their identity in the process.

Great article on the new Solatorobo: Red the Hunter for Tiny Cartridge by Francesco Dagostino.

Inbox inbox zero

I joked the other day about trying to get to inbox inbox zero where I have zero inboxes. I've never had a very high personal email volume, so it's been pretty easy to manage email once I push different kinds of content out of email and into other things. That can mean the blinking red numbers have just moved to another inbox, though.

What other inboxes do I worry about now?

  • Leapfrog. Most of my web inboxes are consolidated into Leapfrog (I don't read the TypePad, Tumblr, or Flickr dashboards at least), but I still read Twitter and MLKSHK separately, since they have features that Leapfrog doesn't expose. I was mulling if Leapfrog should start to filter, so you don't have to see everything, but that would be a big departure from the current functionality so I don't know.
  • Stellar. Cool stuff shows up here. Leapfrog should probably consume the flow feed, but Stellar doesn't provide an API for identifying the viewer so it'd need a custom account-adding UI. I'd especially want to use this data if Leapfrog were to filter, but the feed doesn't include any information on who starred the item into your flow, which it would need. (The favorites data is too large a set to collect myself just to filter with, since to filter for me I would have to fetch the favorites of each person I follow.)
  • Google Reader. I still read web feeds separately from Leapfrog (though I subscribe to TypePad and Tumblr blogs through those accounts so they go there instead). A lot of these are headlines to skim, but I do read some articles (and some end up in Instapaper). This skimstuff would definitely be Sparks if I used Fever. Reader also holds some web comics and some podcasts.
  • Instapaper. Oh geez there is so much instapaper.
  • VHX. VHX is an instapaper of web video, so things get stuck there too when I don't have time now, and they accrete in much the same way.
  • Podcasts. This is what I've been working most to shave down lately. After hovering at 70–100 episodes usually, I cut out everything past-me thought sounded great and now-me never wanted, so right now I have three unlistened podcast episodes in iTunes. In practice podcasts happen a little through Google Reader: there are some podcasts I listen to only occasionally, so I put them in Google Reader, then add any particularly interesting episodes to Huffduffer. Episodes I see linked on the web also go there, so I don't have to add the feed to iTunes and feel obligated later.
  • Books. Besides aspirational additions to Goodreads, I did somehow end up with a few actual ebooks I already have that I haven't even started on. So that's something else to spend time on.
  • Netflix. I'm down to 60-ish items in the queue, but a few of them are TV shows that would properly count for more. I should probably take the same severe knife to the queue as I used on podcasts and toss everything that sounds good but just doesn't matter. (Hulu might deserve a mention here but I'm not subscribed to any current shows so it's at least on hiatus.)
  • Video games. As much as I like certain aspects of games, there is so little time to play them.

It's hard to tell how to eliminate some of these without radical changes. Do I decide I'm not a Netflix sort of person, so I can read more instead? Can I subsume some of my behavior into Leapfrog with clever changes?

As I found with podcasts, the only proven strategy is to be more discriminating with how I spend time, so that I can spend it how I like. That will always be a challenge, by definition: when the whole point of an inbox is to find what's good, searching only what you know in advance gets you nothing.

Metro, the system ribbon

It's funny that people are setting up Windows 8's Metro interface as diametrically opposed to the ribbon (or at least the ribbonization of Explorer) when isn't it the same person at the top responsible for both?

For that matter, the Metro “Start” UI (not sure what they call it) is more flexible with its layout than the Start menu (or a toolbar). Exposing the active content of applications follows Office 2007's Results-Oriented Design, like galleries are active previews of formatting options. The Office Ribbon solves a different problem – the proliferation of features in Office apps – but is a manifestation of the same spirit as Metro.

Is the Metro interface not a system ribbon?

Tests

Andre writes on his culture of testing:

There’s this line religious people use when they encounter atheists: “Without religion, where do you get your morals from?” Which is hilarious because I responded the other day to someone, “Without tests, where do you get your confidence in the code from?” and then realized what I was sounding like and laughed and laughed—but really I don’t get where the confidence comes from.

My MLKSHK experience told me it's easy to write tests when you're in this habit, which I'm all too often not on my small projects. The price of confidence is constant vigilance.

Treehouses

Something about the pictures of treehouses Amber posted a few times over the history of MLKSHK was interesting enough that I started a whole shake for them. Between those and other stuff that feels similar, I'd guess my interest is from some combination of:

  • plain biophilia
  • depiction of a technology for living (another part of Anathem's world building I love)
  • exploration of boundaries, since some of the examples aren't even about nature spaces

I was going to use what I guess was a picture of this trailer hotel as an example of the last, but I don't get the same feeling from it that I remember. The friggebod evokes that better, and I loved similar projects that came up in the few issues of ReadyMade that I read.

If this interest is a psychic hunger, telling me what nutrients I need, then I guess it's about having that cave where I can figure things out, or apply myself. I often get the same vibe from pictures from Simple Desks (which I usually see by way of Minimal Mac). This one of Garrett Murray's, for example, is organized but a little lived in, with nice color but room to think. I only just got my stuff moved into this apartment I've had for seven months, and I'm not sure if or how to make it afford those uses (not only in various complaints I have about the apartment itself but I don't want to whine about that). Right now I still only feel like I can work in coffee shops (so far from ideal) or with the kind occasional loan of an office. I wish I had (or felt I had) enough control of my space to put together a cave so I might actually get some work done.

The treehouse seems more social than a cave, though, conceptually. All the virtual treehouses I've seen have certainly been social. I think I heard from Simon that in his circles treehouse is a real term of art for those private internet places where your clique gathers. At least, the idea resonated enough to inform the still-unclear project I want to do in that area. While it's easier to build such a place with real space metaphors (on MUDs or Second Life or what-have-you), even the ones that don't have space per se (IRC, web forums, etc) become places through the character of your friends and interactions there.

So really, what's a treehouse but a multiplayer cave?

Stillness

Skimming New Liberal Arts today this bit about stillness, from Andrew Fitzgerald's blurb on attention economics, jumped out at me:

And lastly, but most importantly—how do you turn it all off?  Massive parallel input of interesting information at hyper-speed is addictive—but your brain needs rest. Learning to be still brings not only the mental discipline necessary for proper focus, but also the opportunity for that rare insight or intuition beyond your day-to-day productivity. There are signals you need to hear that won’t come through your phone or email and it’s easy to deafen yourself with information overload.

Recently I've been trying to learn how to meditate. It seemed like something to try from things Dan Benjamin said about it on Back to Work, so I signed up on Health Month and ticked it in there and have been plugging away at it. I've always felt willing to ignore received wisdom (as bad as I am at that for things that count), so when everyone's gnashing about the surplus of information, stillness seems like a valuable skill to cultivate.

Information is an interesting word. This week I got my stuff finally moved into my apartment (and I have kind of a cold this week I'm trying to prevent), so I also started rereading Anathem last night instead of doing something useful. It uses that idea of stillness pretty well, if only from the idea of a clique of people crawling up inside a Clock of the Long Now with their creed of long-won rituals.

Another way it resonates is by the word play Stephenson uses in his world building – busting real words back down to their stem meanings so he can reuse them – which is why it reminds me of information. I love that word because its common meaning, as a sort of half-baked step between data and knowledge, is so far from its roots, which come out plain in Wordnik's first definition from the old-timey Century dictionary:

  1. Communication of form or element; infusion, as of an animating or actuating principle.

Information is really that thing what makes form in. When we take it, it can reform or deform us, or if it's a flood it might just hollow us out. I'm trying not to overextend this analogy, but stillness seems like a force in opposition to that, so I hope to nurture what little I can.

What we believe in

Posts about text editors are what you'd expect on a personal blog, but they aren't what I'd like to write about. I've long admired the idea of Patrick Rhone's “What we believe in” posts on Minimal Mac, and such a thing is pretty appropriate to the new version of Best Endtimes Ever.

In 2007 when I first wrote on Best Endtimes Ever, the idea was to follow rapid change in the world along several themes. I started with these general and (relatively) long posts:

At this point I'm not sure where I was going with most of them except space – maybe it's too much science fiction, but if/how we're going to move out of the gravity well is still an interest. I guess “The neoteny pattern” is about structures of control that appear as infantilization, and not only a little about figuring that carp out personally.

The theme I would tease out of “Lies” is about media, and since 2007 the world (well, my world) has only gotten more mediated. Tons of startups want to be the internet middleman between you and the things you care about, to squeeze some ROI out of their seed capital. Indie games have apparently blown up, so there are more little systems and twee universes to spend your free time exploring than ever.

The invisible force behind that mediation is also behind the foodonautic theme I touched on too: the idea of junk is about as big as externality, in my mind, as a corrosive force. In the same way junk food replaces real food to the detriment of our diets, sensational junk news supplants informational real news; extremist junk politics crowds out constructive real politics; and, especially insidious for the introvert who grows dependent on it, easy light junk socialization replaces the deeper social roots the vagaries of real life pull against.

Weaving these themes of destructive force into a constructive optimistic world view is my “what we believe in,” so I hope to keep writing about these little things.

BBEdit and Coda as TextMate replacements

Like most programmers who use a Mac and avoid doing real work, I've been examining alternatives to TextMate lately. The suddenness with which so many people have done so smells like a strange craze of (as alluded) made-up procrastination, rather than a real attempt at tool-sharpening. I can only confirm this for myself, and I can do so with the fact that the best replacement for TextMate I can find is still TextMate.

I tried several but some had immediate turn-offs, so the ones I really gave a good go were BBEdit 10 and Coda 1.9. Espresso seems good if you need an HTML editor, but I vastly more often am writing software that itself produces HTML, so it wasn't for me. (This is also a source of consternation with Coda.) Sublime Text and Kod I discounted for the UNIXish complexity of their configuration – Kod especially, with its complete opacity for where or how to do so. Smultron sounded good, but it seems superseded by Fraise, and Fraise wouldn't even open the project I was working on.

BBEdit and Coda each have idiosyncrasies that disincline me to use them. At best these are things to consider then get over, if the rest of the tool makes up for them, but in a program that's going to become essentially my workplace, they are the little itches that cause the only delusion bigger than “switching text editors might be useful”: that I could possibly spare the time and care to do it better myself.

BBEdit

BBEdit has a habit of becoming the frontmost background application whenever files in a project it has open are saved. I mostly noticed this when reloading a page in the browser caused new .pyc files to be written, but it was especially obvious for the little while I was using Coda in combination with BBEdit.

There are generally a lot of little frobs in BBEdit that I'm sure are present and loved and used in common workflows, but to someone new who just wants everything out of the way so I can work, they seem complicated and unnecessary. I always minimized the “Currently Open Documents” and “Recent Documents” boxes in the project files list during my trial. Instead the minimized panes stuck around like warts on the regular spatially navigable files list, much like the line endings selector, and the word count indicator, and the white diamond file-is-as-saved-but-there's-redo-history indicator.

(In comparison to tabs – rarely a party either – I wonder now if I should have tried using the “Currently Open Documents” list more. Minimizing those panes also seemed to cause the pane to be drawn with the wrong scroll offset with a long project revealed, such that a click would reveal oops, you actually clicked on this completely unrelated file, ha ha so funny!)

Metaphorically, this same problem afflicts BBEdit's “Show Invisibles” mode. In showing a full contrast diamond sigil for each space character, BBEdit's invisibles mode says, “HELLO DID YOU WANT INVISIBLES HERE ARE THE INVISIBLES YOU ASKED FOR HERE HERE THEY ARE.” It's very clear, but in comparison TextMate's “Show Invisibles” mode is x-ray vision. It provides the same information so unobtrusively that when I went to turn it on to write this comparison, TextMate reminded me that it was in fact already on, because I leave it on all the time.

I don't want to blame this on BBEdit's age per se, but rather it seems that it's grown to afford a multitude of workflows through these various features. It's a hard adjustment from TextMate's flexibility through extensibility. BBEdit is a great workbench that has been kitted out in a certain way, while TextMate is just a workbench, and you can trick it out or keep it clean at your own discretion.

Coda

In the same way, Coda's downsides for me come from its core thesis as an integrated tool for making web sites. As I mentioned for Espresso, my projects are often software that itself creates web pages, so some of its features maladapt it for my projects. This starts from the ill fit of my projects to Coda's idea of sites: not all of them have remote locations they need pushed to (the closest they have is source control), or a “local URL” (without running the software as a server). When creating a site for a new project, almost none of the settings in the site configuration screen were appropriate.

Another particular case is that Coda doesn't ignore the .pyc files in my Python projects, instead displaying them in the file tree. It doesn't make sense to hide files in either a web page editor or in a file transfer client, of course, so I understand why it should be this way, but that's not the behavior I want in my project editor.

For its features that do map to things I still need, Coda sometimes uses a technology I'm not using. It provides some amount of source control integration, but I'm not sure what since it only works with Subversion. For its Transmit heritage it might only support FTP, but I deploy my projects with rsync, or sometimes just with git. I wouldn't generally recommend frameworkizing a tool, but I hope Coda 2 makes these workflow parts swappable for other technologies.

When this discussion first came up in my Twitter circle, I vaguely handwaved that I quit Coda for something weird it did with spaces. This time the only problem I saw with spacing was that when you indent a block, Coda also indents the blank lines, rather than avoid the trailing whitespace. Not sure if I imagined the problem I had before or what. The actual editing in Coda is pretty nice.

In conclusion

Both BBEdit and Coda are great editors and they well deserve their fans. I could do the work I do with a text editor with either of them. However, neither of them offer a fit quite as good as TextMate. Perhaps this is because my workflow has grown around how TextMate works, but it feels like a simple system that both BBEdit and Coda support, but decorate. In both cases, I would be buying a lot more software than I would use. I'm eager to see what might be in Coda 2, but for now I may as well stick with the editor I already bought.

On archives

Speaking of blog junk, I did an archives page. I still may do another visualization of words per time unit, but d3 already came with an example of building a calendar like this, so I hooked it up to post data to have something easy.

snapshot of the archive page

It really helps to see how when I used Radio UserLand and (early on) LiveJournal, it was typical to make a bunch of small posts. The shortness of the posts would be clearer if it showed word count instead of post count – I bet word counts are more even over time.

Blogging really used to be a lot like Twitter, but over time posts became more like news articles, with their own titles and purpose and editing. I'm not sure it's worth writing microposts in the same way, but looking back at that history, at least I don't feel I have to explicate the hell out of everything so much.

More blog junk

I'm still trying to get back down my stack of projects, but this blog app is sticking on top for now. I added a few basic keyboard shortcuts to the editor, including one I think is a little clever for making links. It hovers a little pop-out field where you can type the URL when you mouse over a link in the editor.

link editor

I should do something similar for images. I still had to use the DOM editor to put that image in.

A team constitution

Buzz Andersen collected a couple explanations for why formalizing a development practice into software can harm a team.

In the context of startups, project management tools will always suck. If you are using a PM tool then you are not designing, coding, or communicating with customers. You are not even communicating with your team. ...

Getting e-mails that say “UserName has assigned you task: XXXXXX” sucks. Developers and designers aren’t fucking robots.

Last time project management came up in a conversation, I suggested that the point of a retrospective is to maintain the team's charter. Maybe I had Independence Day on my mind, but I liked the idea of that charter being the literal constitution of a project. (After all, it's that which constitutes.) A new team is chartered not only to build a particular product, but to pick how they're going to do that, with practices like “we work to a weekly rhythm” and “we depend on automated tests and have Jenkins run them for us.” Even for a simpatico team that leaves these rules unwritten, they exist, even if they're the software process analogues of the null hypothesis.

The retrospective, then, is the constitutional convention where the team can review its charter to agree what still matters and fix what's broken. While those teams that are synchronized enough can intuitively change the team's heart as one, the last thing you can afford is to think you're one merry band until a surprise schism has you relitigate the basis of the project. A regular time and place to discuss changes also seemed to help the last team I was on work together as a large, diverse team on one project.

I happened to pick through The Best Software Writing I again yesterday and found Clay Shirky put it the same way, referring to “constitutional crises” like the rescission of LambdaMOO's “new direction.”

And the worst crisis is the first crisis, because it's not just “We need to have some rules.” It's also “We need to have some rules for making some rules.” And this is what we see over and over again in large and long-lived social software systems. Constitutions are a necessary component of large, long-lived, heterogenous groups.

Whether your team is big enough or diverse enough to need to vocalize a charter is up to you to discover.

Maybe it's my inexperience but of the particular practices Andersen mentions, I still find the idea of points helpful. From the nature of what we do, I don't think I'll ever be able to accurately and repeatedly predict how long it will take to do some future work—so when I need to be able to predict, it makes as much sense as anything else to use a running average of past performance. (If the terminology is the problem, yeah, I hate that these things use their own weird vocabulary, but in the case of points I'll take it over “hours per hour.”)

I think this idea of a team governing itself is the spirit behind a lot of the practices decried in the articles. (I know apologists for these practices always say this.) Too many of the methodological tools end up about the practice instead of the work—necessarily, as it's practice that can be captured in software, never the creative work that the software assists. That's not bad, that's just how tools work. Instead, the more that agile practice is about the self-governance of a team, the more I agree with it. Tools come and go, but ultimately the tree of creative liberty must be refreshed from time to time with the sweat of project patriots.

I'll Small-Letter-L your face, MySQL

I was going to post about my new unmentioned goof-off project, but I got sidetracked trying to reimport my Tumblr posts here, then took some restful goofing off all weekend. Somewhy my import script can't save my original post about space from the short-lived original concept for this blog, just because when I linked to his classic post about the space shuttle I spelled “Maciej Ceglowski” with the proper U+00142 Latin Small Letter L With Stroke.

_mysql_exceptions.Warning: Incorrect string value: '\xC5\x82owsk...' for column 'html' at row 1

Update: Oh, ugh, I just had to actually read the best answer to the top Stack Overflow question about it. Columns can have different character sets, hmm.

It thinks that's an invalid UTF-8 sequence (an “Incorrect string value”), even though I'm following all the appropriate directions for using UTF-8 in MySQL with Django. I had miscreated the databases in the first place, but I converted them (the database, the tables, and I added the default settings to the my.cnf) after the fact, which I thought should work. I'm using MySQL 5.1 so it's not an issue with utf8mb4 character encoding—plus it's only a two byte sequence anyway. I'm was using python-MySQLdb 1.2.3, but downgrading to the Ubuntu package (1.2.2-10build1) didn't help.

A lot of directions seem to think setting DEFAULT_CHARSET has anything to do with the database, weirdly, which I found zero real evidence in the Django code for. Oh, apparently I'd missed where they call this out in the documentation, too. I guess that shows the extent of try-anything handwaving this problem reduces us to.

Maybe that's a reason so many Django people are into Postgres, sigh.

Their own names

In this article on thank-you notes:

1. Greet the Giver

Dear Aunt Sally,

That's the easy part, but you'd be surprised how many people forget it. Dale Carnegie taught us people love to hear their own names

I'm ready to admit that I hate hearing my own name, and consequently try not to have to address people by theirs. If I tried to rationalize it, I would say it feels like an imposition for someone to have to address me (and embarrassing for me to thus indebt someone by addressing them). Maybe it's an allergy to formality: for the people I think of speaking to, it seems better that conversations are continuations of threads opened long ago, where protocol for opening and closing a dialogue is unnecessary. I guess probably not, as an address is in essence a verbal looking-at, and I feel the same discomfort looking at people I'm not in conversation with.

Setting up the future

Matt shares a nice sentiment about Jessamyn West's Setup interview, which I felt too.

I love that she didn’t say “a MacBook Air”.

Same for the end of Frank Chimero's Setup interview:

That’s the flaw of all of these things, in my mind: they encourage you to get things in, but aren’t optimized for revisiting it in a way that lacks linearity or classification. If you’re looking to make constellations of content, I think the way your collection is presented back to you matters. I guess what I’m asking for is a digital rendition of the commonplace book, and a serious rethinking of what advantages digital could provide in that context.

I've still thought it would be cool to build Matt's ebook, and there are lots of ways you can go in the same vein as all these. In a fit of weakness last week I started putting together an epub reader for the desktop, but I don't imagine it'll become quite anything like that.

hi

Still a lot of bugs to bug out, but seems like a fine time to call this home.

Coming soon

CIMG0005

Blog archive visualization

Speaking of visualization, I started looking into techniques for visualizing blog archives yesterday. While you can compress the month links into a table, something that presents some post-wise salience would be good.

The only thing I really found searching (your blog archives should never, ever, ever have “blog archive” in the HTML title, please) was this research paper (here's a PDF of the paper) describing a display the investigators implemented as a Windows application.

the blog archive visualization the from the paper

While this would translate okay into an interactive HTML5 archive view, surely there's something better/cleaner/more explicable. Anybody got any pointers?