I Just Played Zombies Run! 5k Training

April 27, 2014 at 08:00 PM | categories: games | View Comments

/images/zombiesrun.jpg

I know, I know. The internet has already jumped on the whole "zombies" meme, sucked it dry, and deemed it over. Still, as cheesy as the concept is, Six to Start's Zombies, Run! 5K Training app is one of the few purchases I've made that not only turned into a habit, but a healthy one at that. The basic concept is that you run the app while jogging, and short clips of an ongoing audioplay fire off in between the music you listen to as you run. There's some light progression and base-building aspects, but the main attraction is the audioplay.

The app comes in two basic packages: the couch-to-5k training app that is structured to get your endurance up to running a 5k in 8 weeks (it took me 10, given our freakishly snowy winter), and the full app, which has a lot more features, but assumes you can run for 30 minutes at a time (at least, if you want to "play along" with the audioplay). Because I'm a sedentary computer programmer, I started with the 5K trainer. Prior to the trainer, I kind of enjoyed jogging, but I didn't do it regularly, and was pretty much spent after about a mile. The trainer both got me out jogging regularly, and had me doing increasingly longer intervals to get my endurance up to go a full 5k without walking. Still, if you can run a 5k today, you'll find the trainer pretty mind-numbing and you'll probably want to go straight to the "full" app as the trainer assumes you've never jogged in your life, and not much happens story-wise. The "full" app is much more featureful, and the storylines have been more interesting since I've graduated to the full app.

I can't say the app will work for you, but for me the episodic story nature got me in the regular habit, and once the health benefits start kicking in (starting with better times on runs, and progressing to weight loss and better sleep patterns), the app has made running a habit that I'd find hard to kick. I highly recommend giving it a shot if you think it could work for you. Also, I respect a mobile game that has the guts to fairly price its content and not hammer me with ads or in-your-face upsells. The trainer is only $2, and after going through that, I've purchased all the content from the full app mainly out of appreciation, since it'll be months before I get to it all.

One final note, even though the app can track distances and has a pretty nice web component to track various aspects of your runs (I've just passed 200km total), and the full app even has some missions that are based on distance, all of the 5k trainer missions are strictly timing-based. By the end of training, I could do a 5k in under 30 minutes, but the final mission is nearly an hour to give everyone a chance to finish. I could not run for an hour, so I'd recommend you map out exactly how long 5km is before the last run, and spend the rest of the time celebrating.

Read and Post Comments

Monospace plaintext emails in Fastmail

April 20, 2014 at 05:30 PM | categories: software | View Comments

Nearly a year ago I decided to divest myself of Google as much as possible, partially for the usual privacy concerns, but mainly I was concerned that too much of my life was tied up in a free service whose customer service is nearly nonexistent; if somehow my Google account got borked I had no recourse. So I decided to switch to paid services wherever I felt the service offered was valuable enough. Email was one of them, and I've been very happy with Fastmail ever since I've switched. They offer all the usual protocols, have a webmail interface every bit as good as Gmail's (including fast search with a rich query language), and a whole bunch of other features I'll never use but I'm glad exist. Also, the one time I needed customer service, it existed.

My one quibble with their webmail client is there's no way that I've found (maybe it's hidden somewhere) for plaintext emails to render in a monospace font. I get a lot of diffs via email where monospace is important for legibility, and frankly I kind of find monospace more readable in general, although I know that assertion is provably false.

All this is going a long way around showing off a small CSS hack to get plaintext email rendering and composition to be done in a monospace font in Fastmail's web client. I used Stylish for Google Chrome, but pretty much any CSS-hacking extension of your browser of choice should work:

@-moz-document url-prefix("https://www.fastmail.fm/mail") {
  .message pre {
    font-family: monospace;
  }

  .TextView textarea {
    font-family: monospace;
  }
}

The snippet is also in a gist or you could install it directly into Stylish from userstyles.org

In closing, you should put two spaces after a period. drops mic

Read and Post Comments

Syncing historical taskwarrior data to taskd

January 16, 2014 at 08:13 PM | categories: software | View Comments

Taskwarrior, my to-do list software of choice, recently released the taskd task server to sync tasks across multiple devices.

Prior to this, your choices were to sync with Dropbox, which worked for the most part but didn't have real conflict resolution if multiple clients wrote at the same time, and a special "merge" command, but merging only really worked between exactly two peer clients and did not really support an arbitrary number of clients talking to a canonical server.

taskd fixes all this, so I wanted to migrate as soon as possible. Unfortunately, the blessed way of migrating to taskd only migrates tasks you have not yet finished; your already completed tasks are not synced. I have several years of completed tasks I'd like to keep, so I looked for a solution. Luckily, it is pretty simple to modify the import procedure to import both pending and completed tasks.

On your first import, the documentation says you should run:

task sync init

Instead of doing that, you need to trick taskwarrior into initializing with both your pending and completed tasks. To do that, all you need to do is append your completed.data file to pending.data; the task client just sends pending.data, but the two have the same format and the server knows how import completed tasks just fine. Put simply:

cp -r ~/.task ~/.task.backup # For safety
cd ~/.task
cp pending.data pending.data.old
cat completed.data >> pending.data
task sync init
mv pending.data.old pending.data

That should import everything. If you're like me and you have a huge history with taskwarrior, the server may complain that the request is too large. If you get an error like this, all you need to do on the server is increase the request size limit in your server's taskdrc:

request.limit=10485760

You should then be able to import a larger backlog. The paranoid will probably want to undo this change to request.limit after the initial import to protect server resources once at steady state.

You can now reconstitute both completed.data and pending.data on a fresh client by running:

task sync

Of course, you'll need to get the proper keys and certificates installed on the new client before syncing.

Have fun doing tasks!

Read and Post Comments

Media I've consumed in 2013

January 01, 2014 at 02:30 PM | categories: movies, books, games | View Comments

Here's my now-annual list of how I wasted my time this year.

Books

My favorite book this year has been The Signal and the Noise. You can read my initial impressions, which haven't changed. I really enjoyed the added context it provided to Michael Lewis' Moneyball, showing that patterns found in data can be inaccurate or misleading without a human insight into why the patterns in the data exist in the first place.

Honorable mentions go to the Mary Roach books I started reading, which are very light, funny reads which still manage to teach some of the more embarrassing and taboo aspects of science.

I didn't read too much fiction this year, but I started reading the original Sherlock Holmes stories, mainly to tide me over until the next BBC series makes it over to this side of the pond. I'm pretty impressed with how much of the original survived in the transplant into the 21st century.

Movies

Being a huge Tarantino fan, it was no surprise to me that Django Unchained was my favorite movie I saw this year (initial impressions).

More surprising was how much I enjoyed following Filmspotting's Contemporary Iranian Cinema marathon. The subject matter seemed daunting, but all of the movies I saw were very accessible, while also providing insight into the "feeling on the street" in a country that otherwise might as well be on another planet to me. Close-Up and The Mirror play with the movie format, leading you to frequently ask yourself if the movie is scripted fiction or a documentary. Children of Heaven, aside from the subtitles, is a perfect kid-friendly, feel-good movie. And Offside is a surprisingly tense movie about a group of women who sneak into a World Cup qualifying match: on one level you fear for the characters on screen, but on a meta-level you fear for the filmmakers themselves. The movie was shot on-location during the qualifying match portrayed, and the director is currently under house arrest for his role in this film, among others.

Games

Yet again, I've already written about my favorite game this year, Bioshock Infinite. Frankly, it wins on its soundtrack alone. From the first notes of God Only Knows, to the calliope rendition of Girls Just Wanna Have fun, to the jazz cover of Tainted Love, to the acoustic traditional Will the Circle be Unbroken, the soundtrack is fantastic. It puts you in the world, it adds an air of mystery that I haven't seen since the best episodes of Lost, and taken on its own, it's just a great collection of music. Seriously, if you have three and a half hours to spare, listening to the whole soundtrack is a good way to make an afternoon doing chores fly past.

Read and Post Comments

I Just Watched Close-Up

October 26, 2013 at 09:59 AM | categories: movies | View Comments

/images/closeup.jpg

A while back, I watched Certified Copy, and I just didn't get it. After watching Close-Up, I think I now get Abbas Kiarostami's schtick, and I like it.

Close-Up tells the story of Hossain Sabzian, a con-man (or just troubled individual) who leads a family to believe he is Mohsen Makhmalbaf, famous Iranian director. The film uses a mix of documentary footage with reenactments, where all characters are played by their real-life counterparts.

Like Certified Copy, the film has you guessing which footage is "real" and which is fabricated, which is a fun guessing game, but each time you play it you realize you're missing the point: it's all a movie and "truth" isn't as important as "Truth". Still, watching a reenactment of a bus ride where Sabzian first dupes a middle-age woman into believing he is a director is mesmerizing. First, it's hard to believe both the perpetrator and the victim would agree to appear together to reenact the crime in which they were involved. Second, despite the fact that everyone in the film are non-actors, they all play themselves believably, with no self-aware winks, even when their parts do not always paint them in the best light.

On a side note, the movie shows what I presume to be real court proceedings of Iran, which is fascinating in its own right. It plays out more like a group therapy session, where all in attendance can speak up, and there's no real "prosecutor" or "defense". Hearsay seems to be allowed, and the victim gets a say in the sentencing ("forgiving" the defendant can lessen the sentence). While it seemed to be therapeutic for all parties involved here, I find it hard to take without a grain of salt. Iran has a pretty tight lock on what media gets out of Iran (or even what media gets made in the first place), so you have to imagine this is a best-case scenario. And maybe there are different rules for more serious crimes, but asking the victim point-blank several times if they forgive the defendant--in the defendant's presence--for violent crimes could be pretty traumatic, if not outright dangerous.

Anyway, highly recommended. Don't let the subtitles scare you away.

Read and Post Comments

« Previous Page -- Next Page »