Skip to main content

Pretty Good Hat

#TIL 05: Allies

Here’s something I learn periodically, then forget and occasionally re-learn: I have a lot of allies at work, but I need to remember to engage them. As a pretty introverted person who is also very much a processor who needs time to think through things before leaping into action, I don’t always look for the help that I sometimes need. But invariably, when I do reach out, I not only get the feedback that I’m looking for, but am invigorated by the interaction. That’s something to remember, perhaps so I don’t have to keep learning it.

#tinychallenges

#TIL 04: Bedtime

Today I learned that a five year-old who got used to staying up a little later and sleeping in during his winter vacation is hard to rouse early on the first day back to school. But, when the time comes, he’s ready for bed that night!

#tinychallenges

#TIL 01: Thirty-two Thousand Feet Elevation

According to Strava, my mountain biking climb total in 2015 was 32,408 ft, and the largest single ride climb I made was 2600 feet, on Fathers Day. That sets a pretty good goal to beat in 2016, I think.

This is among the information from my years’ worth of exercise numbers. I wrote a year ago about how taking on a regular workout routine was one of the best things I started in 2014. Well, I continued in 2015, and added a lot of biking to the mix as well. It was invigorating to feel stronger and stronger as I went through the year.

Among the other numbers from my year in exercise: 36 spin sessions for an estimated 27,000 cals burned while trying my best to beat up the spin bike. I did 127 gym workouts, many of which I could never have done when my shoulders were hurt (also learned throughout the year that I can still way overdo it; so I focus on challenge by choice, or being very conscientious about how hard I’m working and making sure that’s the right level that I want to push — not surprising, this applies to lots of things beyond just exercise). It feels really, really good.

So let’s do it, 2016.

#tinychallenges

#TIL 02: Forza Teaches Numbers

This isn’t a particularly profound TIL day. I did have a rather moving experience from which I’m taking some lessons, but I’m not quite ready to say I’ve learned it yet.

So today’s TIL is: I am secretly teaching my five year old son to count using Forza on the XBox. He’s watching me race, calling out my position, and telling me what position I’ll be in after I pass the car ahead of me. That’s pretty cool.

(Also, this is a fun and gorgeous game.)

#tinychallenges

New Year's Eve 2015

Yesterday, I made a big pot of pho to share with family and friends tonight. We have had a relaxing, easy almost-two weeks of winter holiday and going back to work and school will be something of a challenge.

We celebrate the winter solstice for the slow return of morning light that its passing promises, but secretly I love those long, dark mornings, where I can imagine, long after waking, that I am the only person moving in the world.

My Weekend Rabbit Hole: I Made an App

I work out several times a week, and log those workouts to Runkeeper (because data!). Lately I discovered a small bug in the iOS client, in which a previously set equipment type (treadmill) was persistently being sent with my workouts, even though it doesn’t make sense for the workout type (that is, not running). Thing is, the Runkeeper client does not any longer offer the option to set that equipment type for the workouts I’m doing — this is a nice simplification of the interface, but I can’t get rid of the existing flag for treadmill.

This started to nag at me. I’ve long thought about building a workflow to quickly log my sessions rather than tapping through the app, but never got around to seriously looking into it until now. From working with Slogger, I already have an application registered with the Runkeeper API and am reasonably familiar with working with it, but until this weekend had only done so using scripted curl commands. Works great, but does not hook into iOS very well. I could build an ssh command to execute a curl command from a remote server, and kick it off from workflow or maybe a drafts action; this would have taken me ten minutes, but would have felt kludgy.

So on Saturday morning I downloaded Xcode and looked up iOS development tutorials on iTunes U. And there went my weekend.

Approximately one million browser tabs full of google searches, errors and compiles later, I have this: a tiny app preprogrammed with my two regular workout types (strength training and spinning), an array of scheduled session times, both of which I can cycle through via a pair of buttons (starting with my default of 6:15am). I also have a few extra fields to log additional data about the workout. The auth field is for my app’s token, and allows me to change it if necessary. This is a really basic replacement for a more full featured OAuth workflow, and I’m in the process of figuring out how to move this over to a settings screen so it’s out of the way most of the time; for now it’s also a convenient place to output the result of my http request to the API: if after a submission I get a 201 there, then I know the request was completed successfully.

Oh my gosh, Internet, I made an app1! I have to say, that first time it ran approximately like something I intended it to be, I was thrilled, like over the moon that I made something with buttons I could push and interact with on my phone.

So what have I learned?

I learned how to make https requests to an API using Just; how to make buttons and UI elements and hook them to actions in my code; how to use cocoapods (minimally, anyway); how to break my project using source control in Xcode sufficiently to require bringing the whole thing back from Time Machine (thanks, Synology); and how to redraw my content as the keyboard is revealed and hidden.

What get better at, among other things: I have not successfully triggered an activity spinner while my API request goes though. Fortunately it doesn’t take too long, but I want to read up on the asynchronous dispatch or whatever thing. I also really don’t know much about the schemes, targets, and so on that make up a project structure. Should also probably brush up on that little source control issue, and make more sense of the MVC thing. But hey, not bad for a weekend project.

This was fun. I have something I will use almost every day, which does lots more than scratch my original small itch about submitting the wrong equipment type. And I have a much fuller view than I did, of this world of applications that are such a big part of my life. Cool. Maybe next weekend I’ll come up with another itch.


  1. Recent changes in the Apple Developer Program allow for deploying an app to a local device without going through the App Store and its processes and costs. ↩︎

Dark Skies Star Party

Autumn is a good season for night skies, here. It’s starting to dry off, so there’s less monsoon weather to chase us back indoors, and our Dark Sky City designation means there’s an attempt to keep city light from flooding out the stars. I signed up for a night sky photography workshop with Stan Honda, who is opening an exhibit at a community art center.

After a couple of hours of slideshow and demo of night sky techniques, we trooped outside and joined the nearby Dark Skies Star Party, an annual stargazing event aided by the likes of Lowell Observatory (Pluto, yo), the Naval Observatory and the university. We found a quiet stretch of paths and set up our tripods.

I started shooting with my old Pentax for the wider field of view its lenses give, but its low-light sensitivity just can’t compare to the Fuji, so I traded out quickly and spent the rest of the night experimenting with composition, ISOs, and exposure times. When I finally retreated, cold — I had forgotten my jacket in the warmish evening — I hoped I had a few keepers. With some adjusting in Lightroom, this is what I came up with.

lightbox2

One of the things that resonated most from Stan’s slideshow were the descriptions of the event of some photos, particularly an expedition to the near-Arctic to shoot a solar eclipse. He showed some photos of the lineup of viewers to the eclipse and I liked the story that the photo told, so I experimented with a few of my own in the same theme. This is of one of the telescope stations at the star party, with viewers coming and going in the dark, with their red-lensed flashlights, beneath the stars.

lightbox2

Looking back toward the main path from my spot in the fields, moon shining over us.


lightbox2 lightbox2


Stars over the San Francisco Peaks are really something. One more reason I’m happy and lucky to get to live where I do.

Slow, Small Data

Via this writeup in Fast Company, Dear Data is such a cool project. Giorgia Lupi and Stefanie Posavec are spending a year exchanging a postcard per week, in which they each draw a representation of a specific behavior or facet of their lives. The front side of the postcard is the drawing itself, and the back side describes how to read the visualization.

Both images by Giorgia Lupi from “Week 38: A Week of Negative Thoughts

One of the things that really makes me love this is the intentionality and immediacy of it. I used Reporter for several months, but fell away from it; it started to feel like something that would add value someday, but in an undefined way that didn’t keep me with it. By contrast, Stefanie and Giorgia are deciding on something very particular, measuring it and then drawing it all within about a week. Unlike so much “big data” they aren’t looking for a long-term pattern or a huge number of observations. Their illustrations are colorful and capture sparks of their personality while describing whatever they chose to measure; and the differences between their drawings are a reminder of the many ways to tell a story with a common theme.