Five Dollar Fifth: BCRF

It’s the fifth of the month. I started a thing a while back and have stopped doing it. I give $5 to charity on the fifth of every month. It makes me feel better. Five dollars isn’t that much.

This month, in honor of Breast Cancer Awareness month, I’ve donated to the Breast Cancer Research Foundation. They are rated A+ from Charity Watch.

You can donate here. You can see information about the charity here.

The whole concept behind $5 fifth is that if we all did it would make a difference. If you can, please consider donating.

The Story

This post is originally posted on clairevango.com

When I was a kid my family moved around a bit. We lived in CT, PA, KY and then back to CT again. We spent a couple summers on a boat in RI while parents handled the move between states. While my brothers and I were seperated by years, interests, and social cirlces, we found a way to coexist. We weren’t close, but we were never too far apart.

As an adult, I feel like I’ve missed something something by moving the west coast. I’ve missed opportunity to be closer to my family. I’ve missed the opportunity to see my brothers grow to be men. I know I will be missing much as they begin to start families and I’m 3000 miles away.

When my youngest brother told me I was going to be uncle, I felt emmense joy and also sadness because this was a transition in stage of life for him. I haven’t been around since he got out of the marines. I’ve never been close to him as an adult.

When the middle brother told me several weeks later that they were expecting, I realized that both of the relationships with my brothers were about to change.

I thought of the things I wish I had done with my brothers. I thought of the times I missed the most. My first thought was the long annoying road trips we used to take. From our home in Connecticut to skiing in VT. That time we traveled all the way to Maine, to visit our best friends the Beckers. At the time, these were painful experiences, but looking back on it, these were times where we learned about each other. One brother would pick the first CD we would listen to, another the next. Spencer got us into listening to the entire Harry Potter series on tape.

We learned a lot about each other on the road, stuck in a metal box for hours at a time.

These memories inspired my crazy idea:

Buy a van, build it out, and travel with them before they had their first children.

I’m a firm believer that I learn about myself and others on the road. This is the story of me, trying to learn about my brothers and myself on the open road.

Zen and the Art of Zack

This week I caught myself hunting for new sneakers. I’m in my room right now, and I can see no less than 5 pairs of sneakers in sight. I know have a bunch more around my room. The thing is, I don’t need more sneakers. I’m hunting for sneakers. I could find the perfect pair of sneakers. You know, sneakers that at the same time magnificently comfortable and also incredibly stylish and durable. Sneakers that would be great to run a marathon in or take to the tumbling gym.

This whole thought process makes me think of a TED talk I heard called: The Paradox of Choice. The general concept is that as we have more choices we get consumed by finding the best choice. This exercise is somewhat futile because even if we find something good we are consumed with the thought that there is something better out there.

This idea that there is always something better has haunted my life in all aspects. There must be a better way to train. There must be a better food, one that is both healthy and tastes like candy. There must be a better pair of pants that is both cool (in temperature) and cool (in style). There must be a shirt that fits me perfectly. There must be a better way to make this View Controller (for all you iOS programmers out there).

I’ve been consumed with the hunt for the better. While some level of striving for better is a good thing, the obsession I have with it doesn’t feel healthy. I’m never going to stop pushing myself, it is just part of my ethos, but I am going to try and accept more. Be tolerant of more. Take the steps I need to get there.

As another aside, I’d like to mention that I recently re-watched the last two episodes of Life. It is a great show, and has a lot of Zen concepts. I used to be sad that this show ended in only two seasons, but the more I think about it, the more I feel that it was the way it was supposed to be and I have to be content taking the lessons I can from the two seasons that were produced.

Reverse Quitting

I was listening to a radio ad the other week about quitting smoking. It was very compelling. The ad said that all people who quit smoking are people who have tried to quit before, failed, and kept trying until they didn’t fail. They learned each time what didn’t work, until they found what did.

I’m not quitting.

I’m starting.

I love beginnings.

I love the beginnings of each day, I’m a morning person.

I love the intro skill, the back handspring, the toss hands, the hello world program, the basic rule of thirds photograph, the empty notebook before it has been marked.

There is a lot of promise in a beginning. Somewhere along the way I feel like I mess it up. I make a errant mark in the notebook, miss the exposure or composition of the photograph, lose the technique on a harder stunt, each too much junk food by the end of the night.

I keep trying to get started and don’t make very much progress. I give up and live in despair for a couple of days, and then try again.

The problem is, that I’m not sure I’m good at keeping track of my mistakes and avoiding them the next day, the next start.

I’m going back to my “Make Something” manifesto. I’m going to stop ending each night by just watching NCIS episodes. I”m going earn each episode. I’m going to earn each nights sleep. I’m going to earn it by eating better, working on building my projects (van, travel, climbing), and taking care of my body.

I will keep trying to figure it out, and if/when I fail, I’ll figure it out and start again.

Today doesn’t feel like a failure, and I’m excited about carrying this beginning into tomorrow!

Olympus E-M5 Mark II : Part 1

Problem Statement

I was planning a trip to Germany and Italy in the summer. I had a bunch of expensive and heavy camera gear that I wanted to bring to take pictures, but the thought of carrying it all around with me sounded crazy.

I was going for a wedding so I needed normal focal length. I was also going to travel and wanted a little bit of reach and maybe some ultra wide stuff.

The most important part, though, was quality of image. I like looking back on my photos in the future and seeing where I’ve been.

Was there a solution out there that could accomplish roughly the same quality as my Nikon gear but weigh less and be cheaper?

The short answer

Yes.

The full story

I went to the store to look at the Fuji X-T1. My friend FlannelForBreakfast had bought one and traded in his Canon gear to do everything with the Fuji. While in the store I checked out the Sony, but it was almost as heavy as my Nikon and had a higher price tag. The salesman also said I should look at the Olympus. I fell in love with the Olympus almost immediately, some of the reasons are pretty silly, so bear with me.

Firstly, the E-M5ii has a fully articulating screen. This means you can turn it up so you don’t ahve the LCD in your face at all times. On digitial cameras, the LCDs are known for eating up a ton of the battery power. Hiding the LCD means better battery performance. Also, for some reason, this made the camera feel more robust.

Secondly, the camera comes in a chrome finish which makes it look like an old Olympus OM, hiding the fact that it is a digital camera. Also, I felt like this was a very cool looking color.

Thirdly, the E-M5ii is an Micro Four Thirds(MFT) mount. This means I can mount lenses made from multiple different manufacturers. When you buy a Fuji you are somewhat limited by what they offer, when you buy Sony, you have more options, but they keep changing the mount, and they don’t always develop lenses as fast. The current ecosystem of lenses for the MFT system is actually pretty diverse. Since the platform is adopted by both Olympus and Panasonic you can get some interesting combinations. For example, there is a Leica designed, Panasonic manufactured 42.5mm f1.2 lens that is just amazing.

Fourthly, the E-M5ii is weather sealed. Now, I still cover it, but it is supposed to be pretty durable. This durability is a large factor when traveling. Having a camera that can hold up to a little bit of abuse is always a good thing.

Fifthly, The E-M5ii is significantly less expensive than my Nikon. The body was just over $1000 but it is now found under $800 at times. The professional lenses all cost around $1000 compared to the Nikon lenses that are easily double that. If I lose my camera or break it, I feel less guilty knowing it costs less to replace.

Sixthly, the camera is small and light. Compared to my Nikon it is easily a third the size and probably less than half the weight. This is very handy for hiking, traveling, or just fitting into a bag. I’ve been very happy with the amount of gear that is still portable.

Lucky number seven, the camera’s pictures were close enough in quality to the Nikon that I felt I could get away with it for traveling. Now there are some cases where this isn’t the case, and I’ll get into that later, but in general, the camera took really crisp, clean pictures

To be continued. I started writing this post a while ago and while there are many more things I have to say, I decided to break it up a bit. This is only part one of many

TLog-007 Nitro Morning

This post was pulled from my TLog project, but it felt relevant enough to make it to this blog as well. Some interesting stuff about reading and writing code.


I’m trying the Nitro Cold Brew coffee from Stumptown that they just started carrying at Planet Granite. It is tasty, but I like the regular cold brew better and will be sticking to that in the future. Still, I do love coffee.

Grateful List

I was listening to a podcast the other day, I believe it was Finding Mastery with Ariana Kukors: Swim. And they were talking about gratitude practice. The part that really stuck with me was that practicing happiness is really hard. Being happy is a by-product of the world around and the best way to approach getting that feeling may be through practicing gratitude. I’m going to try and say three things I’m grateful for each day.

  1. I’m so grateful that we as humans discovered coffee. It has a profound effect on my life and while I only drink about 2 cups a day, I love it.
  2. I’m grateful that I can afford to take as many pictures as I do now. I love photography and there was point when I was in college when I felt like it was too expensive. Thankfully I can now afford great gear and enjoy using it.
  3. I’m very grateful for my climbing community. Yes, I don’t see as many of them as much as I used to, but I love having a second home at the climbing gym. It is more adult that my cheer community (not that I don’t appreciate that as well), and much closer to my house.

Reading Code

I spend a lot of my time reading objective-c code for work. Reading the basic syntax is pretty easy, but understanding what is going on in someone else’s code has always been relatively difficult for me. I’m not sure how everyone else does it, but the way I tend to read code is to go through a live example of the code and see how variables are manipulated. I like to track a path from a point I understand to a point I need to discover. The larger the piece of the code the harder it is for me discover the flow and the process.

The best analogy I have to this process outside of code is my attempt to read the Odyssey. I moved around a lot as kid and didn’t get to read greek theology in school. I have tried to pick up post school, but understanding the Odyssey or the Illiad has been very hard for me. I can read the words and understand the basics of what’s happening, but I’m not sure I can see the forest through the trees. When you are in class, you have a teacher and class to discuss the book with. The concepts in the book are discussed and you collectively discover what is going on.

When reading code, the teacher/class is akin to being able to talk to developer who originally wrote the code. Sometimes they are sitting right next to you. Sometimes they are downstairs or close by. Sometimes they are phone call or email away. Sometimes there are cliff notes in the form of a really good tutorial or ReadMe. Most of the time, though, you just have figure it out on your own. If the code is written using some common conventions (like a restful api, or common design pattern), it can be easier. Sometimes the code is all over the place and impossible to discover.

Yesterday I was working on understanding MGSwipeTableCell. It’s a pretty well built piece of code, but still rather confusing to figure out for me. I figured out what I needed to, but only after a couple hours of debugging. I wish I had done a better job reading the original piece of code from the beginning.

T_Logging It

T_Logging It

Casey Neistat Is a videographer in NYC. I started watching his youtube channel this week. Apparently he has decided that it would be good to V_Log every day. I can’t imagine the amount of work he puts into each of his daily videos. They are so well produced, and often quite interesting. Sure there is a goal of promoting his product Beme, but mostly he just shares his life.

I want to do that. I brush my teeth every day, that takes two minutes in the morning and two minutes at night. It’s a routine I never miss. I’m neurotic about it. I might shorten the time, but it always happens. Logging is going to be a part of that. I’m going to put it two places, my day one publish, and my tumblr. That’s it. Maybe I’ll get to P_Logging (with pictures) or possibly even V_Loggging it like Casey, but honestly, that is too much commitment for the commit-a-phobe I am.

Today is Halloween. I dressed as Indiana Jones last night, it’s hot outside today, not sure if I feel like doing the dress up thing again, if so, I may switch to shorts and a shirt sleeve shirt. Why is it 80 degrees on the last day of October?

Aside for this site

I’ll post the best things here, the stuff that I feel is useful. Tumblr is a place I feel more comfortable posting life things that aren’t really useful to anyone but my friends. I try to keep that irrelevant stuff off this site.

Writing a Safari Extension

I’ve switched to using Safari as my primary browser. It works pretty well because I use it on all my devices so passwords and bookmarks are available on all devices.

The one downside, the developer community isn’t as big. We use Github at work for all of our repositories. Github code diffs are constrained by the width of their center column. On larger diffs this can make it hard to see all of the code without tons of scrolling. There is a chrome extension for this task, but there hasn’t been a safari extension for this same task, so I decided to write one.

I have worked on several chrome extensions in the past, so I thought this would be pretty easy, but there are a couple of challenges that I didn’t expect in completing the code. I’d like to share my experience with anyone else starting to write an extension, so hopefully you don’t run through the same issues that I did.

Firstly, you can see the code I used to make the extension here.

This essentially takes something like this:
Narrow Github

and turns it into something like this:

Wide Github

Here are some of my tips for writing a Safari Extensions:

  • If things aren’t working the way you expect, don’t trust the reload. Restart the browser!
  • Even if you just want to do something simple, you need to have a base html page. This page can hit your javascript, but you need to follow the developer instructs.
  • Your HTML page can listen for events and then send actions to your javascript, but you have to listen to all commands and filter out the ones you don’t want.

While I’ve shared my extension with a coworker, I’m pretty sure I”m the only one who uses it. You an download the extension from here.

Comments and suggestions are welcome.

Moments

My company is awesome. Check it out: SalesforceIQ.com. Beyond the product we build our company is based on four company values:

  • People
  • Moments
  • Ideas
  • Results

Each of these values is important to the company and also personally to me. I wonder if this is why I’m so happy working with my team.

In relation to my own professional development I had a conversation with one of the company’s founders recently and he told me a story about why moments was such an important value to him. He story really connected with me and I wanted to share it with you. 

He had been working for someone else for one of only a few times in his life. He is a constant entrepreneur. If you’ve ever met Adam you feel the intensity he gives off. Apparently he was applying it to his job and his boss was concerned he might have been driving too hard without perspective for the accomplishments. She gave him this analogy. 

Imagine you are a tenacious mountain climber. You are climbing a fictitious peak that never ends. No matter how hard and how far you climb it just keeps going up. You are fine and keep climbing with it and don’t have to stop, but if you don’t stop every once in a while to turn around and look at the view, what is the point?

See, our lives are like the mountain. We don’t know when or how they are going to end. Many of us are driven by internal forces. Adam’s point in telling me this story was that I needed to stop and look around, appreciate all that we have achieved.

D600 Shutter Speed

The D600 is a great camera and my first full frame camera. I’ve had it for several years now but to be honest, I haven’t taken the time to become an expert in the use of the camera. As a traditionalist I’ve used the different modes on the camera but only recently have I ventured into some of the other modes and advanced metering modes.

Over the past couple of months I’ve shot several cheerleading events. When I shoot these events I normally take the pictures and convert them quickly to JPEG for the coaches to review. I started shooting directly in JPEG fine. I could fit more pictures on the card and it seemed like camera could take them quicker. The problem was that at NCA nationals I wanted higher quality images so I wanted to shoot raw.

Things were going pretty well and I was happy with the shots I was getting until right at finals I made a terrible mistake. I switched memory cards because my card in slot 1 ran out of space. The problem was that I replaced the card with a slower memory card. Just as we were performing in Challengers cup, my camera speed went down significantly. After the performance I started to do the math.

Image Format Image Size Buffer
NEF (RAW), Lossless compressed, 12-bit 23.4 MB 22
NEF (RAW), Lossless compressed, 14-bit 29.2 MB 16
NEF (RAW), Compressed, 12-bit 20.7 MB 27
NEF (RAW), Compressed, 14-bit 25.4 MB 16
JPEG Fine Large 12.4 MB 57
JPEG Fine Medium 7.4 MB 100

If a lossless 14 bit NEF is roughly 30 megs, and my memory card has a write speed of 40 megs, you are copying less than 2 images per second. At that pace, it doesn’t matter if your camera can take 5 to 6 frames a second, if you eclipse your buffer space you will be waiting for images to copy before you can take another frame. During a 2 minute 30 second routine, getting stopped up can be a serious problem. It turns out that there are several speeds of SD cards you can buy. My original cards were 95mb/second (which actually write at about 90mb/second) my second card was only 40. I’ve rectified the problem by purchasing two more 95mb/second cards. This leads to the following math:

Image Format Pictures Copied Per second
NEF (RAW), Lossless compressed, 12-bit 3.846 images/second
NEF (RAW), Lossless compressed, 14-bit 3.082 images/second
NEF (RAW), Compressed, 12-bit 4.348 images/second
NEF (RAW), Compressed, 14-bit 3.543 images/second
JPEG Fine Large 7.258 images/second
JPEG Fine Medium 12.162 images/second

The D600 has a frames per second limit of 5.5 frames per second. What this table shows is that in order to get maximum number of frames per second with a 95 mb/second you need to shoot in JPEG.

Anyway, I hope this helps anyone who ran into my issue.