<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
	
	<title type="text" xml:lang="en">PaulStamatiou.com - Tech News, Reviews and Guides</title>
	
 	<link type="text" href="http://paulstamatiou.com" rel="alternate" />
	<updated>2012-02-08T23:24:53-08:00</updated>
	<id>http://paulstamatiou.com</id>
	<author>
		<name>Paul Stamatiou</name>
	</author>
	<rights>Copyright (c) 2005-2011, Paul Stamatiou; all rights reserved.</rights>
	
	
	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/paulstamatiou" /><feedburner:info uri="paulstamatiou" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><logo>http://feeds.feedburner.com/~fc/paulstamatiou?bg=e4e4dc&amp;fg=666666&amp;anim=0</logo><feedburner:emailServiceId>paulstamatiou</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/paulstamatiou" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Fpaulstamatiou" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><entry>
		<title>Startup Idea: User Retention as a Service</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/4oOCsJ3RecI/startup-user-retention-lifecycle-email" />
		<updated>2011-12-21T10:00:00-08:00</updated>
		<id>http://paulstamatiou.com/startup-user-retention-lifecycle-email</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vCjTrQGqZo6trfPmXpBzTiSsbD4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vCjTrQGqZo6trfPmXpBzTiSsbD4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vCjTrQGqZo6trfPmXpBzTiSsbD4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vCjTrQGqZo6trfPmXpBzTiSsbD4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;It was the middle of our Y Combinator batch this summer. Akshay and I had a decently functioning version of Picplum that we were continuing to test and polish up. At the end of our office hours that day, Paul Graham said our product was good enough and that we should &lt;strong&gt;stop coding and start selling &amp;amp; marketing&lt;/strong&gt;. I think about this quite often.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/pstam-yc-officehours.jpg" alt="Office Hours with Paul Graham, Aaron Iba and Picplum at Y Combinator" title="Office Hours with Paul Graham, Aaron Iba and Picplum at Y Combinator"/&gt;&lt;br/&gt;&lt;small&gt;Picplum at YC office hours in July. Photo Credit: Garry Tan&lt;/small&gt;&lt;/div&gt;





&lt;p&gt;&lt;strong&gt;tl;dr&lt;/strong&gt; Trying to draw attention to the importance of lifecycle marketing. I build up the case, talk about where lifecycle marketing makes sense, show an amateur first attempt at it, then proceed to layout a grand idea for a lifecycle email marketing service I want to see someone build. Please share this post.&lt;/p&gt;

&lt;p&gt;I was in that mindset when I decided to sit down a few weeks ago and hammer out some code that would help with that (typical engineer approach.. get code to do it for you).  One of my perpetual to-do items in the few months following our launch was converting users that signed up but never did anything into users that sent out their first batch of prints. The latter is more or less our definition of an activated user. You can find more info about Picplum in my lengthy post-launch article, &lt;strong&gt;&lt;a href="http://paulstamatiou.com/picplum-automatic-photo-prints-parents" title="Thoughts on Picplum Automatic Photo Prints"&gt;Thoughts on Picplum Automatic Photo Prints&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;New users see a simplified onboarding UI; a simple 3-step flow for adding photos, recipients and then sending their first batch. &lt;strong&gt;But how many people signed up and never got around to adding photos?&lt;/strong&gt; Maybe they just didn't have any photos at the moment and wanted to wait until after the holidays to add them.. and then they forgot. The same might be the case for people that have used Picplum in the past but haven't engaged recently.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_drag_1100.jpg" title="Dragging and dropping photos from iPhoto into Picplum"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_drag.jpg" alt="Dragging and dropping photos from iPhoto into Picplum"&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;somewhat unrelated but here's our onboarding UI&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Enter lifecycle or drip email marketing.&lt;/strong&gt; This is not the same as your traditional newsletter blast that goes to every registered user, nor a transactional/trigger email (such as instantly emailing individual users a welcome email when they signup or sending a notification that their package has shipped). Lifecycle email marketing depends on various factors that describe the state of their account. Let's say you have a complex web app involving a hairy 10 step onboarding process. You would write several different emails for each possible place a user could stop engaging. Say they fell out at step 4 of 10. You would send an email after some amount of time that is indicative of where they left off and what they did in the last steps. Not just a "finish setting up your account" email.&lt;/p&gt;

&lt;p&gt;That's just one use case that happens to deal with getting a user onboarded. There are many more. I go a bit more in-depth down below.&lt;/p&gt;

&lt;h4&gt;Why lifecycle email marketing?&lt;/h4&gt;


&lt;p&gt;You're probably familiar with &lt;a href="http://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-long-version" title="Startup Metrics for Pirates"&gt;Dave McClure's Startup Metrics for Pirates&lt;/a&gt;:
&lt;strong&gt;AARRR&lt;/strong&gt; &amp;mdash; Acquisition, Activation, Retention, Referral, Revenue&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;Startups spend &lt;strong&gt;gobs of time and money on user acquisition&lt;/strong&gt; and then they just let those hard-earned new users slip through the cracks by failing to engage them and carry on with proper retention tactics. &lt;strong&gt;You might have happier users&lt;/strong&gt; if you spent nearly as much time on user retention as you spent on that fancy user invite module that comes up before the user has even tried out your service.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/pstam_mcclure_pirate_lifecycle.jpg" alt="Mcclure pirate lifecycle"/&gt;&lt;br/&gt;&lt;small&gt;This blog post is all about step 3!&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Startups en masse are failing at this. I'm a curious person. I signup for new startups all the time, even if it's not exactly interesting to me. I want to see how they approach email marketing, what kind of design and UX choices they make (if you've read my &lt;a href="http://paulstamatiou.com/startup-web-design-ux-crash-course" title="Crash Course: Design for Startups"&gt;design post&lt;/a&gt;, you know I take lots of LittleSnapper screenshots), et cetera. But guess what? I &lt;strong&gt;rarely hear back&lt;/strong&gt; from any of these startups. At best I receive some generic "we have a new feature" newsletter that is a copy and paste of their company blog.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Startups, PLEASE EMAIL ME MORE.&lt;/strong&gt;
It's not a biggie. If I don't like your emails or service, I'll simply unsubscribe. No harm done.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/pstams_lifecycle_marketing.jpg" alt="lifecycle email marketing infographic"/&gt;&lt;br/&gt;&lt;small&gt;Which are you?&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;So who's doing it right? I'm having a hard time coming up with examples of companies that do a great job of such lifecycle marketing but if you think of any please mention in the comments. AppSumo emails me a ton and I haven't unsubscribed yet. While their emails aren't indicative of lifecycle marketing and are more along the lines of daily deal updates, they are way up there there in terms of copywriting. Their emails do a great job of getting my attention and keeping it as I open the emails.&lt;/p&gt;

&lt;p&gt;For the most part the startups that &lt;em&gt;do&lt;/em&gt; email me a lot don't seem personal. The copy doesn't address whether I've been a long-time user well versed in everything about their offering, if I just signed up or if I'm somewhere in the middle. Lifecycle email marketing fills in these gaps by being informed about each user before reaching out. &lt;strong&gt;While it's outside the scope of this article, great copywriting for emails is just as important.&lt;/strong&gt; I'm not an expert on that so I can't comment, but I'm looking to learn more if you can suggest any great web/email-targeted copywriting blogs or resources.&lt;/p&gt;

&lt;p&gt;Lifecycle email marketing is for helping your users engage with your product or service in the intended manner. It's not simply sending reminder emails. It's offering useful help when you notice they haven't done a certain task yet. Maybe it was too hard? Offer them help and tips. Reward them on their last successful actions and offer positive reinforcement for continuining.&lt;/p&gt;

&lt;h4&gt;The Numbers&lt;/h4&gt;


&lt;p&gt;Alright, time for napkin numbers. You work hard all day and put up a Show HN post. You get 2,000 visitors to your startup's homepage. You get a decent signup conversion rate. Let's say 10%. You have 200 new users! Another 10% of those end up activating. Your definition of activating will vary, but let's say this startup is Greplin. They want people to link up data sources they can begin to index. Only 20 people activate right on the spot. That leaves a lot of unactivated people. I'll stop the numbers there but you can imagine that while some will come back when they remember or when Greplin sends out a regular newsletter, there's a lot being left on the table.&lt;/p&gt;

&lt;p&gt;Now imagine if you were in a different business and you paid a lot to AdWords to acquire all of those users. You just lost a lot of money on paid users that did nothing.&lt;/p&gt;

&lt;p&gt;Now here's the great thing about lifecycle email marketing: &lt;strong&gt;set it up once and it keeps on giving&lt;/strong&gt;. The effects just keep on compounding forever and ever (until you change your product and your outdated email copy doesn't quite correlate anymore).&lt;/p&gt;

&lt;h4&gt;Fisher Price: My First Lifecycle Mailers&lt;/h4&gt;


&lt;p&gt;Now that you're sold on lifecycle marketing, back to my story.&lt;/p&gt;

&lt;p&gt;I wrote three different mailers with varying copy. Then there's some logic that is informed about the following:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;number of photo batches user has sent&lt;/li&gt;
    &lt;li&gt;time since last batch shipped&lt;/li&gt;
    &lt;li&gt;time since account registration&lt;/li&gt;
    &lt;li&gt;time since last retention mailer sent&lt;/li&gt;
    &lt;li&gt;what retention mailer was last sent&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And it's all hooked up on a cron'd resque job, delivered by Mailgun with send events also tracked by Kissmetrics. This is done so we can see in Kissmetrics any flurry of activity following a retention email delivery.&lt;/p&gt;

&lt;p&gt;For example, if a user signed up just over 2 weeks ago and hasn't done anything, they'll get a simple "We've missed you" email with some tips for getting started. If another user has sent one batch but it has been 40 days since, they will receive a different email. Users that have not done anything at all and already received that first email, we'll send them different retention email. As for users that have sent several batches with Picplum, I mark them as activated and don't send them any more retention emails (though I will be changing this shortly to add another mailer for such active users, maybe even prompting them to invite others -- going onto the second R in AARRR).&lt;/p&gt;

&lt;p&gt;After I committed this first stab at user retention, Akshay offered up some scenarios. What about users that have recently logged in? This logic doesn't take into account those events. Should those users still get the retention email? What about new users that have added photos, but not recipients? Should we make the email more personal and send a different mailer with "add some recipients" helper copy?&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/akshay_india_animals.jpg" alt="Akshay Dodeja telling animals about Picplum"/&gt;&lt;br/&gt;&lt;small&gt;Co-founder @Dodeja in Jabalpur for the holidays, converting farm animals into paying Picplum users.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Ah, a logic nightmare! &lt;strong&gt;Keep going down this rabbit hole and it's easy to see that a good lifecycle email marketing strategy will have lots of different email types for specific user lifecycles. Lifecycle email marketing is a bitch to do right&lt;/strong&gt;. That's where the impetus for this blog post comes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I want a startup to do this for other startups.&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;The Startup Idea (BUILD THIS)&lt;/h4&gt;


&lt;p&gt;While lifecycle email marketing is a part of many enterprise marketing automation products such as Pardot, SilverPop, eTrigue, StrongMail, Marketo, Eloqua and HubSpot (née Performable), I have yet to see any such products that directly address my startup needs. By that I mean that I don't want to use a complete marketing automation SaaS offering. I don't care about integrating with Salesforce right now. I want something that simply takes care of the lifecycle email mayhem I started talking about above and I'm sure I am not the only one.&lt;/p&gt;

&lt;h4&gt;How it would work&lt;/h4&gt;


&lt;p&gt;I would setup &lt;strong&gt;the service ('RETENTIONIZER')&lt;/strong&gt; to track lots of events about each user. It could even piggyback onto our Kissmetrics reports and 85 different events we already have in place through their &lt;a href="http://help.kissmetrics.com/customer/portal/articles/223504-data-export" title="Kissmetrics Data API"&gt;data export feature&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The RETENTIONIZER would then allow me to wire up a bunch of triggers, not unlike setting up a GMail filter or Kissmetrics report. They could simply be per-user based purely on events with some delay, or even per-cohort. It would even have it's own events &amp;mdash; how the user responded to a past retention mailer. Only send this if they didn't open the last email, et cetera.&lt;/p&gt;

&lt;p&gt;I would supply the marketing copy for as many mailers as I want and it would hook into my email service provider API and set the proper campaign tags when delivering. It would integrate closely with Mailgun/SendGrid/SES/Postmark so that it could receive all tracking data. The RETENTIONIZER would report back on whether or not the user engaged with the email in the desired manner for which you had set the success conditions. This would make it easy to correlate on-site user activity with retention mailers.&lt;/p&gt;

&lt;p&gt;For example, if the RETENTIONIZER sent a relatively new, unactivated user an email about TASK X, it would know if the user opened the email, clicked through and then actually did the specified task on the site, or if the user just logged in but then unexpectedly clicked some button for unrelated TASK Y. The RETENTIONIZER would inform you if your marketing copy was failing to achieve the desired result (and let you A/B test different copy for the same mailer of course), or if something else on-site diverted users. It would use this data to automatically adjust delays for best engagement as well.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/pstam_acquired_user_victory_baby.jpg" alt="Acquired user, User Stuck Around" align="right" style="padding-left:20px;padding-bottom:5px;"/&gt;
Can you tell this stuff is getting me really excited? I could go on for tons of use cases but the idea is simple. Keep users engaged by uniquely offering them a gentle reminder or tip that is exactly relevant to them. Nothing is more annoying than a retention email telling me to buy or do TASK X when I just did it the day before. Mailers need to be data-informed too.&lt;/p&gt;

&lt;p&gt;&lt;del&gt;This stuff really gets interesting if you have everything setup to automagically create cohorts for paid advertising campaigns. Say you run a Reddit promoted ad, Stumbleupon Paid Discover campaign, Facebook Ad, AdWords campaign and/or Kiip campaign.&lt;/del&gt; I'll leave that for another blog post..&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.silverpop.com/newsletters/digitalmarketer/simplifiedapproach_lifecycle_mktg_12_06.html" title="A Simplified Approach to Lifecycle Marketing"&gt;Email marketers will tell you&lt;/a&gt; about some common segments for users: &lt;strong&gt;interested recipients&lt;/strong&gt;, &lt;strong&gt;engaged customers&lt;/strong&gt;, &lt;strong&gt;lapsed customers&lt;/strong&gt;. But the product idea described above would make it easier to dive even deeper. Cohorts are magical. &lt;a href="http://500.co/2011/07/14/cohort-metrics-for-startups-revealed-part-ii-aged-groups/" title="Cohort metrics for startups revealed part ii"&gt;Dan Martell agrees&lt;/a&gt;.&lt;/p&gt;

&lt;!--As for the interface, think old school Lego Mindstorms drag and drop blocks. Complete with space background. Or just a bunch of dropdowns you string together. That works too.

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/mindstorms_block_drag_ui.jpg" alt="Lego Mindstorms drag and drop block ui"/&gt;&lt;/div&gt;--&gt;




&lt;h4&gt;In a nutshell&lt;/h4&gt;


&lt;p&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/pstam_retentionizer.jpg" alt="the RETENTIONIZER (mini) in action" align="left" style="padding-right: 20px;padding-bottom:5px;"/&gt; I send the RETENTIONIZER user events and tell it under which conditions it should send out one of the mailers I provide, and then it delivers the respective user retention email when appropriate. The service begins with smart defaults for delays and then learns as it sends out more and more and tracks user engagement with each.&lt;/p&gt;

&lt;p&gt;Such an offering wouldn't be for everyone. At some point in a company's growth, they'll end up building this in-house or find themselves needing a miscellany of other features that those enterprise companies listed earlier are all about. I'm convinced that this will be a no-brainer for many, many startups. What do you think? Drop me a comment below.&lt;/p&gt;

&lt;h4&gt;Isn't there an easier option Stammy??&lt;/h4&gt;


&lt;p&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/pstam-invalid-argument-unicorn.jpg" alt="Your argument is invalid" align="right" style="padding-left: 20px;padding-bottom: 5px;"/&gt;
Or you can continue cutting into your customer's LTV and blow that cash on user acquisition with Google AdWords all day only to have those users forget about your service the next week. Getting user retention right is no easy task. It may not be your priority at the moment; finding product/market fit should come first. But then again, having more (retained) users to help you find that fit is good too. Chicken &amp;amp; egg.&lt;/p&gt;

&lt;p&gt;This is a full-time job and not many startups can afford to do that. But they really need to get smarter with their email marketing. Which is why I want some startup to build this product! Take this blog post as a glorified letter of intent for me paying for this product when it emerges.&lt;/p&gt;

&lt;h4&gt;Email Template Dev Workflow&lt;/h4&gt;


&lt;p&gt;After being asked about how we did our emails by &lt;a href="http://ridejoy.com/" title="Ridejoy - Share rides with friendly people."&gt;Ridejoy&lt;/a&gt;, &lt;a href="http://parse.com" title="Parse"&gt;Parse&lt;/a&gt;, and &lt;a href="http://www.hackernewsletter.com/"&gt;Hacker Newsletter&lt;/a&gt;, I wanted to share a bit about our process.&lt;/p&gt;

&lt;p&gt;We got started with one of &lt;a href="https://github.com/mailchimp/Email-Blueprints" title="Mailchimp Email Blueprints"&gt;MailChimp's free Email Blueprints&lt;/a&gt; &amp;mdash; a great, well-tested starting point that just needs your design. As the name implies they are really for use with MailChimp and we're going to be using them for every email including our transactional and retention emails sent by Mailgun. So we're going to need to strip out the merge tags and included &amp;lt;style&amp;gt; block.&lt;/p&gt;

&lt;p&gt;MailChimp has a great article that provides some &lt;a href="http://kb.mailchimp.com/article/how-to-code-html-emails/" title="How To Code HTML Emails"&gt;rules of thumb for working with HTML emails&lt;/a&gt;. Skim through it and come back. If you've really got some time to kill, MailChimp even has a massive &lt;a href="http://mailchimp.com/resources/guides/html/email-marketing-field-guide/" title="Field Guide To Email Marketing"&gt;Field Guide To Email Marketing&lt;/a&gt;. I'm just going to &lt;a href="http://paulstamatiou.com/nespresso-lattissima-plus" title="Nespresso"&gt;make a cappuccino over here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Okay so the main things you need to know: you need to inline your CSS, tables are your friend, don't use too many images and don't expect any fancy CSS3 to work. For the latter, checkout this guide that shows what &lt;a href="http://www.campaignmonitor.com/css/" title="Guide to CSS Support in Email"&gt;CSS each email client doesn't support&lt;/a&gt;, which should just be renamed "Why Outlook Sucks." If you avoid CSS3 and pseudo-selectors you're mostly there.&lt;/p&gt;

&lt;p&gt;The hard part is working with an HTML email template where all the styles must be inlined. Fortunately there's &lt;a href="https://github.com/alexdunae/premailer" title="Premailer - Preflight for HTML email"&gt;Premailer&lt;/a&gt; (and &lt;a href="https://github.com/stammy/premailer-rails3"&gt;the Rails wrapper&lt;/a&gt; of it). Premailer does a few things, but of note it'll &lt;strong&gt;automatically inline CSS styles from an email.css&lt;/strong&gt; file you create and &lt;strong&gt;generate nicely formatted plaintext version&lt;/strong&gt; of emails on the fly. Though there are a few cases where I still write my own plaintext emails. For example, an issue with premailer where it ignores alt/title tags on linked images, which we use for certain large call to action buttons.&lt;/p&gt;

&lt;p&gt;As an aside, premailer hasn't been updated in a while, most likely as the author is working on the next major version. Be sure to stray away from &lt;a href="https://github.com/alexdunae/premailer/pull/94" title="Premailer encoding"&gt;the premailer default of ASCII-8BIT&lt;/a&gt; or you'll be subject to emails from some of your users saying they didn't like all the odd characters in their name. Premailer also has issues with certain CSS shorthands such as the following.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="css"&gt;&lt;span class="nt"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;1px&lt;/span&gt; &lt;span class="nt"&gt;solid&lt;/span&gt; &lt;span class="nf"&gt;#d4d6d7&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;border-left-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;#c9cccd&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;border-right-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;#c9cccd&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;border-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;2px&lt;/span&gt; &lt;span class="nt"&gt;solid&lt;/span&gt; &lt;span class="nf"&gt;#b1b7b9&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Akshay found a slick gem called &lt;a href="https://github.com/ryanb/letter_opener" title="Letter Opener Ruby Gem"&gt;letter opener&lt;/a&gt; that lets you preview emails locally instead of delivering them. I used to use &lt;a href="http://mocksmtpapp.com/" title="MockSMTP app for email testing"&gt;MockSMTP.app&lt;/a&gt; for this but find letter opener easier. It opens up email previews in a browser tab and lets you toggle between plain text and HTML versions. But it's purely for basic testing; it might look great in there and still be horribly broken in GMail. When it's time to do some real testing, turn off letter opener and send emails to yourself in Gmail and a few other clients. Tweak as necessary.&lt;/p&gt;

&lt;p&gt;Getting email templates right is still a pain in the ass. But if you have a pinch of patience and a nice beverage by your side you can get it done. The last thing to do is hook up &lt;strong&gt;the all important unsubscribe link&lt;/strong&gt;. Make it easy for people to unsubscribe if they want to people are less inclined to report as spam.&lt;/p&gt;

&lt;p&gt;You can either just link to your user settings page or take advantage of Mailgun's unsubscribe feature. Just include %tag_unsubscribe_url% (if you use campaign tags and only want them to unsubscribe from that kind of campaign) and Mailgun will replace that with their own unsubscribe URL and never let an email get sent to that person again, even if you accidentally do it on your end. However, I'm a bit paranoid and want those unsubscribe settings synced on our end too. (And I once ran into an issue where the incorrect email address was unsubscribed &amp;mdash; I only use one email account in Google Apps, with about 7 other accounts either getting forwarded or imported in).&lt;/p&gt;

&lt;p&gt;Time for webhooks! Little bit o' this&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;  &lt;span class="c1"&gt;# in the webhooks controller. please sign your webhooks&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;verify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;signature&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="c1"&gt;# from http://documentation.mailgun.net/user_manual.html&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;signature&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="no"&gt;OpenSSL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;HMAC&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;hexdigest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;OpenSSL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Digest&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Digest&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;sha256&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%s%s&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;  
  
  &lt;span class="c1"&gt;# email_type provided in X-Mailgun-Variables header; if you have various types of things to unsub&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;unsubscribe&lt;/span&gt;
    &lt;span class="no"&gt;User&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;user_id&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;email_unsubscribe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;email_type&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;verify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;APP_CONFIG&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;mailgun_key&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;token&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;timestamp&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;signature&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;      
    &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="n"&gt;nothing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Little bit o' that&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;  &lt;span class="c1"&gt;# from mailer&lt;/span&gt;
  &lt;span class="c1"&gt;# notice the X-Mailgun-Variables header where we provide some JSON&lt;/span&gt;
  &lt;span class="c1"&gt;# user id to verify correct user, avoids wrong email unsub issue explained above&lt;/span&gt;
  &lt;span class="c1"&gt;# be careful with JSON spacing or it wont work&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;retention_second_batch_reminder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="vi"&gt;@user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;
    &lt;span class="n"&gt;tag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Retention: Second batch, first reminder&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;mail&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="ss"&gt;:to&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="ss"&gt;:subject&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;We&amp;#39;ve missed you! Send some Picplum Prints today&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="s1"&gt;&amp;#39;X-Mailgun-Variables&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;{&lt;/span&gt;&lt;span class="se"&gt;\&amp;quot;&lt;/span&gt;&lt;span class="s2"&gt;user_id&lt;/span&gt;&lt;span class="se"&gt;\&amp;quot;&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, &lt;/span&gt;&lt;span class="se"&gt;\&amp;quot;&lt;/span&gt;&lt;span class="s2"&gt;email_type&lt;/span&gt;&lt;span class="se"&gt;\&amp;quot;&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="se"&gt;\&amp;quot;&lt;/span&gt;&lt;span class="s2"&gt;retention&lt;/span&gt;&lt;span class="se"&gt;\&amp;quot;&lt;/span&gt;&lt;span class="s2"&gt;}&amp;quot;&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;tag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;campaign&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="c1"&gt;# helps with setting campaign tags&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;X-Mailgun-Tag&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;X-Campaign-Id&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;campaign&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;And there's a lot more you can do for tracking other Mailgun events. Of course Mailgun has their new HTTP sending API (faster than SMTP + no more MIME!), so I'll need to migrate to that in the near future.&lt;/p&gt;

&lt;p&gt;Here's an example of one of our &lt;a href="https://www.picplum.com/gift" title="Picplum gifts"&gt;Picplum gift&lt;/a&gt; emails (though this trigger email doesn't have an unsubscribe link):&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/pstam_picplum_gift_template_example.jpg" alt="Picplum gift template email"/&gt;&lt;/div&gt;


&lt;p&gt;This particular HTML layout has the nice benefit of being &lt;strong&gt;Mailgun Approved&lt;/strong&gt;:&lt;/p&gt;

&lt;blockquote&gt;Hey guys, very nicely done with design of your emails.&lt;br/&gt;

Not only they look great and don't abuse images, they're also very friendly on spam filters as well. Will take a screenshot and keep sharing with our users if you don't mind.&lt;br/&gt;
--&lt;br/&gt;
Ev Kontsevoy&lt;/blockquote&gt;


&lt;p&gt;If you read this far, you've won a Picplum account! Click below to signup.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="https://www.picplum.com/signup?utm_source=Bloggers&amp;utm_campaign=stammy_retention_post&amp;utm_medium=web" title="Picplum Prints"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/picplum_620.png" alt="Picplum Prints" title="Picplum Prints"/&gt;&lt;/a&gt;&lt;/div&gt;




&lt;h4&gt;We're hiring at Picplum!&lt;/h4&gt;


&lt;p&gt;&lt;strong&gt;We're hiring our first engineer!&lt;/strong&gt; Want to work on a product that actually puts smiles on people's faces?  We are a design-minded and data-informed team based in San Francisco working on problems that really affect people. Read more &lt;a href="https://www.picplum.com/about" title="Picplum"&gt;about Picplum and the team&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Want to hear more? Send us an email at &lt;strong&gt;founders@picplum.com&lt;/strong&gt;. Be sure to link us to something funny on reddit too. Then we can tell you about our buzzwords like backbone, coffeescript and rails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Special Thanks&lt;/strong&gt; to &lt;a href="http://appsumo.com" title="Noah Kagan"&gt;Noah Kagan of AppSumo&lt;/a&gt; for reading a draft of this post. This post made possible by &lt;a href="http://paulstamatiou.com/coding-zone" title="The Coding Zone"&gt;several seemingly endless blocks of time&lt;/a&gt;, &lt;a href="http://paulstamatiou.com/sennheiser-hd-650-headphones" title="Sennheiser HD 650s... Wow"&gt;Sennheiser HD 650 headphones&lt;/a&gt;, many Above &amp;amp; Beyond Trance Around the World sets and level 32 in &lt;a href="http://www.amazon.com/gp/product/B00503E8S2/ref=as_li_ss_tl?ie=UTF8&amp;tag=paulstamatiou-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00503E8S2"&gt;Modern Warfare 3&lt;/a&gt; (gamertag StammyHD). Follow &lt;a href="http://twitter.com/stammy" title="Paul Stamatiou on Twitter"&gt;@Stammy&lt;/a&gt; and &lt;a href="http://twitter.com/picplum"&gt;@picplum&lt;/a&gt; on Twitter.&lt;/p&gt;

&lt;p&gt;This was a long blog post and I no doubt made some errors in here. Please drop me a comment below for any you spot. Thank you and happy holidays.&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/startup-user-retention-lifecycle-email" title="Startup Idea: User Retention as a Service"&gt;Startup Idea: User Retention as a Service&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=4oOCsJ3RecI:UYm5xTHSli4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=4oOCsJ3RecI:UYm5xTHSli4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=4oOCsJ3RecI:UYm5xTHSli4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=4oOCsJ3RecI:UYm5xTHSli4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=4oOCsJ3RecI:UYm5xTHSli4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=4oOCsJ3RecI:UYm5xTHSli4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=4oOCsJ3RecI:UYm5xTHSli4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=4oOCsJ3RecI:UYm5xTHSli4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/4oOCsJ3RecI" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/startup-user-retention-lifecycle-email</feedburner:origLink></entry>
	
	<entry>
		<title>Talking Startups and Picplum on BBC News</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/CPneny1lxS8/picplum-bbc-news" />
		<updated>2011-12-14T18:19:47-08:00</updated>
		<id>http://paulstamatiou.com/picplum-bbc-news</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/frY_W6qh1aiczWnl0XEnQHdmSPo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/frY_W6qh1aiczWnl0XEnQHdmSPo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/frY_W6qh1aiczWnl0XEnQHdmSPo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/frY_W6qh1aiczWnl0XEnQHdmSPo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;After a gracious introduction to the BBC by Mr &lt;a href="http://amitguptaneedsyou.com/" title="Amit Gupta Needs You"&gt;Amit Gupta&lt;/a&gt;, I appeared in a short &lt;a href="http://www.bbc.co.uk/news/magazine-16153167" title="New York vs San Francisco in fight for tech start-ups" target="_blank"&gt;BBC News segment&lt;/a&gt; about the Silicon Valley startup scene as compared to the NYC startup community. Click the screenshot below to watch the video!&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://www.bbc.co.uk/news/magazine-16153167" title="New York vs San Francisco in fight for tech start-ups" target="_blank"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/picplum-bbc-pstam.jpg" alt="Paul Stamatiou talking about Picplum and startups on BBC"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;On BBC News talking about Silicon Valley, startups and Picplum&lt;/small&gt;&lt;/div&gt;







&lt;p&gt;While it's only a 3 minute segment with half that with me, there were quite a few things I mentioned on tape that did not get included. Definitely a more pleasant experience than &lt;a href="http://www.youtube.com/watch?v=08KtqhR0bf0" title="Paul Stamatiou Nike+ ad"&gt;my Nike commercial&lt;/a&gt; where a film crew of 16 people taped for 14 hours to create a 30 second ad, but I digress. I'd like to expand on my thoughts a bit here.&lt;/p&gt;

&lt;p&gt;First off, I'm am super happy with the video (aside from my ever-present fast talking) and it was just in time for &lt;strong&gt;&lt;a href="https://www.picplum.com" title="Picplum Prints"&gt;Picplum&lt;/a&gt;&lt;/strong&gt; as Akshay and I begin switching gears from coding, coding, coding to focusing more effort on PR and marketing. I had to flip on a few more instances on Heroku in the morning when it was also mentioned on &lt;a href="http://www.huffingtonpost.com/2011/12/13/san-francisco-versus-new-york_n_1146183.html" title="San Francisco Versus New York: BBC Explores The Technology Industries In Two Cities (VIDEO)"&gt;Huffington Post&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Silicon Valley is not SF&lt;/h4&gt;


&lt;p&gt;Some folks on &lt;a href="http://news.ycombinator.com/item?id=3346194"&gt;Hacker News&lt;/a&gt; were clamoring about how the video appeared to use Silicon Valley and SF interchangeably. While I often said and referred to the "Bay Area" as a whole in the taping, as far as I'm concerned they are pretty much the same. There are tons of startups in SV and SF. That's all that really matters to me. Lots of startups that &lt;a href="http://www.7x7.com/tech-gadgets/y-combinator-partner-harj-taggar-san-francisco-becoming-silicon-valley" title="Y Combinator Partner Harj Taggar: San Francisco is Becoming Silicon Valley"&gt;begin in SV move up to the city&lt;/a&gt; to attract young engineers that are lured by the SF lifestyle. And startups like &lt;a href="http://aerofs.com" title="AeroFS"&gt;AeroFS&lt;/a&gt; love it in SV (my assumption) as they tend to hire folks, such as senior systems engineers, that happen to be older, have families and want to raise them in SV. Both ways work well. And of course there's the &lt;a href="http://flotype.com/" title="Flotype"&gt;Berkeley startup scene&lt;/a&gt; as well.&lt;/p&gt;

&lt;h4&gt;Chance Encounters &amp; Paying It Forward&lt;/h4&gt;


&lt;p&gt;Call this the "echo chamber" if you want, but everyone in my vicinity in SF works on their own startup or for a startup. I can't walk to get lunch without running into founders. This is a good thing. It's these chance encounters (that &lt;a href="http://www.paulgraham.com/hubs.html" title="Why Startup Hubs Work"&gt;Paul Graham so raves about&lt;/a&gt;) with people that are in a position to help you out in some way and &lt;em&gt;want&lt;/em&gt; to help you that make this a great startup environment.&lt;/p&gt;

&lt;p&gt;In the video I mentioned a few people that unfortunately did not get edited in: &lt;a href="https://twitter.com/#!/hnshah" title="Hiten Shah"&gt;Hiten Shah&lt;/a&gt;, &lt;a href="https://twitter.com/#!/danmartell" title="Dan Martell"&gt;Dan Martell&lt;/a&gt; and &lt;a href="http://twitter.com" title="Noah Kagan"&gt;Noah Kagan&lt;/a&gt; (though Noah has since moved to Austin he was instrumental in helping me get on my feet when I moved here).&lt;/p&gt;

&lt;p&gt;These folks &amp;mdash; and many others like them in SV &amp;mdash; are the essence of the startup scene in my opinion. I can't run into them for 15 seconds without them asking "How can I help? What's the hardest thing for you now?" And it's not like they're paying me back for something, they are driven to help fellow entrepreneurs. I'm sure you can find some facet of that in New York, but not as much. Technology is just a tiny part of NYC's vibrant fashion, finance, advertising and PR industries.&lt;/p&gt;

&lt;p&gt;When I was growing up I always heard the phrase "surround yourself with people smarter than you," a variation of an early David Ogilvy quote. Well that's what I'm doing in the Bay Area.&lt;/p&gt;

&lt;h4&gt;Soft Landings&lt;/h4&gt;


&lt;p&gt;Of course there's a plethora of funds investing in startups of all sorts, so I won't spend any time on that. But the thing that doesn't get mentioned much is the number of talent acquisition offers that get made. It happens a lot more than you hear about on TechCrunch. This is a byproduct of the &lt;a href="http://startupboy.com/2011/12/13/why-you-cant-hire/" title="Why You Can't Hire"&gt;surplus of founders&lt;/a&gt;, where startups are in a hiring crunch. It's almost too easy for talented individuals to start their own company and raise some capital to get started. Sean Parker has gone on record recently saying that small startups are ridiculously overfunded.&lt;/p&gt;

&lt;p&gt;What does that mean? If you're talented and your startup isn't working out, or even if it is too early too tell, chances you will receive an email or call from another founder asking if you'd be open to a talent acquisition. These have come up for me a few times in the past and it almost seems like it's the norm in the Bay Area. In New York? Not so much (completely blind assumption added for effect, please dispute in the comments!).&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/12/akshay_bbc_picplum.jpg" alt="Akshay Dodeja working on Picplum"/&gt;&lt;br/&gt;&lt;small&gt;Akshay and I in the office&lt;/small&gt;&lt;/div&gt;




&lt;h4&gt;Bias much?&lt;/h4&gt;


&lt;p&gt;I might seem like I'm being a bit &lt;em&gt;overly&lt;/em&gt; pro-Bay Area and boasty in this post. I realize there are other places to run startups, but I love it here and wouldn't have it any other way. Come and visit for a few days, tour a few startups.. hopefully you'll be able to grok what I'm trying to portray.&lt;/p&gt;

&lt;p&gt;I can see myself living in NYC at least for a year just to check it out (and find a Greek wife in &lt;a href="http://en.wikipedia.org/wiki/Astoria,_Queens"&gt;Astoria&lt;/a&gt;) but as long as I'm doing a startup, I'll be in the Bay Area. Anyways, I felt like I need to write at least some sort of brain dump on my blog so you guys don't think I've abandoned it! Just been working a bunch. I have one other large post coming when I can get a chance to write again. It's about a startup idea that I'm not going to pursue but that someone definitely needs to build.&lt;/p&gt;

&lt;h4&gt;Send some prints!&lt;/h4&gt;


&lt;p&gt;Why not share the love this holiday season and &lt;strong&gt;&lt;a href="https://www.picplum.com/gift" title="Picplum Gifts"&gt;buy a Picplum gift&lt;/a&gt;&lt;/strong&gt; for someone in your family or send them prints of your own?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I need your help&lt;/strong&gt; spreading the word about Picplum. Please do me a huge favor and &lt;a href="http://twitter.com/picplum"&gt;tweet&lt;/a&gt;, &lt;a href="http://facebook.com/picplum" title="Picplum on Facebook"&gt;Facebook&lt;/a&gt;, &lt;a href="https://plus.google.com/115924020941809822231/posts" title="Picplum on Google+"&gt;Google+&lt;/a&gt;, blog or whatever it is you do best, about &lt;a href="https://www.picplum.com" title="Picplum Prints"&gt;Picplum&lt;/a&gt;. I would really appreciate it. Thank you for reading my blog.&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/picplum-bbc-news" title="Talking Startups and Picplum on BBC News"&gt;Talking Startups and Picplum on BBC News&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=CPneny1lxS8:iJW8aT2E0k8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=CPneny1lxS8:iJW8aT2E0k8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=CPneny1lxS8:iJW8aT2E0k8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=CPneny1lxS8:iJW8aT2E0k8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=CPneny1lxS8:iJW8aT2E0k8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=CPneny1lxS8:iJW8aT2E0k8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=CPneny1lxS8:iJW8aT2E0k8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=CPneny1lxS8:iJW8aT2E0k8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/CPneny1lxS8" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/picplum-bbc-news</feedburner:origLink></entry>
	
	<entry>
		<title>The Coding Zone</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/pbO7STMpXgw/coding-zone" />
		<updated>2011-10-23T01:27:52-07:00</updated>
		<id>http://paulstamatiou.com/coding-zone</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/euH14B9G_0A1Dvt6vkTCs6wztXs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/euH14B9G_0A1Dvt6vkTCs6wztXs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/euH14B9G_0A1Dvt6vkTCs6wztXs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/euH14B9G_0A1Dvt6vkTCs6wztXs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I've learned there are three main things that set me up for a productive programming session.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/10/coding_zone.jpg" alt="Coding zone"/&gt;&lt;br/&gt;&lt;small&gt;My current coding wonderland.&lt;/small&gt;&lt;/div&gt;







&lt;h4&gt;Good Music&lt;/h4&gt;


&lt;p&gt;
An endless supply of new beats works wonders. &lt;strong&gt;This is the absolute most important thing for me.&lt;/strong&gt; If I have to context switch every 3 minutes to find a better song to play, not much is going to get done. Sometimes I'll loop through a Deadmau5 album on Spotify, or listen to a set like &lt;a href="http://www.trancearoundtheworld.com/" title="Trance Around the World"&gt;Trance Around the World&lt;/a&gt;. While I really enjoy leaks and mashups on &lt;a href="http://hypem.com/stammy" title="Stammy on Hype Machine"&gt;Hype Machine&lt;/a&gt;, it is so hit or miss that I end up having to change the track often.&lt;/p&gt;

&lt;p&gt;Getting in the coding zone starts by isolating myself from the rest of the world with my headphones. That's also a sign to &lt;a href="http://twitter.com/dodeja" title="Akshay"&gt;Akshay&lt;/a&gt;, who works a few feet in front of me, that I'm in get-shit-done mode but have Campfire open if he needs anything.&lt;/p&gt;

&lt;h4&gt;No Chance of Interruption&lt;/h4&gt;


&lt;p&gt;
I must have a seemingly endless block of time at my disposal. If I have a meeting in one hour that severely limits how much of a zone I can get into. My most productive work tends to happen at odd hours where there is no possible way that I will get a text about going out for lunch, an IM from Olark or a bunch of emails filling my inbox.&lt;/p&gt;

&lt;p&gt;For example, it's early on Sunday morning, my cofounder is sleeping (I've slumped into a nocturnal phase.. we're in a no-meetings-until-we-ship-some-new-stuff mode) and I will probably be up until 7am in a blissful coding rage. Everything is perfect right now.&lt;/p&gt;

&lt;h4&gt;Organization&lt;/h4&gt;


&lt;p&gt;I'm never far away from our &lt;a href="https://trello.com/" title="Trello"&gt;Trello&lt;/a&gt; board, my own personal Trello "scratch" board, my trusty Pilot Hi-Tec C Cavalier 0.3mm pen and &lt;a href="http://www.uistencils.com/collections/frontpage/products/browser-sketch-pad" title="UI Stencils browser sketch pad"&gt;browser sketch pad&lt;/a&gt; on my desk. Anything that crosses my mind worth doing now goes on my sketch pad and anything worth doing later goes on our Trello. I used to hate Trello because I thought it was fugly, but the simplicity has grown on me.&lt;/p&gt;

&lt;p&gt;For some reason I can't seem to shake the "to do.txt" file on my desktop. Nowadays it has evolved into more of a scratch pad as well &amp;mdash; random snippets of code or copy that I don't need this moment but don't feel like having to browse through github to find later should I need it again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Honorable mentions:&lt;/strong&gt;
A &lt;a href="http://en.wikipedia.org/wiki/Depth_Charge_(coffee)" title="Depth Charge Coffee"&gt;depth charge&lt;/a&gt; or &lt;a href="http://paulstamatiou.com/nespresso-lattissima-plus" title="Cappuccino"&gt;cappuccino&lt;/a&gt; on my desk, being &lt;strong&gt;motivated&lt;/strong&gt; about what I'm actually building (that's the easy part for me and why I have only ever worked on my startups), and having a &lt;strong&gt;clean workspace&lt;/strong&gt;, both in my physical living area and on my computer's desktop and Picplum Dropbox folder.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://pstam-cloud.s3.amazonaws.com/uploads/2011/10/coding_zone_desk.jpeg"/&gt;&lt;br/&gt;&lt;small&gt;In hindsight I would have rather purchased an external USB DAC and some quality &lt;a href="http://www.amazon.com/gp/product/B00018MSNI/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=B00018MSNI&amp;tag=paulstamatiou-20" title="Sennheiser HD 650 Lightweight Open-Air Dynamic Audiophile Headphone"&gt;Sennheiser headphones&lt;/a&gt;.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Organization as mentioned above also means mental clarity; knowing that both Akshay and I are on the same page about what we're building at all times and sharing our progress with each other as we execute each task. It makes for a smoother product roadmap when the bigger picture has been thought out and every deliverable builds up to it and is not a random wouldn't-it-be-cool-if.&lt;/p&gt;

&lt;p&gt;The best thing we have done for Picplum? Purchased this &lt;a href="http://www.officemax.com/office-supplies/boards/dry-erase-boards/product-prod570118?csId=2-69-3839-56-3-25687-25677-56-3839-989-56-3839-7535-0-2" title="Dry erase board"&gt;6 foot by 4 foot whiteboard&lt;/a&gt; (better than shower board and Whiteyboards in my opinion -- they become hard to erase after a while). We've got the next three months planned out on it and are constantly updating it with tasks, deadlines, who's doing what or explaining various new user flows or UIs to each other.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts? How do you dive your coding zone?&lt;/strong&gt; Have you signed up for &lt;a href="http://picplum.com" title="Picplum"&gt;Picplum yet&lt;/a&gt;? We'll be pushing some cool stuff soon so be sure to sign up now so you don't miss out. :)&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/coding-zone" title="The Coding Zone"&gt;The Coding Zone&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=pbO7STMpXgw:Yc_zIzj9goA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=pbO7STMpXgw:Yc_zIzj9goA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=pbO7STMpXgw:Yc_zIzj9goA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=pbO7STMpXgw:Yc_zIzj9goA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=pbO7STMpXgw:Yc_zIzj9goA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=pbO7STMpXgw:Yc_zIzj9goA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=pbO7STMpXgw:Yc_zIzj9goA:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=pbO7STMpXgw:Yc_zIzj9goA:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/pbO7STMpXgw" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/coding-zone</feedburner:origLink></entry>
	
	<entry>
		<title>Thoughts on the Amazon Kindle Fire</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/713IESAa_zM/amazon-kindle-fire" />
		<updated>2011-09-28T08:39:24-07:00</updated>
		<id>http://paulstamatiou.com/amazon-kindle-fire</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YTQQxN43hNiQpCHaktY_h3Gl4ac/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YTQQxN43hNiQpCHaktY_h3Gl4ac/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YTQQxN43hNiQpCHaktY_h3Gl4ac/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YTQQxN43hNiQpCHaktY_h3Gl4ac/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;It was exactly one year ago that I &lt;a href="http://paulstamatiou.com/review-amazon-kindle-3-wi-fi-reading-device" title="Review: Amazon Kindle 3 Wi-Fi Reading Device"&gt;received my first Kindle&lt;/a&gt; and fell in love with it. Why? They distilled the essence of a simple, superb reading experience into a lightweight, affordable and hassle-free device (as in WhisperSync and stellar battery life). While the affordability is definitely still there with the new Kindle devices announced today, I'm a bit wary of where Amazon is headed. &lt;/p&gt;

&lt;p&gt;Amazon just released some new Kindles today: the $199 Kindle Fire Tablet, $149 Kindle Touch 3G, $99 Kindle Touch, and new $79 basic, no touch screen Kindle.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/09/kindles_and_kindle_fire.png" alt="Kindles and kindle fire"/&gt;&lt;br/&gt;&lt;small&gt;Amazon's New Kindle Touch, Kindle and Kindle Fire&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;For one, props to bringing the basic Kindle price down to $79. Aside from that Kindle, it appears that every other Kindle model is now touch screen. Of course, everyone's focusing on the new Android-based, color screen Kindle Fire tablet. It's being touted as a solid iPad competitor. Am I the only one thinking this is messing up the flawless Kindle brand? I think it should have been given a different moniker entirely.&lt;/p&gt;

&lt;blockquote&gt;The tablet features apps for Amazon’s Android Appstore, Kindle store, Amazon MP3, and Prime Instant Video. Nearly all of Amazon’s recent news,  Amazon Cloud Player, Amazon Cloud Drive, Kindle Cloud Reader, the streaming deals with Fox and NBC Universal, were in preparation for the Fire. With these cloud services in place, the Kindle Fire is a legitimate iPad competitor.

But it’s more than just Amazon apps. Users are free to load apps from Amazon’s Android Appstore including Pandora, Twitter, Facebook, and, most notably, Netflix.&lt;br/&gt;&lt;br/&gt;TC: &lt;a href="http://techcrunch.com/2011/09/28/amazon-kindle-fir/" title="" rel="nofollow"&gt;Amazon Fires $199, 7-Inch Tablet At Apple&lt;/a&gt;&lt;/blockquote&gt;


&lt;p&gt;Blah. Sounds like a lot of clutter to me. &lt;strong&gt;The original Kindle was purpose-built: create an amazing digital reading experience. The Kindle Fire's MO seems to be create an okay experience for apps, the web, books, movies, music and of course Angry Birds.&lt;/strong&gt; I really liked Amazon's laser focus on the regular Kindle and that's why I travel with both my iPad and my Kindle. One is great for movies with a larger screen (and that is just about the only thing my iPad gets used for &amp;mdash; my Air is not much bigger so I just take that for any real work that I need to do) and the other is super lightweight and makes it easy to read anything.&lt;/p&gt;

&lt;p&gt;At first glance the Fire looks like a hybrid between the failed Barnes &amp;amp; Noble Nook and the also 7-inch screen Samsung Galaxy Tab. It sports a dual-core processor and a nifty 'cloud-accelerated web browser' called &lt;a href="http://thisismynext.com/2011/09/28/amazon-tablet-silk-web-browser/" title="Amazon Silk"&gt;Amazon Silk&lt;/a&gt;.. it's clear that the Fire is being marketed as much, much more of a media device than the pure reading experience the Kindle came to be known for. Especially with all of the Kindle Fire screenshots showing Angry Birds on the home screen.&lt;/p&gt;

&lt;p&gt;I was talking about the rumored Kindle Fire tablet with my cofounder the other day. My point was that &lt;strong&gt;for it to really work, Amazon would have to deliver on both the tablet/media aspect while simultaneously maintaining the solid reading experience&lt;/strong&gt; &amp;mdash; most likely through a hybrid screen that can easily switch to e-Ink when you are outside or wish to read in a glare-free,  black and white mode. Such displays have been in the works since 2009 (search for Pixel Qi e-Ink / LCD hybrid), and it would be great to see Amazon pull a home-run with such tech in their latest device.&lt;/p&gt;

&lt;p&gt;I am however most interested in a new Kindle feature that got slighted by all this Kindle Fire news &amp;mdash; X-Ray. It's the one feature in today's announcement that is meant for the die-hard Kindlites:&lt;/p&gt;

&lt;blockquote&gt;Amazon invented X-Ray, a new feature that lets customers explore the “bones of the book.” With a single tap, readers can see all the passages across a book that mention ideas, fictional characters, historical figures, places or topics that interest them, as well as more detailed descriptions from Wikipedia and Shelfari, Amazon’s community-powered encyclopedia for book lovers.&lt;/blockquote&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/09/pstam_kindle3_unboxed_1200.jpg" title="Kindle 3 Unboxed"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/09/pstam_kindle3_hn_coffee.jpg" alt="Kindle 3 Unboxed"&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;The Kindle 3 I fell in love with&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;The regular Kindle got me amped up about reading. Just after six months of owning the new Kindle I had read an average of 2 books a month. It's clear Amazon wants to chase other, larger market opportunities with a more multi-purpose device. Let's just hope they don't wreck the Kindle brand with some cheap Android tablet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do you think about the Kindle Fire?&lt;/strong&gt; Love it or hate it, I have to give it up to Amazon for shipping an entirely new product.&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/amazon-kindle-fire" title="Thoughts on the Amazon Kindle Fire"&gt;Thoughts on the Amazon Kindle Fire&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=713IESAa_zM:AvWOnw1Rvko:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=713IESAa_zM:AvWOnw1Rvko:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=713IESAa_zM:AvWOnw1Rvko:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=713IESAa_zM:AvWOnw1Rvko:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=713IESAa_zM:AvWOnw1Rvko:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=713IESAa_zM:AvWOnw1Rvko:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=713IESAa_zM:AvWOnw1Rvko:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=713IESAa_zM:AvWOnw1Rvko:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/713IESAa_zM" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/amazon-kindle-fire</feedburner:origLink></entry>
	
	<entry>
		<title>Canon 7D Test Shots</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/uDg9zFT_KjM/canon-7d-test-shots" />
		<updated>2011-09-22T22:52:57-07:00</updated>
		<id>http://paulstamatiou.com/canon-7d-test-shots</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9yHp87048GUmttdSaSrkHwHndUQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9yHp87048GUmttdSaSrkHwHndUQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9yHp87048GUmttdSaSrkHwHndUQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9yHp87048GUmttdSaSrkHwHndUQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I've been playing with my &lt;a href="http://paulstamatiou.com/canon-7d-dslr" title="Canon EOS 7D"&gt;Canon EOS 7D&lt;/a&gt; for about a week now. Just wanted to share a few recent shots. My workflow involves Adobe Lightroom 3, which I have grown to absolutely love. It's fast on my Macbook Air and can easily fix lens distortion with "profile corrections."&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_cayman_s_1500.jpg" title="Porsche Cayman S"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_cayman_s.jpg" alt="Porsche Cayman S"/&gt;&lt;/a&gt;&lt;/div&gt;





&lt;p&gt;I previously enjoyed high-end photography equipment merely for the technological aspect of it and getting caught up in all the features. Now I'm taking the time to read up on techniques and recalling what I learned about photography while working on yearbook staff in high school. I'm sure I will write a beefy 7D-related blog post when I can carve out a few hours, but for now I'm just cranking away overtime on &lt;strong&gt;&lt;a href="http://picplum.com" title="Picplum"&gt;Picplum&lt;/a&gt;&lt;/strong&gt;. Our upcoming photo uploader is slick &amp;mdash; you see the photos you just dragged over &lt;em&gt;before&lt;/em&gt; they have even uploaded. Gotta love &lt;a href="http://www.w3.org/TR/FileAPI/#readAsDataURL"&gt;FileReader.readAsDataURL()&lt;/a&gt; in HTML 5. Have you made a Picplum account yet? :-)&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_mihalaki.jpg" alt="Mihalaki"/&gt;&lt;br/&gt;&lt;small&gt;My nephew Michael&lt;/small&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_7d_bb_1200.jpg" title="Bay Bridge"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_7d_bb.jpg" alt="Bay Bridge"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Bay Bridge&lt;/small&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_7d_infinity_1200.jpg" title="Infinity Towers in San Francisco"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_7d_infinity.jpg" alt="Infinity Towers in San Francisco"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Infinity Towers&lt;/small&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_7d_sunflower_1500.jpg" title="Sunflower"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_7d_sunflower.jpg" alt="Sunflower"/&gt;&lt;/a&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/09/pstam_7d_speedlighting.jpg" alt="7d speedlighting"/&gt;&lt;br/&gt;&lt;small&gt;Playing with some Canon 'speedlighting' techniques and remote flash with the Canon 580EX II.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I have been flipping through some photography related Kindle books recently as well. The pick of the litter seems to be &lt;a href="http://www.amazon.com/Speedliters-Handbook-Learning-Craft-Speedlites/dp/032171105X" title="Speedliter's Handbook"&gt;Speedliter's Handbook: Learning to Craft Light with Canon Speedlites&lt;/a&gt; (not an affiliate link because Amazon shutdown the Associates Program for California residents!).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts?&lt;/strong&gt; What's your favorite photo blog or book?&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/canon-7d-test-shots" title="Canon 7D Test Shots"&gt;Canon 7D Test Shots&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=uDg9zFT_KjM:fe9Rfh3H2Xo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=uDg9zFT_KjM:fe9Rfh3H2Xo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=uDg9zFT_KjM:fe9Rfh3H2Xo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=uDg9zFT_KjM:fe9Rfh3H2Xo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=uDg9zFT_KjM:fe9Rfh3H2Xo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=uDg9zFT_KjM:fe9Rfh3H2Xo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=uDg9zFT_KjM:fe9Rfh3H2Xo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=uDg9zFT_KjM:fe9Rfh3H2Xo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/uDg9zFT_KjM" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/canon-7d-test-shots</feedburner:origLink></entry>
	
	<entry>
		<title>Thoughts on Picplum Automatic Photo Prints</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/2eO2KB3HNTo/picplum-automatic-photo-prints-parents" />
		<updated>2011-08-22T10:00:00-07:00</updated>
		<id>http://paulstamatiou.com/picplum-automatic-photo-prints-parents</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/D4_bc_txnfzjy80taIZAdnLboRs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D4_bc_txnfzjy80taIZAdnLboRs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/D4_bc_txnfzjy80taIZAdnLboRs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D4_bc_txnfzjy80taIZAdnLboRs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Hey there! We've haven't spoken in some time. My apologies. For the past 2.5 months I have been keeping busy with my latest startup, &lt;strong&gt;&lt;a href="http://picplum.com" title="The easiest way to send photo prints automatically"&gt;Picplum&lt;/a&gt;&lt;/strong&gt;. In this post I hope to dive far, far into Picplum in attempt to provide a critical review of my own startup just as if I was reviewing any other startup. This should prove interesting. Let's start with the basics first.&lt;/p&gt;&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://picplum.com" title="The easiest way to send photo prints automatically"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplumpkg.jpg" alt="Picplum Package"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;When in doubt, &lt;a href="http://en.wikipedia.org/wiki/Bokeh" title="Bokeh"&gt;bokeh&lt;/a&gt; it out. &lt;strong&gt;&lt;a href="http://picplum.com" title="The Easiest Way to Send Photo Prints"&gt;Signup Now &amp;raquo;&lt;/a&gt;&lt;/strong&gt;&lt;/small&gt;&lt;/div&gt;







&lt;h4&gt;The 140&lt;/h4&gt;


&lt;p&gt;Upload your best photos. Picplum prints, packages and ships them to close family &amp;amp; friends automatically every month.&lt;/p&gt;

&lt;h4&gt;Why I'm Psyched&lt;/h4&gt;


&lt;p&gt;Picplum combines many of my passions. Front-end bliss and a magical UX (getting there..). Consumer web. And of course, photography:&lt;/p&gt;

&lt;p&gt;Back in 2009 I presented "HDR Imaging for n00bs" at O'Reilly IgniteATL, based on these three blog posts: &lt;a href="http://paulstamatiou.com/how-to-hdr-photography-basics-part-1" title="How To: HDR Photography Basics (Part 1)"&gt;How To: Get Started with HDR Photography (Part 1)&lt;/a&gt;, &lt;a href="http://paulstamatiou.com/how-to-get-started-with-hdr-photography-part-2" title="How To: Get Started with HDR Photography (Part 2)"&gt;Part 2&lt;/a&gt;, &lt;a href="http://paulstamatiou.com/how-to-get-started-with-hdr-photography-part-3" title="How To: Get Started with HDR Photography (Part 3)"&gt;Part 3&lt;/a&gt;.&lt;/p&gt;

&lt;div class="center"&gt;&lt;iframe width="620" height="378" src="http://www.youtube.com/embed/jYDfjaWc3Mc?rel=0&amp;amp;hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;small&gt;Stammy makes for a horribly fast-talking speaker.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Everyone understand prints. I can walk into a random group of people at Starbucks (or more recently the moms that turn Crossroads Cafe in South Beach into strollerville at lunch) and tell them about Picplum in 10 seconds. They instantly get it. Word of mouth alone is actually a solid distribution model for Picplum.&lt;/p&gt;

&lt;h4&gt;How We're Running This Startup&lt;/h4&gt;


&lt;div style="float:right;padding:5px 0 5px 10px;"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/pp_user_testing.jpg" alt="Picplum user testing"&gt;&lt;br/&gt;&lt;small&gt;User testing in progress&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I will likely mention "experimenting" a few times in this post.. what gives? One fundamental thing we're doing differently with this startup is &lt;strong&gt;throwing all assumptions out of the window&lt;/strong&gt;. Neither of us can get away with justifying a feature or default setting with "I think" or "most people." That's usually the start of some likely incorrect assumption. (A habit I believe I picked up from the &lt;a href="http://www.crunchbase.com/company/chirply" title="Chirply"&gt;Chirply&lt;/a&gt; brothers.)&lt;/p&gt;

&lt;p&gt;Instead we experiment. A lot. Data and real user testing finds the solution for us. Seems obvious but I never really took this to heart with my past startups. Picplum as you see it now is currently on its third product iteration (we started from scratch the first week of June).&lt;/p&gt;

&lt;p&gt;The app has essentially been rethought several times. Part of that is that we got better at &lt;a href="http://documentcloud.github.com/backbone/" title="Backbone.js"&gt;backbone.js&lt;/a&gt; and kept refactoring but we also regularly sought out user feedback. &lt;strong&gt;I can't praise user testing enough&lt;/strong&gt;. User test with family. User test with randoms. User test with peers at Y Combinator dinners and with YC partners at office hours. My love of user testing will probably rise again in a dedicated post later on.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_v1_nophotosyet.png" alt="An earlier version of Picplum"/&gt;&lt;br/&gt;&lt;small&gt;An early version of Picplum before realizing we needed an easy user onboarding process.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;One of the first things I learned through user testing is the stark difference between visual design and functional design. We had several UI elements we thought were very slick but when it came time to user test they failed utterly in terms of usability. Take for example my first stab at designing a recipients UI:&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_recipient_old_1000.jpg" title="Picplum recipient old"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_recipient_old.jpg" alt="Picplum recipient old"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Old version of recipients UI&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Even after I made the yellow bar that says "Receive photos by mail, email or both?" even larger, it still seemed to be entirely invisible to users. They would fill out a recipient's info and then later ask how they could adjust what that recipient received. Likewise, several users had trouble switching between recipients or knowing where to click to add a recipient. My flaw was making an interface designed for a person having many recipients when the typical user would have just a few.&lt;/p&gt;

&lt;div style="float:left;padding:5px 10px 5px 0;"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_olark_chat.jpg" alt="Picplum olark chat"/&gt;&lt;br/&gt;&lt;small&gt;Users on picplum&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Paul Graham often has some brief but amazingly useful feedback: "ask your users."  We'll be doing that continually over the next months. On that note, &lt;strong&gt;I must plug &lt;a href="http://www.olark.com/" title="Olark support chat"&gt;Olark&lt;/a&gt;&lt;/strong&gt;. Olark is a little support chat tab that sits on the bottom of Picplum and lets us chat with users on our site. I'm sure you've seen it on many sites before. I love it. Here's why: I can see a list of users, where they came from, what pages they have loaded, where they're located, if they're logged in and then &lt;strong&gt;I can initiate a chat with them&lt;/strong&gt; (and even change the page they're viewing!). It has never been easier to chat with your users. Even just a 5 minute chat with a user starting with something like "Hey there, I see that you've been reading our FAQ for a while -- is there anything I can help you with?" can turn a first time visitor into a paying customer. Not only that but I can ask them what they would like to see or how they plan on using Picplum.&lt;/p&gt;

&lt;p&gt;We're also trying to be laser focused, finding what works, then moving on. That's why we only do one thing right now and are iterating until that experience is clean. A rigid dichotomy to launching with a bunch of features. That's how we're approaching this startup. &lt;strong&gt;Thoughts?&lt;/strong&gt;&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_team_620.jpg" alt="Picplum Team - Akshay Dodeja, Paul Stamatiou"/&gt;&lt;br/&gt;&lt;small&gt;@dodeja @stammy at Y Combinator. Someone brought a 5D Mk II with a massive ring flash to dinner.&lt;/small&gt;&lt;/div&gt;




&lt;h4&gt;Picplum 101&lt;/h4&gt;


&lt;p&gt;Picplum makes it ridiculously easy to send photo prints. It does that by introducing an &lt;strong&gt;automatic&lt;/strong&gt; component. Upload or drag-and-drop photos on the website, or email us your best digital photos as you take them. That's it. &lt;strong&gt;Every month&lt;/strong&gt; Picplum takes what you've sent, prints them, carefully puts them in a nice package and ships them to people on your recipients list &amp;mdash; grandparents, close family and friends.&lt;/p&gt;

&lt;p&gt;Picplum works great for anyone but we're &lt;strong&gt;starting with new parents&lt;/strong&gt; and parents with young children as our first users. Why? They don't have the time to print their baby photos any other way and the convenience of Picplum makes the most sense for them.&lt;/p&gt;

&lt;blockquote&gt;I can’t even tell you how many times I abandoned the shopping cart on Flickr. Numerous times. My intentions are there, the time and distraction-free-environment is not.&lt;br/&gt;&lt;strong&gt;Tina Roth Eisenberg (@swissmiss) &amp;mdash; &lt;a href="http://www.swiss-miss.com/2011/08/picplum.html" title="picplum"&gt;Swiss Miss design blog/studio&lt;/a&gt;&lt;/strong&gt;&lt;/blockquote&gt;


&lt;p&gt;I'm a newly-minted uncle and know how this goes &amp;mdash; photos of my nephew stay on my sister's phone, point and shoot camera, laptop and DSLR. Maybe they end up on a photo dump site but then nothing happens. Well, sometimes I get this in my inbox:&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/shutterfly_toula.jpg" alt="Shutterfly pictures from Toula"/&gt;&lt;/div&gt;


&lt;p&gt;Sis did you seriously just send me over 1,000 photos? What is this I don’t even.&lt;/p&gt;

&lt;p&gt;Aside from the convenience of automatic delivery, there are a few facets that comprise how Akshay and I have been thinking about Picplum: &lt;strong&gt;premium prints&lt;/strong&gt;, &lt;strong&gt;best moments&lt;/strong&gt; and a &lt;strong&gt;great experience&lt;/strong&gt;. All prints are done by a professional photo lab via &lt;a href="http://en.wikipedia.org/wiki/Type_C_print"&gt;lightjet chemical process&lt;/a&gt; on 4" by 6" lustre photo paper that's thicker than flimsy 9c prints found elsewhere online. Lustre prints have the color saturation of glossy, fingerprint resistance of matte all without the glare of glossy photo paper. The photography snob in me wouldn't have it any other way. (The photography snob in me is also waiting desperately for the Canon 5D Mk III to come out and pair with an 85mm f/1.2 L.)&lt;/p&gt;

&lt;blockquote&gt;Shutterfly was really disappointing: pixelated, poor colors, and just a cheap feel - we'll never use them again. [...] Still, none of them were as good when I took a photography class in grad school and went to a camera store for processing, or our wedding photos for that matter. So I think there's something to be said for professional / photographer-quality processing. &lt;br/&gt;&lt;strong&gt;&lt;a href="http://okaysamurai.tumblr.com/about" title="Dave Werner"&gt;Dave Werner&lt;/a&gt;&lt;/strong&gt;&lt;/blockquote&gt;




&lt;h4&gt;Best Moments&lt;/h4&gt;


&lt;p&gt;Picplum is not trying to be your photo dump where you plug in your camera's memory card and unleash hundreds of photos thinking that you'll do something with them later. We just want your best photos. That may be just 5-10 a month, or it may be 25, but it's definitely not 300.  &lt;strong&gt;Curation, uploading and remembering to do something with your photos&lt;/strong&gt; are the main roadblocks for a utopian photo sharing experience. We're trying to solve this problem to separating the culling process from the uploading process and making everything else automatic.&lt;/p&gt;

&lt;p&gt;Maybe that's not the right way to do it but we're starting with this hunch and are going to iterate. Likewise, prints are just the first step. We want to gather mindshare around being the &lt;strong&gt;place for your very best photos&lt;/strong&gt;. If we can do that there are some interesting opportunities available to us. If you asked me where my best photos were, I wouldn't have an answer. I have 16,000 photos on Flickr but you'll have to wade through them to find the best ones. Maybe I tossed a few good ones in a set, but that's about it. I have hundreds more on Instagram, Facebook, iPhoto and Aperture/Lightroom (used both for a while before settling on Lightroom &amp;mdash; fast!). We have some ideas about how to get your best photos from these services too and just curation in general. We'll be experimenting in the near future.&lt;/p&gt;

&lt;h4&gt;Experience&lt;/h4&gt;


&lt;blockquote&gt;Just like when you see a red Netflix slip in the mail and immediately know what it is and get that giddy feeling, or open an Apple package, we’re trying to do the same for photo prints. When people talk about Picplum we want them to start with, 'I received this amazing package in the mail yesterday,' instead of 'look at this neat website.'&lt;br/&gt;&lt;strong&gt;Paul Stamatiou&lt;/strong&gt; on &lt;a href="http://thenextweb.com/apps/2011/08/17/picplum-hopes-to-revive-a-slow-photo-movement-with-automated-delivery-of-prints/" title="Picplum hopes to revive a slow photo movement with automated delivery of prints"&gt;The Next Web&lt;/a&gt;&lt;/blockquote&gt;


&lt;p&gt;Crafting a memorable experience encompasses everything a user comes across when dealing with your product or service. For us this meant taking extra care to ensure the offline experience of the Picplum package was excellent. Most people (recipients) will hear about Picplum for the first time via our package so it's important to make a great first impression and ensure that it's not a stale experience in successive engagements.&lt;/p&gt;

&lt;p&gt;It's still pretty early on so there's not much to share with what we have learned but we're starting with quality prints, a nice envelope the same color as our website, and an explanatory insert introducing the recipient to Picplum. More on this in the months to come.&lt;/p&gt;

&lt;h4&gt;The Review&lt;/h4&gt;


&lt;p&gt;Alright time to critique the actual web app. What's that you're muttering to yourself? &lt;strong&gt;&lt;em&gt;Where's the mobile app?&lt;/em&gt;&lt;/strong&gt; Simply put, we won't expand to mobile until we know that the general Picplum concept works first. One thing at a time, separated by validation. Trying to do too many things at once without much validation is a surefire way to spread yourself thin and fail. &lt;a href="http://www.google.com/search?cx=c&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=peanut+butter+manifesto"&gt;The peanut butter manifesto&lt;/a&gt; comes to mind.&lt;/p&gt;

&lt;p&gt;[Now I pretend I'm not Stammy and enter user testing speak-aloud mode..]&lt;/p&gt;

&lt;p&gt;Alright, let's signup. Here's the first screen I see:&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_onboarding.jpg" alt="Picplum Onboarding - First Login"/&gt;&lt;br/&gt;&lt;small&gt;First login&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Oh nice, it has me following some steps: Add Photos, Add Recipients, Send Photos. It wants me to upload photos first. Hrm, I don't really know what photos I want to add right now. Let me see if I can skip to the second step by clicking "Add Recipients." Interface seems very snappy.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_skip_to_step2_1100.jpg" title="Picplum - Add Recipients Step"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_skip_to_step2.jpg" alt="Picplum - Add Recipients Step"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;Okay that worked, here we go. Let's enter grandma and the parents. Grandma doesn't use email so I'm going to see if there is a Send Prints Only mode that doesn't ask for email in the dropdown; there is. Hrm, I don't know my grandmother's address off the top of my head. Have to switch to my email inbox and search for it, bummer. If I wasn't motivated I would have probably closed the tab and decided to come back later/never. Okay found the address in an old email thread and added grandma. Recipient added instantly; no page load!&lt;/p&gt;

&lt;p&gt;Adding my sisters now too. Don't know their addresses off the top of my head either so I'll have to search GMail again. This is getting annoying. I wish Picplum could just ask for an email address and let me click a button to automatically send the recipient and email and have them fill out the info and explain to them what Picplum is all about. Okay, I've added my recipients. I'm going to click this big orange "Add More Photos" button.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step2_done.jpg" alt="Picplum - Recipients Added"/&gt;&lt;/div&gt;


&lt;p&gt;Okay that button takes me back to the Add Photos page. This is the hard part. Hrm. What to upload? Opening up iPhoto, plugging in the SDHC card from my aging &lt;a href="http://paulstamatiou.com/sony-alpha-nex5-sld-digital-camera" title="Sony Alpha NEX-5"&gt;Sony Alpha NEX-5&lt;/a&gt; into my MacBook Air. Loaded up my latest snapshots. Alrighty. The purple box says I can drag, let's try that out now.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_drag_1100.jpg" title="Drag and dropping photos from iPhoto into Picplum"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_drag.jpg" alt="Drag and dropping photos from iPhoto into Picplum"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Drag and drop!&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I dragged the photos over and let go. They instantly started uploading! I like this uploading status. Makes it easy to understand what is happening and when it will finish. Oh nice, as the photos finish uploading they just appear. This thing is wicked fast. A new button labeled "Send Photos Now" appeared on the screen to proceed to the last step.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_uploading_1100.jpg" title="Photos uploading to Picplum"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_uploading.jpg" alt="Photos uploading to Picplum"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;Alright, my photos are done uploading. Hrm what is this crap... my head is cropped off! Will it actually print like this? I hope they know how to deal with portrait photos. Can I do any basic post-processing or photo adjustment? Doesn't look like it.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_headchop.jpg" alt="Picplum Thumbnail Cropping Issue"/&gt;&lt;/div&gt;


&lt;p&gt;I clicked on the photo and the larger version seems normal. Oh well, I'll go to the next step and see what happens.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_facebox_1100.jpg" title="Enlarged Image"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_step1_facebox.jpg" alt="Enlarged Image"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Photos look sharp in a nicely modified &lt;a href="https://github.com/defunkt/facebox" title="facebox"&gt;facebox&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I'm now on the last step which seems to be some kind of confirmation page.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_send_now_1100.jpg" title="Picplum send now"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_send_now.jpg" alt="Picplum send now"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Send Your First Batch page&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I thought this was supposed to be automatic. Ah I need to send this batch first and then it will become automatic thereafter. Can I pause an automatic batch or will I get charged if I don't use it? I don't see a way to only order these photos and not subscribe to a plan. I guess they only offer a monthly subscription. Hrm, why is it $14 per month and then say that the first batch is free, but then show a $2.00 charge? Some of this pricing stuff is not very clear (in this case it's $7 per recipient and since one was international that's a bit extra).&lt;/p&gt;

&lt;p&gt;I don't see any area to edit what I receive. It says it will send prints to my recipients. What kind? Can I include a message with these photos? Can I change my recipients later?&lt;/p&gt;

&lt;p&gt;Adding my credit card info now. It seems odd that I need to click "Save Credit Card" and then the "Pay &amp;amp; Send" button &amp;mdash; why can't it just be one action? What happens if I want to cancel during the 30 day trial?&lt;/p&gt;

&lt;p&gt;Clicking "Pay &amp;amp; Send", let's see what happens. Okay it takes me to the photos page, a notice popped up saying I sent my first batch and some new site navigation appeared.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_batch_sent_1100.jpg" title="Picplum batch sent"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_batch_sent.jpg" alt="Picplum batch sent"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;Now what? Flipping to my inbox to see if any confirmation or receipt was sent. Nothing. If I had "email only" recipients when and how would they receive the photos? How long will it take until my print recipients receive my photos in the mail? I think this step should bring up a modal or &lt;a href="https://github.com/jeff-optimizely/Guiders-JS" title="Guiders JS"&gt;guiders.js&lt;/a&gt; box teaching me the new navigation that showed up. Can I add a photo for the next batch? I forgot when the next batch will ship.. where can I find that date again? I forgot to add someone to that last batch of photos, can I edit recipients after the fact? Blah! Closing the tab and going back to Hacker News.&lt;/p&gt;

&lt;p&gt;[/End user testing voice]&lt;/p&gt;

&lt;p&gt;Phew. There is definitely some room for onboarding flow tweaks, but it has come a long way since the middle of Y Combinator:&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/picplum_onboarding_old.jpg" alt="Picplum's early onboarding process"/&gt;&lt;br/&gt;&lt;small&gt;A very early version of this same new user onboarding flow... yuck!&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;After having watched real users go through the onboarding flow many, many times you begin questioning everything. Too much text is distracting. Too many unrelated UI elements could cause the confused user to click to other pages and get out of the flow. We've refined this part of Picplum several times. We have yet to add it but we want to put in &lt;strong&gt;positive reinforcement&lt;/strong&gt; in-between steps so the user knows how things are going, and &lt;strong&gt;make their next action even more obvious&lt;/strong&gt; (either by way of making the next action pulse/glow or using a guider box).&lt;/p&gt;

&lt;p&gt;After the user sends their first batch of photos and completes the onboarding flow I want to acquaint them with the new UI elements. I'll fade in a help button on the header bar and show a guider box telling the user that if they ever need help with the UI they can click that button to walk them through the interface should they need to reference it at a later point.&lt;/p&gt;

&lt;h4&gt;But Prints Are Dying&lt;/h4&gt;


&lt;p&gt;Film photography is dying, not prints. People still want to frame photos, put them on the wall or share prints with close family and friends. Digital photos are surely growing but you will always want the most important ones printed and Picplum makes that ridiculously easy and convenient. We're aiming to make prints cool again &amp;mdash; starting with the traditional 4" x 6". The next step may be physical, it may be digital. We'll see what the market tells us.&lt;/p&gt;

&lt;p&gt;Checkout the Picplum blog for my mom's take on &lt;a href="http://blog.picplum.com/post/8818368168/what-photos-mean-to-me" title="What Photos Mean To Me"&gt;what photo prints mean to her&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Verdict&lt;/h4&gt;


&lt;p&gt;I give Picplum &lt;strong&gt;8 out of 10 Stammys&lt;/strong&gt;. I want to be able to signup without having to add any photos and just have it setup and ready to go for when I want to email in photos. I want larger prints and I want Picplum to send me a frame. I want Picplum to tell me how to take better pictures as it learns what I think my best photos are.&lt;/p&gt;

&lt;p&gt;Sending photos every month may not be the right interval for everyone. What about every 2 weeks too? Or what about a "smart" batch that sees how you use it and sends prints accordingly. I want to be able to send different photos in the same batch to different people. I want Picplum to help me pick my best photos, from ones I manually import and ones I want imported from other services.&lt;/p&gt;

&lt;p&gt;But first I'll have to see if these are things real Picplum users want too. &lt;strong&gt;&lt;a href="http://picplum.com" title="The Easiest Way to Send Photo Prints"&gt;Signup Now &amp;raquo;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;Try Picplum&lt;/h4&gt;


&lt;p&gt;If you've read all the way to this part, I would love for you to take Picplum for a test drive. &lt;strong&gt;&lt;a href="http://picplum.com" title="The Easiest Way to Send Photo Prints"&gt;Signup and send your first batch of beautiful prints today&lt;/a&gt;&lt;/strong&gt;. The first ones are free. We have a pay as you go plan too. Questions? Fire away in the comments below.&lt;/p&gt;

&lt;h4&gt;Thoughts?&lt;/h4&gt;


&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/08/pg_motivator.jpg" alt="pg motivator"/&gt;&lt;br/&gt;&lt;small&gt;Spotted at Stripe.com HQ&lt;/small&gt;&lt;/div&gt;

&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/picplum-automatic-photo-prints-parents" title="Thoughts on Picplum Automatic Photo Prints"&gt;Thoughts on Picplum Automatic Photo Prints&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2eO2KB3HNTo:3nIzTSV50vQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=2eO2KB3HNTo:3nIzTSV50vQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2eO2KB3HNTo:3nIzTSV50vQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=2eO2KB3HNTo:3nIzTSV50vQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2eO2KB3HNTo:3nIzTSV50vQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2eO2KB3HNTo:3nIzTSV50vQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2eO2KB3HNTo:3nIzTSV50vQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=2eO2KB3HNTo:3nIzTSV50vQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/2eO2KB3HNTo" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/picplum-automatic-photo-prints-parents</feedburner:origLink></entry>
	
	<entry>
		<title>Bitcoin Mining</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/fIkeq3BLi8w/bitcoin-mining" />
		<updated>2011-05-19T21:21:28-07:00</updated>
		<id>http://paulstamatiou.com/bitcoin-mining</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dWsn0s5y9egI0YCdZAfgqe2VKus/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dWsn0s5y9egI0YCdZAfgqe2VKus/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dWsn0s5y9egI0YCdZAfgqe2VKus/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dWsn0s5y9egI0YCdZAfgqe2VKus/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Back when the Pentium 4E "Prescotts" were causing an outrage in the computer modding community for notoriously overheating, and around when Steve Jobs failed to deliver on his promise of 3GHz from the G5, I was an avid &lt;em&gt;folder&lt;/em&gt;. Folding is the term for running a distributed computing program on your computer, &lt;a href="http://folding.stanford.edu/" title="Folding@Home"&gt;Folding@Home&lt;/a&gt;, that donates your spare CPU cycles to help Stanford learn more about diseases created from misfolded proteins. This project  became and is still hyper-competitive. People join folding teams, install it on as many computers as they can find and let them run 24/7 in hopes of completing many WUs (workunits) and ranking higher.&lt;/p&gt;

&lt;div class="center"&gt;&lt;iframe width="620" height="380" src="http://www.youtube.com/embed/Um63OQz3bjo?rel=0&amp;amp;hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;


&lt;p&gt;How does this relate to the title? Well I have recently been playing around with bitcoin mining and I can't help but draw similarities between the two. Just like folding you must run a program that uses (lots of) your computer resources to generate, or mine, bitcoins. But that's where the similarities end. &lt;strong&gt;So what exactly is bitcoin?&lt;/strong&gt; A recently published Slate article, &lt;a href="http://www.slate.com/id/2294980/" title="Slate - My Money Is Cooler Than Yours"&gt;My Money Is Cooler Than Yours&lt;/a&gt;, has the scoop:&lt;/p&gt;

&lt;blockquote&gt;Bitcoin is a peer-to-peer currency, meaning it is not issued by a central authority, like the dollar or yen. The money supply grows as the network grows and will max out at about 21 million bitcoins. But right now, you can purchase them online on the Mt. Gox currency exchange or an over-the counter market. They do not exist in physical form—only electronically, owned and traded by members of a special, anonymous peer-to-peer network. No third-party intermediary, such as a payment processor or a bank, needs to keep tabs on or process the electronic transactions. The network itself does, with each participating computer running a special, secure program that ensures no user can spend a coin twice or create new money out of thin air.&lt;/blockquote&gt;


&lt;p&gt;GigaOm published a similar exploratory piece about Bitcoins: &lt;a href="http://gigaom.com/2011/05/16/how-bitcoin-wants-to-make-money-even-more-virtual/" title="How BitCoin Wants to Make Money Even More Virtual - GigaOm"&gt;How Bitcoin Wants to Make Money Even More Virtual&lt;/a&gt;. As did TechDirt with &lt;a href="http://www.techdirt.com/articles/20110420/02412713972/can-bitcoin-really-succeed-long-term.shtml" title="Can Bitcoin Really Succeed Long Term?"&gt;Can Bitcoin Really Succeed Long Term?&lt;/a&gt; Bitcoin is just getting mainstream media attention. I briefly mined for bitcoins some six months ago but didn't really "get it" and the big vision, so I stopped mining. If only I had held onto my bitcoins instead of deleting the app!&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/05/bitcoin_app_osx.jpg" alt="Bitcoin app osx"/&gt;&lt;br/&gt;&lt;small&gt;My massive bitcoin empire is worth... ~14 cents. And I got those 0.02BTC from the bitcoin faucet. Been mining for all of 2 days on my slow MacBook Pro.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Unlike Folding@Home where you more or less knew how much progress you were making, mining bitcoins is fairly random. You might generate your first bitcoin in one hour or it may take 3 weeks. It depends if you are among the first in the community to solve that block with a hash; the more hashes your computer can generate, the better.&lt;/p&gt;

&lt;blockquote&gt;It's important to realize that block generation is not a long, set problem (like doing a million hashes), but more like a lottery. Each hash basically gives you a random number between 0 and the maximum value of a 256-bit number (which is huge). If your hash is below the target, then you win. If not, you increment the nonce (completely changing the hash) and try again.&lt;br/&gt;&lt;br/&gt;&lt;a href="https://en.bitcoin.it/wiki/Target" title="Target- Bitcoin"&gt;Bitcoin Wiki&lt;/a&gt;&lt;/blockquote&gt;


&lt;p&gt;It becomes harder to solve a block as the total computational power of the network increases. As such, bitcoin miners often join pools where the pot is shared (depends on the pool but often in relation to your contributed power). Currently a single bitcoin can be sold on one of several bitcoin exchange websites for around $7. You can buy bitcoins or generate them yourself to then spend online. But wait.. &lt;strong&gt;how do you spend them?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm only skimming the surface about bitcoin mining and its specifics, but one thing is certain: bitcoin has some pretty lofty goals. If this is to be a viable virtual currency people must begin accepting them as currency. And that's exactly what is happening. Take for example this software developer that has &lt;a href="http://www.betabeat.com/2011/05/18/will-work-for-bitcoin-coder-says-most-people-just-using-it-as-an-investment-vehicle/" title="'Will Work for Bitcoin' Coder Says Most People Just Using It as an Investment Vehicle"&gt;begun accepting bitcoins for payment&lt;/a&gt;. And there are more and more directories of &lt;a href="https://en.bitcoin.it/wiki/Trade" title="Bitcoin Trading"&gt;bitcoin-accepting service providers&lt;/a&gt; popping up; everything from online stores to flash games and web hosts.&lt;/p&gt;

&lt;p&gt;To be frank, I'm not 100% on the viability of bitcoin as a currency but I am fascinated about the geeky bits: optimizing computers to mine bitcoins and achieving higher and higher Mhashes/sec rates. Lots of folks are working on &lt;a href="http://forum.bitcoin.org/index.php?topic=8405.0" title="Howto: Mining on Amazon EC2 Cluster GPU instance"&gt;custom mining setups&lt;/a&gt; to get the most out of their hardware.&lt;/p&gt;

&lt;p&gt;While not cost effective in anyway at the moment, I'm currently tinkering around with bitcoin mining on an Amazon EC2 GPU Cluster. Below is completely unoptimized bitcoin install running on a cg1.4xlarge instance with 22GB of RAM and 2 NVIDIA Tesla “Fermi” M2050 GPUs. With some tweaking it's possible to get it up to around 140Mhashes/sec &amp;mdash; still a far cry from the 800Mhashes/sec capable from an ATI 5970 Radeon HD video card or overclocked dual 5870s.&lt;/p&gt;

&lt;pre class="terminal"&gt;
[ec2-user@ip-XXX-XXX-XXX-XXX 64]$ ./bitcoind getinfo
{
    "version" : 32100,
    "balance" : 0.00000000,
    "blocks" : 125020,
    "connections" : 78,
    "proxy" : "",
    "generate" : true,
    "genproclimit" : -1,
    "difficulty" : 244139.48158254,
    "hashespersec" : 16347145,
    "testnet" : false,
    "keypoololdest" : 1305759224,
    "paytxfee" : 0.00000000,
    "errors" : ""
}
&lt;/pre&gt;


&lt;p&gt;I think a commenter on TechDirt put it best: &lt;blockquote&gt;Bitcoiners don't know if Bitcoin will succeed but they're working hard on making bitcoin success.&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts on bitcoin?&lt;/strong&gt; I'm still pretty new to bitcoin and have a lot to learn. This post was just to share my enthusiasm for a budding new technology trend and virtual currency. I have yet to join a mining pool, but that seems to be the best way to get started, unless you happen to have a cluster of your own computers with beefy GPUs.&lt;/p&gt;

&lt;p&gt;If you've got some bitcoins you want to share, send them to my address: &lt;code class="inline"&gt;128jzNVjzacRWYqFsVFMjcPKvUMa6Yfvgx&lt;/code&gt; :)&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/bitcoin-mining" title="Bitcoin Mining"&gt;Bitcoin Mining&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=fIkeq3BLi8w:67GjNzGX97U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=fIkeq3BLi8w:67GjNzGX97U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=fIkeq3BLi8w:67GjNzGX97U:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=fIkeq3BLi8w:67GjNzGX97U:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=fIkeq3BLi8w:67GjNzGX97U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=fIkeq3BLi8w:67GjNzGX97U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=fIkeq3BLi8w:67GjNzGX97U:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=fIkeq3BLi8w:67GjNzGX97U:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/fIkeq3BLi8w" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/bitcoin-mining</feedburner:origLink></entry>
	
	<entry>
		<title>Crash Course: Design for Startups</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/Lwy7T6kS41U/startup-web-design-ux-crash-course" />
		<updated>2011-04-08T10:00:00-07:00</updated>
		<id>http://paulstamatiou.com/startup-web-design-ux-crash-course</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BJ6tgWpyEHaMFZjqunM47l0RXJk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BJ6tgWpyEHaMFZjqunM47l0RXJk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BJ6tgWpyEHaMFZjqunM47l0RXJk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BJ6tgWpyEHaMFZjqunM47l0RXJk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I recently stumbled across screenshots of old websites of mine and was hurled into a state of reminiscent shock. I knew they were bad, but wow they were outstandingly horrible (redeemed only by their microformats support! I kid, I kid). Several years and a few Georgia Tech design and HCI courses have passed since those atrocities graced the web but I &lt;a href="http://paulstamatiou.com/portfolio" title="Portfolio"&gt;archived them in a sort of reverse portfolio&lt;/a&gt; as a personal reminder of how much my design sensibilities have matured. Only in the last year have I begun feeling slightly more confident about my design quality and process.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://paulstamatiou.com/startup-web-design-ux-crash-course" title="Crash Course: Design for Startups"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/04/pstam_design_is_graphic.png" alt="Design is graphic - photoshop and xscope"/&gt;&lt;/a&gt;&lt;/div&gt;





&lt;p&gt;&lt;/p&gt;

&lt;p&gt;I have yet to consider myself a real designer and there are quite a few things I would do differently with my most recent work on &lt;a href="http://paulstamatiou.com/startup-update-notifo-iphone-app-v2-more" title="Startup Update: Notifo iPhone App v2 and more"&gt;Notifo&lt;/a&gt; and &lt;a href="http://paulstamatiou.com/pic-a-fight-launch-viral-facemash-instagram" title="Behind the Project: Pic A Fight"&gt;Pic A Fight&lt;/a&gt;. But I've learned why my work nowadays is better than from years past. I am aiming to somehow share some of these thoughts brewing in my head with this post today.&lt;/p&gt;

&lt;p&gt;I have been brainstorming for the past few days about how to scope this article. Unfortunately I don't think I can distill everything about design into this or any number of posts. For one, design can be very subjective (or just plain &lt;a href="http://flyosity.com/application-design/your-design-is-wrong-and-heres-why.php" title="Your design is wrong and here's why"&gt;wrong at times&lt;/a&gt;). Second, there's a sharp distinction between graphic design and user experience that deserves its own article. Third, there's a whole world of typography, color theory, gestalt laws, fitts' law, hick's law, visual hierarchy, &lt;a href="http://ui-patterns.com/" title="UI Patterns - User Interface Design Pattern Library"&gt;UI patterns&lt;/a&gt;, layout mastery and copywriting that needs to be explored first hand. But most importantly, I'm still learning too. This is not a definitive guide, just a friendly pointer for startup folks getting into design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I can do is share what has worked for me&lt;/strong&gt;. I won't get into how to do the technical side of things, because let's face it that's just a Google search away and you'll probably find a great article on Smashing Magazine showing you Sass, writing mixins, learning to put CSS3 vendor prefixes ahead of real properties and so on.&lt;/p&gt;

&lt;h4&gt;Subtle is key! Except when it's not.&lt;/h4&gt;


&lt;p&gt;When I was a wee pixel pusher I would overuse whatever graphic effect I had just learned. Text-shadow? Awesome, let's put 5px 5px 5px #444. Border-radius? Knock that up to 15px. Gradients? How about from red to black?&lt;/p&gt;

&lt;p&gt;You can imagine how horrible everything looked. Now my rule of thumb in most cases is applying &lt;strong&gt;just enough to make it perceivable&lt;/strong&gt;, no more. This usually means no blur on text-shadow and just a 1px offset, or only dealing with gradients moving between a very narrow color range.&lt;/p&gt;

&lt;p&gt;Then what do I mean about "except when it's not"? Take for example visual hierarchy &amp;mdash; where to draw someone's eyes first with color, contrast and proportion. If you are going to increase the font size of a particular element, don't increase it by 1 or 2 points. Increase it by 10. &lt;strong&gt;Here's a nice test&lt;/strong&gt;: take a screenshot of your website or layout and make it 3 times smaller. Can you still see the main headline or call to action well? No? Make it bigger!&lt;/p&gt;

&lt;h4&gt;Get Inspired and Stay &lt;del&gt;Thirsty My Friends&lt;/del&gt; Organized&lt;/h4&gt;


&lt;p&gt;This is not a new concept by any means, but it bears repeating: keep the right side of your brain engaged by regularly seeking great website designs, reading about design, sketching site layouts (or &lt;a href="http://picplz.com/user/stammy/pic/r8cdc/" title="fear my wacom skills"&gt;anything really&lt;/a&gt;) and more. &lt;strong&gt;Whenever I see a website I like&lt;/strong&gt;, or even just a particular element of a site, I take a screenshot and archive it. I have been doing this for at least a year with the help of &lt;a href="http://www.realmacsoftware.com/littlesnapper/" title="LittleSnaper - Picture-perfect screenshots"&gt;LittleSnapper&lt;/a&gt;. Be warned, the app is a little slow. I wish someone would make a better competing product. I would pay $100 for it.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/04/pstam_littlesnapper.jpg" alt="LittleSnapper"/&gt;&lt;br/&gt;&lt;small&gt;Easy to use with their browser bookmarklet. LittleSnapper stays out of sight and saves the screenshots.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I have amassed over 700 screenshots so far. Not a day goes by that I don't archive something nice I see online. There is an app in the Mac App Store called Galleried which is the desktop app equivalent of browsing many CSS galleries and helps too.&lt;/p&gt;

&lt;h4&gt;Process&lt;/h4&gt;


&lt;p&gt;My typical site redesign process usually goes like this:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Get in the mindset of the target audience. Since this is your startup this probably won't involve much research as you are likely already the domain expert and ideal customer of your product. If not, checkout the &lt;a href="http://52weeksofux.com/post/890288783/the-five-ws-of-ux" title="The Five W's of UX"&gt;Five W's of UX&lt;/a&gt;: Who, What, Where, When, and Why. Keep a clear cut use case in mind throughout the redesign.&lt;/li&gt;
    &lt;li&gt;Spend a few hours trying to formulate my thoughts about how the first step affects layout. Should it have one big call to action for a primary use case? Are there multiple needs and products that need to addressed? What will the hierarchy be like? What gets the most attention? Flip through the aforementioned screenshots I take everyday and find 5 or 6 layouts I admire most. It might not be overall layouts, but particular elements I like.&lt;br/&gt;&lt;br/&gt;
        For example, these were some sites I had in mind when in the early stages of planning Notifo's layout. The key feature I liked from all these sites was strong header navigation. I always start with navigation, determine the primary call to action and accompanying graphic/illustration/video/et cetera. The rest seems to follow naturally.&lt;/li&gt;
&lt;/ul&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/04/pstam_inspiration_process.jpg" alt="Inspiration process"/&gt;&lt;/div&gt;




&lt;ul&gt;
    &lt;li&gt;The next step is either a few quick layout sketches with whatever I have on me &amp;mdash; either my trusty Cambridge notepad and uniball Super Ink pen or &lt;a href="http://www.uistencils.com/" title="UI Stencils"&gt;UI Stencils pad&lt;/a&gt; &amp;mdash; or straight to HTML/CSS. More often than not I start directly in HTML/CSS. This is a big point of contention for designers. There's a large camp of folks that  start with mockups or wireframes with Photoshop, Mockingbird/Balsamiq, OmniGraffle and so on, and those that begin in markup. The points for starting with the former are that it's easier to change things on the fly and you're more open to trying radical changes that would usually require substantial markup changes. Kyle Neath of GitHub prefers a mixture of both methods: screenshot stuff, cut it up and tweak in Photoshop, then implement.&lt;/li&gt;
&lt;/ul&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/04/pstam_design_mockups.jpg" alt="Design mockups"&gt;&lt;br/&gt;&lt;small&gt;Little known fact: the Ballmer peak phenomenon doesn't only apply to coding, it works with design too. That explains the two buck chuck.&lt;/small&gt;&lt;/div&gt;




&lt;ul&gt;    
    &lt;li&gt;I sketch 2 or 3 simple layout variants on a notepad, no more than 20 minutes, then go straight to markup. I setup Sass, import my mixins, a reset and get to work. Once a basic semblance of a website is up I actually do a lot of design tinkering in Chrome Dev Tools. I used to staunchly prefer Firebug but webkit and Chrome Dev Tools have &lt;a href="http://paulstamatiou.com/getting-to-know-webkit" title="Getting to Know WebKit"&gt;come a very long way&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;And then I take more screenshots of the Chrome Dev Tools-edited variations I like. I probably had 10 variations before I went with the one I liked for Notifo.&lt;/li&gt;
    &lt;li&gt;I tend to start with grayscale then tinker with color after I have the visual hierarchy down. I use &lt;a href="http://paulstamatiou.com/review-iconfactory-xscope" title="Review: Iconfactory xScope"&gt;xScope to help align anything and everything&lt;/a&gt;. It's perfect for quickly measuring space between elements (the red lines and measurements in the first image in this post is xScope).&lt;/li&gt;
&lt;/ul&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/04/pstam_notifo_wip_screenshot.jpg" alt="Notifo work in progress screenshot"/&gt;&lt;br/&gt;&lt;small&gt;One such work in progress/tinkering with chrome dev tools screenshot. I had just started to add color and texture to the header. Up until then it was all gray. Not really worrying about copy just yet.&lt;/small&gt;&lt;/div&gt;




&lt;ul&gt;
    &lt;li&gt;Color adjustments and typography tweaks usually continue through to the very last minute. I'm always experimenting to see what it would look like with other tones, hues and font stacks.&lt;/li&gt;
    &lt;li&gt;Most work up until now has been for the homepage. Mentally prepare a sort of style guide &amp;mdash; modules or patterns that will be used throughout the site. Classes to use for various sidebar elements, secondary navigation and so on. Update layout to work for content pages and style one-off pages like login, signup and a tour or benefits page. &lt;/li&gt;
    &lt;li&gt;Ask around for feedback and incorporate changes.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For smaller sites like Pic A Fight I skip all this and just wing it in HTML/CSS. On the other hand sites like Skribit have several layouts &amp;mdash; i.e. the homepage structure was completely different to the structure used on logged-in user pages, so there's some extra work there.&lt;/p&gt;

&lt;h4&gt;Required Reading&lt;/h4&gt;


&lt;p&gt;While I could easily recommend many great design books, such as "&lt;a href="http://www.amazon.com/gp/product/1592535879/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1592535879&amp;tag=paulstamatiou-20"&gt;Universal Principles of Design&lt;/a&gt;" and Norman's classic "&lt;a href="http://www.amazon.com/gp/product/0465067107/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0465067107&amp;tag=paulstamatiou-20"&gt;The Design of Everyday Things&lt;/a&gt;", I'll start with some of what I consider to be the essentials for web and graphic design.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/04/pstam_further_reading.jpg" alt="Further reading"/&gt;&lt;br/&gt;&lt;small&gt;Coders that get stumped usually do something non-code related for a while and come back to see that the code gremlins have fixed their problem or going for a walk helped them think outside the box. Something similar applies for design. Keep your brain active by constantly seeking new sources of inspiration and creativity. I got a &lt;a href="http://www.amazon.com/gp/product/B002OOWC3S/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B002OOWC3S&amp;tag=paulstamatiou-20" title="Wacom Bamboo Pen and Touch Small Tablet"&gt;Wacom tablet&lt;/a&gt; to doodle in Illustrator and found that helps with idea generation a bunch. Yes, this is a long caption.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Read the &lt;strong&gt;&lt;a href="http://www.amazon.com/gp/product/0321534042/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321534042&amp;tag=paulstamatiou-20" title="Non-Designer's Design Book, The (3rd Edition) by Robin Williams"&gt;Non-Designer's Design Book&lt;/a&gt;&lt;/strong&gt; and learn about &lt;strong&gt;basic color theory and C.R.A.P.&lt;/strong&gt; &amp;mdash; Contrast, Repetition, Alignment and Proximity. Cool colors like blue recede while warm colors like orange seem to move toward the viewer.&lt;/p&gt;

&lt;p&gt;For example on Notifo I used a tint of orange and analogous colors for the foreground and call to action, respectively, with complementary blue as the background. Learn about color complements and analogous colors; they are used most often and absolutely come in handy when doing the most daunting task for new designers, picking colors.&lt;/p&gt;

&lt;p&gt;Mark Boulton's &lt;a href="http://fivesimplesteps.com/books/practical-guide-designing-for-the-web" title="A Practical Guide to Designing for the Web"&gt;A Practical Guide to Designing for the Web&lt;/a&gt; is fantastic. I purchased the PDF to help support Mark, but &lt;strong&gt;&lt;a href="http://designingfortheweb.co.uk/book/" title="Designing for the Web by Mark Boulton"&gt;a free online version is available&lt;/a&gt;&lt;/strong&gt; as well. There are some sections in the book about how to get started freelancing, business plan stuff, dealing with client briefs and so on, but you can skip that. You're already well on your way with your startup.&lt;/p&gt;

&lt;p&gt;If you were going to only go with one design book, this would be it. Mark &lt;strong&gt;covers it all&lt;/strong&gt;: type classification, typesetting, everything about color (with site examples), color as emotion, designing without color, using and not using grids, composition basics including lead room and movement&lt;sup&gt;1&lt;/sup&gt;. It makes for a fairly quick read. Knock it out on a lazy analog Sunday and achieve design enlightenment.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/04/pstam_elements_of_typographic_style.jpg" alt="Elements of typographic style"/&gt;&lt;br/&gt;&lt;small&gt;An old design class homework assignment of mine in Adobe InDesign. Reminds me of my PageMaker 6.0 days on high school yearbook staff.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;The Elements of Typographic Style&lt;/strong&gt; by Robert Bringhurst is widely considered to be one of the great works discussing typography but it is mainly concerned with print. Fortunately Richard Rutter and Steve Marshall have adapted Bringhurt's work vis-a-vis the web. &lt;a href="http://webtypography.net/toc/" title="The Elements of Typographic Style Applied to the Web"&gt;The Elements of Typographic Style Applied to the Web&lt;/a&gt; is a great foundation in typography for the web, including various CSS snippets throughout. For example, never use &lt;code class="inline"&gt;line-height&lt;/code&gt; with absolute units as that can actually result in negative leading on browser font-size increases. Use a unit-less value&lt;sup&gt;2&lt;/sup&gt; greater than 1.4 to keep leading proportional to text size.&lt;/p&gt;

&lt;h4&gt;More Homework&lt;/h4&gt;


&lt;p&gt;
&lt;strong&gt;Get a Typekit account&lt;/strong&gt; and rigorously browse through fonts. Take note of their organization structure. Learn about font stacks. Try out some fonts on a site of yours. Make sure you &lt;a href="http://blog.typekit.com/2011/03/24/type-study-choosing-fallback-fonts/" title="Type study: Choosing fallback fonts - typekit"&gt;set fallback fonts&lt;/a&gt;. Experiment. Learn about &lt;a href="http://letteringjs.com/" title="Lettering.js - A jQuery plugin for radical web typography"&gt;lettering.js&lt;/a&gt;. Aim for contrast while avoiding conflict. Play with font size, weight, structure, form, direction and color. Typography is easily one of the most overlooked aspects of design for new web designers. It makes a huge difference and is worth exploring. &lt;a href="http://www.cameronmoll.com/archives/001266.html" title="Nine skills that separate good and great designers"&gt;Great designers treat text as UI&lt;/a&gt; has always been Cameron Moll's mantra.&lt;/p&gt;

&lt;blockquote&gt;A design is in conflict when you set two or more typefaces on the same page that are &lt;em&gt;similar&lt;/em&gt; &amp;mdash; not really different and not really the same. [...] When you put two faces together that look too much alike without really being so, most of the time it looks like a mistake. &lt;em&gt;The problem is in the similarities&lt;/em&gt; because the similarities conflict.&lt;br/&gt;Robin Williams, The Non-Designer's Design Book&lt;/blockquote&gt;


&lt;p&gt;Briefly read up on the &lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Principles_of_grouping" title="Gestalt Principles of Grouping"&gt;Gestalt Principles&lt;/a&gt;&lt;/strong&gt; as they refer to user interface design: proximity, similarity, good continuation, closure, common fate, past experience, figure &amp;amp; ground. And &lt;a href="http://particletree.com/features/visualizing-fittss-law/" title=""&gt;Fitts' Law&lt;/a&gt; too. Then find out &lt;a href="http://www.userintelligence.com/ideas/blog/2011/04/meaning-user-experience" title="The Meaning of User Experience"&gt;what UX really means&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;But Stammy, we launch in one week!!?!111&lt;/h4&gt;


&lt;p&gt;Yikes. In that case, here are a few pointers:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Nothing in this list matters if you have shitty marketing copy. Run your copy through a fine-tooth comb. Then do it again. Sell people on benefits, not features. How long has your site/service/app been around? Will you be around in a year? Tell me about your team (I want an about page with mugshots! &lt;sup&gt;3&lt;/sup&gt;). Who are your current customers and how do they use it? How can I trust you with my info? Can you share any interesting usage/et cetera numbers?&lt;/li&gt;
    &lt;li&gt;Buy a nice set of icons and use sparingly. If I see yet another site using Silk icon's I'm going to go crazy. Try &lt;a href="http://picons.me/"&gt;Picons&lt;/a&gt;, &lt;a href="http://pictos.drewwilson.com/"&gt;Pictos&lt;/a&gt; or &lt;a href="http://helveticons.ch/"&gt;Helveticons&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;Everything that can be clicked needs to have a hover state and preferably an action state as well. Feedback is important in good interface design. &lt;strong&gt;L&lt;/strong&gt;o&lt;strong&gt;V&lt;/strong&gt;e &lt;strong&gt;H&lt;/strong&gt;&lt;strong&gt;A&lt;/strong&gt;te: link, visited, hover, active&lt;/li&gt;
&lt;/ul&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/04/pstam_twitter_btn_states.jpg" alt="Twitter btn states"/&gt;&lt;br/&gt;&lt;small&gt;A button I added two states to for Skribit's (my first startup) Twitter integration.. feedback galore!&lt;/small&gt;&lt;/div&gt;




&lt;ul&gt;
    &lt;li&gt;If it can be aligned, it should be aligned.&lt;/li&gt;
    &lt;li&gt;When selecting colors for gradients in Photoshop, keep in mind that adding black (shade) or white (tint) to a hue (pure color) desaturates it. Not always a bad thing per se but it often makes for some muddled colors. Spice it up by trying different blend modes.&lt;/li&gt;
    &lt;li&gt;Use complementary or analogous colors to start and don't have more than 2 dominant colors. There are many exceptions to this when you get better. For now, find some palettes on &lt;a href="http://www.colourlovers.com/" title="Colourlovers"&gt;ColourLovers&lt;/a&gt; or pick tints/shades from &lt;a href="http://0to255.com" title="0to255 is a simple tool that helps web designers find variations of any color."&gt;0to255&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Textures!&lt;/strong&gt; Download &lt;a href="http://tileabl.es/" title="Tileables - never ending patterns"&gt;tileables&lt;/a&gt; or make your own grain, fabric or other such texture and use as a transparent, repeating background for large elements that would otherwise just be solid colors. But keep it subtle! The texture should only be perceivable when looking closely, not when 3 feet away from the computer. Also make sure that your texture goes with the theme of your design. A rust texture doesn't play too well with your futuristic iPhone app landing page. That can conjure up some cognitive dissonance. Your app is telling me it's the new hotness while your rust background texture is telling me it's old and busted&lt;sup&gt;4&lt;/sup&gt;. Similar issues can arise with picking fonts that don't go with the mood of your site.&lt;/li&gt;
    &lt;li&gt;"Always adjust opacity. Nothing is totally black or white, dark or bright. A semi-transparent black or white line, glow, shadow or shape goes a long way." -&lt;a href="http://flyosity.com/tutorial/crafting-subtle-realistic-user-interfaces.php" title="Crafting Subtle &amp; Realistic User Interfaces"&gt;Mike Rundle&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Put non-essential links (anything that doesn't help new user signup conversion) in the footer. That's the first place users go when they know what they're looking for. Regulars in the footer include a link to a contact page, about, blog, and sometimes sitemap. Available yet out of the way.&lt;/li&gt;
    &lt;li&gt;Plain edges are boring. Add a subtle 1px inner line slightly lighter than the background if dark. Use rgba(255,255,255, [value from 0-1]).&lt;/li&gt;
    &lt;li&gt;Not quite sure how to style a particular element? Browse through &lt;a href="http://ui-patterns.com/" title="User Interface Design Pattern Library"&gt;UI-Patterns&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;More white space. A good rule of thumb is that your padding and margin should be roughly equivalent to the font size used near that element.&lt;/li&gt;
    &lt;li&gt;Do you have a definitive call to action on your homepage?&lt;/li&gt;
    &lt;li&gt;Aid gestalt proximity and closure by grouping related items together with light bounding boxes or borders.&lt;/li&gt;
    &lt;li&gt;Have a long list of elements? Zebra-ify them and use alternating and &lt;em&gt;subtle&lt;/em&gt; background colors.&lt;/li&gt;
    &lt;li&gt;Putting padding on your form inputs! Tooltips or extra description for non-standard fields. Style &lt;code class="inline"&gt;:focus&lt;/code&gt; too.&lt;/li&gt;
    &lt;li&gt;Avoid having more than three levels of boxes inside of boxes &amp;mdash; especially if they all have drop shadow and borders, they tend to make a bad effect on the bottom when you see 3 chunks of lines.&lt;/li&gt;
    &lt;li&gt;Is the largest element or headline on your homepage the most important thing? Make sure that's what you want them to see first.&lt;/li&gt;
    &lt;li&gt;Finally, you don't have to fill up all of your available space!&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And if you have an extra minute to spare before launch, setup &lt;strong&gt;&lt;a href="http://www.optimizely.com/" title="Optimizely - improve your website through A/B testing."&gt;Optimizely&lt;/a&gt;&lt;/strong&gt;&lt;sup&gt;5&lt;/sup&gt;. Start playing with some simple A/B testing on your homepage. Yeah I know A/B testing sounds scary at first. Optimizely makes it easy, just give it a shot.&lt;/p&gt;

&lt;h4&gt;Try New Things&lt;/h4&gt;


&lt;p&gt;While it's not quite the best strategy for my inbox, whenever I see a new site or service launching I readily toss in my email so I can be sure to tinker with it first thing when it comes out. I get to experience new layouts, designs and good UX almost every week by doing this. My co-founder, Chad, is the same way when a new API comes out and must tinker with it.&lt;/p&gt;

&lt;p&gt;Most of what I described in this post is about &lt;strong&gt;design, not user experience&lt;/strong&gt; or usability. Your site can be sexy and pixel perfect but if the flow for a user to complete a specified task is unintuitive and requires too many steps, it makes for a poor experience. Likewise well-researched information architecture (layman's: the organization and labeling of your site's sections and pages) is crucial. UX is a field I'm just diving into. Check back in 10 years for my definitive UX how to guide. Probably best if you &lt;a href="http://feeds.feedburner.com/paulstamatiou" title="Paul Stamatiou"&gt;subscribe&lt;/a&gt;. :)&lt;/p&gt;

&lt;p&gt;In the meantime, checkout &lt;strong&gt;&lt;a href="http://52weeksofux.com/" title="52 Weeks of UX"&gt;52 Weeks of UX&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;More books..&lt;/h4&gt;


&lt;p&gt;For those that want a massive list of good design reading, indulge below. I've only read or skimmed through about half and heard good things about the rest. You'll probably want to start with Steve Krug's work. Much of the rest is not quite geared for the web but helps paint a bigger picture about design as whole.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.amazon.com/Envisioning-Information-Edward-R-Tufte/dp/0961392118/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222716&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;Envisioning Information&lt;/a&gt; by Edward Tufte&lt;br/&gt;
&lt;a href="http://www.amazon.com/gp/product/0321683684/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321683684&amp;tag=paulstamatiou-20"&gt;The Elements of User Experience&lt;/a&gt; by Jesse James Garrett&lt;br/&gt;
&lt;a href="http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758/ref=sr_1_3?ie=UTF8&amp;s=books&amp;qid=1302222422&amp;sr=8-3&amp;tag=paulstamatiou-20"&gt;Don't Make Me Think&lt;/a&gt; by Steve Krug&lt;br/&gt;
&lt;a href="http://www.amazon.com/Rocket-Surgery-Made-Easy-Yourself/dp/0321657292/ref=pd_bxgy_b_img_b&amp;tag=paulstamatiou-20"&gt;Rocket Surgery Made Easy&lt;/a&gt; by Steve Krug&lt;br/&gt;
&lt;a href="http://www.amazon.com/User-Interface-Design-Programmers-Spolsky/dp/1893115941/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222505&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;User Interface Design for Programmers&lt;/a&gt; by Joel Spolsky&lt;br/&gt;
&lt;a href="http://www.amazon.com/Designing-Interfaces-Patterns-Effective-Interaction/dp/0596008031/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222526&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;Designing Interfaces: Patterns for Effective Interaction Design&lt;/a&gt; by Jenifer Tidwell&lt;br/&gt;
&lt;a href="http://www.amazon.com/Nature-Aesthetics-Design-David-Pye/dp/0713652861/ref=pd_bxgy_b_text_b&amp;tag=paulstamatiou-20"&gt;The Nature &amp;amp; Aesthetics of Design&lt;/a&gt; by David Pye&lt;br/&gt;
&lt;a href="http://www.amazon.com/Designing-Digital-Age-Human-Centered-Products/dp/0470229101/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302240617&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;Designing for the Digital Age: How to Create Human-Centered Products and Services&lt;/a&gt; by Kim Goodwin&lt;br/&gt;
&lt;a href="http://www.amazon.com/Humane-Interface-Directions-Designing-Interactive/dp/0201379376/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222607&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;The Humane Interface: New Directions for Designing Interactive Systems&lt;/a&gt; by Jef Raskin&lt;br/&gt;
&lt;a href="http://www.amazon.com/Inmates-Are-Running-Asylum-Products/dp/0672326140/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222641&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity&lt;/a&gt; by Alan Cooper&lt;br/&gt;
&lt;a href="http://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/0470084111/ref=pd_sim_b_1&amp;tag=paulstamatiou-20"&gt;About Face 3: The Essentials of Interaction Design&lt;/a&gt; by Alan Cooper&lt;br/&gt;
&lt;a href="https://shop.smashingmagazine.com/smashing-book-2-intl.html"&gt;The Smashing Book&lt;/a&gt; by Smashing Magazine&lt;br/&gt;
&lt;a href="http://www.amazon.com/Web-Designers-Idea-Book-Vol/dp/160061972X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1302222562&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;The Web Designer's Idea Book #2&lt;/a&gt; by Patrick McNeil (great for inspiration)&lt;br/&gt;
&lt;a href="http://www.amazon.com/Designing-Interactions-Bill-Moggridge/dp/0262134748/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222693&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;Designing Interactions&lt;/a&gt; by Bill Moggridge&lt;br/&gt;
&lt;a href="http://www.amazon.com/Information-Design-Handbook-Visocky-OGrady/dp/160061048X/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222743&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;The Information Design Handbook&lt;/a&gt; by Jenn Visocky O'Grady&lt;br/&gt;
&lt;a href="http://www.amazon.com/Change-Design-Transforms-Organizations-Innovation/dp/0061766089/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222757&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;Change by Design: How Design Thinking Transforms Organizations and Inspires Innovation&lt;/a&gt; by Tim Brown&lt;br/&gt;
&lt;a href="http://www.amazon.com/Art-Innovation-Lessons-Creativity-Americas/dp/0385499841/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1302222783&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;The Art of Innovation Lessons in Creativity from IDEO, America's Leading Design Firm&lt;/a&gt; by Tom Kelley&lt;br/&gt;
&lt;a href="http://www.amazon.com/Thoughtless-Acts-Observations-Intuitive-Design/dp/0811847756/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1302222862&amp;sr=1-1&amp;tag=paulstamatiou-20"&gt;Thoughtless Acts?: Observations on Intuitive Design&lt;/a&gt; by Jane Fulton Suri and Ideo&lt;br/&gt;&lt;/p&gt;

&lt;h4&gt;Thoughts?&lt;/h4&gt;


&lt;p&gt;Drop me a comment below. This post was very much a raw brain dump. There are many facets to design, especially ones I admittedly have no clue about and am learning, that I couldn't get much deeper than this without making it a 10 part series. Chad says I should. Maybe I will after my secret redesign and UX challenge starting this month. Thanks for reading.&lt;/p&gt;

&lt;h4&gt;Footnotes&lt;/h4&gt;


&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; I can't stress enough how important this is! I very much dislike when sites have screenshots facing or angled the wrong direction. The subject of any photo or image can draw the reader where to look next.&lt;br/&gt;
&lt;sup&gt;2&lt;/sup&gt; Aside from z-index, line-height is the only CSS property that can go unit-less&lt;br/&gt;
&lt;sup&gt;3&lt;/sup&gt; I want to know you and your company's story. This is a chance to make an emotional connection with the prospective customer. Lure them in so you don't have to waste your time with &lt;em&gt;I N C E P T I O N&lt;/em&gt; later! Win.&lt;br/&gt;
&lt;sup&gt;4&lt;/sup&gt; MIB reference for $1000 Trebek. Did you know they're filming MIB 3? Crazy.&lt;br/&gt;
&lt;sup&gt;5&lt;/sup&gt; Full disclosure: Pete, who you can read about from the Optimizely about page (see footnote &lt;sup&gt;3&lt;/sup&gt;), once bought me  a grande iced tea at a Starbucks on Van Ness.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;Disclosure: some book links use my Amazon associates code because I'm broke as a joke.&lt;/small&gt;&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/startup-web-design-ux-crash-course" title="Crash Course: Design for Startups"&gt;Crash Course: Design for Startups&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Lwy7T6kS41U:efrM7NFwmko:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=Lwy7T6kS41U:efrM7NFwmko:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Lwy7T6kS41U:efrM7NFwmko:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=Lwy7T6kS41U:efrM7NFwmko:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Lwy7T6kS41U:efrM7NFwmko:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Lwy7T6kS41U:efrM7NFwmko:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Lwy7T6kS41U:efrM7NFwmko:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=Lwy7T6kS41U:efrM7NFwmko:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/Lwy7T6kS41U" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/startup-web-design-ux-crash-course</feedburner:origLink></entry>
	
	<entry>
		<title>Code School is Amazing</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/na26j6iuKFo/code-school-learn-by-doing" />
		<updated>2011-03-22T12:00:00-07:00</updated>
		<id>http://paulstamatiou.com/code-school-learn-by-doing</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CVaKCpm7b-G6wgnMSaMmXLZQEP0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CVaKCpm7b-G6wgnMSaMmXLZQEP0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CVaKCpm7b-G6wgnMSaMmXLZQEP0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CVaKCpm7b-G6wgnMSaMmXLZQEP0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Learning to code is not all kittens and daisies. It's tough stuff but fortunately the Internet is loaded with a surfeit of resources to get you started. They vary from "&lt;a href="http://norvig.com/21-days.html" title="Teach Yourself Programming in Ten Years"&gt;Teach Yourself X in 7 Days&lt;/a&gt;" type books and dense technical reference behemoths to the occasional good blog post guides. If you're very lucky, the subject matter you are trying to learn is taught by dedicated folks producing screencasts like those found at &lt;a href="http://railscasts.com/" title="Railscasts"&gt;Railscasts&lt;/a&gt;, &lt;a href="http://peepcode.com/" title="PeepCode"&gt;PeepCode&lt;/a&gt;, &lt;a href="http://tekpub.com" title="TekPub"&gt;TekPub&lt;/a&gt;, &lt;a href="http://nodecasts.org/" title="Nodecasts"&gt;Nodecasts&lt;/a&gt;, &lt;a href="http://vimcasts.org"&gt;Vimcasts&lt;/a&gt; and so on. But watching only gets you so far. Getting your hands dirty and testing your skills is when you really begin to chmod u+w your brain. If you're still with me after this cheesy intro, I'd like to introduce the latest creation from Envy Labs, &lt;strong&gt;&lt;a href="http://codeschool.com" title="Code School"&gt;Code School&lt;/a&gt;&lt;/strong&gt;, which is launching today.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://codeschool.com" title="Code School"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_code_school_home.jpg" alt="Code School - an interactive online marketplace where you can learn to code directly in the browser"/&gt;&lt;/a&gt;&lt;/div&gt;







&lt;div class="center"&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="620" height="485" id="viddler_5ceda73d"&gt;&lt;param name="movie" value="http://www.viddler.com/simple/5ceda73d/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/simple/5ceda73d/" width="620" height="485" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_5ceda73d"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;small&gt;Intro video to one particular Code School course&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Envy Labs perfected their learning by doing methods with a site called &lt;a href="http://railsforzombies.org/" title="Rails for Zombies"&gt;Rails for Zombies&lt;/a&gt; that taught introductory Ruby on Rails programming with a series of 10-minute screencasts followed by code challenges. The challenges use an in-browser code editor and once you're ready to submit your answer the site interprets your code and displays the response (for Rails courses, output is just like rails console). Rails for Zombies came out late last year and was a hit. The Envy Labs team took what they learned and decided to make this interactive online marketplace.&lt;/p&gt;

&lt;p&gt;The winning formula is &lt;strong&gt;screencasts + code challenges + gamification&lt;/strong&gt;. I went through Rails for Zombies a while ago and loved it. I was in the beta for Code School and completed one of their new courses, &lt;strong&gt;&lt;a href="http://railsbest.com" title="Rails Best Practices"&gt;Rails Best Practices&lt;/a&gt;&lt;/strong&gt;, and am convinced these guys are onto something. The material is presented in hyper-engaging format and the challenges immediately put to use what you've just learned.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_code_school_video_1100.jpg" title="Code school video"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_code_school_video.jpg" alt="Code school video"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;While they're starting with Rails courses (Envy Labs is a ruby shop), they will be adding others on a variety of subjects with jQuery and HTML5 &amp;amp; CSS3 courses up next. So what's the business model? Charging for the courses of course. It appears &lt;strong&gt;courses will sell in the $75 range&lt;/strong&gt;, with Rails Best Practices currently being on sale for $45. Completing each course gives you public badges to show off on your Code School profile along with discounts on other courses and from selected Code School partners like Inform IT.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_code_school_challenge_1100.jpg" title="Code school challenge"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_code_school_challenge.jpg" alt="Code school challenge"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Click for a larger version&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;A typical code challenge provides you with sample database data, any applicable routes, request and view info along with relevant files for you to edit in the browser. If you get stuck you can redeem some of your challenge points for a hint. The challenges associated with each level are bite-sized problems that are directly relevant to something just covered in the screencast.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_code_school_slides.jpg" alt="Code school slides"/&gt;&lt;br/&gt;&lt;small&gt;You can download the handy course slides for future reference&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Code School would not be worth it if the content and screencasts weren't well researched and thorough.. and they most definitely are. In particular, I like how Rails Best Practices does not just teach how to do certain things but rather &lt;strong&gt;showed off the wrong way of doing things&lt;/strong&gt;. Correction - wrong &lt;em&gt;ways&lt;/em&gt; of doing things. Gregg would start with some dirty code, then refactor it to still-dirty code a few times, walking through the viewer's potential but incorrect thought process and then showing off some of the better ways to solve those issues. By showing in detail the number of ways most people do things incorrectly, it helps to identify where your current skills fit in and how to adapt them. I love it.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_code_school_unlocked_final.jpg" alt="Code school unlocked final"/&gt;&lt;/div&gt;




&lt;h4&gt;Verdict&lt;/h4&gt;


&lt;p&gt;There is no hesitation in my mind &amp;mdash; Code School gets &lt;strong&gt;10 out of 10 Stammys&lt;/strong&gt;. The content is superb and the format is ideal for how most people learn... by doing! I see no issues with the price point either. I could see myself ending up spending the same amount of money on several screencasts or books and this is all condensed down into a smooth experience. Well done guys!&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_completed_rails_best_practices.jpg" alt="Completed rails best practices code school"/&gt;&lt;br/&gt;&lt;small&gt;The completed course displayed on &lt;a href="http://www.codeschool.com/users/Stammy" title="Code School - Stammy"&gt;my Code School profile&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I wanted to write about Code School the second I completed the Rails Best Practices earlier this month &amp;mdash; I was completely blown away &amp;mdash; but held off until they launched.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts?&lt;/strong&gt; Is this something you would pay for if they had a course relating to what you want to learn?&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/code-school-learn-by-doing" title="Code School is Amazing"&gt;Code School is Amazing&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=na26j6iuKFo:f1GwTgur_mA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=na26j6iuKFo:f1GwTgur_mA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=na26j6iuKFo:f1GwTgur_mA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=na26j6iuKFo:f1GwTgur_mA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=na26j6iuKFo:f1GwTgur_mA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=na26j6iuKFo:f1GwTgur_mA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=na26j6iuKFo:f1GwTgur_mA:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=na26j6iuKFo:f1GwTgur_mA:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/na26j6iuKFo" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/code-school-learn-by-doing</feedburner:origLink></entry>
	
	<entry>
		<title>iPad 2: Thoughts from a first time tablet user</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/nil-tCQ9YHM/apple-ipad-2-tablet-thoughts" />
		<updated>2011-03-20T20:00:00-07:00</updated>
		<id>http://paulstamatiou.com/apple-ipad-2-tablet-thoughts</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Job4HD3qEts35PwD20tbpqTmPyI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Job4HD3qEts35PwD20tbpqTmPyI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Job4HD3qEts35PwD20tbpqTmPyI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Job4HD3qEts35PwD20tbpqTmPyI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I make for one bad tech pundit. I proclaimed I was content with my BlackBerry Curve and saw &lt;a href="http://paulstamatiou.com/iphone-on-june-29th-but-not-for-me" title="iPhone Launch and BlackBerry Curve"&gt;no need for the first iPhone&lt;/a&gt;. Three iPhones later, I said the same of the iPhone 4, lured by recent Android devices with impressive hardware specs. Of course, I got the iPhone 4 after cracking my 3GS. I inked my &lt;a href="http://paulstamatiou.com/thoughts-on-netbooks-part-2-asus-eee-pc-edition" title="Thoughts on Netbooks Part 2 Asus EEE PC Edition"&gt;love of netbooks&lt;/a&gt; and ignored the first iPad. The &lt;a href="http://paulstamatiou.com/motorola-xoom-android-honeycomb-vs-apple-ipad-2" title="Moto Xoom or iPad 2?"&gt;XOOM&lt;/a&gt; piqued my interest in tablets with impressive hardware specs but the price and lack of apps kept me away.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_ipad2_speedo_1200.jpg" title="iPad 2 upright with smart cover"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_ipad2_speedo.jpg" alt="iPad 2 upright with smart cover"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;iPad 2 streaming a movie from Netflix. Malbec not included.&lt;/small&gt;&lt;/div&gt;





&lt;p&gt;Well I picked up an iPad 2 last week (surprise surprise!) and have finally come to the conclusion that my years of gadget yearning should have taught me long ago. &lt;strong&gt;It is all about the apps and experience.&lt;/strong&gt; Hardware matters only so much as it doesn't impede the experience. That's it.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_ipad2_slim_angle.jpg" alt="iPad 2" title="iPad 2"/&gt;&lt;/div&gt;


&lt;p&gt;This is not a post reviewing the iPad 2's hardware. Everyone else has already written about it left and right. From the genius of the smart cover and svelte frame to the low-quality cameras. Instead, I want to share &lt;strong&gt;how my first tablet &lt;a href="#footnotes" rel="nofollow"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; is changing how I do things&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;It scrolls like butter.&lt;a href="#footnotes" rel="nofollow"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/h4&gt;


&lt;p&gt;After unboxing the iPad 2 I spent a good deal of time scouring through the App Store for news apps. I wanted the iPad to replace a good chunk of my desktop browsing, reading and general Internet consumption. At the very least, it should help with my morning Google Reader skimming and coffee routine. It has.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_ipad2_news_apps.jpg" alt="News apps folder - Apple iPad 2" title="News apps folder - Apple iPad 2"/&gt;&lt;br/&gt;&lt;small&gt;News, magazine and various aggregator apps galore&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I started installing apps I have heard about thousands of times over. The Daily, Flipboard, Pulse and FLUD. Then I went on to personal favorites Instapaper and Reeder before installing various big name publication apps like NY Times, Wall Street Journal and CNN. Finally, I ventured to magazine apps such as Wired and Popular Science &lt;a href="#footnotes" rel="nofollow"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Steve Jobs was not lying, it is an absolute pleasure to browse the web on this thing. Scrolling by hand just feels natural. The &lt;strong&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_ipad2_gestures.jpg" title="iPad 2 multitasking gestures"&gt;hidden iOS 4.3 multitasking gestures&lt;/a&gt;&lt;/strong&gt; (upgrade to 4.3, attach iPad to Xcode 4, click enable for development) make it a breeze to flip through apps. I can be chatting with Chad in Campfire via the great Sparks app, then four finger drag left to go back to Hacker News HD, and then once more to revisit Reeder, where I have perfected my power user controls &amp;mdash; sidebar scrolling with left thumb and main article scrolling with right thumb or index finger.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_ipad2_apps_the_daily.jpg" alt="The Daily - iPad 2 News App"/&gt;The Daily&lt;/div&gt;


&lt;p&gt;The real treasure for me has been using iPad apps that use tablet affordances to their advantage and engineer &lt;strong&gt;interactive news and magazine experiences&lt;/strong&gt;. While I have only been a tablet user for all of 5 days, no app does this better than Wired. I am not just talking about embedded videos, but pieces of content that ask me to tap things to reveal details, infographics that change with my touch and different scrolling patterns; change article by going horizontally, continue reading the same article by scrolling vertically. This is not your "digital magazine" (ugh, Zinio) experience from years past that are basically just PDF readers. Some might consider this too much work for reading but I categorize it as a utopian experience. What about you?&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_ipad2_apps_zite.jpg" alt="Zite - iPad 2 News App"/&gt;&lt;br/&gt;&lt;small&gt;Zite - "the pandora for digital magazines"&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;I have my &lt;a href="http://paulstamatiou.com/review-amazon-kindle-3-wi-fi-reading-device" title="Review: Amazon Kindle 3 Wi-Fi Reading Device"&gt;Kindle&lt;/a&gt; for no-frills book reading while the iPad 2 immerses me into a new world of interactive magazines and publications. With 10 hours of battery life, I'll be prepared for long flights and not have to resort to overpriced airport magazine purchases.&lt;/p&gt;

&lt;p&gt;Other iPad apps I have come to enjoy include Terra (web browser with tabs - more convenient than Safari's tabbing style IMO), Yelp, Food Network's In The Kitchen, Epicurious, Photogene (better than Photoshop Express), PhotoSync, 1Password (a must for me), Pandora, Netflix and Aweditorium.&lt;/p&gt;

&lt;h4&gt;Console Replacement&lt;/h4&gt;


&lt;p&gt;The iPad 2 wields some pretty powerful graphics, making it quite the console alternative for the casual gamer. I don't have any consoles myself and sold my gaming PC last year so the closest I get to gaming has been Tiny Wings or Angry Birds on my iPhone. After playing with some impressive games like Dead Space and Real Racing 2 HD, I'm speechless. The iPad is a serious piece of work. The graphics look fantastic for the display and most such games only cost $5-10.. a far cry from the $50+ price tag on console and PC games.&lt;/p&gt;

&lt;p&gt;Here's some footage of me playing Infinity Blade (with one hand while recording).&lt;/p&gt;

&lt;iframe title="YouTube video player" width="620" height="350" src="http://www.youtube.com/embed/C-WnrHNZXRU?hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;




&lt;h4&gt;Apps Apps Apps..&lt;/h4&gt;


&lt;p&gt;Taking a step back, this all may sound like blatant fanboyism and new gadget lust. I approached the iPad 2 and tablets in general as some sort of limited capability, locked-down laptop lacking a true form of data input. After getting to know the full iPad experience, my views have flipped. High caliber iPad apps exist for most things I need to do and they make them all more of a joy than a task.&lt;/p&gt;

&lt;p&gt;What I've described thus far is my usage of the iPad 2 as a consumption device rather than a creation device. How does it fare for emails and note taking? While typing on the display was funky at first, and still is to some degree, my typing speed is largely uninhibited. And if you really want to get work done, you can pair a bluetooth keyboard to it. I tried that out briefly but quickly went back to the on-screen keyboard.&lt;/p&gt;

&lt;p&gt;In less than 5 days, the iPad 2 has become my primary media consumption device. I'm at my desk most of the day and undocking my 17-inch laptop to retreat to the couch is always a chore. Instead I just pick up the iPad and head to the couch or local coffee shop and tap away. &lt;strong&gt;Bliss&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts?&lt;/strong&gt; If you have a tablet, how does it get used in your daily life?&lt;/p&gt;

&lt;p&gt;&lt;strong id="footnotes"&gt;Footnotes&lt;/strong&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; Prior to the iPad 2 I have only ever played with my cofounder's iPad for about 1 hour over the last year.&lt;/p&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;sup&gt;2&lt;/sup&gt; Phrase coined by Steve Jobs when describing new features in iPhoto at MacWorld 2006.&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;3&lt;/sup&gt; Some of these require subscriptions, per issue purchases or at least account registrations. The Daily costs $1 for a week, Wired is $4 per issue, Popular Science is between $3-5 per issue or something like $15-20 per year.&lt;/p&gt;

&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/apple-ipad-2-tablet-thoughts" title="iPad 2: Thoughts from a first time tablet user"&gt;iPad 2: Thoughts from a first time tablet user&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=nil-tCQ9YHM:NXaVa3-KUXo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=nil-tCQ9YHM:NXaVa3-KUXo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=nil-tCQ9YHM:NXaVa3-KUXo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=nil-tCQ9YHM:NXaVa3-KUXo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=nil-tCQ9YHM:NXaVa3-KUXo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=nil-tCQ9YHM:NXaVa3-KUXo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=nil-tCQ9YHM:NXaVa3-KUXo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=nil-tCQ9YHM:NXaVa3-KUXo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/nil-tCQ9YHM" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/apple-ipad-2-tablet-thoughts</feedburner:origLink></entry>
	
	<entry>
		<title>Behind the Project: Pic A Fight</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/z0BvwiGeTH0/pic-a-fight-launch-viral-facemash-instagram" />
		<updated>2011-03-09T13:40:38-08:00</updated>
		<id>http://paulstamatiou.com/pic-a-fight-launch-viral-facemash-instagram</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9D8dXy9pPyrECJgk1s4FulXTQKc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9D8dXy9pPyrECJgk1s4FulXTQKc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9D8dXy9pPyrECJgk1s4FulXTQKc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9D8dXy9pPyrECJgk1s4FulXTQKc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Last week was interesting. &lt;a href="http://twitter.com/jazzychad" title="Chad Etzel - Jazzychad"&gt;Chad&lt;/a&gt; and I took a random idea &amp;mdash; a "photo off" &lt;a href="http://en.wikipedia.org/wiki/History_of_Facebook#Facemash" title="FaceMash"&gt;FaceMash&lt;/a&gt;-like site built on the &lt;a href="http://instagram.com" title="Instagram"&gt;Instagram&lt;/a&gt; real-time API &amp;mdash; from whiteboard to successful launch. The premise is simple: Pic A Fight displays two pictures, pick the picture you like the most, new ones load in, repeat. Users can even battle a particular user's pictures instead of globally, making it a bit more personal and incentivizing folks to share their battle pages. Here's a look at how &lt;a href="http://picafight.com" title="Pic A Fight"&gt;Pic A Fight&lt;/a&gt; quickly came to fruition.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_whiteboard.jpg" alt="Pic A Fight at the whiteboard Stage"/&gt;&lt;br/&gt;&lt;small&gt;Pic A Fight at the whiteboard stage.&lt;/small&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_homepage_results_1000.jpg" title="Pic A Fight homepage Results"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_homepage_results.jpg" alt="Pic A Fight homepage Results"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Results displayed after a round.&lt;/small&gt;&lt;/div&gt;




&lt;h4&gt;Nerdy Bits&lt;/h4&gt;


&lt;p&gt;Pic A Fight was built on Ruby 1.9.2 with RVM and Rails 3 hosted on several &lt;a href="http://paulstamatiou.com/how-to-getting-started-with-amazon-ec2" title="How To: Getting Started with Amazon EC2"&gt;Amazon EC2&lt;/a&gt; micro instances (we spun up 5 during load) behind an Amazon &lt;a href="http://aws.amazon.com/elasticloadbalancing/" title="Elastic Load Balancing - Amazon"&gt;elastic load balancer instance&lt;/a&gt;, using Amazon RDS (it's like a database instance) for our MySQL store and with images hosted via Instagram's Amazon S3.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_top_pics_1000.jpg" title="Pic A Fight top pics"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_top_pics.jpg" alt="Pic A Fight top pics"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;The crux of it all - &lt;a href="http://www.picafight.com/pics/top"&gt;top ranked pictures&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;We used the following Ruby gems:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;mysql2, a faster MySQL library for Ruby&lt;/li&gt;
    &lt;li&gt;Chad's fork of the instagram gem&lt;/li&gt;
    &lt;li&gt;mixpanel for helping track some basic metrics like skips, likes, follows.&lt;/li&gt;
    &lt;li&gt;compass for my Sass usage&lt;/li&gt;
    &lt;li&gt;jquery-rails for replacing Rails' Prototype default with jQuery UJS (with Google CDN-hosted jQuery 1.5.1)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;We also used whos.amung.us for basic real-time stats to find out how many concurrent users we had and what pages they were on.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_picpage_1000.jpg" title="Pic A Fight picture page"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_picpage.jpg" alt="Pic A Fight picture page"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Browse a user's pictures then click a pic to see the full version and its battle stats.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Overall nothing too complex about the app; our models were pretty light. The beefiest part of the app is probably a tie between sys admin stuff related to spawning all the EC2 instances and &lt;a href="http://en.wikipedia.org/wiki/Elo_rating_system" title="ELO rating system"&gt;the Elo rating system&lt;/a&gt; used for ranking pictures. The first version didn't even have sessions like some of the screenshots in this post do with the username displayed as logged in after OAuthing Instagram. After a user connected their Instagram account, we accessed their recent media feed and sucked down all the metadata related to 21 of their most recent images. Instagram already has three sizes of users images handy (612x612, 306x306, 150x150) so we didn't need to resize anything ourselves.&lt;/p&gt;

&lt;p&gt;For Elo rating, Chad stored two versions: global Elo wins and losses, as well as local Elo (just between a user's own pictures, enabling separate ranking for user battles). Some later optimization included removing low ranked images to keep things interesting &amp;mdash; people like voting on aesthetically pleasing images and that keeps them using the site. As for &lt;a href="http://instagram.com/developer/realtime/" title="Instagram real-time"&gt;Instagram's real-time&lt;/a&gt; aspect (inspired by Pubsubhubub), each new image published by a user auth'd with Pic A Fight would be POSTed to special Pic A Fight callback URL and we would add the new picture to that user's pics archive/profile and include the new image in battle circulation.&lt;/p&gt;

&lt;p&gt;And so on. After each battle, the results would be tossed into an object and sent client-side via JSON to display in a bar under the battle pics.&lt;/p&gt;

&lt;p&gt;As for the &lt;strong&gt;design&lt;/strong&gt;, I wanted to try out a subtle "page curling" effect with &lt;code class="inline"&gt;:before&lt;/code&gt; and &lt;code class="inline"&gt;:after&lt;/code&gt; pseudo-class selectors on the main content div. I started making the site with a blue near Instagram's blue, as seen in the blue top wrapper div (which has a subtle top and bottom border of lighter and darker blues to make it smooth).&lt;/p&gt;

&lt;p&gt;From there I wanted a "super" header and decided to go with a desaturated complement of the aforementioned blue. Sass makes this easy with some desaturate(), complement() and lighten/darken() tinkering. I was going to use a grain background but I had already done that for the body background and didn't want to overdo it so I experimented with a large pixelated transparent background. I ended up making use of CSS3's &lt;code class="inline"&gt;background-size&lt;/code&gt; to adjust the size of the blocks on the fly. The header navigation is bounded by a mostly transparent box (&lt;code class="inline"&gt;rgba(0,0,0,0.075)&lt;/code&gt;) and a slightly darker 1px inner shadow. I'm also a big fan of using a lighter text-shadow than the background, but subtle. Subtle is key. Overdone shadows just look awful. Avoid text or box shadow blur if you can.&lt;/p&gt;

&lt;p&gt;The main content box has a 1px inner border to draw contrast to the 3px drop shadow and subtle blue gradient. I wanted to play with a new Sass mixin I wrote for CSS3 border gradients but it appears they're not yet supported by webkit. Since this was a quick and dirty project, I didn't spend the time to setup Typekit but I love the hell out of Typekit in all of my other sites.&lt;/p&gt;

&lt;h4&gt;Launch&lt;/h4&gt;


&lt;p&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_connect_via_instagram_picafight.jpg" alt="Connect via instagram Pic A Fight" align="right" class="img-right"/&gt;Wednesday evening we had the prototype pretty much done and set it up on a random security-through-obscurity subdomain while the main domain was still displaying a GoDaddy parked page. We sent this URL around to some fellow Y Combinator folks to get basic feedback.&lt;/p&gt;

&lt;p&gt;Paul Graham chimed in and suggested some vital things:
&lt;strong&gt;1)&lt;/strong&gt; putting the images closer together making them easier to visually compare (and reduce the distance users had to move to their mouse to click) and &lt;strong&gt;2)&lt;/strong&gt; urging that we get higher quality pictures on the site ASAP. During this initial phase we only had two or three Instagram accounts connected via OAuth.&lt;/p&gt;

&lt;p&gt;Anyone can vote on pics without an account, but we can only add images from Instagram users that connect to Pic A Fight with OAuth. It was important to seed the site with good pictures before pointing lots of people at it. As for reducing voting friction, we added support for voting with cursor and number keys:&lt;/p&gt;

&lt;blockquote&gt;Psst! Pro tip: Vote with your keyboard! Use the left/right arrows or 1/2. Skip with down arrow or 3.&lt;/blockquote&gt;


&lt;p&gt;That was one of the best decisions made and made it very easy for folks to play many rounds without fatigue. One particular user completed over 1,400 rounds! Another small update we did before launch was add a skip button. I got some feedback (it was either Ethan, Kyle or Aaron.. forgot!) saying that people don't like making hard decisions/close calls and just want to skip ahead to more interesting rounds. It turns out the skip button gets used a good deal.&lt;/p&gt;

&lt;p&gt;With those tweaks ready and deployed to the live site, I direct messaged 10 or so friends on Twitter &lt;strong&gt;Thursday night&lt;/strong&gt;. In particular these were friends that I knew used Instagram. I asked them for basic feedback and if they wanted to connect their Instagram account to preload the site with more pictures and to not share the site until 10am the next day.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_homepage_1000.jpg" title="Pic A Fight homepage - Instagram meets FaceMash"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_homepage.jpg" alt="Pic A Fight homepage - Instagram meets FaceMash"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Pic A Fight on Launch Day&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Friday morning&lt;/strong&gt; arrived. Chad and I greeted each other on Campfire, I made my morning eggs and then we got ready for getting the word out. It started with some tweets, sharing on Facebook and Tumblr, a posting on Hacker News, which then got picked up by The Next Web and TechCrunch. By the end of the first day &lt;strong&gt;&lt;a href="http://picafight.com" title="Pic A Fight"&gt;Pic A Fight&lt;/a&gt;&lt;/strong&gt; had been the subject of over 1,000 tweets, had over 100,000 photo battles completed, 15,000 Instagram photos added, up to 500 concurrent users on 5 Amazon EC2 micro instances.&lt;/p&gt;

&lt;p&gt;The headlines:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;TechCrunch:&lt;/strong&gt; &lt;a href="http://techcrunch.com/2011/03/04/instagrams-go-head-to-head-with-pic-a-fight/" title="Instagrams Go Head-To-Head With Pic A Fight"&gt;Instagrams Go Head-To-Head With Pic A Fight&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;The Next Web:&lt;/strong&gt; &lt;a href="http://thenextweb.com/apps/2011/03/04/instagram-meets-facemash-in-pic-a-fight/" title="Instagram meets FaceMash in Pic A Fight"&gt;Instagram meets FaceMash in Pic A Fight&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Hacker News:&lt;/strong&gt; &lt;a href="http://news.ycombinator.com/item?id=2289081" title="Pic A Fight: Instagram meets FaceMash"&gt;Pic A Fight: Instagram meets FaceMash&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Including some Twitter love from our pals at &lt;a href="http://twitter.com/#!/Photojojo/status/43801686015361024" title="Photojojo on Twitter"&gt;Photojojo&lt;/a&gt; and &lt;a href="http://twitter.com/#!/laughingsquid/status/43807957154144256" title="Laughing Squid on Twitter"&gt;Laughing Squid&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;By the end of the weekend, Pic A Fight had &lt;strong&gt;43,000 photos&lt;/strong&gt; added from close to 1,000 Instagram users, &lt;strong&gt;180,000 completed&lt;/strong&gt; battles and some interesting stats on popular filter usage:&lt;/p&gt;

&lt;pre class="terminal"&gt;
mysql&gt; select igram_filter, count(igram_filter) as c from pics group by igram_filter order by c desc;
+--------------+------+
| igram_filter | c    |
+--------------+------+
| None         | 9539 |
| X-Pro II     | 7239 |
| Lomo-fi      | 5365 |
| Earlybird    | 5058 |
| Hefe         | 3000 |
| Nashville    | 2012 |
| Sutro        | 1730 |
| Walden       | 1639 |
| Toaster      | 1561 |
| Lord Kelvin  | 1316 |
| Apollo       | 1266 |
| Gotham       | 1251 |
| 1977         | 1231 |
| Inkwell      |  675 |
+--------------+------+
14 rows in set (1.34 sec)   
&lt;/pre&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_picafight_filters.jpg" alt="Pic A Fight Filters"/&gt;&lt;/div&gt;


&lt;p&gt;Just a brief look at a side project of ours that got some unexpected attention. :) The end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks&lt;/strong&gt; to Chad Etzel for reading drafts of this.&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/pic-a-fight-launch-viral-facemash-instagram" title="Behind the Project: Pic A Fight"&gt;Behind the Project: Pic A Fight&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=z0BvwiGeTH0:BRxb_jAUBuo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=z0BvwiGeTH0:BRxb_jAUBuo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=z0BvwiGeTH0:BRxb_jAUBuo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=z0BvwiGeTH0:BRxb_jAUBuo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=z0BvwiGeTH0:BRxb_jAUBuo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=z0BvwiGeTH0:BRxb_jAUBuo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=z0BvwiGeTH0:BRxb_jAUBuo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=z0BvwiGeTH0:BRxb_jAUBuo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/z0BvwiGeTH0" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/pic-a-fight-launch-viral-facemash-instagram</feedburner:origLink></entry>
	
	<entry>
		<title>WakeMate and Fitbit</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/Vii3fzjzohs/review-wakemate-fitbit" />
		<updated>2011-03-07T23:37:03-08:00</updated>
		<id>http://paulstamatiou.com/review-wakemate-fitbit</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PCuh3hAjyczmiXmiF4bJbPBNJ8g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PCuh3hAjyczmiXmiF4bJbPBNJ8g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PCuh3hAjyczmiXmiF4bJbPBNJ8g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PCuh3hAjyczmiXmiF4bJbPBNJ8g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;As a user of both WakeMate and Fitbit for the past few months, numerous people have asked me which they should buy. I don't think that's the right question. While both have a bit of feature overlap, they are entirely different beasts and I don't see them as competitors. I'll briefly go through each one and share my thoughts.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_wakemate_fitbit_1200.jpg" title="WakeMate and Fitbit"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_wakemate_fitbit.jpg" alt="Wakemate fitbit"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;WakeMate left, Fitbit and included accessories right&lt;/small&gt;&lt;/div&gt;







&lt;h4&gt;WakeMate&lt;/h4&gt;


&lt;p&gt;The $60 &lt;a href="http://wakemate.com/" title="WakeMate"&gt;WakeMate&lt;/a&gt; is an interesting bit of kit. It's a wristband you wear to sleep and pair (via Bluetooth) with your iPhone, Android or BlackBerry device running the WakeMate app. It uses &lt;a href="http://en.wikipedia.org/wiki/Actigraphy" title="Actigraphy"&gt;actigraphy&lt;/a&gt; to track your sleep and wake you up during a 20 minute window you specify; aiming to &lt;strong&gt;reduce your morning grogginess&lt;/strong&gt; by waking you up when you are nearest to a light phase of sleep.&lt;/p&gt;

&lt;p&gt;I preordered my WakeMate in November 2009 and finally received it 13 months later, due to various widely publicized manufacturing delays. But this post isn't about their past, it's about the product. I hesitated writing this post until the WakeMate folks had some time to work out the kinks. The product has a snug-fitting wristband (to be worn on your non-dominant hand) that started getting fuzzy and losing WakeMate letters after two months. The battery is good for about two nights.&lt;/p&gt;

&lt;p&gt;The iPhone app is actually pretty slick. I really enjoy the simple interface for setting the alarm &amp;mdash; two sliders for hour and minutes. No extra menus to save the alarm like the iPhone's native clock app. The problem I had was getting the app to pair with the phone and stay paired. Well technically it is not the actual Bluetooth connection but some sort of state the band must have to properly begin logging data. If WakeMate didn't think this was good, it would prompt me to power cycle the wristband. That would then require waiting 20 seconds for the app to realize it was back on again. At worst, this would happen two or three times in a night. All I know is that I got frustrated with it.&lt;/p&gt;

&lt;p&gt;For example, I would set my alarm, flip over to Angry Birds for some pig punishment, then flip back to the app (app must be in foreground when you go to sleep) before locking the phone. Maybe 30 seconds later WakeMate would start buzzing telling me I needed to power cycle the wristband to get it working properly. Of course, I later realized this was not the proper way to do things since WakeMate was already be logging and later calculating that into the "time to fall asleep" metric. Moving on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it work?&lt;/strong&gt; I can't say I have ever felt better in the mornings using WakeMate to wake me up, but I really like the sleep metrics it gives me. These are just two screenshots. WakeMate also provides movement data, breakdown of how long you were in each phase of sleep per night and so on.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_wakemate_log.jpg" alt="WakeMate Night logs"/&gt;&lt;/div&gt;


&lt;p&gt;You can also tag your nights when setting the alarm. For example, if you are really stressed out at work you might want to tag it work and then later on compare your stressed out sleep with other logged nights.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_wakemate_log_single_night.jpg" alt="Wakemate log for a single night"/&gt;&lt;/div&gt;


&lt;p&gt;That being said, I never really learned anything about my sleep patterns from this data. It's nice to look at but there's no intelligence sprinkled on top. Every night WakeMate had logged still only said "your sleep quality was about average."&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_wakemate_nye.jpg" alt="WakeMate Restful Sleep Overview"/&gt;&lt;br/&gt;&lt;small&gt;My New Year's Day sleep&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;However, after the novelty of the sleep metrics wore off I found myself not using WakeMate anymore. It was too much of a hassle to ensure the wristband was charged, put it on, turn it on, open the app, wait for it to recognize the wristband, set the alarm, lock the screen.. then realize I wanted to check something in another app before going to sleep, then flipping back to WakeMate when I was done, only to have it complain that I needed to power cycle the wristband and reset the alarm. Arrgh!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; 5.5 out of 10 Stammys.&lt;/p&gt;

&lt;h4&gt;Fitbit&lt;/h4&gt;


&lt;p&gt;The Fitbit on the other hand, is more about your daily activities than your nightly sleep health. At first glance, it's a &lt;strong&gt;glorified pedometer&lt;/strong&gt; selling for $99. But you're not just buying the hardware, you're buying access to a comprehensive logging and tracking system, with additional analytics available for an extra $50 per year. Setup is pretty easy. Just plug in a USB charging station/dock, install some software and login for the first time to setup your profile and tell the system about your weight and height.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_fitbit_closeups_1200.jpg" title="Fitbit closeups"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_fitbit_closeups.jpg" alt="Fitbit closeups"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;The Fitbit has a sexy VFD-esque display that reminds me of 90's VCRs.. I love it.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;From then on you just clip the Fitbit onto your belt or anywhere else comfortable (it suggests women like wearing it on their bra) and go about your daily business. Throughout the day you can tap a button on the Fitbit to see how may steps you've taken so far, miles traveled and calories burned. You don't even need to use the website if that's all you want to know.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_fitbit_6miles_1200.jpg" title="Fitbit Logging Interface"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_fitbit_6miles.jpg" alt="Fitbit Logging Interface"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Fitbit's main dashboard (click for more)&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;It can do much, much more&lt;/strong&gt; if you put the effort into it. For example, you can have it track weight, body fat percentage, measurements (neck, bicep, forearm, chest, waist, hips, thigh, calf- geez!), what you've eaten each day, how much water you've had to drink, activities to log, sleep, your mood, allergies from day to day, your daily resting/normal/exertive heart rates, blood pressure and last but not least your blood glucose levels. Phew.&lt;/p&gt;

&lt;p&gt;If I had to nitpick one thing though, it's that Fitbit breaks up days strictly by, well, days. I'd rather have my days split up by my sedentary hours (AKA when I sleep). I'll be out past midnight and want to check out my miles for the day to see that it's already reset for the day. I'll often have to manually add my totals for days together to be able to know that I walked 10.51 miles from 9am Saturday to 4am Sunday. That's nice to know!&lt;/p&gt;

&lt;p&gt;Unfortunately for the Fitbit folks, I'm the type of user that doesn't want to do extra work. The most I'll do is clip it onto my belt each day and check out how many miles I've gone for the day and just that data keeps me content with the Fitbit. I have logged into the website maybe 5 times in the last two months.&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/03/pstam_tennis_fitbit_thumb.jpg" alt="Fitbit - Guess when I played tennis?" title="Fitbit - Guess when I played tennis?" align="right"/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; 9.5 out of 10 Stammys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I was provided a Fitbit by one of Fitbit's investors.&lt;/p&gt;

&lt;h4&gt;Thoughts? Do you own a WakeMate, Fitbit or any of their competitors?&lt;/h4&gt;

&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/review-wakemate-fitbit" title="WakeMate and Fitbit"&gt;WakeMate and Fitbit&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Vii3fzjzohs:xKUmt9zWvJE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=Vii3fzjzohs:xKUmt9zWvJE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Vii3fzjzohs:xKUmt9zWvJE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=Vii3fzjzohs:xKUmt9zWvJE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Vii3fzjzohs:xKUmt9zWvJE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Vii3fzjzohs:xKUmt9zWvJE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=Vii3fzjzohs:xKUmt9zWvJE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=Vii3fzjzohs:xKUmt9zWvJE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/Vii3fzjzohs" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/review-wakemate-fitbit</feedburner:origLink></entry>
	
	<entry>
		<title>Thoughts on OS X Lion SSD TRIM Support</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/2aAUFqpzfNg/mac-osx-lion-ssd-trim-support" />
		<updated>2011-02-28T00:49:57-08:00</updated>
		<id>http://paulstamatiou.com/mac-osx-lion-ssd-trim-support</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Tb8hCnXwvYYmOvYBZeQrjaH5q8c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Tb8hCnXwvYYmOvYBZeQrjaH5q8c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Tb8hCnXwvYYmOvYBZeQrjaH5q8c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Tb8hCnXwvYYmOvYBZeQrjaH5q8c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;There has been a plethora of noise surrounding the upcoming version of OS X, Lion. So much so that I logged into my developer account, downloaded the 10.7 Lion developer preview and installed it on my other drive (&lt;a href="http://paulstamatiou.com/ssd-corrupt-failure-intel-x25m" title="Another SSD Failure - SSD corrupt failure intel X25-M"&gt;a dying SSD&lt;/a&gt; I refuse to use for anything critical).&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_osx_lion_install.jpg" alt="Mac OS X 10.7 Lion Install"/&gt;&lt;/div&gt;


&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Site Note:&lt;/strong&gt; In case you missed the announcement in my &lt;a href="http://paulstamatiou.com/how-to-wordpress-to-jekyll" title="How To: WordPress to Jekyll"&gt;WordPress to Jekyll post&lt;/a&gt;, this blog now has a new section called &lt;a href="http://paulstamatiou.com/bits" title="Bits - PaulStamatiou.com"&gt;Bits&lt;/a&gt;, where I publish shorter pieces more frequently. Bits have their own &lt;a href="http://feeds.feedburner.com/pstam-bits" title="PaulStamatiou.com Bits"&gt;RSS feed&lt;/a&gt; and &lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=pstam-bits&amp;loc=en_US" title="Subscribe to PaulStamatiou.com Bits"&gt;email list&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After 30 minutes of tinkering around with Lion I didn't really think too much of it aside from some &lt;a href="http://www.apple.com/macosx/lion/" title="Apple Mac OS X Lion Preview"&gt;very nice eye candy&lt;/a&gt; sprinkled throughout. I like how 10.7 makes &lt;strong&gt;no distinction between regular and server versions&lt;/strong&gt; so you can install the server stuff if you wish. One neat feature of Lion is iPad file sharing (WebDAV). Depending on what emerges on Apple's March 2nd event (rumored &lt;strong&gt;iPad 2&lt;/strong&gt; launch), this could be one reason why Apple decided to bundle Lion Server into Lion; more consumers can have this seemingly powerful iPad-friendly feature.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_osx_lion_launchpad_1200.jpg" title="Mac OS X lion launchpad"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_osx_lion_launchpad.jpg" alt="Mac OS X lion launchpad"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Lion LaunchPad. iOS convergence much?&lt;/small&gt;&lt;/div&gt;




&lt;h4&gt;TRIM!&lt;/h4&gt;


&lt;p&gt;But I digress, this post is about SSDs. &lt;strong&gt;Lion will support SSD TRIM.&lt;/strong&gt; As someone who has owned three SSDs since 2008 (back when &lt;a href="http://paulstamatiou.com/review-intel-x25-m-80gb-ssd" title="Review: Intel X25-M 80GB SSD"&gt;80GB cost $700&lt;/a&gt;), the first of which died after 9 months, the second of which started corrupting things at 15 months and a third that has considerable performance degradation, I can tell you that &lt;strong&gt;this is HUGE&lt;/strong&gt;! Mac OS X has been lacking TRIM support for a while now. Backtracking a bit, what is &lt;a href="http://en.wikipedia.org/wiki/TRIM" title="TRIM command"&gt;TRIM&lt;/a&gt;?&lt;/p&gt;

&lt;blockquote&gt;a TRIM command allows an operating system to inform a solid-state drive (SSD) which blocks of data are no longer considered in use and can be wiped internally. [...]&lt;br/&gt;&lt;br/&gt;the typical way in which operating systems handle operations like deletes and formats resulted in unanticipated progressive performance degradation of write operations on SSDs. &lt;strong&gt;TRIM enables the SSD to handle garbage collection overhead&lt;/strong&gt;, that would otherwise significantly slow down future write operations to the involved blocks, in advance.&lt;/blockquote&gt;


&lt;p&gt;&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_vertex_3_sandforce_ssd.jpg" alt="Vertex 3 SandForce SSD"/&gt;&lt;br/&gt;&lt;small&gt;OCZ Vertex 3 SSD. I'm waiting for its big brother, the Vertex 3 Pro with a SandForce SF-2500 controller, to come out next month. 550 MB/s... unfortunately I won't see all the benefits in my SATA 3 Gb/s MBP.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;In short, TRIM support is a great thing for SSD owners and will keep SSD performance degradation to a minimum and ensure maximum possible life. Now is an &lt;strong&gt;especially good time&lt;/strong&gt; to give SSDs a chance if you haven't taken the plunge yet &amp;mdash; very smart SSD controllers are emerging that are phenomenal at keeping performance degradation at bay. TRIM affords OS-level garbage collection and helps with wear leveling and fragmentation; otherwise SSDs must blindly assume that blocks written to at least once are still in use by the OS. TRIM tells the SSD what data should be ignored by GC and is in use by the filesystem. This combination also helps reduce write amplification (increased number of flash writes incurred from needing to erase blocks before writing new data), a factor in random write speeds.&lt;/p&gt;

&lt;p&gt;If you want to get a new SSD before Lion ships, &lt;strong&gt;1)&lt;/strong&gt; wait until next month when all the "next gen" controller SSDs come out and &lt;strong&gt;2)&lt;/strong&gt; keep at least 20% of your storage space free so that wear leveling works better. Then update to Lion the day it comes out to get TRIM.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_osx_lion_ssd_1200.jpg" title="System Info, SSD - Mac OS X Lion Server"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_osx_lion_ssd.jpg" alt="System Info, SSD - Mac OS X Lion Server"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Lion System Info - Listing X25-M with unsupported TRIM&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;The big question is what SSDs Lion's TRIM command will support. Early reports state TRIM support only works for Apple-shipped SSDs and not third-party SSDs like my Intel X25-M. I would assume this TRIM support will expand to include all SSDs once Lion escapes later this summer.&lt;/p&gt;

&lt;h4&gt;Speed Demon&lt;/h4&gt;


&lt;p&gt;Here's &lt;strong&gt;what I'm wishing for&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Lion to launch with TRIM support for all SSDs&lt;/li&gt;
    &lt;li&gt;Lion to support TRIM in the &lt;strong&gt;software RAID controller&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Apple to update the MacBook Pro line with SATA Rev 3 (6 Gb/s).&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Why's that? If my three wishes come true,  I will upgrade my 2 year old MBP to a newer one, rip out all drives, put in two Vertex 3 Pros (or whichever SSD is top dog then), assemble &lt;a href="http://paulstamatiou.com/how-to-apple-macbook-pro-raid-0-array-with-2-intel-x25-m-ssds" title="How To: Apple MacBook Pro RAID 0 Array with 2 Intel X25-M SSDs"&gt;in RAID 0 as I've done prior&lt;/a&gt; and &lt;strong&gt;enjoy 1.1GB/s read and 1.0GB/s write bliss&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hey, I can dream can't I?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then again, I guess it would be possible to build a crazy external SSD RAID array, attach to a MacBook Pro via &lt;a href="http://paulstamatiou.com/apple-thunderbolt-intel-light-peak" title="Apple Thunderbolt"&gt;Thunderbolt&lt;/a&gt; and have a script (probably just something as easy as a regular Carbon Copy Cloner task) to synchronize changes back to a local drive whenever going mobile (cloning from SSD to SSD is crazy fast).&lt;/p&gt;

&lt;h4&gt;Alas&lt;/h4&gt;


&lt;p&gt;&lt;strong&gt;Until then&lt;/strong&gt;, I will limp along with my dying, TRIM-less 80GB X25-M and use a &lt;strong&gt;&lt;a href="http://www.amazon.com/gp/product/B003NSBF32?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B003NSBF32&amp;tag=paulstamatiou-20" title="Seagate Momentus XT 500 GB 7200RPM SATA 3Gb/s 32 MB Cache 2.5 Inch Solid State Hybrid Drive ST95005620AS-Bare Drive"&gt;2.5-inch 500GB Seagate Momentus XT&lt;/a&gt;&lt;/strong&gt; that I ordered as an internal backup/media/clone drive until SF-2500 SSDs and Lion TRIM come out. I'm not one to like spinning disks but the Momentus XT is actually pretty slick: 32MB cache, 4GB SLC NAND memory, 7200RPM disk. It's a &lt;em&gt;solid-state hybrid&lt;/em&gt;. Expect &lt;strong&gt;&lt;a href="http://paulstamatiou.com/bits" title="Bits - PaulStamatiou.com"&gt;a bit&lt;/a&gt;&lt;/strong&gt; about it when it arrives and I install it.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_osx_lion_mission_ctrl_1200.jpg" title="Mac OS X Lion Mission Control"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_osx_lion_mission_ctrl.jpg" alt="Mac OS X Lion Mission Control"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Mission Control. Notice how a Space can be occupied by a full-screen app (Safari).&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Thoughts on Lion, SSDs/TRIM?&lt;/strong&gt;&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/mac-osx-lion-ssd-trim-support" title="Thoughts on OS X Lion SSD TRIM Support"&gt;Thoughts on OS X Lion SSD TRIM Support&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2aAUFqpzfNg:GjvD5n-lrPc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=2aAUFqpzfNg:GjvD5n-lrPc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2aAUFqpzfNg:GjvD5n-lrPc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=2aAUFqpzfNg:GjvD5n-lrPc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2aAUFqpzfNg:GjvD5n-lrPc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2aAUFqpzfNg:GjvD5n-lrPc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=2aAUFqpzfNg:GjvD5n-lrPc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=2aAUFqpzfNg:GjvD5n-lrPc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/2aAUFqpzfNg" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/mac-osx-lion-ssd-trim-support</feedburner:origLink></entry>
	
	<entry>
		<title>Sony Alpha NEX-5: Going from DSLR to SLD</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/H-XIe7Qa4tg/sony-alpha-nex5-sld-digital-camera" />
		<updated>2011-02-21T14:31:30-08:00</updated>
		<id>http://paulstamatiou.com/sony-alpha-nex5-sld-digital-camera</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uA87B-KA0nX0RP0K49khVmIqMdQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uA87B-KA0nX0RP0K49khVmIqMdQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uA87B-KA0nX0RP0K49khVmIqMdQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uA87B-KA0nX0RP0K49khVmIqMdQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;If you've been following along since &lt;a href="http://paulstamatiou.com/atlanta-to-san-francisco-moving-cross-country" title-"Atlanta to San Francisco: What I learned moving Cross-Country"&gt;my move to San Francisco&lt;/a&gt;, I have been in this minimalism phase where I prefer owning less. I sold many gadgets and things I owned &amp;mdash; from a 50-inch plasma HDTV to PlayStation 3 &amp;mdash; except for my laptop of course. The last remaining piece was my &lt;a href="http://paulstamatiou.com/review-nikon-d90-dslr-camera" title="Review: Nikon D90 DSLR Camera"&gt;Nikon D90 DSLR&lt;/a&gt; and its many accessories. I also had a &lt;a href="http://paulstamatiou.com/review-kodak-zi8-hd-pocket-video-camera" title="Review: Kodak Zi8 HD pocket video camera"&gt;Kodak Zi8 HD video camera&lt;/a&gt; for shooting video on the go. Several months ago I finally consolidated my video and camera needs by picking up a &lt;strong&gt;&lt;a href="http://www.amazon.com/gp/product/B003MPSHP0?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B003MPSHP0&amp;tag=paulstamatiou-20" title="Sony Alpha NEX-5 Digital Camera with Interchangeable Lens"&gt;Sony Alpha NEX-5&lt;/a&gt;&lt;/strong&gt; after selling the D90 and Zi8.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_sony_nex_5_tripod.jpg" alt="Sony Alpha NEX-5 on a suction cup mount"/&gt;&lt;br/&gt;&lt;small&gt;Sony Alpha NEX-5 (with &lt;a href="http://www.amazon.com/gp/product/B00004ZCJF?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00004ZCJF&amp;tag=paulstamatiou-20" title="Tiffen 49mm UV Protection Filter"&gt;Tiffen UV filter&lt;/a&gt;) on a suction cup mount&lt;/small&gt;&lt;/div&gt;


&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I was initially going to publish a sizable review on the Sony NEX-5 camera but life happens and months passed without me saying a peep about it. I figure I should at least talk about it a bit after 6 months of ownership. First off, &lt;strong&gt;what is the NEX-5 all about&lt;/strong&gt;? Is it just a high-end point-and-shoot? &lt;strong&gt;Not in the least.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This is not a full review, just some brief thoughts. If you have any specific questions, please ask in a comment below.&lt;/p&gt;

&lt;p&gt;I have found the NEX-5 to be a &lt;strong&gt;viable and small replacement for a full-blown DSLR&lt;/strong&gt;. It's not a P&amp;amp;S camera, rather something called an &lt;em&gt;EVIL&lt;/em&gt; or &lt;em&gt;SLD&lt;/em&gt;: Electronic Viewfinder in Lens, Single Lens Display or Mirrorless Interchangeable Lens Camera depending on which acronym suits your fancy. The &lt;strong&gt;NEX-5 uses a 14.2MP APS-C format image sensor&lt;/strong&gt;; the same size used in the Nikon D90. That's impressive for a camera of this diminutive size.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_sony_nex-5_ferrari_360_modena_1200.jpg" title="Sony NEX-5 Ferrari 360 Modena sighting"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_sony_nex-5_ferrari_360_modena.jpg" alt="Sony NEX-5 Ferrari 360 Modena sighting"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;360 Modena on Great Hwy near Ocean Beach. CCCLX is also the name of an Xbox piracy group...&lt;/small&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_sony_nex-5_ferrari_360_modena_100_percent.jpg" alt="Sony nex-5 ferrari 360 modena 100 percent"/&gt;&lt;br/&gt;&lt;small&gt;NEX-5 quality is good enough for me! Same picture at 100%&lt;/small&gt;&lt;/div&gt;




&lt;h4&gt;The Bad&lt;/h4&gt;


&lt;p&gt;There are a few downsides to the NEX-5. First, it carries an SLR-like price. The NEX-5 with the 18-55mm E-mount lens goes for $699 USD. Second, there are not many E-mount lenses available. Officially, just three from Sony: 18-55mm, 16mm "pancake" f/2.8 wide-angle and an ~$800 18-200mm. The NEX-5 does not have in-body image stabilization so you'll want to opt for lenses that have OSS. Third, attachments like flash (included and not too powerful), optical viewfinder (optional) and external microphone (optional) use a proprietary Sony interface. No chance of using your own high-quality external microphone for compact HD video recording.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_sony_nex-5_zoom.jpg" alt="Sony NEX-5 recording closeup HD video" title="Sony NEX-5 recording closeup HD video"/&gt;&lt;br/&gt;&lt;small&gt;NEX-5 recording closeup HD video with the display angled up&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;As a note, the 18-55mm lens is a tad wide-angle so you'll have to correct that in post-processing. Adobe Lightroom detects the NEX-5 lens in use and can apply a quick fix. This might not be the case if you are using a third-party adapter and lens.&lt;/p&gt;

&lt;h4&gt;The Good&lt;/h4&gt;


&lt;p&gt;Fortunately, the NEX-5 has a great deal going for it. &lt;a href="http://www.amazon.com/gp/product/B003QK1VK4?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B003QK1VK4&amp;tag=paulstamatiou-20" title="Sony LA-EA1 Mount Adapter"&gt;Sony sells a mount adapter&lt;/a&gt; so you can use A-mount lenses, of which there are many available. It is only with this Sony adapter that you get auto-exposure and auto-focus control with A-mounts (you will need to upgrade to the latest firmware). You can also use many third-party adapters to use pretty much any lens you wish, but chances are you will have to run it in full manual mode.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_sony_nex-5_panorama_1024.jpg" title="Panorama with the Sony NEX-5"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_sony_nex-5_panorama.jpg" alt="Panorama with the Sony NEX-5"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;NEX-5 Panorama&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Next, the flip-up display is very, very handy! You can angle it up to be almost perpendicular or angle it down about 45 degrees; a pretty good range of motion. Third, I actually like the interface for controlling the camera settings. Easy to navigate with the jog wheel. More important though, the NEX-5 supports nifty features like &lt;strong&gt;built-in panorama, HDR and low-light modes&lt;/strong&gt;. And of course, you can always opt to shoot in RAW. Fourth, this thing is tiny and &lt;strong&gt;supports SDHC memory cards&lt;/strong&gt;.. that seems to be a first for Sony and their dreaded Memory Stick format.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_nex-5_muni.jpg" title="MUNI Train original"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_nex-5_muni_hdr.jpg" alt="MUNI Train in HDR"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Muni in NEX-5 HDR. Click for original.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Below is an example of NEX-5 audio and video quality. It was a clip I took of Zuck at Startup School. You'll notice that sometimes the camera has to hunt and peck to find optimal focus. Part of the time that is me forcing it to re-focus by tapping the shutter button. I could have used it in manual mode if I wanted too. It doesn't help that the lens was almost completed zoomed in here, limiting the adjustable focus range. Please keep in mind that &lt;strong&gt;I'm not a good cameraman&lt;/strong&gt;, by far.&lt;/p&gt;

&lt;iframe title="YouTube video player" width="620" height="385" src="http://www.youtube.com/embed/kjDG4NpQ2dM?hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;




&lt;h4&gt;Verdict&lt;/h4&gt;


&lt;p&gt;Overall, I am rather happy with this camera. Good-enough-for-me quality photos sprinkled with nice value-adds like panorama mode made it an easy sell for me. I only own the NEX-5 and 18-55mm lens. I had considered buying the A-mount 16mm lens but it has bad reviews (soft edges IIRC). My first option would be the Sony LA-EA1 adapter paired with a Sony SAM SAL50F18 50mm f/1.8 (75mm-equivalent focal length). I give the &lt;strong&gt;Sony Alpha NEX-5 8.5 out of 10 Stammys&lt;/strong&gt;. I just wish some things weren't as proprietary: E-mount and the accessory mount. Good luck finding a compatible strong bounce flash.&lt;/p&gt;

&lt;p&gt;If you're looking for a full review of this camera be sure to check out &lt;a href="http://www.dpreview.com/reviews/SonyNex5Nex3/" title="
Sony NEX-3 / NEX-5 Review"&gt;DPreview&lt;/a&gt; but keep in mind Sony has since added functionality through several firmware updates. If you want to see some more example shots taken with the NEX-5, &lt;a href="http://www.flickr.com/groups/alpha-nex/" title="Sony Alpha NEX flickr group"&gt;this active flickr group&lt;/a&gt; is the best place to visit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts? What camera gear suits your needs?&lt;/strong&gt;&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/sony-alpha-nex5-sld-digital-camera" title="Sony Alpha NEX-5: Going from DSLR to SLD"&gt;Sony Alpha NEX-5: Going from DSLR to SLD&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=H-XIe7Qa4tg:ry72LoncZhE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=H-XIe7Qa4tg:ry72LoncZhE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=H-XIe7Qa4tg:ry72LoncZhE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=H-XIe7Qa4tg:ry72LoncZhE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=H-XIe7Qa4tg:ry72LoncZhE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=H-XIe7Qa4tg:ry72LoncZhE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=H-XIe7Qa4tg:ry72LoncZhE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=H-XIe7Qa4tg:ry72LoncZhE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/H-XIe7Qa4tg" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/sony-alpha-nex5-sld-digital-camera</feedburner:origLink></entry>
	
	<entry>
		<title>Review: Henge Docks docking station for Apple MacBooks</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/V15_WXi1Pw0/review-henge-docks-docking-station-apple-macbook" />
		<updated>2011-02-13T00:00:00-08:00</updated>
		<id>http://paulstamatiou.com/review-henge-docks-docking-station-apple-macbook</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ACjYlTeyCZhnyFIJZKpjjn9WNPA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ACjYlTeyCZhnyFIJZKpjjn9WNPA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ACjYlTeyCZhnyFIJZKpjjn9WNPA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ACjYlTeyCZhnyFIJZKpjjn9WNPA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Despite tons of press surrounding Henge Docks, I only recently heard about it while reading &lt;a href="http://matt.biddulph.usesthis.com/" title="Matt Biddulph on The Setup"&gt;about Matt Biddulph's setup&lt;/a&gt;. My curiosity piqued as I &lt;a href="http://www.hengedocks.com/"&gt;got up to speed&lt;/a&gt; on what Henge Docks was all about; not just a glorified vertical stand for Apple notebooks, oh no. It's the first real docking station solution for Macs and it's brilliant.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_hengedocks_mbp_desk_1200.jpg" title="Henge Docks MacBook Pro Angled with Apple LED Display"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_hengedocks_mbp_desk.jpg" alt="Henge Docks MacBook Pro Angled with Apple LED Display"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Sherlock approves.&lt;/small&gt;&lt;/div&gt;







&lt;blockquote&gt;At the office and at my desk at home I plug into a dock from Henge Docks with a 27" Cinema Display. I've never been able to get my head around the two screens of an open laptop and a big monitor; I prefer one large screen.&lt;/blockquote&gt;


&lt;p&gt;Matt's reasoning behind his single screen setup is exactly why I love the Henge Docks station. If I'm going to have two screens, they need to be the same size and PPI, otherwise looking left to a 27-inch and looking right to a 17-inch propped up off the desk is too jarring. I simply use &lt;a href="http://paulstamatiou.com/review-apple-27-inch-led-cinema-display" title="Review: Apple 27-inch LED Cinema Display"&gt;this Apple display&lt;/a&gt; as my only display, which leaves one annoyance: &lt;strong&gt;unplugging a squid-like mess of cables&lt;/strong&gt; when migrating to &lt;del&gt;another room&lt;/del&gt; (kidding, I live in a &lt;a href="http://paulstamatiou.com/atlanta-to-san-francisco-moving-cross-country" title="Atlanta to San Francisco: What I Learned Moving Cross-Country"&gt;tiny SF studio&lt;/a&gt;..) a coffee shop.&lt;/p&gt;

&lt;p&gt;Thirty minutes after first hearing about Henge Docks (&lt;a href="http://www.youtube.com/watch?v=YOKu9uwdwZI" title="Henge Docks - MacBook Docking Station"&gt;this demo video&lt;/a&gt; did it for me) I put my order in for my MacBook Pro version, an &lt;a href="http://paulstamatiou.com/first-impressions-17-inch-apple-macbook-pro-2009-unibody-anti-glare" title="First Impressions: 17-inch Apple MacBook Pro 2009 (Unibody, Anti-Glare)"&gt;older generation 17-inch "Rev A"&lt;/a&gt; (the ports are slightly different from the newer version). The &lt;strong&gt;17-inch version costs $75&lt;/strong&gt;, 15-inch is $70 and the 13-inch Henge Docks docking station goes for $60. That pricing isn't bad considering vertical stands for MacBooks that don't have any docking magic go for around $50. Unfortunately, Henge Docks &lt;strong&gt;does not offer a MacBook Air version&lt;/strong&gt; due to the fact that the Air has ports on both sides so you'd still need to manually connect cables, defeating the purpose entirely.&lt;/p&gt;

&lt;h4&gt;Setup + How It Works&lt;/h4&gt;


&lt;p&gt;The actual docking station is constructed of sturdy plastic with rubber feet on the base to avoid slipping and desk scuffs. It provides a close enough fit for cables and ports to line up perfectly, but not quite tight enough to be considered snug or provide undue burden on notebook insertion and removal.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_box_cables_1200.jpg" title="Henge Docks unboxed with cables"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_box_cables.jpg" alt="Henge Docks unboxed with cables"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;Once unboxed you will find a myriad of extension cables: Ethernet (one end being clipless), Firewire 800, 2 audio and several USB. In addition there is a little bag with a hex wrench, a set of small headless hex screws and three small bracket contraptions meant for keeping your MagSafe adapter in place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup seemed easy enough&lt;/strong&gt;: pick the cables you want to use, flip the docking station over, slide in the extension cables (make sure you have them oriented correctly! I'm looking at you USB) to the correct height, then fasten with screws. Before inserting the MagSafe connector, you need to place it in the proper rectangular clip of the three included. Current Henge Docks models support all MagSafe versions.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_screws_1200.jpg" title="Screwing in cables into the Henge Docks docking station"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_screws.jpg" alt="Screwing in cables into the Henge Docks docking station"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Do not over-tighten.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;That was the easy part. Getting the cables to hide under the station turned out to be a bit of a chore. In particular, the USB cables are too long for my needs with the Apple LED display cable. I just need a tiny 3-inch USB extension but instead I have to cram the included long USB cable under the space.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_upsidedown_cables_1200.jpg" title="Henge Docks upsidedown cables"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_upsidedown_cables.jpg" alt="Henge Docks upsidedown cables"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Too many cables, not enough space.&lt;/small&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_cables_1200.jpg" title="Bottom of the Henge Docks docking station in the middle of wiring"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_cables.jpg" alt="Bottom of the Henge Docks docking station in the middle of wiring"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;My setup involved two USB cables (one for my iPhone dock and one for the display), MagSafe and Mini DisplayPort. I can't imagine what this would look like if I had to hide a DVI to Mini DisplayPort adapter under there as well as Ethernet, Firewire 800 and audio. Though to be fair, I was hiding all excess cable under there instead of letting it exit.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_hengedock_top_angle_1200.jpg" title="Henge Docks docking station - top angle"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_hengedock_top_angle.jpg" alt="Henge Docks docking station - top angle"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Finally! cables all neatly wired and tucked out of the way.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;After setup was complete I took it for a test drive and slowly slid in my MacBook Pro. The recommended way to use the docking station is to hold the base with one hand and then slide the laptop in with the other. I can forsee the heavy 17-inch MacBook Pro slipping from my death grip during this process so it made me a bit nervous at first, but I digress.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_top_1200.jpg" title="Top of the Henge Docks docking station"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_henge_top.jpg" alt="Top of the Henge Docks docking station"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Good luck using an ExpressCard device like a 4G modem with this..&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Upon first use nothing happened&lt;/strong&gt;. It wasn't turning on. I took the MacBook Pro out, flipped over the docking station and made sure everything was at the proper height and tightened correctly. The culprit was the MagSafe connector. It was sitting a tad too low and not making a solid connection. I fixed that and it worked great from then on. I've had over 50 "docking cycles" so far without issue. Here's a quick video:&lt;/p&gt;

&lt;object width="620" height="376"&gt;&lt;param name="movie" value="http://www.youtube.com/v/v5zlo5Ux5dU?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/v5zlo5Ux5dU?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="620" height="376"&gt;&lt;/embed&gt;&lt;/object&gt;


&lt;br/&gt;&lt;small&gt;Edit: This video also had me removing the laptop but YouTube has an issue with clips merged in QuickTime.. sigh&lt;/small&gt;




&lt;h4&gt;Concerns&lt;/h4&gt;


&lt;p&gt;"&lt;strong&gt;What about heat?&lt;/strong&gt;" That's the question I always get when telling or showing people my Henge Docks setup. First off, I've been using my laptop in &lt;a href="http://support.apple.com/kb/ht3131" title="Apple Portables: How to use your computer in closed clamshell (display closed) mode with an external display"&gt;clamshell mode&lt;/a&gt; with an external display for years now, without recourse. I will say that prior to Henge Docks, I used to crack it open a bit so that air could get sucked in through the keyboard/speaker grill whenever I compiled something or watched video. Having the laptop situated vertically does help dissipate more heat than usual, so it seems like a fair compromise. If anything, I will manually crank up the fans with &lt;a href="http://www.macupdate.com/app/mac/23049/smcfancontrol" title="smcFanControl for Intel Macs"&gt;smcFanControl&lt;/a&gt; if I get worried about temperatures but this has not been an issue in my month of ownership.&lt;/p&gt;

&lt;p&gt;My other nitpick comes with audio and Ethernet. Take for example a user with an Apple display with integrated USB speakers. Sometimes you may want to listen via the display's speakers and other times you may want to plugin your headphones. Unfortunately, you can't switch between these two options with the Henge Docks docking station. If you insert the audio extension cable to have a headphone jack handy, it will instantly override any audio setting and assume you are using headphones. I have tried software solutions to force it to use the USB speakers but nothing worked. I ended with the conclusion that it is a hardware issue and the headphone jack on my MacBook Pro is a DPST NC (double pole single throw normally closed) switch such that anytime something is plugged in (regardless if it's an actual audio device or just an extension cable like in my situation) it will not allow you to use any other device. So that's &lt;strong&gt;one rather large annoyance&lt;/strong&gt; for me. &lt;strong&gt;Any ideas?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In regards to the Ethernet cable, &lt;strong&gt;Henge Docks should include a coupler&lt;/strong&gt; so I can easily hook it up to my existing Ethernet cable. The included one is far too short to reach my router. For anyone that uses a NAS with any regularity, having a gigabit Ethernet connection feels much better than even the best simultaneous dual-N Wi-Fi connection. Not a big deal though; &lt;a href="http://www.monoprice.com/products/product.asp?c_id=105&amp;cp_id=10519&amp;cs_id=1051903&amp;p_id=7286&amp;seq=1&amp;format=2" rel="nofollow" title="Cat6 Coupler"&gt;Cat6 couplers are cheap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As for those that hate resizing and moving windows that move about as you switch to and from displays of varying resolutions, there's an app for that: &lt;strong&gt;&lt;a href="http://cordlessdog.com/stay/" title="Stay App"&gt;Stay&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;Stay ensures that your windows are always where you want them to be, even as you connect and disconnect displays.&lt;/blockquote&gt;




&lt;h4&gt;Verdict&lt;/h4&gt;


&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_desk_mbp_henge_1200.jpg" title="17-inch MacBook Pro and Apple LED Display on desk with Henge Docks"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/02/pstam_desk_mbp_henge.jpg" alt="17-inch MacBook Pro and Apple LED Display on desk with Henge Docks"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;Overall I'm rather pleased with this docking station solution. It is sturdy, sleek and has great build quality. The Henge Docks docking station gets &lt;strong&gt;9 out of 10 Stammys&lt;/strong&gt;. Snag a &lt;strong&gt;&lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb_sb_noss%26y%3D0%26field-keywords%3Dhenge%2520docks%26url%3Dsearch-alias%253Daps&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957&amp;tag=paulstamatiou-20" title="Henge Docks on Amazon"&gt;Henge Docks docking station&lt;/a&gt;&lt;/strong&gt; for your MacBook Pro setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts?&lt;/strong&gt; Do you currently have a laptop + display setup? Is this something you might like using? I'd like to hear what's on your mind.&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/review-henge-docks-docking-station-apple-macbook" title="Review: Henge Docks docking station for Apple MacBooks"&gt;Review: Henge Docks docking station for Apple MacBooks&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=V15_WXi1Pw0:ndDxf3qNoBM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=V15_WXi1Pw0:ndDxf3qNoBM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=V15_WXi1Pw0:ndDxf3qNoBM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=V15_WXi1Pw0:ndDxf3qNoBM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=V15_WXi1Pw0:ndDxf3qNoBM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=V15_WXi1Pw0:ndDxf3qNoBM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=V15_WXi1Pw0:ndDxf3qNoBM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=V15_WXi1Pw0:ndDxf3qNoBM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/V15_WXi1Pw0" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/review-henge-docks-docking-station-apple-macbook</feedburner:origLink></entry>
	
	<entry>
		<title>Review: Etymotic hf3 Earphones</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/oFbI0y7BJio/review-etymotic-hf3-earphones" />
		<updated>2011-01-31T00:00:00-08:00</updated>
		<id>http://paulstamatiou.com/review-etymotic-hf3-earphones</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LOsxZBL5oAwvaizZc9APZQDcv4Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LOsxZBL5oAwvaizZc9APZQDcv4Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LOsxZBL5oAwvaizZc9APZQDcv4Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LOsxZBL5oAwvaizZc9APZQDcv4Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A few months ago I was in the market for some high quality earbuds, just ahead of several holiday flights across the country. While I was still content with my &lt;a href="http://paulstamatiou.com/review-beats-studio-by-dr-dre-and-monster-noise-canceling-headphones" title="Review: Beats Studio by Dr. Dre and Monster (Noise Canceling Headphones)"&gt;Beats Studio by Dr. Dre headphones&lt;/a&gt; and the noise cancellation performed well on flights, they were large enough to become cumbersome during frequent travel. After a bit of poking around, I purchased a set of &lt;a href="http://www.amazon.com/gp/product/B003YTROIU?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B003YTROIU&amp;tag=paulstamatiou-20" title="Etymotic hf3 Earphones"&gt;Etymotic hf3 earphones&lt;/a&gt; (retail $180). &lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/pstam_etymotic_weezy.jpg" alt="etymotic hf3 and HTC Nexus One running Pandora"/&gt;&lt;br/&gt;&lt;small&gt;hf3 earphones + Nexus One + Pandora. I wish the jack wasn't angled like that. 90 degree angle preferred.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Many of you probably haven't heard of &lt;a href="http://www.etymotic.com/ephp/hf3.html" title="Etymotic Research"&gt;Etymotic&lt;/a&gt; before. They only manufacture high-end audio gear but have definitely made a name for themselves in the consumer audio space in the last few years. Etymotic is known for some of their rather eccentric services for audiophiles. For example, most of their products support something called "Custom Fit" &amp;mdash; you can get a mold made of your ear canal impressions from an audiologist, send the mold to Etymotic and they will send you custom eartips for your headphones (for a $100 fee).&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/12/pstam_etymotic_hf3_box_1200.jpg" title="etymotic hf3 retail packaging"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/pstam_etymotic_hf3_box.jpg" alt="etymotic hf3 retail packaging"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;hf3 retail packaging&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;On that note, I'll start talking about the hf3s I picked up. They're unlike any set of earbuds I have picked up. They're not actually earbuds or what you think of when you see typical consumer-oriented in-ear earbuds. They get nestled very deep in your ear for an airtight and noise canceling fit. They are &lt;strong&gt;completely different beasts&lt;/strong&gt; from the &lt;a href="http://paulstamatiou.com/review-sony-mdr-ex71sl-earbuds" title="Review: Sony MDR-EX71SL Earbuds"&gt;$50 Sony earbuds&lt;/a&gt; I have been using for the last few years.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/pstam_etymotic_hf3_closeup.jpg" alt="etymotic hf3 earphone closeup"/&gt;&lt;br/&gt;&lt;small&gt;hf3 earphones with their included triple flange tips&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;They come with a wide variety of tips and I've become fond of the larger white triple flange tips they come with. Etymotic recommends replacing them every several months so I also ordered an extra set of tips directly from Etymotic for $14. The hf3s also have replaceable filters in the driver housing and come with a special tool for that purpose. The drivers themselves are single full-range balanced armature transducers. In layman's terms, they're much better than moving coil drivers found in cheaper earphones.&lt;/p&gt;

&lt;p&gt;The cable has an interesting texture due to its kevlar reinforcement and is 4 feet long, which I find to be &lt;strong&gt;the perfect length&lt;/strong&gt;. I would have preferred flat cables though to allay cord tangling. I've only seen flat cables on some Monster / Dr. Dre earbuds though.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/pstam_etymotic_hf3_tips.jpg" alt="etymotic hf3 tips"/&gt;&lt;/div&gt;




&lt;h4&gt;Fit&lt;/h4&gt;


&lt;p&gt;It took me a few days to get used to the hf3 earphones. The fit is deeper than I have ever experienced with any earphones. If the fit is not airtight the sound quality is ruined. Even after using these for a few months, they're not the kind of earphones you can just push in and go on your way. I always need to fiddle with them for a few seconds to get it just right. This ends up being a rather large annoyance when you're out ordering coffee for example and have to take an earbud out for a while, then fiddle for a while to get it back in just right. Sometimes you'll end up pressuring your ear since the fit is air-tight, so you'll have to move it to pull it out and try again.&lt;/p&gt;

&lt;p&gt;Etymotic actually has fairly thorough instructions for how to put the eartips in:&lt;/p&gt;

&lt;blockquote&gt;For best results, moisten the white soft plastic eartips before insertion. Using your right hand, grasp the eartip with the red plug. With your left hand, pull up and back on your right ear to straighten your ear canal. Carefully insert the right earphone so that it seals deeply and comfortably in your ear. Repeat procedure for the left ear, using the earphone with the blue plug. Remove earphones slowly with a twisting motion to gradually break the seal.&lt;/blockquote&gt;


&lt;p&gt;Intense.&lt;/p&gt;

&lt;h4&gt;Performance&lt;/h4&gt;


&lt;p&gt;But... when these things are in perfectly, &lt;strong&gt;it's pure bliss&lt;/strong&gt;. First off, these are not your typical bass-emphasizing earbuds from Best Buy aimed at rap-loving youth. Hf3 response is relatively flat and well-balanced; like reference earphones. Bass isn't overemphasized, nor is treble. Everything sounds like it all should. &lt;strong&gt;Noise isolation is rated at 35 dB - 42 dB&lt;/strong&gt; and I would say that is accurate. The white 3-flange tips I prefer block out closer to 35 dB while the black foam tips (that have an odd fit IMO) are closer to 41 dB average external noise isolation. Once properly in, I can no longer hear the &lt;del&gt;air conditioning&lt;/del&gt; heater (San Francisco..) or any of the ambient buzz/hum associated with flying. The &lt;strong&gt;only downside&lt;/strong&gt; is that noise travels very easily through the cable. If you're walking or jogging and the cable isn't secured with the included shirt clip, you will hear the cable moving around more than your music.&lt;/p&gt;

&lt;p&gt;Overall, the hf3 &lt;strong&gt;noise isolation is surreal&lt;/strong&gt;. Random office noise and chatter gets eliminated. I don't dare wear these when walking back home late at night because that just makes it all too easy for a mugger to sneak up behind me undetected.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/12/pstam_etymotic_hf3_closeup_open_1200.jpg" title="etymotic hf3 earphone closeup"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/pstam_etymotic_hf3_closeup_open.jpg" alt="etymotic hf3 earphone closeup"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;built-in iPod/iPhone control is lightweight and doesn't weigh down the cable&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;The hf3s also include a tiny, inline iPhone control module. Adjust volume, mute/unmute and answer phone calls. The controls also have an integrated microphone that performs only okay. You get the best results by holding the mic closer to you so person on the end of the line can hear you at a decent volume. Don't expect a &lt;a href="http://paulstamatiou.com/review-jawbone-2-bluetooth-earpiece" title="Review: Jawbone 2 Bluetooth Earpiece"&gt;Jawbone-like experience&lt;/a&gt; here. I rarely talk on the phone, much less with a headset so this was of minimal concern to me.&lt;/p&gt;

&lt;p&gt;Taking off the earphones after wearing them for a few hours feels a bit odd; as if the eartips forced your ear canal to get larger. I have tried all the included eartips. To get a proper fit as recommended, it will be fairly snug. The question is if that is too uncomfortable for you in the long run. Pro tip: dampen the eartips before putting them on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; Amazing noise-isolating earphones at the expense of a tighter-than-you're-used-to fit. Perfect for coffee shop coworking. &lt;strong&gt;8.5 out of 10 Stammys&lt;/strong&gt;. Cable length is perfect but the 45 degree angled connector is really annoying.&lt;/p&gt;

&lt;p&gt;Checkout the &lt;strong&gt;&lt;a href="http://www.amazon.com/gp/product/B003YTROIU?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B003YTROIU&amp;tag=paulstamatiou-20" title="Etymotic hf3 Earphones"&gt;Etymotic hf3 earphones&lt;/a&gt;&lt;/strong&gt; on Amazon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts? Do you use any such high-fidelity in-ear earphones on a regular basis?&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;Related Audio Posts&lt;/h4&gt;


&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://paulstamatiou.com/review-sonos-zoneplayer-s5-all-in-one-wireless-music-system" title="Review: Sonos ZonePlayer S5 All-In-One Wireless Music System"&gt;Review: Sonos ZonePlayer S5 All-In-One Wireless Music System&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://paulstamatiou.com/how-to-upgrade-to-studio-monitor-speakers" title="How To: Upgrade to Studio Monitor Speakers"&gt;How To: Upgrade to Studio Monitor Speakers&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://paulstamatiou.com/going-hd-part-3-blu-ray-and-surround-sound" title="Going HD: Part 3 (Blu-ray and Surround Sound)"&gt;Going HD: Part 3 (Blu-ray and Surround Sound)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://paulstamatiou.com/review-sonos-digital-music-system" title="Review: Sonos Digital Music System"&gt;Review: Sonos Digital Music System&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/review-etymotic-hf3-earphones" title="Review: Etymotic hf3 Earphones"&gt;Review: Etymotic hf3 Earphones&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=oFbI0y7BJio:tEjiOWRMbfc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=oFbI0y7BJio:tEjiOWRMbfc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=oFbI0y7BJio:tEjiOWRMbfc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=oFbI0y7BJio:tEjiOWRMbfc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=oFbI0y7BJio:tEjiOWRMbfc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=oFbI0y7BJio:tEjiOWRMbfc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=oFbI0y7BJio:tEjiOWRMbfc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=oFbI0y7BJio:tEjiOWRMbfc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/oFbI0y7BJio" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/review-etymotic-hf3-earphones</feedburner:origLink></entry>
	
	<entry>
		<title>How To: WordPress to Jekyll</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/15rbM1vreJs/how-to-wordpress-to-jekyll" />
		<updated>2011-01-25T00:00:00-08:00</updated>
		<id>http://paulstamatiou.com/how-to-wordpress-to-jekyll</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YJxnCF5yF2ngKXgoo_sfSvceSIQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YJxnCF5yF2ngKXgoo_sfSvceSIQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YJxnCF5yF2ngKXgoo_sfSvceSIQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YJxnCF5yF2ngKXgoo_sfSvceSIQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Over the winter vacation I relaxed and spent time away from thinking about &lt;a href="http://paulstamatiou.com/startup-fundraising-time-sink" title="Startup Fundraising is a Time Sink"&gt;the startup fundraising process&lt;/a&gt;. I had a latent interest in &lt;a href="https://github.com/mojombo/jekyll" title="Jekyll is a blog-aware, static site generator in Ruby"&gt;Jekyll&lt;/a&gt; ever since Tom Preston-Werner (Cofounder of GitHub) created, released and wrote about it in &lt;a href="http://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html" title="Blogging Like a Hacker"&gt;Blogging Like a Hacker&lt;/a&gt;. I finally got the chance to sit down and fully grok Jekyll. I decided to migrate my site from WordPress to Jekyll. I designed a new layout, imported my database and created some custom features to get it all to my liking. If you're reading this in an RSS reader, you will want to &lt;a href="http://paulstamatiou.com/how-to-wordpress-to-jekyll" title=""&gt;click through to see the new site&lt;/a&gt;. &lt;/p&gt;

&lt;div class="center"&gt;&lt;img class="border" src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_redesign.jpg" alt="PaulStamatiou.com redesign with Jekyll"/&gt;&lt;br/&gt;&lt;small&gt;Yup, still love my &lt;a href="http://paulstamatiou.com/review-amazon-kindle-3-wi-fi-reading-device" title="Review: Amazon Kindle 3 Reading Device"&gt;Kindle&lt;/a&gt;.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;(&lt;strong&gt;Disclaimer:&lt;/strong&gt; At over 8,000 words this is the longest post I have written (&lt;a href="http://paulstamatiou.com/review-2011-ford-fiesta-and-the-fiesta-movement" title="Review: 2011 Ford Fiesta and the Fiesta Movement"&gt;runner up&lt;/a&gt;). If you have any questions or if anything in here is presented in a confusing manner, or is just plain wrong, please don't hesitate to leave a comment or send me an email. I will clean up my Jekyll blog repo soon and make it public.)&lt;/p&gt;

&lt;h4&gt;Why the big move?&lt;/h4&gt;


&lt;p&gt;Like any other hacker I just wanted to &lt;strong&gt;learn a new tool&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I have been running this blog on WordPress for about 5.5 years. I first ran into WordPress when I was running a MediaWiki-powered website about computer modding and was curious about other CMSs. I fell in love with WordPress and set it up on my 1.42GHz G4 Mac Mini (which I had overclocked to a whopping 1.5GHz by unsoldering two SMT resistors). My first few months of blogging were surreal &amp;mdash; several of my posts made it on digg and Lifehacker in 2005. I thought that was the coolest thing ever. &lt;strong&gt;I continued writing&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I soon received enough traffic to kill the 2.5-inch hard drive in my Mac Mini, which had been hosting this blog in my Georgia Tech dorm. It was around this time that I began modifying my site and picking up basic web design and development skills. I moved my blog over to Media Temple&lt;/a&gt; and have been happy there since. I am now on a developer-aimed VPS called the &lt;a href="http://paulstamatiou.com/media-temple-hosting-developer-ve-server" title="Media Temple Hosting - Developer (ve) Server"&gt;ProDev (ve)&lt;/a&gt; &amp;mdash; 4GB of RAM on a dual quad-core 2.26GHz Xeon with lucid-flavored Ubuntu.&lt;/p&gt;

&lt;p&gt;I am &lt;strong&gt;not leaving WordPress for any frustrations or problems&lt;/strong&gt;. WordPress is a very capable and extensible CMS. Most anything you want done with WordPress is a search away. If you think your WP-powered site is slow, there are a number of fixes for the &lt;a href="http://paulstamatiou.com/on-being-a-website-performance-junkie" title="On Being a Website Performance Junkie"&gt;speed freaks&lt;/a&gt;, including generating static files and working with a &lt;a href="http://paulstamatiou.com/amazon-cloudfront-cdn-origin-pull" title="Thoughts on Origin Pull, S3 and CloudFront"&gt;CDN&lt;/a&gt;. The WordPress community has been amazingly helpful. I went to WordCamps, sponsored one and helped out other WP users through tutorials and forums. A big thank you to folks like &lt;a href="http://ma.tt" title="Matt Mullenweg"&gt;Matt Mullenweg&lt;/a&gt;, &lt;a href="http://binarybonsai.com" title="Michael Heilemann"&gt;Michael Heilemann&lt;/a&gt; and &lt;a href="http://markjaquith.com" title="Mark Jaquith"&gt;Mark Jaquith&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Content is king&lt;/h4&gt;


&lt;p&gt;I wanted to &lt;strong&gt;start from scratch&lt;/strong&gt; and completely rebuild this blog. This time around I was going to &lt;strong&gt;focus on content&lt;/strong&gt;. Over the last few years I have experimented with monetizing this site, as you may have noticed. I tried various affiliate programs, CPA ads, AdSense, Amazon Associates, RSS ads and private sales. It was starting to work. I wasn't the next John Chow but &lt;strong&gt;I was making $3,000 a month&lt;/strong&gt; during this blog's financial peak around mid-2009.&lt;/p&gt;

&lt;p&gt;Then it went down to a few hundred a month over the next year and a half. There are a few reasons for that:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;I began &lt;strong&gt;posting less&lt;/strong&gt; and less due to increasing startup obligations. That's to be expected. This blog is a great side-project and hobby but not a full-time job.&lt;/li&gt;
    &lt;li&gt;This blog had become known for in-depth, long-form content and as such I didn't blog unless I knew I had enough substance to make for an interesting article. Things I would have written about, but to a lesser extent, would go unpublished entirely.&lt;/li&gt;
    &lt;li&gt;I made a few SEO mistakes that knocked down my PR, and thus traffic, down. The &lt;strong&gt;first&lt;/strong&gt; was using an early version of bbPress to run forums here. That version did not rel="nofollow" links to websites on user profile pages. Tens of thousands of spammers signed up and those profile pages linked to all sorts of sites. Google did not like that. My &lt;strong&gt;second&lt;/strong&gt; mistake was running a translation plugin that generated every article in many languages. It eventually got to the point where Russian-translated posts would rank higher than the English posts and it became impossible for readers to find articles. I couldn't even find my own posts on Google, even when I knew the exact title. &lt;strong&gt;Third&lt;/strong&gt;, I had some mysterious redirection issue that plagued my site for too long. Pages would randomly redirect. I couldn't reproduce it, Media Temple couldn't reproduce it. But I got tons of reports about it from my readers. I thought I had fixed it but it still occurred once every 50 or so page loads. Google ended up indexing articles with different URLs. It was a mess.&lt;/li&gt;
    &lt;li&gt;Google noted that my site loaded 88% slower than other sites. It was partially all the ads my site was running and partially all the images I put in my long posts.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Traffic also dwindled during this period. It was &lt;strong&gt;time to reboot&lt;/strong&gt;. Whatever I was going to do needed to change all this and &lt;strong&gt;get me blogging more&lt;/strong&gt;, one way or another. I fixed that with &lt;strong&gt;&lt;a href="http://paulstamatiou.com/bits" title="bits"&gt;bits&lt;/a&gt;&lt;/strong&gt;. More on that later.&lt;/p&gt;

&lt;h4&gt;What is Jekyll?&lt;/h4&gt;


&lt;p&gt;Oops, guess I didn't explain exactly what it is yet. Here's what the repository says:&lt;/p&gt;

&lt;blockquote&gt;Jekyll is a simple, blog aware, static site generator. It takes a template directory (representing the raw form of a website), runs it through Textile or Markdown and Liquid converters, and spits out a complete, static website suitable for serving with Apache or your favorite web server.&lt;/blockquote&gt;


&lt;p&gt;Jekyll is not really a CMS. There is no admin panel to edit, write and manage posts. But there is vim, emacs, TextMate, gEdit, Redcar, Notepad++ or your text editor of choice. In a nutshell: write your posts in markdown or textile (or in my case just keep using HTML like I've always been using in my posts and keep it future-proof), run &lt;code class="inline"&gt;jekyll&lt;/code&gt; and it will create a site directory filed with &lt;strong&gt;beautiful static, flat HTML files&lt;/strong&gt;. You don't need even a database on your server...&lt;/p&gt;

&lt;pre class="terminal"&gt;sudo apt-get remove mysql-server-core-5.1&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;I freaking love having my entire site in static files&lt;/strong&gt;. It's a nerd feeling that's hard to explain. As a Mac user, I just need to activate Spotlight with two keystrokes and I can instantly find any old blog post.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_spotlight.jpg" alt="Searching for Jekyll posts in Mac OS X Spotlight"/&gt;&lt;br/&gt;&lt;small&gt;You'll want to tell Spotlight to ignore the &lt;code class="inline"&gt;_site&lt;/code&gt; directory. Seductive wallpaper by &lt;a href="http://weavesilk.com/" title="Silk"&gt;Silk&lt;/a&gt;.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Or while I'm in my editor of choice I can activate &lt;a href="http://peepcode.com/products/peepopen" title="PeepOpen"&gt;PeepOpen&lt;/a&gt; to find and open any post. Or I can run Ack in Project in TextMate to find any string inside of my posts. Or maybe I was curious and wanted to list the top 5 posts by word count?&lt;/p&gt;

&lt;pre class="terminal"&gt;
~/jekyll-blog/_posts(master) $ wc -w * | sort | tail -n6
    4182 2010-03-05-review-23andme-dna-testing-for-health-disease-ancestry.markdown
    4189 2010-02-17-live-blogging-startup-riot-2010.markdown
    4777 2009-06-04-review-2009-lincoln-mks-with-microsoft-sync.markdown
    4888 2010-01-14-how-toreview-surf-securely-with-vyprvpn.markdown
    6393 2009-11-27-review-2011-ford-fiesta-and-the-fiesta-movement.markdown
  576265 total
&lt;/pre&gt;


&lt;p&gt;Flat files are just cool.&lt;/p&gt;

&lt;h4&gt;The Plan&lt;/h4&gt;


&lt;p&gt;After I was sure that I wanted to embark on this journey I had to think about how this would all work and what sacrifices I would have to make. I would need to implement some custom stuff to get some features and pages I was used to with WordPress. It was also important that I kept the exact same URL structure.&lt;/p&gt;

&lt;p&gt;Here was the initial list of tasks that had to be completed/built:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Import WordPress database and retain tags&lt;/li&gt;
    &lt;li&gt;Move all images to &lt;a href="http://paulstamatiou.com/how-to-getting-started-with-amazon-cloudfront" title="How To: Getting Started with Amazon CloudFront"&gt;Amazon CloudFront&lt;/a&gt; and rewrite posts to use new image URL&lt;/li&gt;
    &lt;li&gt;Make HTML files for regular pages and 404/500&lt;/li&gt;
    &lt;li&gt;Make a search page using Google Custom Search&lt;/li&gt;
    &lt;li&gt;Be able to parse &lt;code class="inline"&gt;&amp;lt;!--more--&amp;gt;&lt;/code&gt;'s used in WP posts and show post up to that tag for previews.&lt;/li&gt;
    &lt;li&gt;Create entire new layout and use Typekit because it makes the wannabe-designer in me happy.&lt;/li&gt;
    &lt;li&gt;Figure out layouts and includes for various parts of the site&lt;/li&gt;
    &lt;li&gt;Tags and individual tag pages + fix Jekyll issue with not supporting tags with spaces&lt;/li&gt;
    &lt;li&gt;Archives listed by month/year and individual archive pages to keep URLs like &lt;code class="inline"&gt;/2011/01&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;Sitemap that lists posts, archive pages and tag pages&lt;/li&gt;
    &lt;li&gt;Create a feed template and ensure it correctly redirects to FeedBurner&lt;/li&gt;
    &lt;li&gt;Create include in feed so I can put RSS ads at some point&lt;/li&gt;
    &lt;li&gt;Compass for Sass&lt;/li&gt;
    &lt;li&gt;List related posts&lt;/li&gt;
    &lt;li&gt;Do lots of .htaccess work to make sure URLs are as close to the old structure as possible and use &lt;code class="inline"&gt;link rel="canonical"&lt;/code&gt; where appropriate.&lt;/li&gt;
    &lt;li&gt;Ditch Mint for web stats and go database-free with something like Chartbeat or Reinvigorate (I also have Google Analytics)&lt;/li&gt;
    &lt;li&gt;Migrate all comments to Disqus&lt;/li&gt;
    &lt;li&gt;Get next/previous post links working&lt;/li&gt;
    &lt;li&gt;Create new section of the site for short-form content, create separate archives page and feed&lt;/li&gt;
    &lt;li&gt;Be able to put custom meta descriptions from content in YAML front matter in posts if wanted.&lt;/li&gt;
    &lt;li&gt;Write a rakefile to ease some routine tasks like generation and deploy&lt;/li&gt;
    &lt;li&gt;miscellany...&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;A lot of work was ahead.&lt;/p&gt;

&lt;h4&gt;Getting started with Jekyll&lt;/h4&gt;


&lt;p&gt;The first thing I did was create a new GitHub repository for the blog. Then I had to begin creating the file and directory structure Jekyll expects. Here's what my Jekyll directory looks like:&lt;/p&gt;

&lt;pre class="terminal"&gt;
~ $ tree ~/jekyll-blog/ -L 2
/Users/Stammy/jekyll-blog/
├── 404.html
├── 500.html
├── README.markdown
├── Rakefile
├── _bits
│   └── # some of my bit-style posts, not a standard jekyll feature
├── _config.yml
├── _drafts
│   └── # ideas for next blog posts/bits
├── _includes
│   ├── bit_listing.html
│   ├── comments.html
│   ├── cta.html
│   ├── header.html
│   ├── load_last_js.html
│   ├── nav.html
│   ├── post_footer.html
│   ├── post_listing.html
│   └── rss_footer.html
├── _layouts
│   ├── bit.html
│   ├── default.html
│   ├── home.html
│   ├── page.html
│   └── post.html
├── _lib
│   └── wordpress_import.rb
├── _posts
│   └── # lots of posts
├── _site
│   └── # generated site goes here. don't manually put anything here
├── about.html
├── apple-touch-icon.png
├── archives.html
├── bits-feed.xml
├── bits.html
├── config.rb
├── contact.html
├── favicon.ico
├── feed
│   └── index.xml
├── index.html
├── robots.txt
├── sass
│   └── screen.sass
├── search.html
├── sitemap.xml
└── stuff-i-use.html
11 directories, 2318 files
&lt;/pre&gt;


&lt;p&gt;Rather than creating all these files from scratch, a &lt;strong&gt;good first step is to fork someone else's Jekyll blog&lt;/strong&gt; and modify as you see fit. My Jekyll repository isn't public yet, I still have a lot of cleaning up to do but &lt;a href="https://github.com/mojombo/tpw" rel="nofollow"&gt;Tom Preston-Werner's Jekyll repo&lt;/a&gt; is popular for forking. Just be sure to remove all of his posts and images before you publish your new site.&lt;/p&gt;

&lt;p&gt;The directory tree listed above is not what you put in your web server's public html directory. Instead, you point the web server to the &lt;strong&gt;&amp;#95;site&lt;/strong&gt; directory. That's where the entire generated site and static HTML files are stored. Posts written in markdown, textile or regular HTML go in &lt;strong&gt;&amp;#95;posts&lt;/strong&gt; while &lt;strong&gt;&amp;#95;layouts&lt;/strong&gt; and &lt;strong&gt;&amp;#95;includes&lt;/strong&gt; are reserved for HTML/Liquid markup layouts for various content types (page, post, homepage, etc) and any necessary HTML fragments/partials, respectively. As you can imagine, the &lt;strong&gt;&amp;#95;drafts&lt;/strong&gt; folder is where you can stash posts you don't want to be generated and published until you're ready to move them to the posts folder.&lt;/p&gt;

&lt;p&gt;Jekyll pays close attention to files that contain &lt;strong&gt;&lt;a href="https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter" title="YAML Front Matter"&gt;YAML Front Matter&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="http://www.liquidmarkup.org/" title="Liquid Markup"&gt;Liquid template tags&lt;/a&gt;&lt;/strong&gt;. A YAML front matter block at the beginning of any file can contain custom page variables as well as predefined ones such as: layout, title, date, tags and categories.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="yaml"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="l-Scalar-Plain"&gt;layout&lt;/span&gt;&lt;span class="p-Indicator"&gt;:&lt;/span&gt; &lt;span class="l-Scalar-Plain"&gt;post&lt;/span&gt;
&lt;span class="l-Scalar-Plain"&gt;title&lt;/span&gt;&lt;span class="p-Indicator"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;How&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;To:&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;WordPress&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;to&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Jekyll&amp;quot;&lt;/span&gt;
&lt;span class="l-Scalar-Plain"&gt;tags&lt;/span&gt;&lt;span class="p-Indicator"&gt;:&lt;/span&gt;
&lt;span class="p-Indicator"&gt;-&lt;/span&gt; &lt;span class="l-Scalar-Plain"&gt;wordpress&lt;/span&gt;
&lt;span class="p-Indicator"&gt;-&lt;/span&gt; &lt;span class="l-Scalar-Plain"&gt;jekyll&lt;/span&gt;
&lt;span class="p-Indicator"&gt;-&lt;/span&gt; &lt;span class="l-Scalar-Plain"&gt;ruby&lt;/span&gt;
&lt;span class="p-Indicator"&gt;-&lt;/span&gt; &lt;span class="l-Scalar-Plain"&gt;github&lt;/span&gt;
&lt;span class="l-Scalar-Plain"&gt;description&lt;/span&gt;&lt;span class="p-Indicator"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;This&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;is&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;a&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;custom&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;variable&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;that&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;I&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;access&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;via&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Liquid...&amp;quot;&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Liquid on the other hand is a markup language created by the Shopify folks that makes for easy layout creation. Liquid tags are either bound by curly braces and modulos, or double curly braces. The latter is for outputting content while the former is for conditionals and setting up loops. Here is part of my index.html file:&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_liquid_yaml_example.png" alt="Jekyll layout: liquid yaml example"/&gt;&lt;/div&gt;


&lt;p&gt;You can see it has a bit of YAML front matter, then it includes a file (my yellow "call to action" bar) that is stored in the &amp;#95;includes directory, then creates a few post loops and outputs content. I have two loops here because I want the first post displayed differently (that's what the post&amp;#95;listing.html include is for) and then the rest displayed in a simple list.&lt;/p&gt;

&lt;p&gt;Here's what the post&amp;#95;listing.html include looks like:&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_liquid_post_include.png" alt="Jekyll liquid post include"/&gt;&lt;/div&gt;


&lt;p&gt;While in the site.posts loop, this include has access to &lt;a href="https://github.com/mojombo/jekyll/wiki/Template-Data" title="Jekyll Template data"&gt;the template data for each post&lt;/a&gt;. There are some sections where variables are piped through filters. Several are included with Jekyll, such as date&amp;#95;to&amp;#95;string.&lt;/p&gt;

&lt;p&gt;You can also specify no layout with "nil" and still access template data. For example, &lt;a href="https://gist.github.com/795024" title="RSS feed index.xml for jekyll"&gt;here's how I created my atom feed&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That's the basic gist of Jekyll layouts and templating. My particular setup is a bit more complex with 5 layouts and 9 includes, whereas Tom's blog contains just two layouts and no includes. Learn from his setup and expand as you see fit! I'm purposely being a bit brief here as getting the layout setup is pretty straightforward.&lt;/p&gt;

&lt;h4&gt;&amp;#95;config.yml&lt;/h4&gt;


&lt;p&gt;Jekyll's config file is a good place to start while building out your site. The default configuration and &lt;a href="https://github.com/mojombo/jekyll/wiki/configuration" title="Jekyll - Configuration"&gt;various configuration settings are explained on the Jekyll wiki&lt;/a&gt;. The default settings should be satisfactory, but you'll want to &lt;strong&gt;set markdown to rdiscount&lt;/strong&gt; (explained later) and adjust the permalink style.&lt;/p&gt;

&lt;p&gt;You may opt to put in various custom variables like I did with description and root&amp;#95;desc that I use in various parts of my layouts. Also, &lt;code class="inline"&gt;base&amp;#95;url&lt;/code&gt; is handy. When you're developing locally you can keep it to forward slash so that when the site is generated it links to other local posts, but when you're ready to deploy live adjust the url to your domain. There is no definitive argument for why you need to include the full domain versus relative, SEOs go both ways on it, but I simply prefer including the entire url.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="n"&gt;multiviews&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;
&lt;span class="c1"&gt;#only works with https://github.com/stammy/jekyll, explained below&lt;/span&gt;

&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;      &lt;span class="o"&gt;.&lt;/span&gt;
&lt;span class="n"&gt;destination&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;/_site&lt;/span&gt;
&lt;span class="n"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;    &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;/_includes&lt;/span&gt;

&lt;span class="n"&gt;pygments&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;    &lt;span class="kp"&gt;true&lt;/span&gt;
&lt;span class="n"&gt;markdown&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;    &lt;span class="n"&gt;rdiscount&lt;/span&gt;
&lt;span class="n"&gt;permalink&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="sr"&gt;   /:title.html&lt;/span&gt;

&lt;span class="sr"&gt;base_url: http:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;paulstamatiou&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;
&lt;span class="c1"&gt;#base_url: /&lt;/span&gt;
&lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;A blog covering Tech News, Reviews, Guides and Startups from developer and startup guy Paul Stamatiou.&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;root_desc&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;PaulStamatiou.com - Tech News, Reviews and Guides&amp;quot;&lt;/span&gt;

&lt;span class="n"&gt;rdiscount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="n"&gt;extensions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt;
  
&lt;span class="n"&gt;exclude&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Rakefile&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;README.markdown&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;config.rb&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;




&lt;h4&gt;Local Dev Environment&lt;/h4&gt;


&lt;p&gt;By now you'll want to actually install Jekyll itself. If you don't plan on doing any Jekyll hacking and will just be using it as is, you can just use the ruby gem:&lt;/p&gt;

&lt;pre class="terminal"&gt;sudo gem install jekyll&lt;/pre&gt;


&lt;p&gt;If think you'll be doing some Jekyll hacking of your own, or using someone else's fork (there are tons of great Jekyll forks to be found), it's best to fork, clone and add the path to your bash profile. For example, cloning and running my Jekyll fork:&lt;/p&gt;

&lt;pre class="terminal"&gt;
~ $ mkdir -p ~/Projects/jekyll-stammy
~ $ git clone git@github.com:stammy/jekyll.git ~/Projects/jekyll-stammy
Cloning into /Users/Stammy/Projects/jekyll-stammy...
remote: Counting objects: 3341, done.
remote: Compressing objects: 100% (1727/1727), done.
remote: Total 3341 (delta 2053), reused 2625 (delta 1482)
Receiving objects: 100% (3341/3341), 379.48 KiB, done.
Resolving deltas: 100% (2053/2053), done.
&lt;/pre&gt;


&lt;p&gt;Now you just have to add that freshly-cloned Jekyll to your path.&lt;/p&gt;

&lt;pre class="terminal"&gt;vim ~/.bash&amp;#95;profile&lt;/pre&gt;


&lt;p&gt;Add this line near the end, editing the path and directory name for your fork accordingly:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="bash"&gt;&lt;span class="c"&gt;# Jekyll (use dev version, not gem)&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/Users/Stammy/Projects/jekyll-stammy/bin:&lt;span class="nv"&gt;$PATH&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Then run  &lt;code class="inline"&gt;source ~/.bash&amp;#95;profile&lt;/code&gt;. Or you could use caret quick substitution: &lt;code class="inline"&gt;&amp;#94;vim&amp;#94;source&lt;/code&gt;. It edits the last entered command but replaces "vim" with "source" and runs it. Handy tip for your bash repertoire.&lt;/p&gt;

&lt;h5&gt;RDiscount&lt;/h5&gt;


&lt;p&gt;Discount is a fast C implementation of John Gruber's Markdown markup language while the RDiscount extension makes this Discount Markdown processor available via a Ruby C Extension library. If you write posts in Markdown, you will need RDiscount to process the markup and convert the post to HTML. I don't usually write in Markdown, but like that it does basic things like add &amp;lt;p&amp;gt;'s for separate lines. There are other options like Maruku instead of RDiscount but I would not recommend it. Maraku was slow for me and didn't know how to render some of my post markup, resulting in errors like "REXML could not parse this XML/HTML". Stick with RDiscount and you should be fine:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo gem install rdiscount&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you use RDiscount you'll have to use Pygments for code syntax highlighting (what I use in this post). There are other options as well, such as CodeRay, which appears to only work with kramdown (a pure-Ruby Markdown converter that is slower than RDiscount, though CodeRay is faster than Pygments). Or you can just use GitHub Gist embeds for all your code needs.&lt;/p&gt;

&lt;p&gt;I went with RDiscount + Pygments was my choice and I've been happy with it so far. You'll need the &lt;a href="http://pypi.python.org/pypi/setuptools#cygwin-mac-os-x-linux-other"&gt;easy_install&lt;/a&gt; (a package manager like RubyGems but for Python) to install Pygments if you do not have it yet.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo easy&amp;#95;install Pygments&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;jekyll.dev&lt;/h5&gt;


&lt;p&gt;The next thing I did was setup Jekyll's &amp;#95;site directory with Apache on my MacBook Pro for easy local development. Jekyll comes with its own web server that's great for local testing (&lt;code class="inline"&gt;jekyll --server&lt;/code&gt;) but I prefer setting up a vhost.&lt;/p&gt;

&lt;p&gt;You probably know the drill with adding directories and virtual hosts to Apache but here's a refresher. Open up the Apache conf file in your editor of choice. This can be found at &lt;code class="inline"&gt;/etc/apache2/httpd.conf&lt;/code&gt; in OS X. Add the sections below, editing the name of your jekyll directory and ServerName as necessary. The VirtualHost section usually goes at the very end of httpd.conf. If you want to be in good form you can create another .conf file altogether instead of editing the main Apache conf, but I digress.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="apache"&gt;&lt;span class="nt"&gt;&amp;lt;Directory&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;/Library/WebServer/Documents/jekyll-blog/_site&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nb"&gt;Options&lt;/span&gt; Indexes FollowSymLinks MultiViews
    &lt;span class="nb"&gt;AllowOverride&lt;/span&gt; &lt;span class="k"&gt;All&lt;/span&gt;
    &lt;span class="nb"&gt;Order&lt;/span&gt; allow,deny
    &lt;span class="nb"&gt;Allow&lt;/span&gt; from &lt;span class="k"&gt;all&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Directory&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;VirtualHost&lt;/span&gt; &lt;span class="s"&gt;*:80&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nb"&gt;ServerAdmin&lt;/span&gt; webmaster@dummy-host2.example.com
    &lt;span class="nb"&gt;DocumentRoot&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;/Library/WebServer/Documents/jekyll-blog/_site&amp;quot;&lt;/span&gt;
    &lt;span class="nb"&gt;ServerName&lt;/span&gt; jekyll.dev
    &lt;span class="nb"&gt;ErrorLog&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;/private/var/log/apache2/jekyll.dev-error_log&amp;quot;&lt;/span&gt;
    &lt;span class="nb"&gt;CustomLog&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;/private/var/log/apache2/jekyll.dev-access_log&amp;quot;&lt;/span&gt; combined
&lt;span class="nt"&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;The jekyll-blog directory doesn't actually live in &lt;code class="inline"&gt;/Library/WebServer/Documents/&lt;/code&gt; on my setup; I prefer to have jekyll-blog in my home directory and just symlink it into the WebServer Documents folder.&lt;/p&gt;

&lt;pre class="terminal"&gt;
/Library/WebServer/Documents $ ln -s ~/jekyll-blog/ jekyll-blog
/Library/WebServer/Documents $ ls -l
lrwxr-xr-x   1 Stammy  admin   26 Nov 19 13:44 jekyll-blog -&gt; /Users/Stammy/jekyll-blog/
&lt;/pre&gt;


&lt;p&gt;Then add the line below to the end of your &lt;code class="inline"&gt;/etc/hosts&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;127.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jekyll.dev&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Restart Apache and try heading to http://jekyll.dev in your browser. You should get some generic Apache page if you don't have any files in the &amp;#95;site directory yet. When you generate the site you can start browsing the complete site locally.&lt;/p&gt;

&lt;h5&gt;Compass for Sass&lt;/h5&gt;


&lt;p&gt;I'm a huge Sass advocate and have been using it to generate my CSS for the last two years. &lt;a href="https://github.com/chriseppstein/compass/" title="Compass"&gt;Compass&lt;/a&gt;, a popular "Sass-based CSS Meta-Framework", was one of the first things I setup when designing the new site. For those new to Sass, here's how &lt;a href="http://sass-lang.com" title="Sass language"&gt;the official site&lt;/a&gt; describes it:&lt;/p&gt;

&lt;blockquote&gt;Sass makes CSS fun again. Sass is an extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and more. It’s translated to well-formatted, standard CSS using the command line tool or a web-framework plugin.&lt;/blockquote&gt;


&lt;p&gt;&lt;code&gt;sudo gem install compass&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then create &lt;code class="inline"&gt;config.rb&lt;/code&gt; and place it in the site root.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="n"&gt;http_path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;/&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;css_dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;_site/sass&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;sass_dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;sass&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;output_style&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;:compressed&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Run &lt;code class="inline"&gt;compass compile&lt;/code&gt; or &lt;code class="inline"&gt;compass watch&lt;/code&gt; to generate the CSS. Later in this post I share a rake task for site generation that compiles the Sass too.&lt;/p&gt;

&lt;h4&gt;Importing WordPress Posts&lt;/h4&gt;


&lt;p&gt;Now that you know how Jekyll processes files and generates the site, it's time to import your database. A &lt;a href="https://github.com/mojombo/jekyll/tree/master/lib/jekyll/migrators" title="migrators - jekyll"&gt;set of migration scripts&lt;/a&gt; already comes with Jekyll and currently supports CSV, Drupal, Marley, Mephisto, MovableType, TextPattern, Typo, WordPress and WordPress.com. I ended up slightly modifying another user's custom WordPress migration script that added the ability to add tags to posts. My tweak dealt with &lt;strong&gt;rewriting image URLs&lt;/strong&gt; in my posts:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="c1"&gt;# Process the content and replace URLs pointing to wp-content/uploads/&lt;/span&gt;
&lt;span class="c1"&gt;# with my CloudFront CNAME&amp;#39;d URL turbo.paulstamatiou.com/uploads/&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nc"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;transformUrls&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;baseurl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;%s/wp-content/uploads/&amp;quot;&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;domain&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;baseurl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;turbo.paulstamatiou.com/uploads/&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Here is the &lt;strong&gt;&lt;a href="https://gist.github.com/790971" title="wordpress_importer.rb - jekyll"&gt;complete WordPress importer script I used&lt;/a&gt;&lt;/strong&gt;. It's easiest to copy your database to whichever computer you'll be running the script from and importing it into MySQL then providing the script with those database credentials. After running the script, I had a new _posts folder filled with all of my posts in markdown files with the correct YAML front matter including tags and title. The date was not placed in the YAML but is present in the name of the file (ex: 2011-01-20-my-post-slug.markdown), which is used when generating the site. However, if you post many times per day, the date in the slug is not specific enough and you might run into issues where Jekyll doesn't know which order to display posts published on the same day. To fix that you'll want to edit the importer to include a timestamp in the YAML for each post. I believe &lt;a href="https://github.com/harperreed/harperreed-blog/blob/master/_import/wordpress.rb" title="wordpress.rb - jekyll"&gt;Harper Reed's migration script&lt;/a&gt; does just that.&lt;/p&gt;

&lt;h4&gt;CloudFront for Images&lt;/h4&gt;


&lt;p&gt;As for how I was going to move 460MB of images from my server to Amazon S3 for use with CloudFront, I used a nifty command line tool on my server called &lt;a href="http://s3tools.org/s3tools" title="s3cmd"&gt;s3cmd&lt;/a&gt;. But it can be done easily via drag and drop with something like Cyberduck or Transmit. Just remember to change the ACL such that all images are publicly viewable. If you opt for the s3cmd route, after installing via &lt;code class="inline"&gt;brew&lt;/code&gt; or &lt;code class="inline"&gt;apt-get&lt;/code&gt; run &lt;code class="inline"&gt;s3cmd --configure&lt;/code&gt; to get started.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_s3cmd_jekyll.jpg" alt="PaulStamatiou.com redesign with Jekyll"/&gt;&lt;br/&gt;&lt;small&gt;Structure of my S3 bucket deployed as a CF distribution. For CF distribution details, type &lt;code class="inline"&gt;s3cmd cfinfo&lt;/code&gt;, find the distribution ID, then try &lt;code class="inline"&gt;s3cmd cfinfo cf://[ID]&lt;/code&gt;&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;After the initial big upload, I wrote a task in my rakefile to make it easy to upload new images for a post. When I write a post I usually have a temporary folder on my desktop called &lt;code class="inline"&gt;new_post&lt;/code&gt; where I put all the images I want to use in the new post. I often link images to larger versions of the images and wanted this task to detect similar file names (example&amp;#95;img.png and example&amp;#95;img&amp;#95;1200.png, with the latter being a 1200px wide version of the former) and generate the proper HTML for an image linked to a larger version.&lt;/p&gt;

&lt;p&gt;Example of the types of filenames in the new&amp;#95;post folder:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="console"&gt;&lt;span class="go"&gt;~/Desktop/new_post $ ls&lt;/span&gt;
&lt;span class="go"&gt;new_screenshot.png&lt;/span&gt;
&lt;span class="go"&gt;new_screenshot_1100.png&lt;/span&gt;
&lt;span class="go"&gt;single_image.png&lt;/span&gt;
&lt;span class="go"&gt;superlarge.png&lt;/span&gt;
&lt;span class="go"&gt;superlarge_1900.png&lt;/span&gt;
&lt;span class="go"&gt;test_screenshot_regular.png&lt;/span&gt;
&lt;span class="go"&gt;test_screenshot_regular_1200.png&lt;/span&gt;
&lt;span class="go"&gt;yet_another_single_image.png&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Now I just run &lt;code class="inline"&gt;rake cloudfront&lt;/code&gt; to upload the images with the proper ACL, clean up the filename, insert alt/title tags, detect different versions of images and provide me with the code for easy copying in TextMate. I know this is tied to my particular blogging workflow and may not apply to everyone but I wanted to share as it saves me lots of time.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="n"&gt;desc&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;upload imgs to cloudfront&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;task&lt;/span&gt; &lt;span class="ss"&gt;:cloudfront&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;uploading images in ~/Desktop/new_post/ to cf&amp;#39;&lt;/span&gt;
  &lt;span class="n"&gt;post_dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;/Users/Stammy/Desktop/new_post/&amp;quot;&lt;/span&gt;
  &lt;span class="n"&gt;month&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;%m&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;year&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;%Y&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;sh&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;s3cmd put --acl-public --guess-mime-type &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;post_dir&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;* s3://pstam-cloud/uploads/&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;month&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/&amp;quot;&lt;/span&gt;
  
  &lt;span class="c1"&gt;# create URLs for handy copying&lt;/span&gt;
  &lt;span class="c1"&gt;# detect large version of same image and link it to smaller version&lt;/span&gt;
  &lt;span class="c1"&gt;# or just provide img src to orphan if no larger version&lt;/span&gt;
  &lt;span class="c1"&gt;# works b/c Dir.glob returns files alpha by extension&lt;/span&gt;
  &lt;span class="c1"&gt;# yes I know THIS IS DIRTY, I&amp;#39;ll refactor later...&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Uploaded. Here are your CF URLs &lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;
  &lt;span class="no"&gt;Dir&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;post_dir&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;img_urls&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;
  &lt;span class="n"&gt;images&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Dir&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;glob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;*.{png,gif,jpg}&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;images&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;each_with_index&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
    &lt;span class="n"&gt;cur&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;image&lt;/span&gt;
    &lt;span class="n"&gt;desc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cur&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;pstam_&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;_&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;.&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;capitalize&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;images&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;nil?&lt;/span&gt;
      &lt;span class="n"&gt;nxt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;images&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
      &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;cur&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/_1[0-9]00/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;.&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;nxt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/_1[0-9]00/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;.&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="sr"&gt; /_1[0-9]00/&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
          &lt;span class="n"&gt;large&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cur&lt;/span&gt;
          &lt;span class="n"&gt;small&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nxt&lt;/span&gt;
        &lt;span class="k"&gt;elsif&lt;/span&gt;&lt;span class="sr"&gt; /_1[0-9]00/&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nxt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
          &lt;span class="n"&gt;large&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nxt&lt;/span&gt;
          &lt;span class="n"&gt;small&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cur&lt;/span&gt;
        &lt;span class="k"&gt;end&lt;/span&gt;
        &lt;span class="n"&gt;img_urls&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;-&lt;/span&gt;&lt;span class="no"&gt;HTML&lt;/span&gt;
&lt;span class="sh"&gt;&amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://turbo.paulstamatiou.com/uploads/#{year}/#{month}/#{large}&amp;quot; title=&amp;quot;#{desc}&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://turbo.paulstamatiou.com/uploads/#{year}/#{month}/#{small}&amp;quot; alt=&amp;quot;#{desc}&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;\n&lt;/span&gt;
&lt;span class="no"&gt;HTML&lt;/span&gt;
      &lt;span class="k"&gt;elsif&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/_1[0-9]00/&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="n"&gt;img_urls&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;-&lt;/span&gt;&lt;span class="no"&gt;HTML&lt;/span&gt;
&lt;span class="sh"&gt;&amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://turbo.paulstamatiou.com/uploads/#{year}/#{month}/#{cur}&amp;quot; alt=&amp;quot;#{desc}&amp;quot;/&amp;gt;&amp;lt;/div&amp;gt;\n&lt;/span&gt;
&lt;span class="no"&gt;HTML&lt;/span&gt;
      &lt;span class="k"&gt;end&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="c1"&gt;# if last&lt;/span&gt;
      &lt;span class="n"&gt;img_urls&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;-&lt;/span&gt;&lt;span class="no"&gt;HTML&lt;/span&gt;
&lt;span class="sh"&gt;&amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://turbo.paulstamatiou.com/uploads/#{year}/#{month}/#{cur}&amp;quot; alt=&amp;quot;#{desc}&amp;quot;/&amp;gt;&amp;lt;/div&amp;gt;\n&lt;/span&gt;
&lt;span class="no"&gt;HTML&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;img_urls&lt;/span&gt;
  &lt;span class="n"&gt;filename&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;.&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;+&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;rand&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chr&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;_imgurls_tmp.txt&amp;quot;&lt;/span&gt;
  &lt;span class="n"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;File&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;/tmp&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="no"&gt;File&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
    &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;img_urls&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="nb"&gt;system&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;open -a textmate &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;(&lt;a href="https://gist.github.com/791030" title="upload new images to cloudfront for jekyll blog posts"&gt;View this CloudFront rake task as a gist instead&lt;/a&gt;)&lt;/p&gt;

&lt;h4&gt;Disqus for Comments&lt;/h4&gt;


&lt;p&gt;Jekyll is all about static files so I can't do anything like serve my own commenting system. I decided to migrate my ~25,000 WordPress comments to the popular Disqus commenting system. I was worried this would be a long and painful process but was actually surprised at how easy it was. I simply installed their WordPress plugin and told it to migrate my comments to Disqus. The process did take a while &amp;mdash; about 10 hours &amp;mdash; until I noticed all the comments for each posts were properly loading. Comments that were threaded in WordPress were properly threaded in Disqus. Sweet!&lt;/p&gt;

&lt;p&gt;As long as I kept the post URLs the same, there would be no problem adding Disqus to the Jekyll site. I created a comments.html include of the Disqus embed code that I put in my post layout.&lt;/p&gt;

&lt;p&gt;That's all there was to it! There is &lt;strong&gt;one slight drawback&lt;/strong&gt;, or plus depending on how you view things, to this approach. Disqus loads all comments after page load, via JS. This means that comments will not be indexed by Google. That's good if you write with SEO prowess and don't want user comments mucking up your perfect mix of keywords. That's bad if you're like me and think that user comments add tremendous value and want others to be able to find posts while searching for something mentioned in a comment.&lt;/p&gt;

&lt;h4&gt;Website Analytics&lt;/h4&gt;


&lt;p&gt;For the last few years I ran both Google Analytics and Mint. Google Analytics tends to be my "backup" analytics logging tool. I don't really check it too often but I like knowing that it's there keeping track of everything. I used Mint to simply look at more recent traffic patterns, popular referrers for the day and so on. I would check it more often than Google Analytics; up to maybe 5 times on a new post day.&lt;/p&gt;

&lt;p&gt;With this site migration I decided it was time to lay Mint and it's MySQL database to rest. I didn't want to run a &lt;code class="inline"&gt;mysqld&lt;/code&gt; process anymore. I decided to sign up for both &lt;a href="http://chartbeat.com/" title="Chartbeat"&gt;Chartbeat&lt;/a&gt; and &lt;a href="http://reinvigorate.net/" title="Reinvigorate"&gt;Reinvigorate&lt;/a&gt; until I decided which one I liked more. Both cost roughly $10 per month at my tier. I have been using both for about a month. I'm &lt;strong&gt;not in love with either of them&lt;/strong&gt; at the moment. &lt;a href="http://chartbeat.com/demo" title="Chartbeat dashboard"&gt;Chartbeat has a neat dashboard&lt;/a&gt; with real-time data but makes it hard to get basic information like unique visitors and pageviews per day. I know that's not their target metric but it would be nice to add. It's like selling me a car that tells me current MPG but not average MPG.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_chartbeat.png" alt="Chartbeat"/&gt;&lt;/div&gt;


&lt;p&gt;Reinvigorate on the other hand does not give off quite the real-time vibe as Chartbeat does (and for some reason Reinvigorate reports roughly half as many active visitors as Chartbeat does; guess they have different definitions for active visitor). Reinvigorate has loads of data, much like Google Analytics, and you can get access to hourly, daily, monthly traffic, heatmaps, visitor details, top referrers, keywords and more, but it's spread out over some 20 pages and will take you an afternoon of clicking to find what you're looking for.&lt;/p&gt;

&lt;p&gt;Maybe I'll just stick to Google Analytics and invest the money saved in a nice low expense ratio index fund. Or a haircut.&lt;/p&gt;

&lt;h4&gt;Features vs Generation Time&lt;/h4&gt;


&lt;p&gt;In the end, even after I built out &lt;strong&gt;complete archives pages and tag pages, I ended up ditching them&lt;/strong&gt; entirely. Why? For simplicity and in interest of keeping site generation time minimal. With all these features and extra pages to generate, &lt;strong&gt;it took Jekyll 50 minutes to generate my site&lt;/strong&gt;. That was 50 minutes between me and publishing a new post, changing something in the layout, et cetera. Running through 1,100+ posts and hundreds more archive and tag pages processing markdown, pygments and liquid is no easy feat. &lt;strong&gt;Jekyll is not made for large sites&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I ended up taking that restriction and using it for the better. &lt;strong&gt;Did I really need tags and individual archive pages?&lt;/strong&gt; I asked a bunch of people on Twitter whether they used tags for site navigation. It came back as a resounding no. Most people considered them clutter. Search is the killer app now, no need for tags in my opinion. I yanked them all out and 301 redirected tag and individual archive pages to my &lt;a href="http://paulstamatiou.com/archives" title="Archives"&gt;single archives page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Site generation time went down to around 6 minutes on my 2.8GHz Core 2 Duo after I took them out.&lt;/p&gt;

&lt;pre class="terminal"&gt;
~/jekyll-blog(master) $ rake generate
(in /Users/Stammy/jekyll-blog)
time jekyll
Configuration from /Users/Stammy/jekyll-blog/_config.yml
Building site: . -&gt; ./_site
Successfully generated site: . -&gt; ./_site
      395.46 real       249.75 user        86.82 sys
compass compile
   exists _site/sass
  compile sass/screen.sass
   create _site/sass/screen.css
&lt;/pre&gt;


&lt;p&gt;Generation by this task in my Rakefile:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="n"&gt;desc&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;nuke, build and compass&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;task&lt;/span&gt; &lt;span class="ss"&gt;:generate&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;sh&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rm -rf _site&amp;#39;&lt;/span&gt;
  &lt;span class="n"&gt;jekyll&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;jekyll&lt;/span&gt;
  &lt;span class="c1"&gt;# time to give me generation times&lt;/span&gt;
  &lt;span class="c1"&gt;# I&amp;#39;m just curious about how long it takes&lt;/span&gt;
  &lt;span class="n"&gt;sh&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;time jekyll&amp;#39;&lt;/span&gt;
  &lt;span class="c1"&gt;# compass already configured via config.rb in root&lt;/span&gt;
  &lt;span class="n"&gt;sh&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;compass compile&amp;#39;&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Before this run-in with archives and tags I got &lt;strong&gt;related posts ("Latent Semantic Indexing") working&lt;/strong&gt; after compiling and installing GSL with rb-gsl. It took a while to generate the list of related posts when I only had a handful of posts in my local Jekyll environment. When I put all my posts in and tried to generate them it took longer than 10 hours. I don't know exactly how long because I tried it twice and killed it after 10 hours &amp;mdash; that wasn't going to fly and I decided to just list recent posts instead. I had considered spinning up a large EC2 instance to generate it but doing that each time I had a new post was going to be a pricey nuisance.&lt;/p&gt;

&lt;p&gt;For those with fewer posts interested in implementing tag pages, I made a &lt;a href="https://gist.github.com/790778" title="Jekyll rakefile for generating tags"&gt;rake task for it as shown in this gist&lt;/a&gt;. Getting individual archive pages working required adding some of the &lt;a href="http://mikewest.org/2009/11/my-jekyll-fork" title="Mike West Jekyll fork"&gt;archive support built by Mike West&lt;/a&gt; into my Jekyll fork. While I didn't end up using the full archive page support, it did allow me to organize the post listing in my single archives page by month and year (mentioned below).&lt;/p&gt;

&lt;h4&gt;Custom Features&lt;/h4&gt;


&lt;p&gt;A few features I did end up implementing and keeping include a second post type called "bit", MultiViews support, a filter to recognize WordPress "more" tags and collated posts.&lt;/p&gt;

&lt;h5&gt;MultiViews&lt;/h5&gt;


&lt;p&gt;There are two main ways of getting Jekyll to create permalinks. In the &amp;#95;config.yml you can either set permalink to something ending in .html or not. If the permalink structure ends in .html, Jekyll will end up generating posts as html files and dump them directly in &amp;#95;site and Apache will serve them as yoursite.com/your-post-slug.html. Jekyll will also link to posts on the site with the .html extension (that's what putting post.url in a posts loop will output).&lt;/p&gt;

&lt;p&gt;If you set the permalink structure without any html extension, Jekyll will generate a ton of index.html files stored within their own directory named the slug of the post. Apache will serve it without any extensions as well, but will by nature keep a trailing slash since it is loading the index.html file inside of the directory. For example: &amp;#95;site/some-long-post-slug/index.html =&gt; yoursite.com/some-long-post-slug/&lt;/p&gt;

&lt;p&gt;Alright Paul, so where's the issue?&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;I don't want a bunch of long name directories with index.html files. It makes it hard to search for posts locally if everything comes up as index.html. Just having post html files and less directories is much easier to deal with IMO.&lt;/li&gt;
    &lt;li&gt;I don't want permalinks to end in .html&lt;/li&gt;
    &lt;li&gt;I also don't want a trailing slash on permalinks (which is what happens with the index.html route)&lt;/li&gt;
    &lt;li&gt;I want Jekyll to generate post links without the .html extension even though I told it in the config to use .html&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;MultiViews is an Apache feature aimed at content negotation &amp;mdash; serving up files for resources that don't exist. So even though /long-post-slug doesn't exist, Apache will end up serving /long-post-slug.html.&lt;/p&gt;

&lt;blockquote&gt;The effect of MultiViews is as follows: if the server receives a request for /some/dir/foo, if /some/dir has MultiViews enabled, and /some/dir/foo does not exist, then the server reads the directory looking for files named foo.*, and effectively fakes up a type map which names all those files, assigning them the same media types and content-encodings it would have if the client had asked for one of them by name. &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;&lt;a href="http://httpd.apache.org/docs/current/content-negotiation.html#multiviews" title="Apache Content Negotiation Multiviews"&gt;Apache docs&lt;/a&gt;&lt;/strong&gt;&lt;/blockquote&gt;


&lt;p&gt;I already set up MultiViews in the Apache configuration (you can also set it in .htaccess) so the only pieces left are &lt;strong&gt;1)&lt;/strong&gt; coaxing Jekyll into processing post urls without the html extension and then &lt;strong&gt;2)&lt;/strong&gt; having Apache redirect post-slug.html to the extension-free post-slug (otherwise both versions would load and Google would index both, detect duplicate content and spread PageRank amongst both.. not very canonical).&lt;/p&gt;

&lt;p&gt;Fortunately both were a quick fix away. I ran across &lt;a href="https://github.com/henrik/jekyll" title="Henrik Jekyll"&gt;Henrik's Jekyll fork&lt;/a&gt; where he introduced a MultiViews setting in &amp;#95;config.yml and then rewrote the &lt;code class="inline"&gt;url&lt;/code&gt; method to remove the extension if multiviews is enabled and placed the url logic in another method. I &lt;a href="https://github.com/stammy/jekyll/commit/b943d45e8f1f45351a0121dfb734762e8888abeb#diff-2" rel="nofollow"&gt;applied the same method&lt;/a&gt; in an updated Jekyll (v0.10.0). Just set &lt;code class="inline"&gt;multiviews: true&lt;/code&gt; in the config file.&lt;/p&gt;

&lt;p&gt;And finally, some a few .htaccess lines to take care of the duplicate urls:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="apache"&gt;&lt;span class="c"&gt;# External redirect any /post-slug.html to /post-slug&lt;/span&gt;
&lt;span class="nb"&gt;RewriteCond&lt;/span&gt; %{THE_REQUEST} ^[A-Z]+\s([^\s]+)\.html\s
&lt;span class="nb"&gt;RewriteRule&lt;/span&gt; .* %1 [R=301,L]
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;




&lt;h5&gt;&amp;lt;!--more--&amp;gt; content filter&lt;/h5&gt;


&lt;p&gt;This allows me to return just the part of the post before the more tag in my templates. For example, I wanted to use this on tag pages, archive pages and on new posts on the homepage. Alternatively, if you don't use or don't want to use the more tag in your posts, you can get the same effect with something like &lt;code class="inline"&gt;&amp;#123;&amp;#123; post.content | truncatewords: 75 | textilize &amp;#125;&amp;#125;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I added this to filters.rb in my Jekyll fork:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="c1"&gt;# Returns all content before the first-encountered WP-style MORE tag.&lt;/span&gt;
&lt;span class="c1"&gt;# Allows authors to mark the fold with an &amp;lt;!--more--&amp;gt; in their drafts.&lt;/span&gt;
&lt;span class="c1"&gt;# ex: Liquid error: private method `split&amp;#39; called for nil:NilClass&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;before_fold&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&amp;lt;!--more--&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;




&lt;h5&gt;Bit post type&lt;/h5&gt;


&lt;p&gt;I wanted a post type similar to an aside but wanted it to remain entirely separate from regular posts. &lt;strong&gt;&lt;a href="http://paulstamatiou.com/bits" title="Bits"&gt;Bits&lt;/a&gt;&lt;/strong&gt; would not share tags, be listed in the main RSS feed, et cetera. Something like this could have been done by adding another field to the YAML front matter in each bit and checking for the presence or exclusion of that value while looping through posts, or by simply making a bits folder and manually adding posts there, but then I wouldn't be able to loop through them for a bits archive, feed or the sitemap.&lt;/p&gt;

&lt;p&gt;For ease of use, cleaner logic and faster generation times (less stuff for Liquid to do) I decided make a Bit class. It's essentially a direct copy of the Post class with appropriate variable changes/additions made throughout the Jekyll.&lt;/p&gt;

&lt;p&gt;View &lt;a href="https://github.com/stammy/jekyll/blob/master/lib/jekyll/bit.rb" title="Bit post type"&gt;bit.rb on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h5&gt;Collated posts&lt;/h5&gt;


&lt;p&gt;And last but not least, I wanted slightly better archive pages. I didn't just want a list of every post. I wanted them broken up into sections for year and month.&lt;/p&gt;

&lt;p&gt;This snippet, among some related archive code, was added to the render method in site.rb:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;posts&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reverse&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;each&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;month&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;day&lt;/span&gt;
  &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collated&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;key?&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;
    &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collated&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collated&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;key?&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;
    &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collated&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;][&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collated&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;][&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;key?&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;
    &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collated&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;][&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="o"&gt;][&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collated&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;][&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="o"&gt;][&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="n"&gt;post&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;That allowed me to use this crazy markup to create the archives page:&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_archive_page.png" alt="Jekyll Archives for PaulStamatiou.com"/&gt;&lt;br/&gt;&lt;small&gt;View the complete archives file in &lt;a href="https://gist.github.com/790789"&gt;this gist&lt;/a&gt;.&lt;/small&gt;&lt;/div&gt;




&lt;h4&gt;Performance&lt;/h4&gt;


&lt;p&gt;By nature, Jekyll will be fast &amp;mdash; as fast as your nginx, Apache or other web server setup can dish out tiny static html files. By offloading all image resources to a CDN, I reduced the amount of HTTP requests the server has to reply to for a single page load. I could have also done the same thing with my Sass-compiled CSS but I change it so often that I prefer having it served from my server rather than dealing with CDN cache invalidation and versioning issues. I ended up keeping Apache as my web server; I don't get the kind of traffic to warrant an nginx setup. My box can handle a 50,000 pageview day no problem and that's the most I've seen from any sort of Hacker News/Reddit/&amp;amp;c fiasco.&lt;/p&gt;

&lt;p&gt;I decided to install the much-hyped &lt;a href="http://code.google.com/speed/page-speed/download.html" title="Google mod pagespeed"&gt;Apache 2.2 module by Google called mod&amp;#95;pagespeed&lt;/a&gt;:&lt;/p&gt;

&lt;pre class="terminal"&gt;
# confirm this Ubuntu server is x86_64
~ $ uname -a
Linux paulstamatiou.com [...] x86_64 GNU/Linux  
# yup, good to go with 64-bit mod_pagespeed
~ $ wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb
2011-01-24 19:43:02 (1.83 MB/s) - `mod-pagespeed-beta_current_amd64.deb' saved [764256/764256]
~ $ sudo dpkg -i mod-pagespeed-*.deb
~ $ sudo apt-get -f install
&lt;/pre&gt;


&lt;p&gt;Pagespeed should be installed and you'll see some new files in the &lt;code class="inline"&gt;/etc/apache2/mods-enabled/&lt;/code&gt; directory. Now let's take the red pill and see what kind of configuration options are available. Open up &lt;code class="inline"&gt;pagespeed.conf&lt;/code&gt; and &lt;strong&gt;uncomment/enter these lines&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="apache"&gt;&lt;span class="nb"&gt;ModPagespeed&lt;/span&gt; &lt;span class="k"&gt;on&lt;/span&gt;
&lt;span class="nb"&gt;AddOutputFilterByType&lt;/span&gt; MOD_PAGESPEED_OUTPUT_FILTER text/html
&lt;span class="nb"&gt;AddOutputFilterByType&lt;/span&gt; MOD_PAGESPEED_OUTPUT_FILTER text/css
&lt;span class="nb"&gt;ModPagespeedRewriteLevel&lt;/span&gt; CoreFilters
&lt;span class="nb"&gt;ModPagespeedEnableFilters&lt;/span&gt; collapse_whitespace,elide_attributes
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Read about more &lt;a href="http://code.google.com/speed/page-speed/docs/using_mod.html" title="Using mod pagespeed"&gt;mod&amp;#95;pagespeed filters and settings in the docs&lt;/a&gt;; this is only scratching the surface. In particular, take a look the &lt;code class="inline"&gt;rewrite&amp;#95;images&lt;/code&gt; filter as well as &lt;code class="inline"&gt;ModPagespeedDomain&lt;/code&gt; if you do any CDN stuff. Pagespeed can also &lt;a href="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_pagespeed_stats.png" title="google mod pagespeed statistics"&gt;provide basic statistics&lt;/a&gt; if you enable the following:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="apache"&gt;&lt;span class="nb"&gt;ModPagespeedEnableFilters&lt;/span&gt; add_instrumentation

&lt;span class="nt"&gt;&amp;lt;Location&lt;/span&gt; &lt;span class="s"&gt;/mod_pagespeed_beacon&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nb"&gt;SetHandler&lt;/span&gt; mod_pagespeed_beacon
&lt;span class="nt"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;Location&lt;/span&gt; &lt;span class="s"&gt;/mod_pagespeed_statistics&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="nb"&gt;Order&lt;/span&gt; allow,deny
   &lt;span class="nb"&gt;Allow&lt;/span&gt; from localhost
   &lt;span class="c"&gt;# Add your IP below and uncomment to be able to view remotely&lt;/span&gt;
   &lt;span class="c"&gt;# Allow from XXX.XXX.XXX.XXX&lt;/span&gt;
   &lt;span class="nb"&gt;SetHandler&lt;/span&gt; mod_pagespeed_statistics
&lt;span class="nt"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;After you're done fine-tuning pagespeed settings save the conf file and then restart Apache:&lt;/p&gt;

&lt;pre class="terminal"&gt;
sudo /etc/init.d/apache2 restart
&lt;/pre&gt;


&lt;p&gt;Fire up Chrome browser and load up your site. Right-click anywhere on the site, click &lt;strong&gt;Inspect Element&lt;/strong&gt;, click the &lt;strong&gt;Network&lt;/strong&gt; tab then refresh the site to fill up the network pane. Click on the name of the actual HTML for the page. Make sure it's not a 304 (that's generally good but if it's coming from cache you can't see the mod&amp;#95;pagespeed headers to confirm if properly installed). Load a page you haven't visited before, clear your cache or try enabling private mode. Once you're able to load a page with a 200 you should see &lt;strong&gt;X-Mod-Pagespeed&lt;/strong&gt; at the end of the &lt;strong&gt;Headers&lt;/strong&gt; pane:&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_pagespeed_header.png" alt="Google mod&amp;#95;pagespeed enabled - header"/&gt;&lt;/div&gt;


&lt;p&gt;If you click on the Content tab to view the source of any page you might also see some differences depending on your pagespeed configuration. I &lt;strong&gt;saw three markup changes&lt;/strong&gt;: 1) a timer script at the beginning and end of the page for statistics, 2) collapsed whitespace and 3) an adjusted and processed CSS include.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_pagespeed_markup.png" alt="Google mod&amp;#95;pagespeed enabled - markup changes"/&gt;&lt;/div&gt;


&lt;p&gt;I'm just touching the tip of the iceberg with server optimizations. If you care about performance you'd end up tinkering with nginx in the first place. I might end up doing that later on but I'm content with Apache. That and I'm not looking forward to rewriting my .htaccess rules into nginx.conf.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_ve_jekyll_htop.jpg" alt="htop showing how happy my server is with the new setup"/&gt;&lt;br/&gt;&lt;small&gt;&lt;code class="inline"&gt;htop&lt;/code&gt; showing how happy my server is with the new setup&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;While I was at it I decided to upgrade my box from Ubuntu 9.04 to 10.04 LTS. I did the typical sudo apt-get update, upgrade and then do-release-upgrade, but received this error:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Can not run the upgrade. This usually is caused by a system were /tmp is mounted noexec. Please remount without noexec and run the upgrade again.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It turns out this error is pretty common. It's safe to keep /tmp as noexec but it has the downside of restricting certain release upgrades like this. My first thought was to simply remount /tmp as exec as the nice error suggested:&lt;/p&gt;

&lt;pre class="terminal"&gt;
~ $ sudo mount -o remount,exec /tmp

warning: can't open /lib/init/fstab: No such file or directory
mount: can't find /tmp in /etc/fstab or /etc/mtab&lt;/pre&gt;


&lt;p&gt;Hrm, no go. Lets try chroot:&lt;/p&gt;

&lt;pre class="terminal"&gt;sudo mkdir -p /root/chroot /root/tmp
sudo mount --bind / /root/chroot
sudo mount --bind /root/tmp /root/chroot/tmp
sudo chroot /root/chroot&lt;/pre&gt;


&lt;p&gt;I ran do-release-upgrade again and it worked. A few minutes later:&lt;/p&gt;

&lt;pre class="terminal"&gt;~ $ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"&lt;/pre&gt;




&lt;h4&gt;Writing&lt;/h4&gt;


&lt;p&gt;Alright, your Jekyll setup is pretty much all complete but you want to write a post about your new setup before deploying the new site. Now what? Simply create a new file in the format of "year-month-day-post-slug.markdown" in your &amp;#95;posts directory. Add the necessary YAML front matter to the top of the post and then generate the site.&lt;/p&gt;

&lt;p&gt;I wrote a rake task to save a few seconds each time I have to create a new post. You will need to install the chronic gem first though. It creates the new file in the proper directory and then opens the file in TextMate.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="c1"&gt;# ignore the &amp;quot;bit&amp;quot; stuff.. only relevant to my custom jekyll fork&lt;/span&gt;

&lt;span class="n"&gt;desc&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;create new post or bit. args: type (post, bit), title, future (# of days)&amp;#39;&lt;/span&gt;
&lt;span class="c1"&gt;# rake new type=(bit|post) future=0 title=&amp;quot;New post title goes here&amp;quot; slug=&amp;quot;slug-override-title&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;task&lt;/span&gt; &lt;span class="ss"&gt;:new&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rubygems&amp;#39;&lt;/span&gt;
  &lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;chronic&amp;#39;&lt;/span&gt;
  
  &lt;span class="n"&gt;type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ENV&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;type&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;bit&amp;quot;&lt;/span&gt;
  &lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ENV&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;title&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;New Title&amp;quot;&lt;/span&gt;
  &lt;span class="n"&gt;future&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ENV&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;future&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
  &lt;span class="n"&gt;slug&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ENV&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;slug&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;downcase&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;downcase&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;bit&amp;quot;&lt;/span&gt;
    &lt;span class="no"&gt;TARGET_DIR&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;_bits&amp;quot;&lt;/span&gt;
  &lt;span class="k"&gt;elsif&lt;/span&gt; &lt;span class="n"&gt;future&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;
    &lt;span class="no"&gt;TARGET_DIR&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;_posts&amp;quot;&lt;/span&gt;
  &lt;span class="k"&gt;else&lt;/span&gt;
    &lt;span class="no"&gt;TARGET_DIR&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;_drafts&amp;quot;&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;future&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_i&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;zero?&lt;/span&gt;
    &lt;span class="n"&gt;filename&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="no"&gt;Time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;%Y-%m-%d&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;-&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;slug&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.markdown&amp;quot;&lt;/span&gt;
  &lt;span class="k"&gt;else&lt;/span&gt;
    &lt;span class="n"&gt;stamp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Chronic&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;in &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;future&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; days&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;%Y-%m-%d&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;filename&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;stamp&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;-&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;slug&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.markdown&amp;quot;&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="n"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;File&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;TARGET_DIR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;post&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;-&lt;/span&gt;&lt;span class="no"&gt;HTML&lt;/span&gt;
&lt;span class="sh"&gt;--- &lt;/span&gt;
&lt;span class="sh"&gt;layout: TYPE&lt;/span&gt;
&lt;span class="sh"&gt;title: &amp;quot;TITLE&amp;quot;&lt;/span&gt;
&lt;span class="sh"&gt;date: DATE&lt;/span&gt;
&lt;span class="sh"&gt;---&lt;/span&gt;

&lt;span class="no"&gt;HTML&lt;/span&gt;
  &lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;TITLE&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;DATE&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;Time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;TYPE&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="no"&gt;File&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
    &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;post&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;new &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; generated in &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;
  &lt;span class="nb"&gt;system&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;open -a textmate &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;




&lt;h5&gt;Pygments&lt;/h5&gt;


&lt;p&gt;What about getting code syntax highlighting working with pygments? Simply place your code in this curly brace liquid highlight block markup. To find out what lexers pygments supports, &lt;a href="http://pygments.org/docs/lexers/" title="Pygments Lexers"&gt;visit (and bookmark) this page&lt;/a&gt;. Here's a handy list of common language short names for use in pygments (they're guessable for the most part): python, perl, clojure, ruby, c, cpp, java, scala, csharp, common-lisp, erlang, haskell, console, mysql, cfm, django, css+php, css+ruby, erb, jsp, vim, actionscript3, css, haml, html, js, php, sass.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2011/01/pstam_jekyll_liquid_pygments.png" alt="Jekyll liquid pygments"/&gt;&lt;br/&gt;&lt;small&gt;This is an image because using liquid markup to show liquid markup is a PITA. There's a &lt;a href="http://tesoriere.com/2010/08/25/liquid-code-in-a-liquid-template-with-jekyll/" title="HIGHLIGHTING LIQUID CODE IN A LIQUID TEMPLATE WITH JEKYLL (ESCAPE A LIQUID TEMPLATING TAG)"&gt;tricky solution though&lt;/a&gt;.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;The last thing you'll need to do is get the CSS for the syntax highlighting and paste it in your stylesheet. Since I'm using Sass, I'll go ahead and convert it to Sass right off the bat. Pygments supports &lt;a href="http://pygments.org/docs/styles/" title="Pygments Styles"&gt;various styles&lt;/a&gt; you can use.&lt;/p&gt;

&lt;pre class="terminal"&gt;pygmentize -f html -S default &gt; syntax.css &amp;&amp; sass-convert syntax.css syntax.sass &amp;&amp; mate syntax.sass&lt;/pre&gt;


&lt;p&gt;Paste the contents of syntax.sass into your primary sass file. Or you can ignore that line and just use &lt;a href="https://github.com/mojombo/tpw/blob/master/css/syntax.css" title="GitHub syntax.css"&gt;the GitHub syntax style&lt;/a&gt; that you've come to know and love.&lt;/p&gt;

&lt;h4&gt;Deploying&lt;/h4&gt;


&lt;p&gt;There are a &lt;a href="https://github.com/mojombo/jekyll/wiki/Deployment" title="Jekyll Deployment"&gt;number of ways to deploy Jekyll&lt;/a&gt; to your live site. Use whichever method you prefer to move a bunch of html files to your web server's html directory. I went with a simple rsync solution added to my rakefile. This method requires that I generate the site locally and not on the server. I prefer this route for a few reasons:&lt;/p&gt;

&lt;ol&gt;
    &lt;li&gt;No need to keep my server up-to-date on all the gems and related software I use&lt;/li&gt;
    &lt;li&gt;Easy to do a simple check locally and see if everything is all good, Sass correctly compiled, et cetera before deploy
    &lt;li&gt;rsync just works&lt;/li&gt;
&lt;/ol&gt;




&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="ruby"&gt;&lt;span class="n"&gt;desc&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;deploy to pstam via rsync&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;task&lt;/span&gt; &lt;span class="ss"&gt;:deploy&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="c1"&gt;# uploads ALL files b/c I often do site-wide changes and prefer overwriting all&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;DEPLOYING TO PAULSTAMATIOU.COM&amp;#39;&lt;/span&gt;
  &lt;span class="c1"&gt;# remove --rsh piece if not using 22&lt;/span&gt;
  &lt;span class="n"&gt;sh&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;rsync -rtzh --progress --delete _site/ --rsh=&amp;#39;ssh -pCUSTOM_PORT&amp;#39; user@domain.com:/var/www/domain.com/html/&amp;quot;&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;done!&amp;#39;&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;I might end up writing another rake task to archive the previous deploy and give me the ability to rollback between dated deploys within seconds. Maybe even use &lt;a href="http://anemone.rubyforge.org/" title="Anemone"&gt;anemone&lt;/a&gt; post-generation to crawl the site locally and check for dead links (which has happened before with dirty htaccess rules).&lt;/p&gt;

&lt;h4&gt;Thoughts&lt;/h4&gt;


&lt;p&gt;I'll be the first to say that this kind of blogging setup is most definitely &lt;strong&gt;not for everyone&lt;/strong&gt;. Using Jekyll is pretty much just for developers and those that feel comfortable tinkering around with git, rsync, a ruby project and writing some basic Liquid markup for templates. In a lot of ways this can be seen as a step back from typical dynamic blogging systems. Having to generate static html pages? That might bring back horrors of early Perl-based Movable Type installs.&lt;/p&gt;

&lt;p&gt;Running Jekyll for your publishing needs is akin to running vim for everything you do. It doesn't seem efficient to those not familiar but it's small enough (about 2000 lines of code excluding tests and blank lines, according to &lt;code class="inline"&gt;cloc&lt;/code&gt;) and easy enough for hackers to edit and streamline into their workflow as they see fit. Once you get it to your liking, that's it! You never have to update it, worry about security issues (aside from keeping your server up-to-date of course) or anything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'm extremely happy with my Jekyll setup&lt;/strong&gt;. If I were to change anything, I might get around to hacking on the ability for Jekyll to do incremental generation. In the cases where I don't make site-wide layout changes and am only editing a single post, Jekyll won't end up needlessly generating the entire site. Oh wait, &lt;a href="https://github.com/graysky/jekyll/commit/39ae8c7c3f4a3cffd095e3b7638cfa8025c5a67a" title="Jekyll incremenetal geneartion"&gt;someone already did that&lt;/a&gt;. Time to fork.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do you think? What is your currently blogging setup? Would something like Jekyll ever tickle your blogging fancy or is it all just too much work to setup?&lt;/strong&gt;&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/how-to-wordpress-to-jekyll" title="How To: WordPress to Jekyll"&gt;How To: WordPress to Jekyll&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=15rbM1vreJs:plh0mSRkwYw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=15rbM1vreJs:plh0mSRkwYw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=15rbM1vreJs:plh0mSRkwYw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=15rbM1vreJs:plh0mSRkwYw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=15rbM1vreJs:plh0mSRkwYw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=15rbM1vreJs:plh0mSRkwYw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=15rbM1vreJs:plh0mSRkwYw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=15rbM1vreJs:plh0mSRkwYw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/15rbM1vreJs" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/how-to-wordpress-to-jekyll</feedburner:origLink></entry>
	
	<entry>
		<title>Startup Fundraising is a Time Sink</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/jkyvGt-VPXA/startup-fundraising-time-sink" />
		<updated>2010-12-21T00:00:00-08:00</updated>
		<id>http://paulstamatiou.com/startup-fundraising-time-sink</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zhKk2MyUpeLcUQiOGkNXQurf2iQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zhKk2MyUpeLcUQiOGkNXQurf2iQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zhKk2MyUpeLcUQiOGkNXQurf2iQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zhKk2MyUpeLcUQiOGkNXQurf2iQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;"&lt;strong&gt;Which one of you is going to be doing the fundraising?&lt;/strong&gt;" queried a calm and collected &lt;a href="http://twitter.com/tlrobinson" title="Tom Robinson on Twitter"&gt;Tom Robinson&lt;/a&gt; while in a loud venue one Saturday evening at a &lt;a href="http://www.facebook.com/album.php?aid=251727&amp;id=324826532457" title="Startup School after-party - AirBnB"&gt;Startup School after-party&lt;/a&gt;. Tom had good reason to be relaxed that evening. His startup, &lt;a href="http://280north.com/" title="280 North"&gt;280 North&lt;/a&gt;, had been &lt;a href="http://techcrunch.com/2010/08/24/motorola-snaps-up-280-north-for-20-million/" title="280 North acquired by Motorola"&gt;acquired by Motorola for $20 Million&lt;/a&gt; a few months prior.  I had just shared that my co-founder Chad and I were just getting started with fundraising for Notifo. "&lt;strong&gt;Oh, we both are&lt;/strong&gt;," I stuttered before gulping my drink. "&lt;strong&gt;Good luck!&lt;/strong&gt;," he replied. I had &lt;em&gt;no idea&lt;/em&gt; what the next months had in store.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/sinkhole.jpg" alt="Startup Fundraising is a time sinkhole"/&gt;&lt;/div&gt;





&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This post is intentionally vague. Perhaps one day, after an arbitrarily long epoch, I can divulge much more interesting details. For those not familiar with &lt;strong&gt;&lt;a href="http://notifo.com" title="Notifo"&gt;Notifo&lt;/a&gt;&lt;/strong&gt;, it is a mobile notifications platform that makes it easy for developers to send push notifications without having to develop their own native mobile apps. It went through Y Combinator's Winter 2010 batch, officially launched in March and had a &lt;a href="http://paulstamatiou.com/startup-update-notifo-iphone-app-v2-more" title="Startup Update: Notifo iPhone App v2 and More"&gt;revamp in September&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Check out a &lt;a href="http://news.ycombinator.com/item?id=2029190" title="Startup Fundraising is a Time Sink"&gt;great discussion of this post on Hacker News&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I had always heard that fundraising was a pain in the ass and can often come close to killing a startup. If you haven't read the essay linked below by Paul Graham, it's definitely worth a read. Everything in that essay rings true.&lt;/p&gt;

&lt;blockquote&gt;But although for most startups raising money will be the lesser evil, it's still a pretty big evil—so big that it can easily kill you. Not merely in the obvious sense that if you fail to raise money you might have to shut the company down, but because the process of raising money itself can kill you.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;&lt;a href="http://www.paulgraham.com/fundraising.html" title="Fundraising - Paul Graham"&gt;Paul Graham&lt;/a&gt;&lt;/strong&gt;&lt;/blockquote&gt;


&lt;p&gt;For Notifo, it was the latter &amp;mdash; the fundraising process itself. We weren't desperate &amp;mdash; we had money thanks our utter frugality and a friends and family round we completed early in the summer. No office, few expenses&lt;sup&gt;1&lt;/sup&gt;, and no salary&lt;sup&gt;2&lt;/sup&gt;. Notifo had made significant strides in traction&lt;sup&gt;3&lt;/sup&gt; since launch and we felt that by getting a jump on the fundraising process we would be able to hire and grow quickly. The push space is still in its infancy and there has yet to be a clear and defined 800lb gorilla. There are several known companies working with push, each combatting different aspects of the same business. It was still a &lt;strong&gt;race&lt;/strong&gt;, or so we thought.&lt;/p&gt;

&lt;h4&gt;Getting Started&lt;/h4&gt;


&lt;p&gt;We were set on fundraising. But how much? I've since learned that saying how much you want to raise is a bit of a game. You could say you're looking for $300K but then really want $500K and bank on being oversubscribed, et cetera. Stating you want a larger amount doesn't help you out when prospective investors tell you to keep them in the loop and let them know when you've already raised some portion of your round. That's why PG suggests not answering the "How much are you trying to raise?" question and being flexible. The amount we wanted to raise changed throughout our fundraising process. Initially we did not want to raise too much &amp;mdash; just increase our runway and stay lean &amp;mdash; but then some investors convinced us that now is the time to raise a bunch and move fast.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/team_notifo.jpg" alt="Team Notifo"/&gt;&lt;br/&gt;&lt;small&gt;Team Notifo in-between Skype calls with prospective investors.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;We updated our executive summary and made the first draft of a deck in Keynote. We got our story and angle down. We were raising to focus on problem X to cater to market segment Y with business model Z. We were the I for J. &lt;strong&gt;Nothing could stop us. We were going to win. Raising money would just get us there faster.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/vhacks_fundraising.jpg" alt="Venture Hacks fundraising"/&gt;&lt;br/&gt;&lt;small&gt;From a talk by &lt;a href="http://venturehacks.com/articles/before-raise" title="Venture Hacks - Before you raise money"&gt;Naval Ravikant - Before you raise money&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Notifo is a very technical startup at the outset &amp;mdash; a mobile notifications platform. What does that even mean? How were we going to distill this into a few key points that all types of investors were going to understand? We latched onto a few things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1) developing mobile apps is a PITA and not feasible for the market we were targeting&lt;/li&gt;
&lt;li&gt;2) SMS is expensive&lt;/li&gt;
&lt;li&gt;3) our push implementation provides a richer experience than SMS&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The next step was finding &lt;strong&gt;relevant investors&lt;/strong&gt; that were willing to listen to us. The structure of our round was going to be done with convertible notes&lt;sup&gt;4&lt;/sup&gt;, similar to our small F&amp;amp;F round in the summer. On the grand scheme of things, this aspect of fundraising was not the hardest. It just required a lot of repetition and emailing. A &lt;em&gt;lot&lt;/em&gt; of emailing. We had a &lt;strong&gt;few amazing resources&lt;/strong&gt; to help us out: Y Combinator, dedicated angels that came in during our F&amp;amp;F round, and &lt;a href="http://angel.co" title="AngelList"&gt;AngelList&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;The Grind&lt;/h4&gt;


&lt;p&gt;We got a large number of investor intros through trusted connections. We did our research on each investor before reaching out and chatting with them; sometimes even reaching out to their portfolio companies to get a sense of how the investor worked. While there is something to be said about having investors that prefer a hands-off approach, we have also learned that &lt;strong&gt;having investors that have the time to take a call or have lunch with you &lt;em&gt;whenever&lt;/em&gt; you need advice is extremely beneficial&lt;/strong&gt;. One of our angels, Gabor Cselle, took us out to dinner and noticed we weren't as chipper as we usually were, thanks in no small part to this fundraising mayhem. He insisted that we all go gokarting so Chad and I could clear our minds. We went and had a blast. Another one of our angels, Harj Taggar, has always been extremely easy to get a hold of. It could be the oddest hour but Chad and I had a burning question to get an outside opinion on so we'd just click the call button on Skype and he would magically appear with the wisdom we were looking for.&lt;/p&gt;

&lt;p&gt;It's great to have a strong connection with our investors. They know exactly what is going on with the company. As such, we were looking for angels with some mixture of experience in product development, platform creation, mobile and running a technical startup. AngelList proved &lt;strong&gt;immensely helpful&lt;/strong&gt; in this regard. It lets entrepreneurs easily see what kind of background investors have and their past investments. We chatted with Naval, he approved our application, helped us clean it up and then sent it out.&lt;/p&gt;

&lt;p&gt;We got past the first few emails with &lt;strong&gt;about 40 investors&lt;/strong&gt; and had at least one initial call, Skype or meeting with them. Several didn't reply to our first forms of contact, and we probably could have gotten in touch with them had we been more pushy&lt;sup&gt;5&lt;/sup&gt;. There were several investors we internally dubbed the "&lt;strong&gt;untouchables&lt;/strong&gt;" &amp;mdash; investors you hear about everywhere and it doesn't matter how many amazing connections you have but you just can't get a hold of them. We got somewhere around 5 different intros to a few of those, from everyone ranging to some of their portfolio companies to other angels. Nothing. In hindsight, perhaps we should have realized we were spinning our wheels going after those big names.&lt;/p&gt;

&lt;p&gt;This period of our fundraising process was the most lengthy and depressing. &lt;strong&gt;We just &lt;em&gt;couldn't&lt;/em&gt; get much work done&lt;/strong&gt;. We had several calls/meetings per day and the time left in-between was not suitable for getting &lt;em&gt;wired in&lt;/em&gt; and coding. We were too distressed thinking about the fundraising.&lt;/p&gt;

&lt;p&gt;In the middle of fundraising &lt;strong&gt;we got some great advice&lt;/strong&gt; from people like &lt;a href="http://twitter.com/hnshah" title="Hiten Shah"&gt;Hiten Shah&lt;/a&gt; and &lt;a href="http://twitter.com/tferriss" title="Tim Ferriss"&gt;Tim Ferriss&lt;/a&gt;. Our lunch with Hiten was inspiring and the guy is a straight-up &lt;em&gt;riot&lt;/em&gt;. Hiten, an Internet friend I first met along with &lt;a href="http://www.quicksprout.com/about/" title="QuickSprout - Neil Patel"&gt;Neil Patel&lt;/a&gt; while interning in California in 2006, is the founder of &lt;a href="http://kissmetrics.com" title="KISSmetrics"&gt;KISSmetrics&lt;/a&gt;. He taught us things like how to deal with investors that don't understand your product or space:&lt;/p&gt;

&lt;blockquote&gt;This is a new technology and not everyone gets it&lt;/blockquote&gt;


&lt;p&gt; and to look at companies X, Y, and Z in the space.&lt;/p&gt;

&lt;p&gt;He told us how to explain trends we were seeing to investors: Mobile web/HTML5 apps are the next big thing. Not everyone is going to have their own mobile native apps; many will have HTML5 apps and need to integrate with services like Notifo to access functionality of the host OS.&lt;/p&gt;

&lt;p&gt;He also said how to reply to investors that wanted to see more traction:&lt;/p&gt;

&lt;blockquote&gt;That's okay. We're looking for early-stage investors that are ready now.&lt;/blockquote&gt;


&lt;p&gt;And then how to deal with many customers that keep asking for certain small features/updates: &lt;blockquote&gt;Don't fix it until you get one passionate user complaining about it/emailing you an essay.&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;With each new pitch, we heard the same comments from investors. We had prepared for these and provided the best answers we could each time. Questions usually sprung up around our &lt;strong&gt;distribution model&lt;/strong&gt;, our thoughts about the &lt;strong&gt;market&lt;/strong&gt; and thoughts on getting around the barrier to entry (users must install the app). Some investors asked for things like our &lt;strong&gt;viral coefficient and our pro forma&lt;/strong&gt;; we knew those were not the kinds of investors we were looking for. Other investors saw this as platform play with certain network effects (the more services signed up, the more benefit to users etc) and asked us if they could speak to our biz dev team &amp;mdash; to which we informed them it was just the two of us.&lt;/p&gt;

&lt;p&gt;Describing a technical platform only gets you half of the way there when trying to explain it to investors. You have to have simple, concrete use cases; ones that are currently out there as well as use cases that your platform could support. Speaking of technology, a rare few investors were highly technical and asked us about our infrastructure. That's when our faces lit up and we could get nerdy about how everything was built in-house and how much we love &lt;a href="http://redis.io" title="Redis datastore"&gt;redis&lt;/a&gt;, which lets us do cool things like because it's &lt;em&gt;stupid fast&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The hardest part is &lt;strong&gt;not hearing back&lt;/strong&gt;. They would say they would get in touch next week, but nothing ever came. With a few notable exceptions of firms that got back to us quickly, many angels had to be reminded or emailed once a week. Sometimes they would ask for additional info about our convertible note specifics and would return with a commitment, or not and ask us to keep them in the loop with regards to the round's status. Other times we had a Skype video chat with someone overseas on a Saturday morning and they would say they're in and ask for our bank account number the next day. And then there were cases where people were interested but did not like that we were doing a convertible note round. &lt;strong&gt;Investors can be interested &lt;em&gt;and&lt;/em&gt; just not get back to you in a timely fashion; they're busy people and it's your job to (politely) stay on top of them.&lt;/strong&gt; Talking with other startups it seemed to be the norm that they would try to get a hold of them once a week if they had not responded by the time they said they would.&lt;/p&gt;

&lt;p&gt;What about the &lt;strong&gt;investors that passed&lt;/strong&gt;? Well this is the most surprising thing &amp;mdash; they turned out to be &lt;strong&gt;exceedingly helpful.&lt;/strong&gt; Any connections or intros we wanted? Done. Help with press connections? Done. We had one situation where we were having a first call with a new investor and unbeknownst to us he had already heard great things about us from an investor that passed. Every investor we have been in contact with has genuinely wanted to help us out and that's what I love about Silicon Valley and entrepreneurship in general. For example, we talked with a startup that pitched Andreessen Horowitz. They said that even though did not invest, it was the most pleasant experience they have ever had with an investor. Andreessen Horowitz focused on who the founders were, as people, for the first hour or two of their meeting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Big thanks to everyone we chatted with during our fundraising process.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One important thing I learned: do everything you can to &lt;strong&gt;get a meeting with a partner&lt;/strong&gt;, not an analyst.&lt;/p&gt;

&lt;p&gt;It was just &lt;strong&gt;utterly unpredictable&lt;/strong&gt;. Not to mention that fundraising before the holidays was probably not the best time to start.&lt;/p&gt;

&lt;h4&gt;Months In&lt;/h4&gt;


&lt;p&gt;Before we started fundraising I began using Mercury App, a web app pings me everyday to record my feelings on a 1 to 5 scale. It's a simple decision making tool that we found because they integrated with Notifo for their beta users. As you can see, my mood was all over the place &lt;sup&gt;6&lt;/sup&gt;.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/pstam_mercury_app.jpg" alt="Paul Stamatiou - Mercury App"/&gt;&lt;br/&gt;&lt;small&gt;&lt;a href="http://mercuryapp.com/" title="track feelings with Mercury App"&gt;Mercury App&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;We had been at it for close to two months in when we took a step back and looked at the big picture. While we had raised more money, we realized it was &lt;strong&gt;coming close to killing the company it was trying to boost&lt;/strong&gt;. We felt like crap as a result of not having actually built anything in a very long time. Did we really want to hire at this exact moment?&lt;/p&gt;

&lt;p&gt;Everything you hear about startups is about raising millions, hiring tons of developers and growing fast. Are those the only conditions under which fast growth can occur? Can two insanely motivated developers and a caffeine IV&lt;sup&gt;7&lt;/sup&gt; get the job done?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chad and I booked office hours at Y Combinator with Paul Graham one afternoon&lt;/strong&gt;. We told him where we were with Notifo and the fundraising process. Paul quickly picked up on our distressed mannerisms, pointing out at one point that Chad and I had the same expression and stance throughout the meeting. Chad then took the opportunity to tell the story of a time when I picked him up to drive down to South Bay for an investor meeting and we happened to be wearing the exact same thing.&lt;/p&gt;

&lt;p&gt;We talked financials a bit and PG suggested that we just &lt;strong&gt;cut off the fundraising round where it stood&lt;/strong&gt;. PG offered two routes: optimizing for users or optimizing for revenue. We chose the latter.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/scoble_pg.jpg" alt="Paul Graham and Robert Scoble at Y Combinator"/&gt;&lt;br/&gt;&lt;small&gt;It so happens our meeting was on the day Y Combinator announced &lt;a href="http://ycombinator.posterous.com/y-combinator-announces-two-new-partners-paul" title="Y Combinator announces two new partners"&gt;Paul Buchheit and Harj Taggar coming on as partners&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Ultimately, Notifo is in the product/market fit phase of its growth. We have a great product and passionate user-base&lt;sup&gt;8&lt;/sup&gt; but we're still tinkering with the exact offering. &lt;strong&gt;It's best to stay small, nimble and agile at this point&lt;/strong&gt;. We'll be keeping a keen eye on various Notifo metrics to see what we need to optimize and reaching out to current users and seeing how they use Notifo and what else they want out of it.&lt;/p&gt;

&lt;h4&gt;Optimize for Happiness&lt;/h4&gt;


&lt;p&gt;
After this hectic fundraising process, Chad and I retreated to our office fort (my apartment) where we took out some expo markers and made a list of things that would make us happier in the day-to-day of the startup. Here is the &lt;strong&gt;complete, unedited list&lt;/strong&gt; we made a month ago, not knowing it would ever be published:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coffee Maker&lt;/li&gt;
&lt;li&gt;Food supplies/drinks/snacks/booze&lt;/li&gt;
&lt;li&gt;Hackdays (never schedule meetings Monday or Friday)&lt;/li&gt;
&lt;li&gt;Notifo Apparel/Swag&lt;/li&gt;
&lt;li&gt;Meetups (get out in the community, partner with other startups and host developer drinkups)&lt;/li&gt; 
&lt;li&gt;Livable Salaries&lt;/li&gt;
&lt;li&gt;Laptop (for Chad.. he has a deathly-slow first gen MBP)&lt;/li&gt;
&lt;li&gt;Coworking (work out of the apartment from time to time)&lt;/li&gt;
&lt;li&gt;Company Fieldtrips? (to clear our minds from time to time)&lt;/li&gt;
&lt;li&gt;Healthcare (I have a $5k deductible plan, and had to pay a clinic $150+ just to get a bad cough looked at)&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;What now?&lt;/h4&gt;


&lt;p&gt;Looking back on this process, I can only draw similarities between &lt;a href="http://randfishkin.com/blog/50/what-i-learned-about-sales-but-foolishly-forgot-when-raising-vc" title="What I Learned About Sales But Foolishly Forgot When Raising VC - Rand Fishkin"&gt;Rand Fishkin's (Co-Founder SEOmoz) post about his VC fundraising process&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;Here’s my advice to other entrepreneurs, particularly in these irrationally exuberant times: &lt;strong&gt;Don’t start pitching until you’ve been pitched.&lt;/strong&gt;&lt;br/&gt;...&lt;br/&gt;The time I spent trying to raise a B round was the most wasteful 3+ months I’ve had at my job. Product was ignored; vision went unfulfilled; opportunity went unexecuted.  Don’t make the same mistake – generate buzz with your success, your traction and press (PR is invaluable in the VC process – another big misstep we made). And let the investors come to you.&lt;/blockquote&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/wargames_falken.jpg" alt="WarGames - Strange Game"/&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Chad and I are going to relax over the holidays and reset our brains&lt;/strong&gt;. I'm going to the East Coast to play with my baby nephew (who was born at the same time as the iPhone 4 keynote!) and Chad is going on a cruise. When we return, we'll get back to hacking away on a new roadmap filled with long hours of productive coding, optimizing for revenue and keeping our users happy. We have more money in the bank than when we started and enough runway to make a difference.&lt;/p&gt;

&lt;p&gt;While fundraising is an evil many startup entrepreneurs don't look forward to, I would say the hardest part of a startup is &lt;strong&gt;how you deal with advice&lt;/strong&gt;. We have received conflicting advice on many aspects and challenges of our company. Knowing how to filter all the advice and not being taken over by happy ears is an important skill. I recently read the &lt;strong&gt;TechStars book, "&lt;a href="http://www.amazon.com/gp/product/0470929839?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470929839&amp;tag=paulstamatiou-20" title="Do More Faster: TechStars Lessons to Accelerate Your Startup"&gt;Do More Faster&lt;/a&gt;&lt;/strong&gt;", on my &lt;a href="http://paulstamatiou.com/review-amazon-kindle-3-wi-fi-reading-device" title="Review: Amazon Kindle"&gt;Kindle&lt;/a&gt; and thoroughly enjoyed it. There's a chapter that focuses on conflicting advice.  There is also a section on the book that covers how we thought it was a race and that competitors we didn't even know existed were going to one day crush us and that's why we wanted to raise a bucket of money and hire quickly. And to get another perspective on things I am currently reading &lt;a href="http://www.startupbook.net/" title="Start Small, Stay Small by Rob Walling"&gt;Start Small, Stay Small&lt;/a&gt;. While we're talking books here I also just finished reading &lt;a href="http://www.amazon.com/gp/product/0761147489?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0761147489&amp;tag=paulstamatiou-20" title="I Will Teach You To Be Rich by Ramit Sethi"&gt;I Will Teach You To Be Rich&lt;/a&gt;, which reminded me to buy some life-cycle funds when I can afford the minimum price.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts? Where are you with your startup?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Questions? &lt;a href="http://paulstamatiou.com/contact" title="Contact Paul Stamatiou"&gt;Shoot me an email&lt;/a&gt;. &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A big thanks to Paul Graham, &lt;a href="http://www.gaborcselle.com/" title="Gabor Cselle"&gt;Gabor Cselle&lt;/a&gt;, &lt;a href="http://harjtaggar.com/" title="Harj Taggar"&gt;Harj Taggar&lt;/a&gt;, &lt;a href="http://twitter.com/jeffmiller" title="Jeff Miller"&gt;Jeff Miller&lt;/a&gt; and friends/family we've bugged many times for help during this process.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Footnotes&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; Can't skimp on &lt;a href="http://picplz.com/user/stammy/pic/tx7q/" title="coffee machine keurig"&gt;the coffee machine&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;2&lt;/sup&gt; We are now paying ourselves a modest stipend. Rent isn't cheap and my decrease in blogging here due to work has limited my monthly revenue which used to more than pay for rent.&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;3&lt;/sup&gt; Our primary metrics are notifications sent per day and number of services signed up&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;4&lt;/sup&gt; Relevant read: &lt;a href="http://www.paulgraham.com/superangels.html" title="Paul Graham - The New Funding Landscape"&gt;The New Funding Landscape&lt;/a&gt; by Paul Graham&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;5&lt;/sup&gt; Reminds me of "&lt;a href="http://www.codusoperandi.com/posts/how-i-screwed-up-my-google-acquisition" title="How I Screwed Up My Google Acquisition"&gt;How I Screwed Up My Google Acquisition&lt;/a&gt;"&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;6&lt;/sup&gt; Most of my positive ones were because I was happy with a really awesome sandwich I made. "It's all in the sauce: How you can make cheap meat taste good" is the title of my cooking for startups book...&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;7&lt;/sup&gt; As of late &lt;a href="http://picplz.com/user/stammy/pic/bxks/" rel="nofollow"&gt;I have been following along&lt;/a&gt; in &lt;a href="http://www.amazon.com/gp/product/030746363X?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=030746363X&amp;tag=paulstamatiou-20" title="4 Hour Body by Tim Ferriss"&gt;Tim Ferriss's 4 Hour Body&lt;/a&gt; book and taking workout supplements like N.O.-Xplode that have high levels of caffeine, so that is my tea/coffee replacement for the time being.&lt;/p&gt;


&lt;p&gt;&lt;sup&gt;8&lt;/sup&gt; One such user recently emailed us a drawing of a new feature he'd like to see&lt;/p&gt;




&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/12/keep-calm-and-carry-on.jpeg" alt="Keep Calm and Carry On"/&gt;&lt;br/&gt;&lt;small&gt;Related to Keep Calm &amp; Carry On: &lt;a href="http://alexisohanian.com/keep-calm-carry-on-what-you-didnt-know-about" title="Keep calm &amp; carry on: What you didn't know about the reddit story"&gt;Great post by Alexis Ohanian&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;

&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/startup-fundraising-time-sink" title="Startup Fundraising is a Time Sink"&gt;Startup Fundraising is a Time Sink&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jkyvGt-VPXA:B52DUG6QInM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=jkyvGt-VPXA:B52DUG6QInM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jkyvGt-VPXA:B52DUG6QInM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=jkyvGt-VPXA:B52DUG6QInM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jkyvGt-VPXA:B52DUG6QInM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jkyvGt-VPXA:B52DUG6QInM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jkyvGt-VPXA:B52DUG6QInM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=jkyvGt-VPXA:B52DUG6QInM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/jkyvGt-VPXA" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/startup-fundraising-time-sink</feedburner:origLink></entry>
	
	<entry>
		<title>Review: Startup Approved Comfy Sacks Lounger</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/jTFecoK6jHs/review-startup-approved-comfy-sacks-lounger" />
		<updated>2010-11-26T00:00:00-08:00</updated>
		<id>http://paulstamatiou.com/review-startup-approved-comfy-sacks-lounger</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NSumk9L4UbGPtZThGEBrmkegcQ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NSumk9L4UbGPtZThGEBrmkegcQ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NSumk9L4UbGPtZThGEBrmkegcQ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NSumk9L4UbGPtZThGEBrmkegcQ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I'm no stranger to large, fluffy and unusual beanbag-esque furniture. During freshman year of college, some hallmates had a massive &lt;a href="http://lovesac.com" rel="nofollow"&gt;Lovesac&lt;/a&gt; that one guy actually used as a bed somehow. A few years later I picked up a &lt;a href="http://paulstamatiou.com/review-sumosac-lounge-seat" title="SumoSac Lounge Seat"&gt;SumoSac&lt;/a&gt;, which I rated at 6 out of 10 Stammys as I questioned the value of a $399 beanbag (&lt;a href="http://www.flickr.com/photos/pauls/3553151598/" title="Puppy Zooey on SumoSac"&gt;the puppy disagreed&lt;/a&gt;). But I had to get rid of that when I &lt;a href="http://paulstamatiou.com/atlanta-to-san-francisco-moving-cross-country" title="Atlanta to San Francisco - What I learned Moving Cross Country"&gt;moved to San Francisco&lt;/a&gt;. I think I found a worthy replacement now &amp;mdash; the 6 foot Lounger by a company called &lt;strong&gt;&lt;a href="http://www.comfysacks.com/" title="Comfy Sacks"&gt;Comfy Sacks&lt;/a&gt;&lt;/strong&gt;. Essentially, it is identical to the last sacs/loungers I have experienced but comes in at a more reasonable $276.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_1200.jpg" title="Comfy Sack at Notifo HQ"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack.jpg" alt="Comfy Sack at Notifo HQ"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;The 6 foot micro suede Comfy Sacks Lounger&lt;/small&gt;&lt;/div&gt;







&lt;h4&gt;Startup Approved™&lt;/h4&gt;


&lt;p&gt;I live in a small studio that doubles as &lt;a href="http://notifo.com"  title="Notifo - Mobile Notifications for Everything"&gt;Notifo&lt;/a&gt;'s San Francisco headquarters. I didn't really have room for a couch that could only serve one purpose and not be readily moved around, so I decided to check out the Comfy Sacks Lounger.  One of their main marketing points is that more and more tech companies have their loungers in their headquarters, including Apple, Amazon, Zappos and Zazzle. After living with a lounger around for the last few months, I can say it's a &lt;strong&gt;great fit for the hectic startup lifestyle&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;My co-founder and I have each taken our fair share of power naps on it while waiting in between early morning conference calls with the East Coast. More frequently it has been used as our discussion chair of sorts. We take turns pacing around, nervously playing out different scenarios or discussing product direction while the other plops on the lounger and ponders these ideas. And of course there are the times when stress and frustation set in and we jump on it to see how high we can launch objects placed on the edge (sorry &lt;a href="http://blog.dyzplastic.com/2010/07/android-mini-production-part-5-fresh.html" title="Android figurine"&gt;Android figurine&lt;/a&gt;). Ah, good ol' startup life!&lt;/p&gt;

&lt;h4&gt;Setup&lt;/h4&gt;


&lt;p&gt;Unlike a couch, the lounger can actually be shipped in a medium-sized box. How can they do this? The polyurethane foam pieces used as cushioning are highly compressed. This thing is one solid, heavy block upon arrival. That explains the protective nylon bands ensuring the box stays compressed. The SumoSac I used to own arrived in the same compressed fashion although their box was weaker and it &lt;a href="http://turbo.paulstamatiou.com/uploads/2008/07/sumosac_shipping.jpg" title="SumoSac arrived opened"&gt;arrived like this&lt;/a&gt;.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_box_1200.jpg" title="Comfy Sack Lounger Box"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_box.jpg" alt="Comfy Sack Lounger Box"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Despite the warning I opened this with my box-cutting weapon of choice &amp;mdash; a &lt;a href="http://www.amazon.com/gp/product/B000UUV1EY?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B000UUV1EY&amp;tag=paulstamatiou-20" title="Smith &amp; Wesson Extreme Ops knife"&gt;Smith &amp; Wesson  Extreme Ops knife&lt;/a&gt;.&lt;/small&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_unbox_1200.jpg" title="Comfy Sack &amp;mdash; 6 foot Lounger Unboxing"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_unbox.jpg" alt="Comfy Sack &amp;mdash; 6 foot Lounger Unboxing"/&gt;&lt;/a&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_squiggles_1200.jpg" title="Compressed Comfy Sack Lounger"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_squiggles.jpg" alt="Compressed Comfy Sack Lounger"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;Now that the compressed polyurethane uncomfy block is unleashed, it was time to let it expand. It wasn't going to do it on its own very quickly so I helped it out with 30 minutes of forcing chunks apart, rolling it around and sitting on it a bunch. After that workout, it looked like this:&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_rising_1200.jpg" title="Comfy Sack Lounger slowly expanding"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_rising.jpg" alt="Comfy Sack Lounger slowly expanding"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;Still rather deflated looking. A few days later it reached &lt;del&gt;88 mph&lt;/del&gt; maximum fluff. Huge!&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_zoomout_1200.jpg" title="Comfy Sack at Notifo HQ"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_comfysack_zoomout.jpg" alt="Comfy Sack at Notifo HQ"/&gt;&lt;/a&gt;&lt;/div&gt;




&lt;h4&gt;Technical Specs&lt;/h4&gt;


&lt;p&gt;Coming in at 49 pounds, the Comfy Sacks lounger is definitely a behemoth of a beanbag. Once fully expanded and in an uncompressed form it boasts 6 ft x 3.5 ft x 3.5 ft dimensions. I'm not sure if the pictures convey it well enough but it's &lt;em&gt;big&lt;/em&gt; and it's not even the largest one (there's a 7.5ft 75lb lounger). There are a few color and fabric options for the cover but I opted for the familiar micro suede. Micro suede is pseudo liquid resistant so you have some time to clean up the spilled beer before it gets absorbed into the fabric. Of course, the cover is also washable but taking it off and putting it back on is the biggest pain in the arse so I avoid it.&lt;/p&gt;

&lt;h4&gt;Competition&lt;/h4&gt;


&lt;p&gt;In the &lt;strong&gt;interest of a fair and balanced review&lt;/strong&gt;, I must point out that there are many, many competitors in the bean bag/sac/lounger space. I already mentioned a few that I have personally experienced in the beginning of this post. Others that I have not tinkered with include &lt;a href="http://www.slackersack.com/" rel="nofollow" title="Slacker Sacks"&gt;Slacker Sack&lt;/a&gt;, &lt;a href="http://www.sacksoflove.com/" rel="nofollow" title="Sacks of Love"&gt;Sacks of Love&lt;/a&gt; and &lt;a href="http://www.ultimatesack.com/" rel="nofollow" title="Ultimate Sack"&gt;Ultimate Sack&lt;/a&gt;. If you have any experience with these sacks, I'd love to hear your feedback below.&lt;/p&gt;

&lt;h4&gt;Verdict&lt;/h4&gt;


&lt;p&gt;Giant bean bags and loungers are fun to have around and relax on but they are by no means a replacement for the tried and true couch. For example, you can't exactly sit upright on it and eat a meal. It is very difficult to get comfortable on this lounger. You have to roll it around to "reset" the polyurethane shreds and climb on it just right to get in your desired position or you'll end up pushing the foam in the wrong places and you'll have to try again. Pro tip: prop it against a wall and make a sort of triangle seat, then plop down with your laptop. Still a tad cumbersome though.&lt;/p&gt;

&lt;p&gt;Sitting down to watch a movie is a 5 minute process, especially with the lounger being heavy and unwieldy. However, when you find that sweet spot it's great! It's large enough for a couple but two friends can't share the lounger without being awkwardly close to each other.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is this worth $276 USD&lt;/strong&gt; (including shipping)? For personal use, probably not. &lt;strong&gt;For company use&lt;/strong&gt; for employees/hackers/founders to relax on while their &lt;a href="http://xkcd.com/303/" title="XKCD - Code Compiling"&gt;code is compiling&lt;/a&gt;? Absolutely! Ask your local startup founder if their HQ has a giant bean bag yet. For the latter use case, the Comfy Sacks Lounger gets 7.5 out of 10 Stammys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I was provided this lounger for the purpose of this review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts? Would you consider something like this or is the price too high for novelty/alternative furniture? Would you like to have one at your workplace? Anything I left out? Feel free to ask below.&lt;/strong&gt;&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/review-startup-approved-comfy-sacks-lounger" title="Review: Startup Approved Comfy Sacks Lounger"&gt;Review: Startup Approved Comfy Sacks Lounger&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jTFecoK6jHs:oL8e6lS2Wy8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=jTFecoK6jHs:oL8e6lS2Wy8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jTFecoK6jHs:oL8e6lS2Wy8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=jTFecoK6jHs:oL8e6lS2Wy8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jTFecoK6jHs:oL8e6lS2Wy8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jTFecoK6jHs:oL8e6lS2Wy8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=jTFecoK6jHs:oL8e6lS2Wy8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=jTFecoK6jHs:oL8e6lS2Wy8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/jTFecoK6jHs" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/review-startup-approved-comfy-sacks-lounger</feedburner:origLink></entry>
	
	<entry>
		<title>Review: Apple 27-inch LED Cinema Display</title>
		<link href="http://feedproxy.google.com/~r/paulstamatiou/~3/qK282SNsNHU/review-apple-27-inch-led-cinema-display" />
		<updated>2010-11-21T00:00:00-08:00</updated>
		<id>http://paulstamatiou.com/review-apple-27-inch-led-cinema-display</id>
		<content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xf2St2xTaAqfMH9VIsBaSCVmlvo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xf2St2xTaAqfMH9VIsBaSCVmlvo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xf2St2xTaAqfMH9VIsBaSCVmlvo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xf2St2xTaAqfMH9VIsBaSCVmlvo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I've had an interesting past with large monitors. Back in 2007 while I was still in college, I decided to purchase a &lt;a href="http://paulstamatiou.com/review-dell-30-inch-lcd-display" title="Review: Dell 30-inch LCD Display"&gt;Dell 30-inch LCD display&lt;/a&gt;. Astute PSTAM fans noticed that display in the background of &lt;a href="http://paulstamatiou.com/my-nike-ad"  title="My Nike+ Ad"&gt;my Nike ad&lt;/a&gt;. That was back before glossy displays were ubiquitous, when most people had never heard of Mini DisplayPort, when the first generation iPhone had only been out for 3 days (and I still had a &lt;a href="http://paulstamatiou.com/review-blackberry-curve"  title="Review: BlackBerry Curve smartphone"&gt;BlackBerry Curve&lt;/a&gt;) and when I thought Logitech 2.1 computer speakers were the pinnacle of aural excellence. Ah, college. I digress &amp;mdash; back to that mammoth 30-inch Dell that educated all of its owners on what dual-link DVI meant. I sold it just a few months later and downgraded to a 24-inch display. Why you ask? I thought it was too frickin' huge! The person I sold it to sold it a few weeks later; he thought it was large as well! I loved the resolution but hated having to move my head around to see the other side of the screen. Maybe my desk at the time wasn't deep enough and I sat too close. But now I'm ready. Ready to try another huge display. &lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://www.youtube.com/watch?v=08KtqhR0bf0" title="Paul Stamatiou Nike Ad"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_nike_dell30.jpg" alt="Paul Stamatiou Nike Plus Ad with Dell 30-incher in the background"  title="Paul Stamatiou Nike Plus Ad with Dell 30-incher in the background"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Stammy in 2007 before the &lt;a href="http://paulstamatiou.com/programmers-startup-diet-how-i-lost-35-pounds" title="Programmer's Startup Diet - How I lost 35 pounds working overtime on my startup"&gt;Startup Diet&lt;/a&gt;. The Nike video producers had never seen a display that large before. I recall giving them a tour of apache-top for some reason.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Enter the &lt;strong&gt;&lt;a href="http://www.amazon.com/gp/product/B0043GCBU4?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0043GCBU4&amp;tag=paulstamatiou-20" title="Apple LED Cinema Display 27-Inch MC007LL/A"&gt;27-inch Apple LED Cinema Display&lt;/a&gt;&lt;/strong&gt; (&lt;a href="http://www.apple.com/displays/specs.html" title="LED Cinema Display Technical Specifications - Apple"&gt;specs&lt;/a&gt;). Currently the only LED-backlit 27-inch display capable of 2560x1440 resolution. Dell's comparable 27-incher is more expensive and has a CCFL backlight. Yeah, you read correctly. An Apple product that is actually &lt;em&gt;cheaper&lt;/em&gt; than a similar Dell product. This should be interesting.&lt;/p&gt;

&lt;h4&gt;Unboxing&lt;/h4&gt;


&lt;p&gt;Thanks to Amazon Prime, I ordered the display and received it two days later. While the display retails for $999, it was only $950 on Amazon (or you can use a student account to purchase it for $950 directly from Apple).&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd_27box_1200.jpg" title="Apple 27-inch LED Cinema Display box"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd_27box.jpg" alt="Apple 27-inch LED Cinema Display box"  title="Apple 27-inch LED Cinema Display box"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;I was overly concerned about having issues with this monitor.. hauling this sucker on the Muni to the Apple Store for repairs would redefine PITA.&lt;/small&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd_27unbox_1200.jpg" title="Apple 27-inch LED Cinema Display unboxing"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd_27unbox.jpg" alt="Apple 27-inch LED Cinema Display unboxing"/&gt;&lt;/a&gt;&lt;/div&gt;




&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd_27unbox_desk_1200.jpg" title="Apple 27-inch LED Cinema Display setup"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd_27unbox_desk.jpg" alt="Apple 27-inch LED Cinema Display setup"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;Not much to setup. Just attach the power cord then hook up to your computer.&lt;/small&gt;&lt;/div&gt;




&lt;h4&gt;Setup &amp; First Impressions&lt;/h4&gt;


&lt;p&gt;I ended up placing my MacBook Pro on top of the display's stand and was fairly pleased with this setup. I had tried placing the laptop under my desk on top of a bookshelf but the cord is barely long enough (which makes me wonder how Mac Pro users deal with having their computer on the floor and away from the display) and the bluetooth connection to the mouse started acting up and got jittery.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_octopus.jpg" alt="Apple 27-inch LED Cinema Display cables"  title="Apple 27-inch LED Cinema Display cables"/&gt;&lt;br/&gt;&lt;small&gt;In typical Apple display style, the three primary connections are encased in a single fat cable.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;The display didn't take over my desk.&lt;/strong&gt; It didn't feel overly large and only took a few minutes to get used to compared to using my 17-inch MacBook Pro. Looking straight ahead at the display is &lt;strong&gt;much more natural&lt;/strong&gt; than looking down and bending over the laptop. Turning on the display for the first time, I was quickly able to discern it was LED backlit. It instantly came on and full brightness could be achieved easily. CCFL backlit LCD displays take noticeably longer to reach your desired brightness level upon powering it up. My old Dell 2407WFP-HC was like that.&lt;/p&gt;

&lt;p&gt;There is no OSD for settings and no controls &lt;em&gt;of any sort&lt;/em&gt; on the monitor itself. Not even a power switch. Everything, including brightness, is controlled by Mac OS X. If you are hooking this display up to a PC you will need to install &lt;a href="http://www.apple.com/support/bootcamp/" title="Boot Camp - Apple"&gt;Boot Camp&lt;/a&gt; (even if you are not actually in a dual-boot Boot Camp setup).&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_res.jpg" alt="Resolution Comparison - 1920 vs 2560"  title="Resolution Comparison - 1920 vs 2560"/&gt;&lt;br/&gt;&lt;small&gt;No surprise here &amp;mdash; 2560x1440 is substantially larger than 1920x1200.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;The 27-inch Apple Cinema Display is a comparatively thin display but has a slightly thicker bezel than I would like. The USB ports in the back are somewhat handy, but plugging stuff in there without craning your neck around is kind of a blind fumble around. Fortunately, I don't have many devices to plug in.&lt;/p&gt;

&lt;div class="center"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_heli.jpg" alt="Aerial view of Apple Cinema Display setup with MacBook Pro underneath"/&gt;&lt;/div&gt;


&lt;p&gt;The integrated 2.1 49-watt stereo speaker system won't replace &lt;a href="http://paulstamatiou.com/how-to-upgrade-to-studio-monitor-speakers" title="How To Upgrade to Studio Monitor Speakers"&gt;your studio monitors&lt;/a&gt; and lack any sort of high-volume punch. It doesn't help that the speakers are down-firing.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_movies_1200.jpg" title="Apple Cinema Display - Movies"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_movies.jpg" alt="Apple Cinema Display - Movies"/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;Alas, they are satisfactory for most purposes. I watched several movies with the integrated speakers, with me sitting about 8 feet away. The volume was at about 90-95% to be able to clearly hear voices in the movies. I did discover a sound issue though. The speakers cease working if you disconnect them while the display is on then try to reconnect them. They only continue working after you completely unplug the computer from the display then reattach it. More on that issue on &lt;a href="http://discussions.apple.com/thread.jspa?threadID=2611014&amp;start=0&amp;tstart=0" title="Topic : 27" Cinema Display Sound Issues"&gt;the Apple Discussion support forum&lt;/a&gt;.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_workspace_1200.jpg" title="Apple 27-inch Cinema Display + MacBook Pro setup"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_workspace.jpg" alt="Apple 27-inch Cinema Display + MacBook Pro setup"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;ACD + MBP setup playing 1080p Avatar&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;The Apple display affords you no fancy adjustability settings. Just a slight up/down tilt (-5 to 25 degrees). That's the one thing I hated about my old 24-inch iMac; I couldn't adjust the height. I ended up getting a &lt;a href="http://paulstamatiou.com/review-ilift-vesa-arm" title="Review: iLift VESA Arm"&gt;hydraulic VESA arm&lt;/a&gt; for that. The Apple 27-inch display's height doesn't seem to bother me much yet though I do not comfortably see the top of the display at eye level (what I keep hearing to be the ergonomic preferred setup). I might end up lowering my desk by an inch.&lt;/p&gt;

&lt;h4&gt;Not for Professionals&lt;/h4&gt;


&lt;p&gt;Despite the high-end price tag, this display is &lt;em&gt;&lt;strong&gt;not for professionals&lt;/strong&gt;&lt;/em&gt;. This is for people that appreciate the Apple aesthetic, the convenience of having an integrated MacBook charger in the display, require an integrated webcam and/or those that do not care about the color profile much and would rather benefit from deep blacks associated with a glossy display while watching movies and other such video content. While LED backlit displays have perks like lower power consumption and "instant on" backlighting, the particular setup in this Apple display is a step down from CCFL backlight setups, such as that found in the Dell U2711.&lt;/p&gt;

&lt;p&gt;I'll tell you why. Apple cheaped out and used white LEDs for the backlight (actually a blue LED with a yellow phosphor coating) rather than RGB LEDs. This &lt;strong&gt;negatively affects the color gamut&lt;/strong&gt; of the display. CCFL backlights or RGB LEDs are better with regards to color reproduction for LCD displays, with the latter being rather expensive at the moment. RGB LEDs as a backlight actively adjust the temperature of the white produced. White LEDs on the other hand lack much in the green and red department, which is why professionals deem the Apple 27-inch Cinema Display as having a slight blue tint without performing proper color calibration first. I believe it might be more common to begin seeing displays with WLEDs and local dimming in the near future than a ubiquity of RGB LED backlight displays. Local dimming doesn't fix the gamut issue associated with WLEDs but helps boost contrast.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_avatar_ips_1200.jpg" title="Apple 27-inch LED Cinema Display - Angled look at Avatar"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_avatar_ips.jpg" alt="Apple 27-inch LED Cinema Display - Angled look at Avatar"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;High quality IPS LCD panel means it looks good at extreme angles.&lt;/small&gt;&lt;/div&gt;


&lt;p&gt;Moving on, the ACD uses an 8-bit panel. The CCFL backlit Dell U2711 also uses an 8-bit panel but with FRC (Frame Rate Control) &amp;mdash; temporal dithering that quickly flips between two shades to simulate shades beyond the native capabilities of the 8-bit panel (only supported by certain video cards). If this all makes sense, you'll probably be more interested in the Dell 27-inch display, the 10-bit Dell U3011 or something in the HP DreamColor line if you can really justify the cost.&lt;/p&gt;

&lt;div class="center"&gt;&lt;a href="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_back_angle_1200.jpg" title="Apple Cinema Display - Rear"&gt;&lt;img src="http://turbo.paulstamatiou.com/uploads/2010/11/pstam_acd27_back_angle.jpg" alt="Apple Cinema Display - Rear"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;small&gt;3 port USB hub on the back&lt;/small&gt;&lt;/div&gt;




&lt;h4&gt;Glare&lt;/h4&gt;


&lt;p&gt;The display glass is a (fingerprint attracting) thing of beauty but is surely the &lt;strong&gt;largest point of contention&lt;/strong&gt; with the display. My MacBook Pro has a matte screen and I love it. Glossy, glare-creating desktop monitors are much harder to use than glossy laptop displays because you simply can't move the display easily to adjust the glare. That being said I have oriented the lights in my room to either come from behind the display or way off to the side, but never directly behind me as that causes the most glare. Though I'm afraid that most people will not have the ability to adjust their room lighting easily, such as those working in an office with fixed fluorescent lighting. If that is the case, you will want to avoid this display. At full bore, the glare is really unbearable at anything but maximum display brightness.&lt;/p&gt;

&lt;h4&gt;Verdict&lt;/h4&gt;


&lt;p&gt;I purchased this display to get more resolution out of my MacBook Pro while cleaning up the nest of cables on my desk. Now that I don't have to use my charger when at my desk I can keep it bundled up and ready to go in my backpack. I use Skype video chat frequently so the integrated iSight was a must. And when I have some downtime (heh, rarely) I use the display to watch movies as I don't have a TV. That's why I actually like the glossy display. The lack of other video inputs limits how I can use the display. Only my MacBook Pro has Mini DisplayPort. Otherwise I will have to purchase something like the &lt;a href="http://www.amazon.com/gp/product/B003LGOWNQ?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B003LGOWNQ&amp;tag=paulstamatiou-20" title="Kanex XD HDMI to Mini DisplayPort Converter for 27 inch iMac and LED Cinema Display"&gt;Kanex XD&lt;/a&gt; if I want to attach an HDMI device like a Vudu box (and even then it will only support 720p over the connection).&lt;/p&gt;

&lt;p&gt; I must say that when Apple announced this display I was actually shocked it was &lt;em&gt;only&lt;/em&gt; $999. I could have seen Apple easily charging $1,399. The &lt;strong&gt;&lt;a href="http://www.amazon.com/gp/product/B0043GCBU4?ie=UTF8&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0043GCBU4&amp;tag=paulstamatiou-20" title="Apple LED Cinema Display 27-Inch MC007LL/A"&gt;Apple 27-inch LED Cinema Display&lt;/a&gt;&lt;/strong&gt; is not among the highest performers but it is one of the only 27-inch displays capable of 2560-by-1440 resolution and by far the sleekest display on the market. I find the size to be perfect and am quite happy with it. I give it &lt;strong&gt;8 out of 10 Stammys&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts? What is your current computer/display setup like? Glossy or matte? Would you consider a large glossy display like this?&lt;/strong&gt;&lt;/p&gt;
&lt;br/&gt;&lt;strong&gt;Enjoy this post? Click through and leave a comment. It will make my day.&lt;/strong&gt; &lt;a href="http://paulstamatiou.com/review-apple-27-inch-led-cinema-display" title="Review: Apple 27-inch LED Cinema Display"&gt;Review: Apple 27-inch LED Cinema Display&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=qK282SNsNHU:ivbC7IVUkug:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=qK282SNsNHU:ivbC7IVUkug:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=qK282SNsNHU:ivbC7IVUkug:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=qK282SNsNHU:ivbC7IVUkug:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=qK282SNsNHU:ivbC7IVUkug:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=qK282SNsNHU:ivbC7IVUkug:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulstamatiou?a=qK282SNsNHU:ivbC7IVUkug:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulstamatiou?i=qK282SNsNHU:ivbC7IVUkug:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulstamatiou/~4/qK282SNsNHU" height="1" width="1"/&gt;</content>
	<feedburner:origLink>http://paulstamatiou.com/review-apple-27-inch-led-cinema-display</feedburner:origLink></entry>
	
</feed>

