Matt Hackmann

And I would bike 500 miles

Posted On

But I wouldn't bike 500 more. At least, not within the span of a month.

This morning, as a friend and I were biking our disappointment of not biking away, he made a comment about attempting to hit 500 miles by the end of the month. Though I grunted an agreement, my thoughts were skeptical. However, as I was biking this evening, attempting to bring my total milage for the week above my goal of 50, I considered how I might go about this without killing myself.

Truth be told, it wouldn't be all bad.

Let's consider that today is the 7th and that I have 23 more days with which to achieve my goal. I've already biked 51.7 miles, so that leaves only 448.3 miles to go. Let's crack out some math:

448.3 / 23 = ~19.5 miles per day

Might seem high, but actually quite attainable. Let's break it down piece by piece.

Five days a week, I can bike to work from home. It's about 6.3 miles in each direction, so that'd be 12.6 miles. Lately, I've been enjoying doing an end-to-end-and-back-again ride on my street, which is just shy of ten miles even. So, on any given work day, I could bike 22.5 miles. With 17 work days left in the month, that would be:

22.5 * 17 = 382.5

Now to figure out the other 65.8 miles.

One way to do this would to simply continue my ten mile evening ride on the weekends. There are six weekend days left in the month, so that'd be 60 miles. Of course, there's no reason why I couldn't do something a little longer, such as a bike to San Jose and back. On average, these run about 20 miles, so trade out one ten mile ride for that and I'm already there.

But, let's assume I don't want to bike every day. Let's also assume that I'll be doing some riding from San Mateo (because I most certainly will).

The ride from San Mateo to Mountain View is on the order of 25.5 miles. Were I to do just one of those per week (let's assume Tuesdays), I could get four of those in. Here's the new workday break down:

13 * 12.6 + 4 * 25.5 + 4 * 6.3 + 17 * 10 = 461

So, that's 13 days of biking to and from home and work, four days of San Mateo -> work -> home, and then doing that short ten mile ride every evening. Suddenly, my weekends are free to collapse onto the couch and do nothing :D. Now, let's see how many calories this would burn (using some quickly head-calculated averages):

13 * 500 + 4 * 850 + 4 * 250 + 17 * 300 = 16,000 calories

So, basically 16 Taco Bell box meals if I don't drink soda. But, in actuality, I could eat more.

Because just living also burns calories...

The Lazy Approach to Design

Posted On

It's getting to be that time of year again when I begin making preparations for the annual awwnime bracket. Unlike last year, where I split the bracket up into boys and girls, I'm going to head off any "well, this character identifies as..." issues off at the pass and go back to a single bracket. And with the new bracket comes yet another tweaking of the design.

Last year, I requested custom artwork of 2012's bracket winner from a fledgling artist who was active in /r/awwnime. I placed his pieces on the site, mostly working around the existing design. This year I wanted to do something different, partly because I really am coming to loath that design, partly because I want to try something new. That something is mostly eschewing the much pixel pushing and heavily using photography and typography to create the interface.

Carrying on the trend of having the previous year's winner "emcee" the current year's bracket, I picked up a Nedoroid of said winner as the center piece for the design. Nendoroids, for those who have lives, are a chibi style line of figurines that are fully posable and come with a variety of different accessories and faces, allowing you to make many combinations of expressions. Generally, this is not my type of thing being more of the "static" figure type of guy, but for creating a photo based site design, it's quite perfect.

Now, I won't lie. The decision to go with this type of aesthetic was for the look, the other part was because I felt it was going to be simpler to pull off. Which is probably true, if you know how to correctly operate your camera, light your scene, and orchestrate things compositionally. I, sadly, did not know how to do these things very well. As such, this was my first result:

omm nom nom

First thing's first, the positioning of the little Tsukiko is way off, gobbling up (pun intended) too much of the center stage, leaving disgusting areas on the side that are trying to be hidden by some falloff gradients. Also, despite my best efforts to color correct the initial image, it still kind of has a urine stained feel to it (much like K-mart). Despite using the same post-processing, the iPhone landing screen was far and away better, if not color wise, certainly compositionally.

Peek a boo

Actually, that peeking above the fold arrangement is what I used for all of the app branding, from App Store images to icon. I quite like it.

Not satisfied with the original desktop splash screen and wanting to get the thing coded soon, I gave it another go. I happened to have some banana muffins sitting in the freezer, so I thought that might make a better set piece than the random not-identifiable-as-curry-box in the background. After switching the camera into full manual mode and playing around with poses and lighting, I arrived at this result:

For me?

Holy shit, that's so much better! So much better in fact, that almost all post processing was removed in Photoshop leaving only some slight tweaks to the color curves to bring the blues up a bit. Of course, this is but one of at least three screens that I have to do, the remaining two being the nomination and voting screens. Not sure what I'll do for those at this point, but at least I'm getting a feel for the camera and how these photos need to be taken to work well within a web layout.

That'll End Your Fun Real Quickly

Posted On

Deciding that my Taco Bell supper was too much to weigh on my conscience, I decided that a late night bike ride was the thing to do. This after dark guilt ride is something that happens entirely too frequently. But, that's beside the point.

Before I even get out the door, I was looking for my pump to top my tires off. How something that large can go completely missing is beyond me, but after a solid 10-15 minutes of looking, it was nowhere to be found. So, I decided to just live with the pressure at whatever it was and go. Get outside, start Strava and my music, hop on the saddle, clip in, and away I go... except I don't. As I'm rounding the corner towards the apartment exit, I realize I'm not wearing my helmet. Return home, grab helmet, rinse and repeat. I'm finally on the road.

So, I'm out biking, listening to some tunes and giving my new bike undies a test run. My outfit is said undies, a pair of gym shorts, and my Lockheed-Martin jersey (it has pockets which is handy for holding my hand pump). My ass was comfortable for sure, though there's not enough padding in the crotch. Probably too much information, but there it is.

Again, I'm out biking and not really taking any particular direction. Up over a bridge, under an overpass, around Fry's and to a side road that takes me past the rock climbing place. This drops me out on a road that goes by the Sunnyvale LinkedIn complex. Had I brought my badge, I could have stopped in and raided the pantry, but I didn't so I didn't. As I'm making a left out of that building and onto the road, I hear a loud "pop" behind me. I didn't need to inspect the bike to know what had happened; I'd been struck by the Curse of Jibjab.

One of my coworkers (well, technically two) have the same bike that I do. He blew a spoke on that bike not once, but twice, on the same wheel even. I pulled myself over to the sidewalk, flipped my bike over and began inspecting every spoke on the wheel. Lo and behold, a spoke has been sheared off.

That shit ain't right

At this point, I'm somewhere on the order of 2-3 miles away from home. I briefly consider my options and decide that, despite the fact that wheel won't even spin freely anymore, it's good enough under load to make it home. I wasn't really keen to the idea of walking that far back in my biking shoes.

So, I slow rode all the way back, worrying the entire time that my immense weight was going to crush the rest of the spokes. Luckily, it went by without incident. I suppose all in all this isn't such a bad ordeal as I was planning on replacing the wheels with something better anyways, but I don't really like being forced into these situations.

Fate, however, has its own plans.

Old Dogs Can Learn New Tricks, It Just Takes Longer

Posted On

As I sit here whiling away the time trying to put the finishing touches on my Awwnime Bracket app, I realize that the infernal clock ticks away at the minutes, much as it always does. Of course, not that any of this matters since my server is still running in Central time and the dates will be messed up anyways.

As stated, I sit here coding in that which I have tried several times before: writing apps for iPhone using the abominations that are Objective-C and Xcode. Now, this isn't my first time in this rodeo. Indeed, in 2012 or 2013 (before LinkedIn was a thing I considered a thing), I purchased a Mac mini in hopes of carving myself a space in the ever expanding "app-o-sphere" and some of those tantalizing dollars that could come with. I did my damnedest to follow learn Obj-C and tried to follow the Stanford iTunes U course, but it was just too much all at once for my brain to process. I quickly got discouraged and gave up. Shortly after the move to California (or perhaps slightly before), I sold the mini and forgot all about that shit.

Then, mid-last year, one of my fellow webdevs at work organized a weekly session in which we would all meet for an afternoon and learn ourselves some iOS development. This arguably went much better, though my mind still had trouble wrapping itself around all those fucking square brackets and the hierarchy of views and view controllers and what have you. Despite being one of the handful that "graduated" that class, I barely pounded out a semi-functional app. Seriously, that thing was (and is) a piece of shit. It was supposed to be an "offline" client for the music page, but never quite made it entirely to that offline mode. I still would like to complete it so I can track my music listenings while biking or driving.

Fast forward to a few months ago. I don't recall how it came around, but as LinkedIn's membership continues its drive towards mobile devices, so too are we trying to scrounge up mobile support internally. One thing lead to another and my name hit a list of people that they wanted trained in iOS. I accepted (perhaps a little begrudgingly), and for one week in August, did nothing but iOS training. Perhaps it was all the repetition, but something about that class made everything stick. Perhaps it's because we were writing actual apps that did actual things and each of those exercises themselves had much repetition. But, when I came out of that class, it was as if the clouds had lifted and the chorus sang out from the heavens. I'd finally grasped these ever elusive concepts that had me so worked up in the months and years prior.

That's not to say I'm an amazing iOS developer. Far from it. However, I've been putzing away at this bracket app with relative ease, only looking up particular things for particular cases when needed. It's odd to see how even the way I've been writing javascript has changed in only the last few weeks. I find myself using Obj-C/Foundation style nomenclature when writing methods (initWithXYAndZ).

So, that's that. I was hoping to get this app submitted tonight, but I just profiled the thing and it's eating up a healthy 500MB+ (all in images), so I need to figure out how to mitigate that.

I do love doing this shit...

What's in a Nap?

Posted On

The clock says 9:55pm and I have, more or less, just awoken from an evening nap... that lasted two hours. I make no secret of the amount of time I spend napping, but generally it's 20-30 minutes. Two hours is excessive and it's now eaten away at time that I was going to spend working on my bracket app.

I'm not entirely sure why I'm so prone to napping. The most obvious thing to me would be the fact that I keep such terrible hours. My alarm begins going off at 6:20am so I can snooze it a couple of times before rolling into work not too long after 7am. My final sleep generally begins around 12am-1am, which leaves five to six hours for actual sleep. The nap could exist as a little pick me up to make it just a bit farther.

I've also theorized that my job could be part of the reason. Dealing with office work and software development is more taxing than one might think for something that keeps you immobile for nearly 9 hours. Given that my brain has been running at high capacity for that time, once I return home, everything just grinds to a halt. I flop on the couch, flick on the TV, and basically do nothing for the remained of the evening. That is, unless I have some sort of deadline to meet in a project I'm working on.

My final thoughts concerning the naps, somewhat related to the above, is that I may be suffering from mild depression. When I'm at home, lying in my bed, it sometimes takes quite a feat to do anything. I don't feel like playing a video game, or reading a book, or watching TV, or any numerous things that require nearly zero physical or cognitive effort. Hell, sometimes it's so bad I'll even let my stomach go hungry because I don't want to move to make food. Instead I'll just lie in my bed drifting in and out of sleep, going through this same mental cycle as my mind breaches into consciousness. I'm not entirely settled on the depression idea as I've seen real depression play out. I'm a pretty content person most of the time, so I think this is more extreme laziness than anything else.

Alright, there's more words!