atomicules

Push propelled program tinkerer and picture maker.

Something about shoes

Writing about running shoes is a bit different than writing about bicycle tyres because for some crazy reason shoe manufacturers insist on replacing models every year rather than just sticking with a good thing. This means that by the time I get hold of them and have had a chance to use them for a bit they are no longer available for normal retail - which makes a review a bit pointless, hence the "something" title; On the other hand though, the very fact they replace models every year means I'm able to get shoes in the first place - buying last year's model for cheaper (and which is often reviewed better than the model it's been replaced by).

That's about a year of running now although starting off super gently doing Couch to 5k, with an entire month off fairly recently due to knackering my knee (now my other one is giving me grief!) and although mostly running all through winter (because it was really mild) it was with much less distance. So that's meant one pair of shoes has lasted me all this time easily. In theory you are meant to replace every 300 to 500 miles. I haven't kept track of the distance I've done (curses! I've only recently started recording runs), but probably am (was) only hovering around that mark because of what I've said above (500 miles is about 15k a week); I reckon the shoes have still got life left in them.

Nevertheless, I thought the one year mark was a good excuse as any to buy some new shoes.

For my first (old) pair of shoes I went with Nike LunarGlide 6. I can't remember exactly how I arrived at this decision, but it was something along the lines of wanting something super soft and comfy (to encourage me to run), some stability/support because I have wonky limbs and trying to reduce the sheer amount of options by picking one brand to select from: You need to have something to start with. On, and of course buying last seasons shoes.

I really have no complaints about those LunarGlides. Beautiful shoes. I think the 7s are a good replacement (although annoyingly impossible to find), but the 8s don't look as good.

After injuring my knee though (can't blame my shoes, probably the dog's fault), I found I really preferred a flatter shoe, i.e. less offset/drop. Since the LunarGlides actually only have a 9.5mm offset (good shoes) I didn't see the point in going for a 8mm offset shoe and so, still in an effort to make choosing easier, I ended up going for some Nike Free RN Distance. Which is a bit strange as it's a completely different type of shoe to the LunarGlides (collapsible heel compared to a plastic clip for one), but so far I really like them. It's a bit difficult to compare to the LunarGlides a year in (which are now (at least I think so) firm in the forefoot), but the Free RN Distances are like running in fluffy slippers: There is plenty of padding there, but not as much support. My achilles, arches and heels can tell the difference (I don't think this is a bad thing though); As far as I can ascertain I'm not a heel striker and only hit my heels when really tired (this doesn't make me a good runner, I'm terrible, it's just the crappy baby-step way I run). Still though, goes to show that stability shoes aren't really so important.

Next shoe though, I'm really tempted for a pair of these (once the next version is out so I can get these cheaper); The Free RN Distance 2 aren't as good as the ones I have and so to stick with the 4mm offset I may have to look beyond Nike; Which is fair enough, as I said, you have to start somewhere.

Two Frozen Duck Ponds

Just to demonstrate how hard I found it to read Orlando, I've already finished reading The Catcher in the Rye and The Wind-Up Bird Chronicle after finishing Orlando - which I started just after Christmas.

The Catcher in the Rye was one on My List. I'd actually remained in complete ignorance of the plot so had no idea what it would be like. It was pretty gripping, easy to read and with good toilet sized chapters (key quality of all good books). I spent the book excited to find what was going to happen... and then it ended.

The Wind-Up Bird Chronicle was a more recent addition to My List. It was utterly enthralling and I spent the book excited to find what was going to happen (and even more excited to see if I'd start understanding what was going on). I think it is mostly wrapped up at the last possible minute.

What I didn't anticipate was that the books would be linked, and not as trivially as it seems, by ducks. Fitting (for me. And here).

LINK: Eliud Kipchoge Almost 2hr Marathon

Putting this into context, the longest distance I've run so far (yet to repeat, damn knee) was 11.87 miles, so less than half a marathon, and it took me about the same amount of time; Plus, when I finished I could not immediately launch into another little jog as Eliud did (he doesn't even look that tired). Wow!

tmux: Kill all sessions except these

I use tmux an awful lot at work since it allows for a workflow where each session name references a separate piece of work that may need to be returned to (it's impossible to know upfront) and if it does it's far easier to pull up the previous session than start off from scratch.

However, the problem with this approach is it's really easy to rapidly accumulate sessions and to have no idea which ones I need to keep hanging around which is how I regularly end up with fifty sessions; in fact it's really not unusual for me to end up with over a hundred sessions.

This means every few weeks I need to purge my sessions. Until I've figured out a way to automatically look up the work id and see if it's closed (there is an API, but I've not figured if that kind of query is possible yet) I either have to close one at a time or hope there is just one session I want to keep so I can use tmux kill-session -a -t theoneIwanttokeep. Which is great if there is just one I want to keep, but invariably I know for a fact there are four or five I want.

So I finally wrote a simple script to do just that:

#!/bin/bash
for i in $(tmux list-sessions -F '#S'); do
  if [[ ! $@ =~ $i ]]; then
    tmux kill-session -t $i
  fi
done

Then I can call this as ./tkse sessiona sessionb sessionc sessiond, etc and it'll kill everything except those sessions.

This won't work if a session name has a space in it, but what kind of heathen does that?

Note: Spotted first swallow of the year. Nice to have them back home.

Note: After four weeks of rest managed a gentle 5k on my knee. Yay!

Such A Revelation

"And it was to each such a revelation that a woman could be as tolerant and free-spoken as a man, and a man as strange and subtle as a woman..."

Orlando by Virginia Woolf

On it's own that could probably be taken out of context. Here's a better understanding of that bit and the whole novel.

Dark Spaces Between

"For some time the dark spaces between the lamps had been becoming brighter and the lamps themselves less bright."

Orlando by Virginia Woolf

I can't really explain why, but I like this sentence.

Clothes That Wear Us

"Thus, there is much to support the view that it is clothes that wear us and not we them; we may make them take the mould of arm or breast, but they mould our hearts, our brains, our tongues to their liking."

Orlando by Virginia Woolf

That Silence Is More Profound

"That silence is more profound after noise still wants the confirmation of science."

Orlando by Virginia Woolf

Steadily making my way through Virginia Woolf's books. This is the most normally written I've read of her novels so far*, but by far the hardest I've found to read; I think perhaps because I couldn't gauge what it was meant to be† - as per usual I left reading the notes and accompanying introduction‡ until afterwards to experience the book as is. I think that was a mistake. If read at the time of publication you'd more likely have had some knowledge of Virgina Woolf's life and social circles and therefore understood and enjoyed the novel a lot more - It made a lot more sense to me after reading the introduction and learning about her friendship with Vita Sackville-West.

I'm now on an interlude of a couple of more modern, none Virginia Woolf, novels, but then I want to read To The Lighthouse. A lot.

* - A Room of One's Own doesn't count since not a novel. This is similar ly written since a faux biography.

† - I couldn't gauge whether comedy, fantasy or serious; Actually a bit of all of them.

‡ - The swanky edition I have is almost half notes and companion text and it's better for it.

Note: Two weeks without running due to a knackered knee. Still can't walk properly so reckon there's another two to go before I can run :-(

Making use of Haskerdeux

I honestly thought that after I got Haskerdeux working again I'd not be doing much else to improve it, but lo and behold the whole "fix your own frustrations" thing kicked in and I ended up improving it so I could use it to work on todos of any date. Why? Because I wanted to be able to easily script adding a whole bunch of todos on various dates in the future.

I actually ended up doing some Ruby to (technically) Haskell scripting as follows:

require 'helpscout'
helpscout = HelpScout::Client.new("<api key>")

# Read in an array of "conversations" I had from a previous action
# I.e. a text file with one of something like this per line: https://api.helpscout.net/v1/conversations/326542115.json
conversations = File.readlines("conversations.txt").map(&:strip)

conversations.each do |conv|
    ticket  = helpscout.conversation(conv[43..-6])
    # DateTime.parse is clever enough to pick out date from a string like "something something needs to happen on 2017-03-05 so here's some text"
    todo_date = (DateTime.parse(ticket.preview)-1).to_date.iso8601
    `./haskerdeux #{todo_date} new "Need to do this before tomorrow [#{ticket.number}](#{ticket.url})"`
end

(This Helpscout Ruby gem is really good, by the way).

I.e. I had a list of HelpScout conversations that had been generated previously and I had actions based on these I needed to do on a certain date. So I iterated through each conversation, parsed the date from the ticket preview text and then added them to my Teuxdeux list via a Ruby shell/system call to Haskerdeux. Simple, hacky, nifty.

Bay

Bay

Kodak Portra 160NC, Yashica Mat, Aberdeenshire, Aug 2016.

These are the ten most recent posts (not counting the note drivel), for older posts see the Archive.