Yan Pritzker photographer, entrepreneur, software engineer, musician, skier

Blog :: Git Workflows Book :: Dotfiles :: Photography :: About Me

TwitterCounter for @skwp

Get the news feed
Get updates by email
Follow me on twitter

hello, i'm yan

I am a photographer, entrepreneur, software engineer, guitarist, climber, and telemark skier

This blog is about startups, blogging, Ruby On Rails, virtualization and cloud computing, photography, customer service, marketing, ux and design, git, and lots more.

I am the chief technical something or other at Reverb.com - The Marketplace for Musicians. We're hiring web designers!

Recent Tweets

Selected Reading

Archives

Contact

Reach me at yan at pritzker.ws

Reverb Dev Blog Launches

Posted 29 March 2013 @ 1pm in thoughts · 1 Comment

We just launched the Reverb Dev Blog. I’ll be blogging there about more technical topics. This blog will remain as my personal blog with broader articles and thoughts, but with less technical content. If you’re interested in advanced Rails concepts and lean startup techniques, please follow the Reverb Dev Blog.


Google Reader dies. Who will profit?

Posted 14 March 2013 @ 11am in thoughts · 1 Comment

Google is killing off Google Reader, which acts as a warehouse of feeds for many people, feeding apps like Feedly and MobileRSS.

When it goes away there will be a power void. What we need is for someone to quickly build an API compatible replacement.

Don’t worry about the web UI part, just let people use a google account, pull their feeds, and then expose them with the same api. Charge a dollar. Or go to partners producing rss apps like Feedly and have them pay to use your api. They will need something like this if gReader goes away. You can cross promote feed apps and they can promote you to their users. Maybe get acquired by one of the larger feed app companies.

It seemse that Feedly is already busy building an API replacement. Whether they share this with other companies stands to be seen. Either way, I think there is room to compete here and to provide services for all the feed aggregators that are currently relying on Google Reader.

If I wasn’t so busy with creating a marketplace for musicians I would be all over this. Now please lazy internet, make this happen :)


Lean split testing with Nginx and Mixpanel in 5 minutes

Posted 18 October 2012 @ 12pm in a/b, lean, mixpanel, nginx, split testing · 2 Comments

Lean split testing with Nginx and Mixpanel in 5 minutes

Here’s a dead simple way to set up a split test without using a fancy application server or Rails application.

Let’s say you’re starting out with a new application and you want to test a few versions of the landing page. In the truly lean fashion, you haven’t built any dynamic application backend yet. All you’ve got is two versions of the homepage in static html, using something like MailChimp on the backend to capture your signups.

Take your two versions and place them in a directory, along with whatever assets (css/js/images) go along with them:

  • public_html/welcome.html
  • public_html/hello.html

Let’s also assume that these pages contain some type of signup form that redirects back to:

  • public_html/thanks.html

That way we’ll know the goal is completed.

Notice that I’ve named them in user friendly ways. This will become important as we’ll have our webserver (nginx) redirect to those pages, so users will see them in the url. Why nginx? Because apache is a horrible nightmare to configure.

Now sign up for mixpanel.com and follow their instructions to place a snippet of their javascript into those two pages. Additionally, add an event to the bottom of each page to identify it:

welcome.html:

<script>mixpanel.track("Landing Page: Welcome");</script>

hello.html:

<script>mixpanel.track("Landing Page: Hello");</script>

thanks.html:

<script>mixpanel.track("Signup Completed");</script>

Now, we’ll set up nginx to redirect to one of these pages “randomly”. Since there is no true random capability built in, we’re going to use the last digit of the user’s ip:

/etc/nginx/sites-enabled/mysite.conf

server {
  listen 80;
  server_name website.com;
  root /home/someuser/public_html;

  location / {
    if ($remote_addr ~ "[02468]$") {
      rewrite ^/$ http://website.com/welcome.html break;
    }
    if ($remote_addr ~ "[13579]$") {
      rewrite ^/$ http://website.com/hello.html break;
    }
  }
}

Now hit your website. If your ip is even, you’ll see the first page, and if it’s odd, you’ll see the second page.

Go to Mixpanel, and create two Funnels. One that starts with your welcome event, and one that starts with the hello event, and the second step in each funnel is the Signup Completed event. Now you have a funnel analysis for each page, and you can compare each to see how it performs.

All that, and without even an application server.


← Before