New Year Resolutions, Uncategorized 1 comment on 10 Resolutions for 2010

10 Resolutions for 2010

Much has been made of moving through the first decade of this century (and of course this millennium) with all of the “Best of” and “Top 10 of” lists written by newspapers, magazines, blogs and the rest. It’s hard work to look back and try to understand the best of what has happened. Do we focus on the positives? Graduating high school and college. Getting my first job. Finding Micky. It’s not really worth reliving the negatives. They are better off left in the past.

This post is about looking into the future. It’s vast, it’s scary, and it’s full of opportunity. To really jump into the next year with both feet, I’ve decided to set ten resolutions for myself. In picking my resolutions, I had a couple of metrics in mind. First, the resolutions should be easy to measure. It should be put into the public eye, which I think gives a higher incentive to get the resolution accomplished. It should also somehow improve my ability to accomplish my longer term goals, which I’m going to document in another post this month. All of that said, the final list is:

  1. Lose 25 pounds by June 1st
  2. Play a round of golf in the 80s
  3. Increase my personal savings by one-third
  4. Finish the initial BFBP product
  5. Blog five times per month
  6. Visit one new country, and three new places
  7. Run a half-marathon
  8. Learn to Tango
  9. Support Micky in helping her stop biting her nails
  10. Support Micky in helping her finish her sailing qualifications

I really do think that I’ve got a list here that’s going to set me up to be both happier today, and a better me in the future. I’ll be keeping track of my progress on this blog (which will help with item #5). What are your resolutions? What are you doing to make sure that you accomplish them?

Welcome 2010, and let the fun begin!

just thinking out loud, Uncategorized 0 comments on The Final Score

The Final Score

I think I’ve just lived the best week of my life.

From Phoenix, where I saw Andy, Arielle and my brother play soccer, to my birthday, which was made amazing by great friends and just an absolutely amazing Micky, to being in North Carolina over Thanksgiving, where I just had an amazing time, I was enveloped in a genuine sense of love and compassion that I don’t think I’ve felt for a really long time.

It was in every way imaginable a reminder of how lucky I am. It’s the eternal cliche to not appreciate how lucky you are until you no longer have the opportunity. I didn’t fall into that trap in this instance. Instead I yearned so much for what I had lived for in a past life that I dreaded going back home because I thought it would never live up to the memories. Over the course of the last year, I would say that I’ve learned to put my memories in the right context, but that doesn’t mean that being in the moment wouldn’t be overwhelming. Somehow, someway, it was even better than I remembered. I think a lot of it is that I have amazing friends both in San Francisco and Raleigh who have created a wonderful network of nerds, geeks, jocks, and the occasional Saar (who of course gets his own category).

I also was successful in my 33″ by 25 campaign. On my birthday I measured in at a lean 32 7/8, and hopefully this Thanksgiving hasn’t been too harsh on that conquest! I just want to thank everyone who committed to giving to a charity. I know how lucky I am, but I’m also really excited that someone else will somehow benefit from how great my friends are.

Pictures are coming, and I’m sure I’ll be telling stories about all of the fun that I had to anyone who will listen, but before I crashed tonight (after writing some superb code I might add) I just had to share with the world that right now I’m genuinely the happiest person. It’s wonderful. Thank you.

just thinking out loud, Uncategorized 9 comments on Announcing 33″ by 25

Announcing 33″ by 25

While most of you may know me as a rather good looking fellow with boyish charm, I have in fact become a bit of a slob over the years. When I started at TokBox in June 2008, I was probably approaching a 40″ waist line. Nothing like the 30″ waistline that I came into college with. Clearly those “Freshman 15″ hit me a bit harder than I would have liked.

When I first measured in February of 2009, I had a 38″ waist. I did so because I gave up fast food for Lent, and I wanted to see what the difference would be. It was huge. I lost 2″ over the 40 days of Lent with no fast food. I’ve since gotten it down to somewhere between 34.5″ to 35.5″ depending on the day. Now my goal is to reach a 33” waist by my 25th birthday which is on November 20th. I have just over 2 weeks to do it, and I want you to help.

You probably weren’t going to get me anything for my birthday anyway, and that’s okay! I didn’t get you anything for your birthday either. But, I am going to be a bit selfish, and ask that you help motivate me by “sponsoring” my drive to 33″. For each inch lost (today I measured, and I was 35″), I ask that you pledge an amount to donate to charity. I don’t have a favorite charity, and so I’ll be taking suggestions for that as well. I say make it a bit fun too. As an example, pledge $10 for a 34″ waist, but $25 for a 33″ waist. Give me that extra bit of push!

All said, I need 2 things from you, my friends.

  • A charity to which I should donate my proceeds (most popular two or three will get the proceeds)
  • A birthday gift of pledging some amount to donate for each inch lost

Worse comes to worse, we’ll have fun and laugh over that time when I thought I could be good looking again! Please do post to my blog your ideas and pledges because these links tend to get lost on Facebook/Twitter/etc. after a few days.

just thinking out loud, Uncategorized 0 comments on Frankly my dear, no one gives a damn

Frankly my dear, no one gives a damn

That’s how I feel right now about my need to make excuses for myself of late. No one gives a damn, and nor should they. I don’t have any good ones… there rarely is a good one. I need a good reason to move forward, and I think that I’ve finally found it. It’s over. 24 is over, and it’s time to take control again, and understand how in so many ways I control the destiny of the most important thing in my life right now… me.

So here’s a game plan for me:

  1. Get Organized
  2. I’m working on a good calendar & to-do list for myself. I’m not quite sure what I need or what I want. I now that iCal isn’t it, and I also know that Google Calendar isn’t it. Would love to get suggestions from people to see what they use. I also might just build my own. I’ll start with a to-do system, and work my way up. I’m really trying to figure out what I would need in it. I would need SMS access; I would want some level of control for others to see when necessary and not see when not necessary. Anyway, just thinking out loud here, but this is definitely number one for me.

  3. Set Goals
  4. It’s really hard to have any idea of being successful unless you have some metric against which to measure. I didn’t think this was true. I always assumed that the end goal was to just reach a new milestone, regardless of what it may be. That’s a never ending road to nowhere as it were. When I went to TIP camp during the summer of 2000 (which was probably the best summer of my life, btw), we had a session on the difference between nowhere and now here and how incrementally different these two words are in the English language visually, and yet how large the chasm between the two is philosophically. Setting goals is effectively my exploration of how to jump that chasm from nowhere to understanding what now here means.

  5. Have Fun Again
  6. I saved the best for last. I think the thing that I’ve really lost is just the idea that I need to have fun. There just isn’t enough life not to have fun all the time. I need to find my smile. I enjoyed my soccer match this week just for the folks that I got to play with. Yeah, they drive me crazy, but that’s why I love them. I actually have a huge crush on one of the co-eds… but don’t tell anyone! I laughed a lot today with the “Costume Gang”. We made a big mistake leaving when we did. We lost too much of our day, and essentially lost a day at work, but for my morale it was good. It’s what actually led me to force myself to re-focus, write this, and make the commitment to gain control again.

I am committing here to making this next year of my life huge. I don’t know today how that’s going to play out. I don’t know if it’s a good or bad thing. What I do know though is that looking back on the year in 365 days will be much like an architect returning to the keystone in an archway knowing that it takes all of the stones to build the archway, but this one stone to bind the rest together.

just thinking out loud, Uncategorized 0 comments on Update on Me

Update on Me

I’ve been doing a whirlwind tour of my life over the last month or so. Some physical, some mental… a lot in the here, but also a lot in the tomorrow (I’m so good at living in my past, that I’ve ignored that bit). It’s been a very riveting personal roller coaster. I’m taking some time to get off of the roller coaster, and just write down what I’ve figured out. The goal isn’t to offend, but to enlighten.

And so it goes.

I’m good at what I do. Sometimes I need to stop and just say that because I get too focused on all of the things that I can’t do. I enjoy learning from the people who I work with, and I hope that I bring something into their lives as well. It’s a really great family that I have at the Box. And I think I add to it in some small way.

I’m learning an immense amount about what I want to be, who I want to replicate, and, very surprisingly, what I don’t want to be. I think that last point is the one that really strikes me as being the least obvious thing to learn. And yet, you run into personalities and individuals where you can clearly see how they make people less well off. They are the quintessential elephant in the room. It’s become very clear to me that I need to understand what makes those people so unlikeable to me. Otherwise, I’m going to make those same mistakes.

I’m an imitator, a mockingbird, in that I find things in people, and then try them out in myself. Is this how all people are? I don’t really know, as I’ve never been anyone else that I remember. But I’m finding that I’m incredibly good at taking what I like in other people and emulating it in myself; engraining it as my own. The things that I really like, I then make a concerted effort to preach downstream.

I love to dream. I dream big dreams, and don’t understand those who have to be grounded in reality. Life, for me, is meant to be lived flying towards the moon. I love that about myself… If I ever lose this, then I don’t think I’ll recognize myself.

I need to take better care of my body. Not just in terms of exercise, which I’m much better about lately, but also in terms of what I eat, sleep, time outdoors. I’m bad at this. I need to work on it. I will improve upon this.

There’s a lot more, but I made this a ten-minute exercise tonight. I’ll get back to the grind of the hourly exercise tomorrow. Very excited about what the last month of 24 has to offer me. It will hopefully be a launching pad into 25 that I could never have imagined.

just thinking out loud, Uncategorized 2 comments on Modern Gladiators… or maybe cows to slaughter?

Modern Gladiators… or maybe cows to slaughter?

I just finished reading a really intriguing set of articles in this week’s New Yorker. I wish they had a micropayment system where I could pay for articles that I enjoyed a la how Radiohead releases their albums, but that’s a different topic altogether. I’m going to write some thoughts, more along the lines of immediate reactions, and then maybe follow up if I can find some time after doing some thinking and discussing. The first article is by Malcolm Gladwell, and can be found here

Ignore for a fact that the article draws links against dogfighting because of the prominence that dogfighting has gained in the last few years, and instead think about when humans pitted humans in battles to the death against each other for entertainment. I ask you to ignore it because I’d rather focus on the notion of long-term human suffering in the name of entertainment as opposed to animal cruelty. I think the major pieces that come to my mind are the Gladiators of the Roman Empire, and the jousters of the Middle Ages.

(I’ll admit that I know very little about either in any form of depth, and so please let me know if I’ve made an assumption, and you know it to be wrong.)

I think a crucial difference between then and now lies in how we view fellow persons. There isn’t a need to prepare soldiers as there was in the Middle Ages. If I’m not mistaken, which of course I can be, the tournaments of the time acted as a way for those who competed to show off their prowess in the ability to wage war. Winning wars is no longer an indicator of the success of a man. The merits of that can be debated in another forum, but to me it also makes the value of physical prowess much less.

On a similar note, the spoils of war are also no longer something which is an integral part of society. Slaves, wealth, and property were all benefits given to the winning army in the age of the Roman Empire. Slaves, and again I could be quoting popular fiction instead of historical fact here, were often in the center of the Coliseum tasked with being the kill or be killed entertainment du jour. Thankfully, in my opinion, we’ve found that elevating even our enemies in victory to a higher level of understanding has replaced the notion that success should be measured by spoils won and stolen.

Given that these forms of entertainment have become outdated either because they are no longer necessary in preparing for war, or because we’ve advanced in our moral treatment, what is it about football that keeps us engaged. It has so many of the attributes of the Coliseum and the Tournaments of the Middle Ages. The battlefield analogies, the insane athleticism, the unbelievable wealth associated with it all. And it turns out that we’re still cheering for a sport that at the end of the day leaves the players in a broken state, unable to even take care of their families despite the millions they have earned.

It actually turns me off to the sport in my mind, and yet, as I sit here and watch Monday Night Football, I’m completely engaged in it all. Why can’t I see that in my entertainment, that these men are killing themselves? Why is that okay? I don’t really know, but I’m fascinated by it all.

What do you think?

Sports betting, Uncategorized 0 comments on College Football – Review Week 4

College Football – Review Week 4

First, you’re going to need to watch Saket’s review of week 4, and then watch my response embedded below:

Finally, my pick’em group shows that for last week I only got 7 out of 22 picks right last week. It was just… AWFUL! I think it was a function of the games being too unpredictable, but one thing I’ve noticed this year, which I spoke about in the video above, is that a lot of teams are much closer on any given Saturday than we have seen in years past. Outside of the Top 5 ,or as Saket said, the top 3, it’s really a crap shoot this year, and for a fan that’s just awesome! I wish every year were like this where any given Saturday is one you can’t miss.

I love college football.

Technology, Uncategorized 3 comments on Oh CSS… You drive me crazy

Oh CSS… You drive me crazy

I’ve been working on the content pages at work for the last few weeks, and it makes me wonder how people can work with CSS everyday without going bald (good thing I had already lost all of my hair). The inability to create a consistent user experience across web applications has got to be one of the largest dead weight losses in productivity and efficiency in the web industry. Not finding a solution for this, and a solution which is accepted industry wide, is just going to create a workplace for mediocre middle men whose sole purpose is to make sure that IE looks like Safari (or maybe I should say WebKit to include all WebKit based browsers) looks like FireFox. These people should not be in the industry because this problem should not exist in the industry.

(On a side note, this was a problem for Javascript, and the solution has been to build frameworks so that one isn’t working directly with the browser implementations themselves. I haven’t done the work to try and understand if there are CSS frameworks which mimic this, but please let me know if there are)

My specific problem was probably a bit of an extreme case. I often wonder when doing this work if there is a best practices to all of this, and if I’m just missing it. I’ve often made my way over to QuirksMode to see, but I’ve found that it’s often non-comital at best. But, back to the case at hand!

I was working on our new Platform page, and we were adding a call to action button (the Getting Started button that you see on the right hand side of the page). I have the image above it laid out in its own <div>, and I thought that I could put the call to action button underneath it, add appropriate padding, and the two columns which make up the content section of the page would be all lined up. Result…

Now that’s a surprise! I think the first thing that I needed to change was to set the image width and height explicitly instead of in the CSS selector. This helped things in IE, but ended up changing nothing for FireFox. Safari saw no difference. The irony of it all was that there’s no such thing as a FireFox specific stylesheet in our ecosystem.

I’m sure that if we were to do browser detection and build out a full HTML+CSS site, then we could do have a FireFox specific stylesheet for these nuances.

Nothing I tried using a two column layout worked. I finally ended up taking out the two buttons from the bottom of the content section, and creating a footer <div> which aligned the two buttons as we wanted. This was the cross-browser implementation that finally worked, but either my lack of knowledge or the quirks of an imperfect system really drove me batty on this one.

Technology, Uncategorized 2 comments on Fighting Java Ant… Setting params in a foreach loop

Fighting Java Ant… Setting params in a foreach loop

It’s really frustrating to me that doing something ever so slightly differently leads to such drastically different results when dealing with software. It’s true that software engineers (if you’re curious about the treatment of the word engineer, then just call me on TokBox me and I’ll explain) tend to be the harshest critics of software, and that it’s hard to impress someone who thinks that they know how to do it better. Every software engineer thinks that they know how to do it better.

With that disclaimer, I want to complain a bit about some behavior that I found in working with Ant.

I don’t know how to do Ant better than the creators of Ant have. It’s not my favorite tool, but if I had to use makefiles, then I would stop developing code. I don’t think whether I use hardtabs or softtabs should determine the validity of my code. That, however, is a different rant. However, I was very surprised to find that when using the <foreach> tag in an Ant script, that it doesn’t inherit the properties that have been set so far. Instead, you have to expressly define what properties to pass into the <foreach> tag. As an example:

target: buildinfo
<property name="tokbox.build.num" value="${current.time}"/>

target: getcssfiles
<foreach target="compile-css" param="the_file">
    <path>
        <fileset dir="${localedir}">
            <include name="*.css"/>
        </fileset>
    </path>
</foreach>

The <foreach> loop doesn’t know that the tokbox.build.num property exists. Every other target does, but the <foreach> doesn’t. However, if I were to add:

<param name="tokbox.build.num" value="${tokbox.build.num}" />

into my <foreach> loop, then it not only knows the build number, but everything builds! The final code ends up looking like this:


<foreach target="compile-css" param="the_file">
    <param name="tokbox.build.num" value="${tokbox.build.num}" />

    <path>
        <fileset dir="${localedir}">
            <include name="*.css"/>
        </fileset>
    </path>
</foreach>