All posts by Kastner

Kickstarter | Etsy | Wine Library

Quick Hack: Pinterest Chrome Extension


Between Kellan’s Post and my own exploration in native app sniffing (which I’ll talk more about in an upcoming post), I found myself using Pinterest quite a bit. And as I found stuff I wanted to pin, I kept right-clicking on images and expecting a “Pin it!” button to pop up. Which it never did. So, instead of complaining (or even looking too hard, what’s the fun in that?), I wrote it.

Try it out

Here’s my extension: Pin it!. It’s really really simple. All it does is add an action to the context menu for images you find on the internet. Once you hit it, it pops up Pinterest’s awesome bookmarklet adding screen so you can pick what board to put it on and off you go.

Make your own

I’ve put the code up on github. Please go hack it. Or better yet, make your own Chrome extension that scratches your own itch. The only way we can own the future is to create it ourselves.

(No, seriously, go make your own, the code that isn’t boilerplate in this project is about 10 lines long…. check it out)

Getting github emails on organizational projects

First a disclaimer: I’m sure I’m doing something wrong, but figuring this out allowed me to get the behavior I wanted, so I’m posting it here in case it helps someone out!

At Etsy, we’re doing our best to be active participants in open source software. As such, we have a github organization account: and an active engineering blog

We’ve got everyone at etsy (who is on github… and srsly, who ISN’T?) in one “Team” under the organization. Now, I’m not sure if all messages for all projects are going to some blackhole we’ve set up, or if they don’t come at all, but the end result was that I wasn’t seeing pull requests and issue notifications for projects I wanted to (like deployinator, statsd, etc.).

Here’s how I took care of it: I made a team per project, named after the project and added myself to that team. I attached the project to that team. Here’s what it looks like:

Teams for projects on github

Now I get emails for all the stuff I care about!

On my way to SXSW Interactive 2011!

I’ve been to SXSW once before. The year was 2008; the outcome was a mixed-bag. I met some amazing people, got to hang out with other amazing folks I already knew and learned a whole lot. The flip-side was that, between being sick (you’re supposed to get sick *after* sxsw, not before!) and rooming with Gary Vaynerchuk (he. is. a. machine!), I was totally overwhelmed.

I was so exhausted that I didn’t even consider going in ’09 and ’10!

This year is going to be a *bit* different however. I’m on my way to Austin right now. Here’s what the next few days are going to look like:

* Shorter trip — I’m just going until Monday night
* Presenting at Etsy’s Mini-conference!
* Presenting at Worst Website Ever II

Those last two points warrant a bit of an explanation.

By the time I decided I really did want to try SXSW again, all the panels were filled up, passes were hard to get, and travel/lodging was almost all tapped out! At the same time, Etsy was talking about what our presence at SXSW was going to look like. I found out we were getting a space (Venue 222, 222 E. 6th street) for 2 full days (Saturday and Sunday). After some feeling sorry for myself, Amy Hoy came up with a great idea: A micro-conference.

It turns out, the idea was a winner (and inspired by some stuff Kellan and Chad saw last year as well)! So check it out:

I’ll be presenting on Deployinator. I’ll also be presenting alongside my co-workers and friends Chad, Kellan and Mike Brittain. We’re gonna attempt to brain-dump (in an entertaining way, of course) the engineering spirit that makes Etsy so unique.

But what about Worst Website Ever?!

It’s not an exaggeration to say that the most interesting and fun thing I experienced at SXSW’08 was Andy Baio’s non-panel: Worst Website Ever. When Andy told me he was reprising the presentation again this year, it solidified my desire to get down to the conference.

Through a series of really strange events, not only am I going to get to experience it… I get to pitch *my* idea as well! As nerdy and specific as it is, this is truly a dream come true.

This South By should be amazing.

Please come say hi if you see me out and about or come see something I’m participating in.

Binary Search y’all.

I’ll keep this short. I saw the first part of Kellan’s post today and decided to try my hand at it. I haven’t looked at his solution yet. Presented here is my attempt at a binary search in Ruby. I made two – one recursive for fun. I haven’t done any testing on this yet, so it might be broken. If it is… well being in with 90% of everyone else isn’t so bad is it?… is it? :)

One thing I was unclear on (going of the definition from the original post) was if the return should be the position in the array, a boolean or the searched-for element… I went with the last.

(if the embed doesn’t work, here they are on gist:

UPDATE: I tested the code out after posting it here (and have included my test suite in the embeded gist). I found a stupid typo bug in the non-recursive version:

- r = mid[mid] > needle ? 0...mid : mid+1..-1
+ r = valid_range[mid] > needle ? 0...mid : mid+1..-1

I’m going to try to think of a few more test cases before I call the matter closed. Kind of disappointed I made such a silly mistake :/

UPDATE 2: I added a pretty big test suite that someone wrote for this exercise. After fixing my very silly flub (in the first UPDATE), all the tests pass:

4 tests, 8206 assertions, 0 failures, 0 errors

I don’t know if I can give myself FULL credit, but the recursive one was right at first submission, so let’s say 95% ;)

UPDATE 3: GAHH! After benchmarking, I realized that this code isn’t O Log(N)… lame lame lame. I am not in the 10% at all ;). I’m pretty sure that Array#slice (which haystack[x...y] is a shortcut for) is O(N).
I’ve updated my gist with a better implementation (written after I looked at Kellan’s and others) along with benchmarks showing it’s O Log(N) (or thereabouts).

On Cheerleading and Critics

Alex Payne recently blogged about Criticism, Cheerleading, and Negativity. It is unsurprisingly lucid, well-thought out and well-spoken. I also think it’s missing a large piece. That piece is the voice of one of his “cheerleaders.” I’m going to fill that hole.

But First…

Having a kid, of course, makes one an expert on all subjects. So before, I provide the missing viewpoint in Alex’s piece, I wanted to agree and expand on what he said.

Twitter   Erik f. Kastner  Hunger is the Arbiter of Taste

When you’re young, your range of experience is so limited that everything is vaguely good. As are exposed to more and more, that continuum expands, and you can place things relative to one another according to your personal taste. This is similar to what Alex is saying, stated differently.

The other thing (which is neither here nor there,) is that if you’re starving, anything will taste good. It’s difficult if not impossible to be discerning when you NEED to eat.

The Missing Link (I swear I just shaved)

I am one of the cheerleaders that Alex mentions. I can fall in love with almost any pop song, playing it on repeat until people around me revolt. I have the ability to turn off that critical part of my mind (for some things) and just be entertained. This also applies to people, computer languages, movies… all kinds of stuff. Does this mean I have no taste? Maybe, but I don’t think so. If I had to, I could tell you why Billy Joel might not be the greatest artist of all time, but I’d rather enjoy him (I celebrate his entire catalog.)

Do I get burned? Sure sometimes… Do I miss out on chances to expand my palette? Yea, probably. But not as much as you might expect. I see a wide range of movies. I listen to just about every kind of music. The only place this has bit me is food – and I’m willing to bet that’s just my stubbornness :)

The Flow (after the ebb)

A lot of things in nature and life in general are cyclical. I am of the opinion that content and expression of personal thought is on the upswing.

Maybe it’s just me

I’m changing jobs (more on that later) after being at my current employer (Wine Library) for over 7 years. Naturally, with a huge life change coming, I’d be more sensitive to noticing change. I think this is more than that, but even if it isn’t, I think the change I’m describing is coming.

First, the Ebb

Over the past year or two, I’ve noticed a decline in thoughtful blogging and expression on the web. I’m hardly unique in this observation, a lot of it has been blamed on twitter, facebook and our always-connected existence. Now that it’s easier than ever to put anything out there, it’s harder to put something out, or so the thinking goes. I’m going to take a different approach. I think We (big capital we!) were molting.

The Flow

I didn’t realize what I was missing until it came back, as sad as that is. Going through my feeds this morning, I saw some very (VERY) thoughtful and thought-provoking posts from people I respect immensely. What I hadn’t realized was how long it’s been since that’s happened. I’d see a great post here and there, but it’s been a while since I’ve seen multiple posts that really got the juices going in such a short period (and it’s not even 10am yet).

The Decline?

Does this mean that twitter is doomed? That the droves are going to abandon Facebook? I doubt it! I do think that we’ve binged on the low-threshold creation, however, I also think that those services (and others) have changed us in a profound way and will be a part of our lives (or their successors) for a very, very long time. I know I’d be sad if I didn’t get the minutia of my friend’s lives. As terrible as the term is, I’ve gotten used to the “ambient intimacy”! The bottom line is that I don’t think it’s a zero-sum game. We can have it both ways, and I think we’re heading there.

The Opportunity

Seth Godin posted the following today in a post named “Tough“:

I built my first internet company before and then during the dot com boom. It was far easier to do great work before everything heated up, far easier to stand out and far easier to make a difference. This is your moment, but I’m afraid it won’t be easy.

It’s hard to tell when Seth is being challenging or honest, but taken at face value, I have to disagree with him. I think it’s easier than ever to make a disruptive service than ever before. Now that there are HUGE amounts of people online, getting them to use a DIFFERENT service is orders of magnititudes easier than getting them to use ANY service (for the first time). Thanks Facebook and Twitter!

A friend of mine is working on a super-secret blogging-type disruptive technology. I thought he was nuts (but didn’t tell him), I thought in the age of micro-posting and life-streaming, people would care less and less about a homebase that was their own. I’m still wary about it, but I do think that we’re
breaking out of our cocoons, and opportunity is coming!

3/1 Goal results

It’s been a few days since I ended my first week of goals. I was always taught
that excuses were a weakness, so this is going to be some weak stuff right here.

This past week was one of the most stressful I’ve ever been through. Defiantly
the hardest since Color Wars last year. I worked on 2 rails apps, a php script
and 2 iPhone apps.

I did try to do something this week though:

  • Lose 3 lbs. Well. No. I gained 3
  • 100 pushups. I was able to get 50 in.
  • 60 minutes of cardio. Nope. This is the one I’m most
    disappointed in. There was no reason I couldn’t find a few minutes here and
    there to get it done.
  • 7 new pictures posted. I took more than 7, but lost my card
    reader, and just didn’t have time to sit and process images
  • Save $50 for Dani. YUP!

Not a great result, but frankly I’m not that upset. There were a few times this
week when I was exhausted but did push ups anyway. I need to choose goals that
I really care about and move my life forward instead of just random stuff I think

I’m taking this week off and will be thinking about what really matters.

New Goals!

I’m pretty happy with how February turned out with my goals. I’m going to keep the momentum going and state my goals for my next cycle. One thing I realized at the end of last year was that a Year was way too long of a time-span for goals for me. After this past month, I think I can say the same about a calender month. I’m going to try week-length goals for a little while and see how they fit.

Another thing about February was that I specifically didn’t have any health, weight or fitness goals. That was by design. I’ve set and failed at those goals so many times that I wanted to get a few wins under my belt before trying them out. This week however, I’m going to focus on almost nothing but!

Here, then, is my list for the week of 3/1 – 3/7:

  • Lose 3 lbs
  • 100 Pushups
  • 60 minutes of cardio
  • 7 new pictures posted
  • Save $50 for Danika’s post-highschool fund

And here is the picture for my phone:

3/1/09 Goals

My February 2009 Goals – Wrap Up Special.

Back on February 1st, I posted my goals for the month. I only managed one status post, but I did manage to hit most of my goals.

10% More with RSS and Twitter

These were harder to hit than I expected, but was a good exercise because I had to work on it every day to get there. I did get there though:

1500 Rank in Yahoo! Games Reversi

This one was my big failure. I made a mad dash the past few days, but it wasn’t meant to be. Coming into the month, I was playing very well, and expected to hit 1500 pretty quickly. I’ve had some stress and a large lack of sleep lately, and I think it’s thrown me off. I’m going to take a break from Reversi and hopefully be better when I come back.

Put Danika to Bed as Much as Possible

I had a few people single this goal out as not S.M.A.R.T., and the way I phrased it, it wasn’t. That was to protect myself — I was worried if I wrote down my actual goal and didn’t hit it, I wouldn’t be able to look at myself! The actual goal was 15 days. I ended up doing a lot more than that. I did it every day! There was one night that my wife had to put her to bed, but she woke up during the night and I had to get her back to sleep.

10 Blog Posts

Check it out! This bad-boy is #10! One of the posts (guess which one) was a total punt, but they can’t all be gold can they? I could have managed my time a lot better than I did on this goal, but I didn’t save it all for the last minute – and THAT means more than any of you can possibly know!

Lessons learned and a look ahead

I’m pretty disappointed that I didn’t achieve all my goals, but very very happy with what I was able to accomplish. I’m very happy with how much I got done, and even though some of the goals were arbitrary, I showed myself that I can do it if I try.

Going forward, I’m going to continue to publicly set goals, and I’m going to continue to make images for my iPhone background (that worked great). I am going to tweak a few things for the next cycle though — more on that tomorrow!

The “Throne” usability factor

Some technology you don’t want in your bathroom.

If you have one of those new, shiny 17-inch macbook pros, you probably aren’t bringing it into the toilet anytime soon. A Dell Mini 9, on the other hand probably goes great.

The Kindle is perfect for the bathroom. Better even than a paperback (which usually requires two hands). What other gadgets go well in the bathroom?