I mentioned last week that I wanted to work on “better bookmarking” as my next coding project, basing my approach off of my own thoughts and recent Mozilla research. Now I want to examine what that project might be like. [more...]
I wrote a JavaScript utility that lets you create a rectangle on a web page by dragging your mouse cursor, and then toggles the state of all checkboxes under the cursor. If you’ve ever had to deal with forms that have lots and lots of checkboxes, you’ll know why I decided such a thing was necessary. [more...]
I switched to writing in reStructuredText in mid-2009, and to writing in Vim in early 2010. Since then I’ve made a lot of tweaks to improve editing efficiency, and eventually collected these in a Vim plugin (and a Python script). The following discussion of that plugin might be of interest to anyone concerned with writing efficiency and/or editor customization. [more...]
I use plain text formats for all of my writing, and you should at least consider doing the same.
By “plain text” I mean not only a text (as opposed to binary) file format, but also something that is plainly readable when simply listing the contents of the file—that is, a format you don’t necessarily need a specific tool to read. Such formats are more flexible, more robust, more malleable, and more future-proof than more complicated alternatives. [more...]
I’ve been experimenting with using terminal Vim[1] in a tmux environment recently. I like it as a programming setup, primarily because of the ease with which I can set up new workspaces[2] and switch between them—without, of course, having to move my hands off the keyboard. I did encounter some annoyances along the way, and my solutions for them are included below. [more...]
This afternoon, a conversation at work centered on the fact that it’s possible to “teach” text analysis software with a corpus of a user’s instant messages such that when presented with a new message, the software can identify which of the user’s contacts sent that message—without any other data, just the body of the message. Which is interesting, but I was more interested in whether or not the software could learn what the user’s responses to the individual contacts were like, and from that point learn to effectively feign being the user. Essentially, whether one could successfully train a bot to conduct IM conversations in your stead.
So I was quite intrigued to see this post from JWZ tonight discussion more or less that same idea, although apparently without some of the learning aspects. Apparently the implementation isn’t too good, but it’s definitely an interesting concept, and I wonder if we’ll eventually get to the point where bots (or “smart agents”) handle this kind of thing for some significant number of people.
Before, there were Orkut, Wave, and Buzz; now, there’s Google+, Google’s latest foray into social networking. I don’t have an account (if any of my Googly friends want to help me out there, I’d be happy to try it out), and most of my info comes from the intro, the announcement, and Stephen Levy’s piece. [more...]
Pentadactyl is an add-on for Firefox that allows for keyboard-focused interaction with the browser by providing Vim-like keybindings. If you’re at all interested in browsing with the keyboard instead of the mouse, you should try it out. [more...]
I’ve been struggling all week with a JavaScript issue that’s either caused or uncovered by Internet Explorer 9, and while this video has nothing to say on that front, it’s still fascinating to me:
I’m still trying to cut down on the number of books I have in my apartment. That still feels wrong, but the shift to ebooks is making it a little easier. Now I’m getting rid of books that aren’t big favorites of mine, weren’t given to me as gifts, and aren’t in the poorly-defined category of “classics I want to keep”.
Because I’m a pack rat and a data geek, I have a hard time getting rid of books if I haven’t recorded the metadata about them I want to record. Unfortunately, I’m not always diligent about noting that info as I read the books, so the majority of the books I wanted to give away or sell were books where I hadn’t done so—and I really didn’t want to go through them one by one.
I’ve mentioned pandoc once before, and it’s again proved rather useful. I’ve been looking for more ways to use it, as I love its core principle (although I naturally wish that it focused on reStructuredText rather than Markdown) of being a comprehensive text format converter. It might at one point be the answer for getting from reST to PDF—something that the current reST tools don’t help me with because I insist on using Unicode, and XeTeX isn’t yet supported. But today pandoc helped with a different task: going from reST to plain text. [more...]
I don’t mean our personal narratives, the “stories of our lives”, but rather the stories we know, whether our own or others’. We all know many—probably more than we can recall at any given moment. [more...]
I’ve recently been doing some online banking reorganization, and have realized just how inconvenient a lot of the services are. The main issue is that they’re all different services, where I want centralization. [more...]
… SOWPODS lookups. I’ve been playing Bananagrams a lot again recently, and have found myself in need of an easy way to do those lookups. My physical copy of the combined word list is too unwieldy (and I tend to forget it), and oddly online lookups have proven very unreliable. But there’s an Android app for that, it turns out.
SOWPODS is the most inclusive word list, which is why I prefer it; otherwise it gets a little too arbitrary about what’s allowed (e.g. no “da” in OSPD, no “vid” in OSW).
Sometimes it’s the little things that make life better, the small victories in ongoing daily battles.
I recently did an overhead squat at 185 pounds (or about 84 kilos, or 13 stone 3); I weigh a little under 180 (that day, 178 pounds) and so that was a bodyweight overhead squat. It actually represents two achievements, because in order to get the bar into the overhead position, I had to push jerk it from behind my neck to locked out above my head, which counts as my best push jerk ever, albeit an unorthodox one. From the overhead locked out position, it’s down into a deep squat and back up; the harder part for me was going down, as once I was at the bottom it wasn’t hard to keep my balance coming back up. [more...]
This post is about keyboard shortcuts, remappings, application switching, and a little bit of workflow, primarily in the context of OS X and Vim, so it might not be of interest to all readers. [more...]
I’ve been slow in upgrading to MacVim 7.3, which came out about a month ago. I’m happy with it, but there are only a couple of features that really matter to me so far:
colorcolumn
Python 2.6 support.
colorcolumn lets you specify columns that will have a different background color—this is primarily useful for source code where you want to stick to line length limits. This is one of the few features I was still missing from jEdit, although I think jEdit’s solution was nicer: in jEdit the visual line was thin and went between the columns, so between columns e.g. 79 and 80 you could have a line; in Vim 7.3 either column 79 or 80 would have a “line”, i.e. a different background color. Still better than the kludge I use now, though.
Python 2.6 support is nice due to the number of Python scripts I’ve written for Vim, which used to have to be compatible with Python 2.3. The main things I really like here are the ability to use .format on strings, conditional expressions, built-in set support, and generator expressions. That list is inspiring me to edit some of my old scripts right now.