<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

<title>Alexey needs a web presence</title>
 <link href="http://alexeymk.com/feed/" rel="self"/>
 <link href="http://alexeymk.com/"/>
 <updated>2023-09-11T23:44:03-07:00</updated>
 <id>http://alexeymk.com/</id>
 <author>
   <name>Alexey Komissarouk</name>
   <email>alexey@alexeymk.com</email>
 </author>

 
 <entry>
   <title>Statistical Significance on a Shoestring Budget</title>
   <link href="http://alexeymk.com/2023/09/11/statistical-significance-on-a-shoestring-budget.html"/>
   <updated>2023-09-11T08:02:41-07:00</updated>
   <id>http://alexeymk.com/2023/09/11/statistical-significance-on-a-shoestring-budget</id>
   <content type="html">&lt;p&gt;Many startups experience a chicken-and-egg problem with growth: they want to run experiments to gain more volume, but lack the volume for experiments to be practical.&lt;/p&gt;

&lt;p&gt;This guide helps companies determine if (and how) they could staff a Growth team to start running experiments. First, we’ll diagnose what is achievable with the amount of traffic currently available. Then, we’ll dig into what techniques might be available to increase experimental power.&lt;/p&gt;

&lt;p&gt;As any proper guide ought to, this one includes a handy flowchart.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/shoestring_flowchart.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;part-1-do-we-have-the-numbers&quot;&gt;Part 1: Do we have the numbers?&lt;/h2&gt;

&lt;p&gt;Consider an imaginary startup in turn considering funding a checkout optimization team.&lt;/p&gt;

&lt;p&gt;Being well acquainted with &lt;a href=&quot;https://artifacts.reforge.com/artifacts/growth-team-swing-size-calculator-at-masterclass&quot;&gt;power analysis&lt;/a&gt;, this startup gets its Minimal Detectable Effect - IE, how big of a swing would it need to.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/shoestring_2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Plugging their numbers into a &lt;a href=&quot;https://docs.google.com/spreadsheets/d/13kgzaDt1NXH8m1LUuUqHltB1i0vTJ2OUBoGbI_hjzHg/edit#gid=0&quot;&gt;swing size calculator&lt;/a&gt;, they learn that nothing less than a 20% win be detectable today.&lt;/p&gt;

&lt;p&gt;Even 10% is a high bar to cross for winning experiments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gut Check&lt;/strong&gt;
Especially if you’re off by quite a bit, this is a chance to take a step back and ask whether the company has reached &lt;a href=&quot;https://www.linkedin.com/pulse/growth-engineering-teams-heirarchy-needs-alexey-komissarouk&quot;&gt;growth scale&lt;/a&gt; or not. It could be that there are plenty of obvious 0-1 tactics left.  Not everything has to be an experiment.&lt;/p&gt;

&lt;p&gt;In cases where experimentation remains the right choice, let’s find ways to adjust your experiment designs to be able to detect a 10% winner within a reasonable timeframe.&lt;/p&gt;

&lt;h2 id=&quot;part-2-boosters&quot;&gt;Part 2: Boosters&lt;/h2&gt;
&lt;p&gt;Things to try if you need to get just a little bit closer to get to stat-sig:&lt;/p&gt;

&lt;h3 id=&quot;bigger-bets-combine-ideas-together-merging-by-theme&quot;&gt;Bigger Bets: combine ideas together, merging by theme&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/images/shoestring_3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The first thing to try is combining certain ideas with a common theme together. For example, if you believe emphasizing your transparent pricing will help conversion and are considering experiments to display your transparent pricing prominently on your homepage, during checkout, and in your cart abandonment emails.&lt;/p&gt;

&lt;p&gt;Instead of running 3 experiments which might (for example) each move conversion by a bit, run them as a single “emphasize transparent pricing everywhere” mega-experiment so it has a better shot to hit the 10% detectable threshold you need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off&lt;/strong&gt; is reduced learning quality. When productionizing a batched win, it’s harder to tell which part of the change was actually effective. In the near term, this is tolerable - when the company gets to a larger scale and you revisit this theme, you can always tease out the underlying causes through follow-up experiments.&lt;/p&gt;

&lt;h3 id=&quot;best-foot-forward-use-fewer-variants-abcd-become-ab&quot;&gt;Best Foot Forward: Use fewer variants, A/B/C/D become A/B&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/shoestring_4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You need a certain number of visitors to both your “winning variant” and “control” to determine the result. Every variant you add reduces the oxygen flow to your winning variant.&lt;/p&gt;

&lt;p&gt;If you’re tight on traffic, stick to two variants.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off&lt;/strong&gt; is, &lt;em&gt;**&lt;/em&gt;this reduces your win rate, since you’re not getting to try as many options.&lt;/p&gt;

&lt;h3 id=&quot;run-in-parallel-abcd-becomes-ab-ac-and-ad&quot;&gt;Run in Parallel: A/B/C/D becomes A/B, A/C, and A/D&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/shoestring_5.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We know by now that combining ideas together gives them the best shot at being sufficiently big winners. Some ideas, however, are dangerous enough to merit greater care.&lt;/p&gt;

&lt;p&gt;Consider bodybuilding. You are probably fine combining “drink milk,” “eat raw eggs,” and “get good sleep” all at once, since these are relatively common approaches. However, if you decide to start injecting experimental supplements, you probably want to go one supplement at a time.  If the side effects end up harmful, you want to be crystal clear on what is causing them.&lt;/p&gt;

&lt;p&gt;The same is true for particularly sensitive experiments. Consider a test around “combatting high price perception.”  &lt;strong&gt;**Various alternatives include a value-focused redesign of the pricing page, a free trial, and a price drop. **&lt;/strong&gt;Since the latter two may be net-harmful to revenue, we should test them in isolation carefully.&lt;/p&gt;

&lt;p&gt;Unlike with bodybuilding, testing in isolation &lt;strong&gt;does not&lt;/strong&gt; require slowing down. Using modern experiment frameworks, all 3 of ideas can be safely tested at once, using parallel A/B tests (see chart).&lt;/p&gt;

&lt;p&gt;Even better, as a side effect, you also gain directional evidence about how the ideas interact when they work together (IE, the free trial seems to work much better with the new redesign).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off is,&lt;/strong&gt; running multiple experiments on the same surface area increases the burden on both engineering and analytics. For engineering, more complexity means more tests to reduce the potential for edge cases. For analytics, simultaneous experiments provide an extra require to inspect experiment interactions to avoid drawing false conclusions.  When bottlenecked on experiment volume (versus eng or analytics throughput) this can be a worthwhile tradeoff.&lt;/p&gt;

&lt;h3 id=&quot;share-components-on-high-throughput-surface-areas&quot;&gt;Share Components on High-Throughput Surface Areas&lt;/h3&gt;

&lt;p&gt;[hat-tip to &lt;a href=&quot;https://www.linkedin.com/in/tayloradams/&quot;&gt;Taylor Adams&lt;/a&gt;]
&lt;img src=&quot;/images/shoestring_6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The place that has the most experimental power will generally be at the start of your checkout flow: it is seen by 100% of eventual purchasers, and converts relatively well.  Your homepage is probably also a high-throughput surface area, but some customers may skip it and convert straight from other landing pages.&lt;/p&gt;

&lt;p&gt;To get more power for top of funnel experiments, you can either (a) avoid custom landing pages and send almost all your traffic to the homepage or (b) share reusable components between your homepage and landing pages, and run experiments within those shareable components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off of&lt;/strong&gt; this approach constraints the amount of flexibility you can have on your other landing pages. Early on, it can be quite valuable to avoid constraining landing page formats, since that team needs to be taking its own big swings.&lt;/p&gt;

&lt;h3 id=&quot;run-tests-for-longer-7-days-becomes-2-3-weeks&quot;&gt;Run tests for longer: 7 days becomes 2-3 weeks&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/shoestring_7.png&quot; alt=&quot;Swing Size Calculator&quot; /&gt;&lt;/p&gt;

&lt;p&gt;If you have more traffic, you get a larger sample size, which means you can detect smaller wins easier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off is&lt;/strong&gt; the likelihood you’ll get to see the experiment through. Especially at earlier stage companies, I rarely see the discipline to actually leave an experiment running longer than a couple of weeks.  Inevitably, an executive will pop in and demand an update. “Trending positive?” they’ll say, “Great, let’s just ship it, it’s fine.”  And it is fine, except now you’ve committed &lt;a href=&quot;https://www.evanmiller.org/how-not-to-run-an-ab-test.html&quot;&gt;the cardinal sin of peeking&lt;/a&gt;, your likelihood of a false positive has gone up, and you have not truly “learned” anything that will help your experiment roadmap.&lt;/p&gt;

&lt;p&gt;If you often find yourself shipping tests earlier than planned, consider switching to a non-frequentist (fixed-sample) methodology, such as &lt;a href=&quot;https://docs.growthbook.io/statistics/overview#bayesian-statistics&quot;&gt;Bayesian&lt;/a&gt; or &lt;a href=&quot;https://docs.growthbook.io/statistics/sequential&quot;&gt;Sequential&lt;/a&gt; statistics.&lt;/p&gt;

&lt;h3 id=&quot;get-comfortable-with-false-positives-p005-becomes-p02&quot;&gt;Get Comfortable with False Positives: p&amp;lt;0.05 becomes p&amp;lt;0.2&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/shoestring_8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Another tolerable trade-off: in a world where a false positive is harmless, get comfortable setting your Type 1 Error tolerance (IE, how often can I live with a false positive) from its traditional &lt;code class=&quot;highlighter-rouge&quot;&gt;a=0.05&lt;/code&gt; (a 5% false positive) as high as &lt;code class=&quot;highlighter-rouge&quot;&gt;a=.2&lt;/code&gt; (a 20% false positive rate)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off is,&lt;/strong&gt; you shouldn’t do this for risky or significant changes, such as a new pricing strategy. Also, realize that your ability to trust your learnings from experiments is decreased, since there’s a greater chance your “insights” are now coming from noise and not reality.&lt;/p&gt;

&lt;h3 id=&quot;buy-traffic&quot;&gt;Buy Traffic&lt;/h3&gt;
&lt;p&gt;[hat-tip to &lt;a href=&quot;https://www.linkedin.com/in/tayloradams/&quot;&gt;Taylor Adams&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/shoestring_9.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;If the budget is available, you can always ask the paid marketing team to increase their spend during your experiment. A quick traffic boost can get you the numbers you need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off is,&lt;/strong&gt; newly-acquired prospecting paid traffic tends to be lower intent than your average visitor, so expect some conversion degradation (which may, in turn, make getting to stat-sig harder).  Also, there’s probably a reason the paid marketing hasn’t increased their budget yet: the newly-acquired traffic is unlikely to be cost-efficient, and will likely burn money, so try not to pull this card too often.&lt;/p&gt;

&lt;h2 id=&quot;part-3-desperate-times&quot;&gt;Part 3: Desperate Times&lt;/h2&gt;
&lt;p&gt;When you’re an order of magnitude (&amp;gt;2x) away from stat-sig, there’s still a few (more aggressive) things to try:&lt;/p&gt;

&lt;h3 id=&quot;target-a-proxy-metric&quot;&gt;Target a Proxy Metric&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/shoestring_10.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;At Opendoor, our team’s job was to optimize conversion for people selling us their houses.  However, a house sale actually closing took months and was not a common event, especially compared to a SAAS or eCommerce setup.  Instead, we found a number of proxy metrics (offer viewed, etc) that we could target instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off&lt;/strong&gt; is the new layer of indirection. Without being careful, it’s easy to get caught up in moving the proxy in a way that doesn’t help with your actual goal. For example, at Opendoor, shortening the purchase flow would result in more offers viewed, but fewer purchases at the end (since the offers would be less accurate).&lt;/p&gt;

&lt;p&gt;To ensure the proxy metric doesn’t steer you astray, you can:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Find or create higher-signal proxy metrics, such as a lead score model that can more accurately predict eventual conversion than merely the event itself taking place.&lt;/li&gt;
  &lt;li&gt;Keep an eye on the impact your experiments are having on the true metric at least quarterly.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;run-your-tests-on-the-paid-layer&quot;&gt;Run your Tests on the Paid Layer&lt;/h3&gt;
&lt;p&gt;[Hat-tip to &lt;a href=&quot;http://julian.com&quot;&gt;Julian&lt;/a&gt; - I can’t for the life of me find the original quote, but &lt;a href=&quot;https://www.julian.com/guide/startup/landing-pages&quot;&gt;here’s a good guide&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/shoestring_11.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;If you want to experiment with several headlines or images on your landing pages but don’t have enough traffic, you can test those very same headlines or images on paid marketing ads. The ones that perform best at the paid traffic level are reasonable candidates to do well on your marketing page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off is&lt;/strong&gt; that &lt;em&gt;**&lt;/em&gt;this approach is limited in which parts of your product journey you can test.&lt;/p&gt;

&lt;h3 id=&quot;go-qualitative-with-surveys-paid-feedback-and-session-recording&quot;&gt;Go Qualitative with Surveys, Paid Feedback and Session Recording&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/shoestring_12.webp&quot; alt=&quot;image credit: https://uxtools.co/blog/17-tools-that-will-streamline-your-ux-research/&quot; /&gt;&lt;/p&gt;

&lt;p&gt;If you want to gain intuition for what users want - just ask them, or look for yourself!&lt;/p&gt;

&lt;p&gt;There are several ways to get qualitative feedback about variants in your conversion journey:&lt;/p&gt;

&lt;h4 id=&quot;1-use-a-tool-like-hotjarcom&quot;&gt;1. Use a tool like &lt;a href=&quot;http://hotjar.com&quot;&gt;hotjar.com&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;to ask a fraction of customers on the website to take a quick survey about their experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;However,&lt;/strong&gt; customers willing to do surveys are not always representative of your potential users.&lt;/p&gt;

&lt;h4 id=&quot;2-pay-testers&quot;&gt;2. Pay testers&lt;/h4&gt;

&lt;p&gt;on sites like &lt;a href=&quot;http://usertesting.com&quot;&gt;UserTesting&lt;/a&gt; to go through your site (or even just designs iterations) and offer their feedback/see where they get stuck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;However&lt;/strong&gt;, if you’re targeting wealthier customers or business purchasers, you may not get representative feedback.&lt;/p&gt;

&lt;h4 id=&quot;3-use-screen-recording-tools&quot;&gt;3. Use screen recording tools&lt;/h4&gt;

&lt;p&gt;like &lt;a href=&quot;http://sprig.com&quot;&gt;Sprig&lt;/a&gt; or &lt;a href=&quot;http://fullstory.com&quot;&gt;FullStory&lt;/a&gt; and personally watch the experience of tens of customers in your experimental variants.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;However&lt;/strong&gt;, it’s easy to get fixated on a specific issue that may not be representative or affect many customers.&lt;/p&gt;

&lt;p&gt;Ideally, many of these approaches are often used during design, as a precursor to running an A/B test, but in a pinch, they can be used to in lieu of the quantitative tests.&lt;/p&gt;

&lt;h3 id=&quot;yolo---just-make-the-change&quot;&gt;YOLO - Just Make the Change&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/shoestring_13.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ultimately, the simplest thing you can always do is just go ahead and make whatever change it is you believe in.  So long as you are right often enough, you should start to see conversion starting to tick up over time.&lt;/p&gt;

&lt;p&gt;This approach also saves a decent amount of engineering effort, since you no longer need to spend eng effort on supporting more than one version of your site or product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trade-off is&lt;/strong&gt; that without the precision A/B testing, it’s that much harder to know which of your efforts are actually working, and which are neutral-to-harmful.  Working pre-post puts you back in the old days of “&lt;a href=&quot;https://quoteinvestigator.com/2022/04/11/advertising/&quot;&gt;half of my marketing efforts are wasted, but I don’t know which half&lt;/a&gt;.”
At the end of the day, favoring conviction and best practices over experimentation is a reasonable approach, especially early on in a company’s lifetime.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>There's no such thing as Organic Traffic</title>
   <link href="http://alexeymk.com/2023/04/04/there-27s-no-such-thing-as-organic-traffic.html"/>
   <updated>2023-04-04T09:00:29-07:00</updated>
   <id>http://alexeymk.com/2023/04/04/there%27s-no-such-thing-as-organic-traffic</id>
   <content type="html">&lt;p&gt;From a recent investor update:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;…and 40% of our purchases in Q1 came from organic traffic&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I, uhh, don’t believe you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A purchase from organic traffic is:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;the customer had the problem your product solves&lt;/li&gt;
  &lt;li&gt;they googled&lt;/li&gt;
  &lt;li&gt;they clicked on your website from the &lt;strong&gt;organic&lt;/strong&gt; search results&lt;/li&gt;
  &lt;li&gt;and then bought it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I too would rather live in a world where this was still a thing. But this was probably not what happened.&lt;/p&gt;

&lt;h3 id=&quot;whats-the-big-deal-you-pedant&quot;&gt;What’s the big deal, you pedant?&lt;/h3&gt;
&lt;blockquote&gt;
  &lt;p&gt;One-half of the money I spend for advertising is wasted, but I have never been able to decide which half&lt;/p&gt;

  &lt;p&gt;- &lt;a href=&quot;https://quoteinvestigator.com/2022/04/11/advertising/&quot;&gt;John Wanamaker&lt;/a&gt;, Department Store Magnate, 1919ish&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;John Wanamaker, a Department store magnate, said this in 1919 or so. So that’s literally a century year old excuse. You can do better.&lt;/p&gt;

&lt;p&gt;The customer acquisition team’s job is to double down on what works. Somebody on your team deserves a bigger budget - knowing who is part of the job.&lt;/p&gt;

&lt;h3 id=&quot;ok-but-for-real-these-customers-did-come-from-organic-search&quot;&gt;OK but for real, these customers did come from organic search&lt;/h3&gt;
&lt;p&gt;Sure, but that is only a superficial explanation of their “source.” What motivated them to search? Here’s an (in-exhaustive) decision tree of possibilities and initiatives deserving credit.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;At the point they googled for it, had they heard of your product earlier?
    &lt;ul&gt;
      &lt;li&gt;Yes - give credit to how they originally heard about it
        &lt;ul&gt;
          &lt;li&gt;Did they hear/see an ad? ➡️ Paid ad channel&lt;/li&gt;
          &lt;li&gt;Was it from a friend/colleague? ➡️ Word of mouth&lt;/li&gt;
          &lt;li&gt;From an existing user? ➡️ Referral&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;No - credit should go to your SEO &amp;amp; brand efforts.  Were they searching for…
        &lt;ul&gt;
          &lt;li&gt;Your company name explicitly (ie, hotels.com) ➡️  brand effort for domain&lt;/li&gt;
          &lt;li&gt;The problem you solve (keyword) ➡️  SEO / content team.&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;fixing-organic-search&quot;&gt;Fixing “Organic Search”&lt;/h3&gt;
&lt;p&gt;First, unless you actually rank for your category’s generic domain name, re-label the “organic” traffic as “unattributed.”&lt;/p&gt;

&lt;p&gt;At that point, there are a few ways to allocate the unattributed conversions:&lt;/p&gt;

&lt;h4 id=&quot;simplest-spread-evenly-across-known-channels&quot;&gt;Simplest: spread evenly across known channels&lt;/h4&gt;
&lt;p&gt;Let’s say your purchases come from 40% paid social, 10% referrals, and 20% SEM. You have 30% left unattributed, so allocate these proportionally.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/distributing-unnatributed-traffic-evenly-example.png&quot; alt=&quot;distributing organic traffic evenly&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: I am terrified of this approach because obviously different channels can have different amounts of “search later” halo effects, but at least it is less wrong than “Organic” and it can be done entirely post-facto.&lt;/em&gt;&lt;/p&gt;

&lt;h4 id=&quot;slightly-better-incorporate-how-did-you-hear-about-us-hdyhau&quot;&gt;Slightly better: Incorporate How did you hear about us? (HDYHAU)&lt;/h4&gt;
&lt;p&gt;Once customers have purchased, ask them how they first heard about you, via a &lt;a href=&quot;https://userloop.io/post/what-is-a-hdyhau-survey&quot;&gt;HDYHAU survey&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now, look, many customers will skip the survey and others just won’t remember, but the answers you do get from the unattributed crowd are still worth applying to your estimates. It’ll help realize things like “oh, most people who are unattributed are actually coming from Instagram - as are a bunch of people we thought were referrals” and adjust your focus accordingly.&lt;/p&gt;

&lt;h4 id=&quot;fancy-marketing-mix-modeling&quot;&gt;Fancy: &lt;a href=&quot;https://towardsdatascience.com/market-mix-modeling-mmm-101-3d094df976f9?gi=fbff256e5795&quot;&gt;Marketing Mix Modeling&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;At some point you get big and successful enough that you hire a fancy full-time marketing analytics leader, who will understand this subject way better than either you or me.&lt;/p&gt;

&lt;p&gt;They’ll bring in tactics like incrementality testing, where Google or Meta will start running internal tests for you where they exclude a handful of their userbase from your ads and show you the effect it has. Or you’ll do something simpler like turn off specific channels in specific countries or US states and see how much their purchases fall. They’ll talk you through whether “&lt;a href=&quot;https://thecorrespondent.com/100/the-new-dot-com-bubble-is-here-its-called-online-advertising&quot;&gt;online advertising is a lie&lt;/a&gt;” and help figure out how proportionally distribute credit for any sale across multiple channels, first touch vs last touch, and other fun things of that nature.&lt;/p&gt;

&lt;p&gt;You will eventually reach a scale where this investment will be justified. Until then, just realize there’s (probably) no such thing as organic traffic.&lt;/p&gt;

&lt;h4 id=&quot;ps-only-getting-harder-over-time&quot;&gt;PS. Only getting harder over time&lt;/h4&gt;
&lt;p&gt;Between the ever-increasing popularity of ad-blockers, common pattern of “see it on mobile, buy it on desktop” cross-device purchase behavior, iOS14 and government-driven private regulations, the % of your purchases that are unattributed will only go up over time.
If scaling up customer acquisition is important to you, get it right.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Hamtips, or why I still run the Technical Phone Screen as the Hiring Manager</title>
   <link href="http://alexeymk.com/2021/09/15/hamtips.html"/>
   <updated>2021-09-15T16:51:08-07:00</updated>
   <id>http://alexeymk.com/2021/09/15/hamtips</id>
   <content type="html">&lt;p&gt;&lt;em&gt;Caveat: Yes, yes, almost everything about the interviewing / recruiting process is broken. Sometimes though, you just have to play the hand you’re dealt and settle for minor improvements.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The 75-minute HMTPS is my proposed minor improvement.&lt;/p&gt;

&lt;!-- _includes/image.html --&gt;
&lt;!-- from https://superdevresources.com/image-caption-jekyll/ --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;/images/oatmeal-interviewing-1.png&quot; alt=&quot;&quot; style=&quot;&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;Hat tip to The Oatmeal&lt;/p&gt;
    
&lt;/div&gt;

&lt;h2 id=&quot;what-is-the-hmtps&quot;&gt;What is the HMTPS&lt;/h2&gt;
&lt;p&gt;It stands for “Hiring Manager Technical Phone Screen.” Since you asked, I’ve been pronouncing it “ham-tips.” It’s the call a candidate will have after their RPS (Recruiter Phone Screen) but before their onsite.&lt;/p&gt;

&lt;p&gt;This combines two calls - the Technical Phone Screen (TPS), which is a coding exercise, and usually happens before the onsite, and the HMS call, which is a call with the Hiring Manager (your would-be manager), which I’ve seen done before an onsite, or after, or not at all.&lt;/p&gt;

&lt;p&gt;So I combine these into one.  It takes 75 minutes.&lt;/p&gt;

&lt;h2 id=&quot;why-combine-the-two-interviews&quot;&gt;Why combine the two interviews?&lt;/h2&gt;
&lt;p&gt;An ideal interview loop has as few steps as necessary and gets to a decision ASAP. Combine these two steps to shorten intro-to-offer by ~1 week and reduce candidate drop-off by 5-10%.&lt;/p&gt;

&lt;p&gt;It’s also a lot less work for recruiters playing scheduling battleship&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;Finally, Hiring Managers will, on average, be better at selling working at the company - it’s kind of their job.&lt;/p&gt;

&lt;h2 id=&quot;why-75-minutes&quot;&gt;Why 75 minutes?&lt;/h2&gt;
&lt;p&gt;We’re combining a 30-minute call and a 60-minute call, and combining the 15-minute Q&amp;amp;A at the end of each into one.&lt;/p&gt;

&lt;h4 id=&quot;tps-60m&quot;&gt;TPS (60m)&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;5m Intros&lt;/li&gt;
  &lt;li&gt;45m We write some code in Coderpad together&lt;/li&gt;
  &lt;li&gt;10m Ask me Anything&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;hm-call-30m&quot;&gt;HM call (30m)&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;5m Intros&lt;/li&gt;
  &lt;li&gt;10m Dig into relevant experience &amp;amp; what candidate wants from next job&lt;/li&gt;
  &lt;li&gt;15m AMA time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;hmtps-75m&quot;&gt;HMTPS (75m)&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;5m Intros&lt;/li&gt;
  &lt;li&gt;15m Dig into relevant experience &amp;amp; what candidate wants from next job&lt;/li&gt;
  &lt;li&gt;30m Coderpad&lt;/li&gt;
  &lt;li&gt;15m AMA time.&lt;/li&gt;
  &lt;li&gt;10m buffer time (inevitably one of these will go long in an interesting way)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m also more comfortable shortening the ~50 minute technical question into 30 minutes because (a) I’m pretty calibrated on my question, having run it 200+ times at this point, and so can get most of the signal I’m looking for within the first 30 minutes.&lt;/p&gt;

&lt;p&gt;I’ve tried doing this call in 60 minutes and it ends up feeling pretty rushed; not to say somebody else couldn’t pull that off, but I’ve appreciated the bit of space. Also, since most candidates don’t schedule in 15-minute increments, we can always go a little long (up to the 90 minute mark) if we need to.&lt;/p&gt;

&lt;h2 id=&quot;why-is-this-good-for-the-hiring-manager&quot;&gt;Why is this good for the Hiring Manager?&lt;/h2&gt;
&lt;p&gt;First, it’s easier to schedule (usually towards the end of the day). Second, it usually gives me enough time with the candidate so that I end up being pretty confident about how they’ll do both at the job and on the onsite. I haven’t quantified this yet, but anecdotally I have been surprised by onsite interviewer feedback much more rarely when I do this.&lt;/p&gt;

&lt;h2 id=&quot;why-is-this-good-for-the-candidate&quot;&gt;Why is this good for the candidate?&lt;/h2&gt;
&lt;p&gt;It’s one fewer hoop to jump through. Also, whether or not they get along with me as their future manager - both technically and interpersonally - can and should be a pretty strong determinant as to whether they should continue with the process. This gives stronger signal since we are both coding together and talking about work.&lt;/p&gt;

&lt;h2 id=&quot;when-is-this-a-bad-idea&quot;&gt;When is this a bad idea?&lt;/h2&gt;
&lt;p&gt;This makes the Hiring Manager a bit of a bottleneck in interviewing; once a company gets to the point where you are interviewing for titles like “Senior Software Engineer, Team TBD” you have to round robin TPS-es to the rest of your &lt;a href=&quot;/2020/12/05/technical-interview-superforcasters.html.&quot;&gt;Phone Screen Team&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, as the HM I likely have some unreasonable biases (Golang engineers, I’m looking at you), and making me the bottleneck in interviewing exacerbates those. That said, the HM’s bias is going to be applied sooner or later in the interview process, and my take is that the benefits outlined are worth it.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Tuesday at 4? You sunk my Grooming Session! &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>A toolset for tackling technical debt</title>
   <link href="http://alexeymk.com/2021/04/01/a-toolset-for-tackling-technical-debt.html"/>
   <updated>2021-04-01T12:59:39-07:00</updated>
   <id>http://alexeymk.com/2021/04/01/a-toolset-for-tackling-technical-debt</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;Let us prepare to grapple with the ineffable itself, and see if we may not eff it after all.&lt;/p&gt;

  &lt;p&gt;– Douglas Adams, Dirk Gently’s Holistic Detective Agency&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;the-situation&quot;&gt;The Situation&lt;/h3&gt;

&lt;p&gt;“Ugh, the codebase is just such a mess,” my new Tech Lead said. “It’s just cruft on top of cruft, never cleaned up, always ‘after the next release’.  No wonder we keep getting bug reports faster than we can fix them.”&lt;/p&gt;

&lt;p&gt;Not what you want to hear as the freshly-appointed Engineering Manager on a critical team. Leadership expects the team to deliver on key new features, but also, &lt;em&gt;there better not be any voluntary churn&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I went to talk to the Product Manager. “Tech Debt?” he said, “sure, we can tackle some tech debt - but let’s make sure to get some credibility first by hitting our OKRs. It won’t be easy.”&lt;/p&gt;

&lt;h3 id=&quot;how-did-it-get-this-bad&quot;&gt;How did it get this bad?&lt;/h3&gt;

&lt;p&gt;Cut to three years earlier. I was a new hire on that very team. My onboarding buddy - let’s call him Buddy - and I bumped into a strange corner of the codebase.&lt;/p&gt;

&lt;p&gt;“Oh weird,” I said. “Should we fix that?”&lt;/p&gt;

&lt;p&gt;“I have a strategy for this that you can use,” Buddy said. “When you run into code that seems off, that feels worth fixing, you write the issue down in a separate text file. Then you go do useful work.”&lt;/p&gt;

&lt;p&gt;“Oh, I see. And eventually, you get back to the text file and fix the issues?”&lt;/p&gt;

&lt;p&gt;“Nope. But at least you’ve written it down.”&lt;/p&gt;

&lt;p&gt;Wikipedia describes &lt;a href=&quot;https://en.wikipedia.org/wiki/Learned_helplessness&quot;&gt;learned helplessness&lt;/a&gt; as “behavior exhibited by a subject after enduring repeated aversive stimuli beyond their control.”  Without support, this is how engineers come to feel about tech debt.&lt;/p&gt;

&lt;p&gt;When I came back to this team as a manager, I reached out to Buddy, who had left years ago. “The code is crap at Airbnb too,” he told me when we caught up, “but at least they pay well and I don’t have to work very hard.”&lt;/p&gt;

&lt;h3 id=&quot;so-what-did-you-do&quot;&gt;So what did you do?&lt;/h3&gt;

&lt;p&gt;I joined Airbnb.&lt;/p&gt;

&lt;p&gt;That’s not true. We tackled the tech debt. We shipped leadership’s key features, hit our OKRs, and cleaned up some terrible, long-overdue-for-deletion no-good code. Within 3 months, the team’s attitude about technical debt had begun to turn around.&lt;/p&gt;

&lt;p&gt;Here’s how.&lt;/p&gt;

&lt;h1 id=&quot;tackling-technical-debt-in-three-easy-steps&quot;&gt;Tackling Technical Debt In Three Easy Steps&lt;/h1&gt;

&lt;p&gt;Guaranteed&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;h3 id=&quot;step-1-empower&quot;&gt;Step 1. Empower&lt;/h3&gt;

&lt;p&gt;The biggest reason technical debt exists is because Engineers have internalized that it’s not their job to fix it. Start-up mantras like “focus” and “let small fires burn” have lead to just that - small fires everywhere.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/small_fires.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;“Get shit done” is a great mantra, but you still have to clean up after yourself.&lt;/p&gt;

&lt;p&gt;The fix here is cultural. Make it clear that engineers who identify debt and take time to tackle it are appreciated. Celebrate their work to peers. A friend once created a slack bot that called out any PR that deleted a significant amount of code. Engineers all across the company began striving to get featured.&lt;/p&gt;

&lt;p&gt;Now of course, the team does have actual work that needs doing. Empower doesn’t mean “ignore our actual work” - it means, “if you take a Friday to fix something that’s bothering you, I have your back.”&lt;/p&gt;

&lt;h3 id=&quot;step-2-identify&quot;&gt;Step 2. Identify&lt;/h3&gt;

&lt;p&gt;If you’re on a team that hasn’t been rigorous about tackling tech debt, there’s probably lots of it and it’s unclear what could even be done. This is fixable.&lt;/p&gt;

&lt;p&gt;Organize a brainstorm with prompts like&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;What tasks take longer than they should?&lt;/li&gt;
  &lt;li&gt;What is the most embarrassing part of our code to explain to new hires?&lt;/li&gt;
  &lt;li&gt;What key pieces of our code have we under-invested in?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This’ll set you up with a solid initial list for your Tech Debt backlog. For more ideas, run your codebase through a tool like CodeClimate to algorithmically point out the rough spots.&lt;/p&gt;

&lt;p&gt;The first time we ran a brainstorm like this, everybody agreed that we had a handful of ideas that were so easy and valuable enough that we should do them right away. Like, that day. It felt like a breath of fresh air. Things are fixable.&lt;/p&gt;

&lt;p&gt;Encourage folks to add to the Backlog anytime they ran into annoyances and didn’t have time to fix it right there and then. In future team retros or brainstorms, identify any tech debt that comes up and add it onto the backlog.&lt;/p&gt;

&lt;h3 id=&quot;step-3-prioritize&quot;&gt;Step 3. Prioritize&lt;/h3&gt;

&lt;p&gt;Having a tech debt backlog and ignoring it is worse than none at all.&lt;/p&gt;

&lt;p&gt;Time to play Product Manager and use ICE to prioritize your tech debt on effort required to fix,  impact that a fix would have on velocity, and confidence that the fix will actually work.&lt;/p&gt;

&lt;p&gt;This gives you a list of potential projects. Some will take months; others, hours.&lt;/p&gt;

&lt;p&gt;Now they just need to get done. That’ll require buy-in from your Product Manager.&lt;/p&gt;

&lt;h4 id=&quot;getting-buy-in&quot;&gt;Getting Buy-in&lt;/h4&gt;
&lt;p&gt;When it’s time to have “the talk” with your PM, I‘ve found “how often should you clean your room” to be useful analogy.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Never cleaning your room is a bad idea and obviously so.  Over time it becomes unlivable. This is how our engineers feel. At the same time, if you’re cleaning your room all day every day, that’s not a clean room, that’s excessive and no longer helpful.  In moderation, messiness is healthy - it means you’re prioritizing. We don’t need a glistening-clean room, but we do need to do more than nothing. At the end of the day, a clean room is a productive room.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4 id=&quot;tackling-small-debt&quot;&gt;Tackling Small Debt&lt;/h4&gt;
&lt;p&gt;Come together with your Product Manager and agree to a rate at which small debt projects can get added to the team’s ticket queue. With a spiel like the above, you can hopefully get ~10% of all work done to focus on debt, depending on the maturity of the team and the company.&lt;/p&gt;

&lt;p&gt;For ~week-long projects, try to leverage particular times of year like Hack Weeks and pitch high-value projects to engineers looking for a fun project.&lt;/p&gt;

&lt;h4 id=&quot;tackling-heavy-debt&quot;&gt;Tackling Heavy Debt&lt;/h4&gt;
&lt;p&gt;This is where good leadership helps. At this particular company, Engineering leadership had rolled out “Quality OKRs”. Every quarter, each team had to sign up for a meaningful “quality” OKR goal.&lt;/p&gt;

&lt;p&gt;What is a “quality” goal? This was left up to teams, but the gist of it was, just go fix the most painful thing that isn’t already translated in your business metrics.&lt;/p&gt;

&lt;p&gt;During quarterly planning, we whittled the top three “heavy tech debt” projects into proposals, got buy-in from leadership, then brought the ideas back to the group.&lt;/p&gt;

&lt;p&gt;Since quality projects had been blessed from top-down and indisputable, the PM had air cover to support the work without pushback.&lt;/p&gt;

&lt;h2 id=&quot;so-what-happened&quot;&gt;So what happened?&lt;/h2&gt;

&lt;p&gt;Was there still tech debt? Yes. Did it continue to accumulate? Of course. But did it feel inexorable? Not anymore.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Not guaranteed. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Technical Interview Superforcasters</title>
   <link href="http://alexeymk.com/2020/12/05/technical-interview-superforcasters.html"/>
   <updated>2020-12-05T04:24:03-08:00</updated>
   <id>http://alexeymk.com/2020/12/05/technical-interview-superforcasters</id>
   <content type="html">&lt;p&gt;&lt;em&gt;Originally published as a &lt;a href=&quot;https://blog.interviewing.io/technical-phone-screen-superforecasters/&quot;&gt;guest blog post&lt;/a&gt; on &lt;a href=&quot;https://interviewing.io/&quot;&gt;interviewing.io&lt;/a&gt;. Thanks &lt;a href=&quot;https://twitter.com/alinelernerLLC&quot;&gt;Aline&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;“The new VP wants us to double engineering’s headcount in the next six months. If we have a chance in hell to hit the hiring target, you seriously need to reconsider how fussy you’ve become.”&lt;/p&gt;

&lt;p&gt;It’s never good to have a recruiter ask engineers to lower their hiring bar, but he had a point. It can take upwards of &lt;a href=&quot;https://blog.interviewing.io/you-probably-dont-factor-in-engineering-time-when-calculating-cost-per-hire-heres-why-you-really-should/&quot;&gt;100 engineering hours&lt;/a&gt; to hire a single candidate, and we had over 50 engineers to hire.  Even with the majority of the team chipping in, engineers would often spend multiple hours a week in interviews. Folks began to complain about interview burnout.&lt;/p&gt;

&lt;p&gt;Also, fewer people were actually getting offers; the &lt;em&gt;onsite pass rate&lt;/em&gt; had fallen by almost a third, from ~40% to under 30%. This meant we needed even more interviews for every hire.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://twitter.com/visnup&quot;&gt;Visnu&lt;/a&gt; and I were early engineers bothered most by the state of our hiring process. We dug in. Within a few months, the onsite pass rate went back up, and interviewing burnout receded.&lt;/p&gt;

&lt;p&gt;We didn’t lower the hiring bar, though. There was a better way.&lt;/p&gt;

&lt;h1 id=&quot;introducing-the-phone-screen-team&quot;&gt;Introducing: the Phone Screen Team&lt;/h1&gt;

&lt;p&gt;We took the company’s best technical interviewers and organized them into a dedicated Phone Screen Team. No longer would engineers be assigned between onsite interviews and preliminary phone screens at recruiting coordinators’ whims. The Phone Screen Team specialized in phone screens; everybody else did onsites.&lt;/p&gt;

&lt;h4 id=&quot;why-did-you-think-this-would-be-a-good-idea&quot;&gt;Why did you think this would be a good idea?&lt;/h4&gt;

&lt;p&gt;Honestly, all I wanted at the start was to see if I was a higher-signal interviewer than my buddy Joe. So I graphed people’s &lt;strong&gt;phone screen pass rate&lt;/strong&gt; against how those candidates performed in their &lt;strong&gt;onsite pass rate.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Joe turned out to be the better interviewer. More importantly, I stumbled into the fact that a number of engineers doing phone screens performed &lt;strong&gt;consistently&lt;/strong&gt; better across the board. They both had more candidates pass their phone screens and then those candidates would get offers at a higher rate.&lt;/p&gt;

&lt;!-- _includes/image.html --&gt;
&lt;!-- from https://superdevresources.com/image-caption-jekyll/ --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;/images/phone-screen-chart.png&quot; alt=&quot;&quot; style=&quot;&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;Sample Data, recreated for Illustrative Purposes.&lt;/p&gt;
    
&lt;/div&gt;

&lt;p&gt;These numbers were consistent, quarter over quarter.  As we compared the top quartile of phone screeners to everybody else, the difference was stark. Each group included a mix of strict and lenient phone screeners; on average, both groups had a &lt;strong&gt;phone screen pass rate&lt;/strong&gt; of 40%.&lt;/p&gt;

&lt;p&gt;The similarities ended there: the top quartile’s invitees were twice as likely to get an offer after the onsite (50% vs 25%). These results also were consistent across quarters.&lt;/p&gt;

&lt;p&gt;Armed with newfound knowledge of phone screen &lt;a href=&quot;https://en.wikipedia.org/wiki/Superforecaster&quot;&gt;superforecasters&lt;/a&gt;, the obvious move was to have them do all the interviews. In retrospect, it &lt;a href=&quot;https://medium.com/@alexallain/what-ive-learned-interviewing-500-people-the-interviewer-skills-ladder-for-high-growth-software-37778d2aae85&quot;&gt;made a ton of sense&lt;/a&gt; that some interviewers were “just better” than others.&lt;/p&gt;

&lt;p&gt;A quarter after implementing the new process, the “phone screen to onsite” rate stayed constant, but the “onsite pass rate” climbed from ~30% to ~40%, shaving more than 10 hours-per-hire (footnote 2). Opendoor was still running this process when I left several years later.&lt;/p&gt;

&lt;p&gt;You should too (footnote 3, footnote 4).&lt;/p&gt;

&lt;h1 id=&quot;starting-your-own-phone-screen-team&quot;&gt;Starting your own Phone Screen Team&lt;/h1&gt;
&lt;h4 id=&quot;1-identifying-interviewers-footnote-5&quot;&gt;1. Identifying Interviewers (footnote 5)&lt;/h4&gt;

&lt;p&gt;Get your Lever or Greenhouse (or &lt;a href=&quot;https://en.wikipedia.org/wiki/Applicant_tracking_system&quot;&gt;ATS&lt;/a&gt; of choice) into an analyzable place somewhere, and then quantify how well interviewers perform. There’s lots of ways to analyze performance; here’s a simple approach which favors folks who generated lots of offers from as few as possible onsites and phone screens.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/phone-screen-formula.png&quot; alt=&quot;formula&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You can adjust the constants to where zero would match a median interviewer. A score of zero, then, is good.&lt;/p&gt;

&lt;p&gt;Your query will look something like this:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Interviewer&lt;/th&gt;
      &lt;th&gt;Phone Screens&lt;/th&gt;
      &lt;th&gt;Onsites&lt;/th&gt;
      &lt;th&gt;Offers&lt;/th&gt;
      &lt;th&gt;Score&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Accurate Alice&lt;/td&gt;
      &lt;td&gt;20&lt;/td&gt;
      &lt;td&gt;5&lt;/td&gt;
      &lt;td&gt;3&lt;/td&gt;
      &lt;td&gt;(45 - 20 - 20) / 20 = 0.25&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Friendly Fred&lt;/td&gt;
      &lt;td&gt;20&lt;/td&gt;
      &lt;td&gt;9&lt;/td&gt;
      &lt;td&gt;4&lt;/td&gt;
      &lt;td&gt;(60 - 36 - 20) / 20 = 0.2&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Strict Sally&lt;/td&gt;
      &lt;td&gt;20&lt;/td&gt;
      &lt;td&gt;4&lt;/td&gt;
      &lt;td&gt;2&lt;/td&gt;
      &lt;td&gt;(30 - 16 - 20) / 20 = -0.3&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Chaotic Chris&lt;/td&gt;
      &lt;td&gt;20&lt;/td&gt;
      &lt;td&gt;10&lt;/td&gt;
      &lt;td&gt;3&lt;/td&gt;
      &lt;td&gt;(45 - 40 - 20) / 20 = -0.75&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;No Good Nick&lt;/td&gt;
      &lt;td&gt;20&lt;/td&gt;
      &lt;td&gt;12&lt;/td&gt;
      &lt;td&gt;2&lt;/td&gt;
      &lt;td&gt;(30 - 48 - 20) / 30 = -1.9&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Ideally, hires would also be included in the funnel, since a great phone screen experience would make a candidate more likely to join. I tried including them; unfortunately, the numbers get too small and we start running out of statistical predictive power.&lt;/p&gt;

&lt;h4 id=&quot;2-logistics--scheduling&quot;&gt;2. Logistics &amp;amp; Scheduling&lt;/h4&gt;

&lt;p&gt;Phone Screen interviewers no longer do onsite interviews (except as emergency backfills). The questions they ask are now retired from the onsite interview pool to avoid collisions.&lt;/p&gt;

&lt;p&gt;Ask the engineers to identify and block off 4 hour-long weekly slots to make available to recruiting (recruiting coordinators will love you). Use a tool like &lt;a href=&quot;http://youcanbook.me&quot;&gt;youcanbook.me&lt;/a&gt; or &lt;a href=&quot;http://calendly.com&quot;&gt;calendly&lt;/a&gt; to create a unified availability calendar. Aim to have no more than ~2.5 interviews per interviewer per week. To minimize burnout, one thing we tried was to take 2 weeks off interviewing every 6 weeks.&lt;/p&gt;

&lt;p&gt;To avoid conflict, ensure that interviewers’ managers are bought in to the time commitment and incorporate their participation during performance reviews.&lt;/p&gt;

&lt;h4 id=&quot;3-onboarding-interviewers&quot;&gt;3. Onboarding Interviewers&lt;/h4&gt;

&lt;p&gt;When new engineers join the company and start interviewing, they will initially conduct on-site interviews only. If they perform well, consider inviting them into the phone screen team as slots open up. Encourage new members to keep the same question they were already calibrated on, but adapt it to the phone format as needed. In general, it helps to &lt;a href=&quot;https://triplebyte.com/blog/how-to-interview-engineers&quot;&gt;make the question easier and shorter&lt;/a&gt; than if you were conducting the interview in person.&lt;/p&gt;

&lt;p&gt;When onboarding a new engineer onto the team, have them shadow a current member twice, then be reverse-shadowed by that member twice. Discuss and offer feedback after each shadowing.&lt;/p&gt;

&lt;h4 id=&quot;4-continuous-improvement&quot;&gt;4. Continuous Improvement&lt;/h4&gt;

&lt;p&gt;Interviewing can get repetitive and lonely. Fight this head-on by having recruiting coordinators add a second interviewer (not necessarily from the team) to join 10% or so of interviews and discuss afterwords.&lt;/p&gt;

&lt;p&gt;Hold a monthly retrospective with the team and recruiting, with three items on the agenda:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;discuss potential process improvements to the interviewing process&lt;/li&gt;
  &lt;li&gt;review borderline interviews with the group to review together, if &lt;a href=&quot;http://coderpad.io&quot;&gt;your interviewing tool&lt;/a&gt; supports recording and playback&lt;/li&gt;
  &lt;li&gt;have interviewers read through feedback their candidates got from onsite interviewers and look for consistent patterns.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;5-retention&quot;&gt;5. Retention&lt;/h4&gt;

&lt;p&gt;Eventually, interviewers may get burnt out and say things like “I’m interviewing way more people than others on my actual team - why? I could just go do onsite interviews.” This probably means it’s time to rotate them out. Six months feels about right for a typical “phone screen team” tour of duty, to give people a rest. Some folks may not mind and stay on the team for longer.&lt;/p&gt;

&lt;p&gt;Buy exclusive swag for team members. Swag are cheap and these people are doing incredibly valuable work. Leaderboards (“Sarah interviewed 10 of the new hires this year”) help raise awareness. Appreciation goes a long way.&lt;/p&gt;

&lt;p&gt;Also, people want to be on teams with cool names. Come up with a cooler name than “Phone Screen Team.” My best idea so far is “Ambassadors.”&lt;/p&gt;

&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;There’s something very Dunder Mifflin about companies that create Growth Engineering organizations to micro-optimize conversion, only to have those very growth engineers struggle to focus due to interview thrash from an inefficient hiring process. These companies invest millions into hiring, coaching and retaining the very best sales people. Then they leave recruiting - selling the idea of working at the company - in the hands of an engineer that hasn’t gotten a lick of feedback on their interviewing since joining two years ago, with a tight project deadline on the back of her mind.&lt;/p&gt;

&lt;p&gt;If you accept the simple truth that not all interviewers are created equal, that the same rigorous quantitative process with which you improve the business should also be used to improve your internal operations, and if you’re trying to hire quickly, you should consider creating a Technical Phone Screen Team.&lt;/p&gt;

&lt;h1 id=&quot;faqs-caveats-and-pre-emptive-defensiveness&quot;&gt;FAQs, Caveats, and Pre-emptive Defensiveness&lt;/h1&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Was this statistically significant, or are you conducting pseudoscience?&lt;/strong&gt; Definitely pseudoscience. Folks in the sample were conducting about 10 interviews a month, ~25 per quarter. Perhaps not yet ready to &lt;a href=&quot;https://www.nature.com/articles/d41586-019-00857-9&quot;&gt;publish in Nature&lt;/a&gt; but meaningful enough to infer from, especially considering the relatively low cost of being wrong.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Why didn’t the on-site pass rate double, as predicted?&lt;/strong&gt;
 First, not all of the top folks ended up joining the team. Second, the best performers did well because of a combination of skill (great interviewers, friendly, high signal) and luck (got better candidates). Luck is fleeting, resulting in a &lt;a href=&quot;https://en.wikipedia.org/wiki/Regression_toward_the_mean&quot;&gt;regression to the mean&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;What size does this start to make sense at?&lt;/strong&gt;
 Early on, you should just identify who you believe your best interviewers are and have them (or yourself) do all the phone screens. Then, once you start hiring rapidly enough that you are doing about 5-10 phone screens a week, run the numbers and invite your best 2-3 onsite interviewers to join and create the team.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;What did you do for specialized engineering roles?&lt;/strong&gt;
 They had their own dedicated processes. Data Science ran a take home, Front-End engineers had their own Phone Screen sub-team, and Data and ML Engineers went through the general full-stack engineer phone screen.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Didn’t shrinking your Phone Screener pool hurt your diversity?&lt;/strong&gt;
 In fact, the opposite happened. First, the phone screener pool had a higher percentage of women than the engineering organization at the time; second, a common interviewing anti-pattern is “hazing” - asking difficult questions and then rejecting somebody for “not even remembering about Kahn’s algorithm, lolz.”  The best phone screeners don’t haze, bringing a more diverse group onsite.&lt;/li&gt;
&lt;/ol&gt;
</content>
 </entry>
 
 <entry>
   <title>Lies, Damned Lies, and Front-end Tracking</title>
   <link href="http://alexeymk.com/2020/07/14/lies-damn-list-and-front-end-tracking.html"/>
   <updated>2020-07-14T12:31:22-07:00</updated>
   <id>http://alexeymk.com/2020/07/14/lies-damn-list-and-front-end-tracking</id>
   <content type="html">&lt;p&gt;I’m here to warn you about the dangers of front-end user tracking. Not because &lt;a href=&quot;https://donttrack.us/&quot;&gt;Google is tracking you&lt;/a&gt;, but because it doesn’t track you quite well enough.&lt;/p&gt;

&lt;p&gt;What follows is a story in three parts: the front-end tracking trap I fell into, how we dug ourselves out, and how you can go around the trap altogether.&lt;/p&gt;

&lt;h2 id=&quot;part-1-a-cautionary-tale&quot;&gt;Part 1: A Cautionary Tale&lt;/h2&gt;

&lt;p&gt;The year was 2019. Opendoor was signing my paychecks.&lt;/p&gt;

&lt;p&gt;We were launching our shiny new homepage.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://paper-attachments.dropbox.com/s_797F39BD41EFDEC54D5CBA97D7296FCBDAF1FBE1044BD81BCD0D8F34808AEF50_1593573820734_image.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We had spent a month migrating our landing pages from the Rails monolith to a shiny new Next.JS app. The new site was way faster and would therefore convert better, saving us millions of dollars annually in Facebook and Google ad costs.&lt;/p&gt;

&lt;p&gt;Being responsible, we ran the roll-out as an A/B test, sending half of the traffic to the old site so we could quantify our impact&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;The impact we’d made was making things worse. Way worse. The new site got crushed.&lt;/p&gt;

&lt;h3 id=&quot;what-happened&quot;&gt;What happened?&lt;/h3&gt;

&lt;p&gt;WTF. Google &lt;a href=&quot;https://web.dev/measure/&quot;&gt;had told us&lt;/a&gt; our new page was way better. The new site even felt snappier.&lt;/p&gt;

&lt;p&gt;“Figure it out.” The engineers on revamp paired up with a Data Scientist and went to go figure out what the hell was going on. They started digging into every nook and cranny of the relaunch.&lt;/p&gt;

&lt;p&gt;A week went by. Our director peeked in curiously. Murmurs about postponing the big launch started to circle. Weight was gained; hair was lost.&lt;/p&gt;

&lt;p&gt;Ultimately, the clue that cracked the case was bounces. Bounces (IE, people leaving right away) were way up on the new site. But it was clear the new site loaded much faster. Bounce rates should have gone down, not up.&lt;/p&gt;

&lt;p&gt;How did we measure bounce rates? We dug in.&lt;/p&gt;

&lt;h3 id=&quot;how-bounces-work&quot;&gt;How bounces work&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.shopify.com/s/files/1/2017/9247/products/Bebop-8-in-1-bouncy-castle-with-kids_600x.jpg?v=1553009477&quot; alt=&quot;&quot; /&gt;
 When the homepage loads, the front-end tracking code records a ‘page view’ event. If the ‘page view’ event was recorded, but then nothing else happens, analytics will consider that user to have “bounced”.&lt;/p&gt;

&lt;p&gt;It turned out that the old site was so slow that many folks left before their ‘page view’ ever got recorded. In other words, the old site was dramatically under-reporting bounces.&lt;/p&gt;

&lt;p&gt;It was like comparing two diet plans and saying the one where half the subjects quit was better because the survivors tended to lose weight.&lt;/p&gt;

&lt;h2 id=&quot;part-2-how-we-fixed-bounces&quot;&gt;Part 2: How we fixed bounces&lt;/h2&gt;

&lt;p&gt;If the front-end was under-reporting bounces, could we find a way to track a ‘page view’ without relying on the client?&lt;/p&gt;

&lt;p&gt;There was. It was on the server - though in our example, we tracked the event in Cloudflare, &lt;a href=&quot;https://medium.com/opendoor-labs/cloudflare-workers-opendoor-landing-page-infrastructure-824853a34551&quot;&gt;which we were already using&lt;/a&gt; for our A/B test setup.&lt;/p&gt;

&lt;p&gt;We started logging a &lt;code class=&quot;highlighter-rouge&quot;&gt;page-about-to-be-viewed&lt;/code&gt; event instead of the &lt;code class=&quot;highlighter-rouge&quot;&gt;page view&lt;/code&gt; event, which was really &lt;code class=&quot;highlighter-rouge&quot;&gt;page-viewed-long-enough-for-the-tracking-javascript-to-load&lt;/code&gt; event. We updated our bounce metrics calculation.&lt;/p&gt;

&lt;p&gt;Lo and behold, the new infra was better after all!  We had been giving our old page too much credit this entire time, but nobody was incentivized to cry wolf.&lt;/p&gt;

&lt;h2 id=&quot;part-3-front-end-tracking-done-right&quot;&gt;Part 3: Front-end tracking done right&lt;/h2&gt;
&lt;p&gt;Forsake the front-end. Tis a terrible place to track things, for at least three reasons.&lt;/p&gt;

&lt;h3 id=&quot;1-performance&quot;&gt;1. Performance&lt;/h3&gt;
&lt;p&gt;The less JavaScript (especially third-party) you have on your landing pages, the better. It’s a better customer experience, and it improves your page’s conversion and quality score.&lt;/p&gt;

&lt;p&gt;We calculated that getting rid of Segment and Google Tag Manager on our landing pages would yield about 10-15 points of &lt;a href=&quot;https://kinsta.com/blog/google-pagespeed-insights/&quot;&gt;Google PageSpeed&lt;/a&gt;. Google takes PageSpeed into account for Quality Score, which in turn makes your CPMs/CPC cheaper.&lt;/p&gt;

&lt;h3 id=&quot;2-fidelity&quot;&gt;2. Fidelity&lt;/h3&gt;
&lt;p&gt;Somewhere between a &lt;a href=&quot;https://www.socialmediatoday.com/news/global-ad-blocking-behavior-2019-infographic/551716/&quot;&gt;half and a quarter&lt;/a&gt; of all users have ad-blockers set up. If you’re relying on a pixel event to inform Google / Facebook of conversions, you’re not telling them about everybody.
 This makes it harder for their machine learning to optimize which customers to send your way. Which means you’re paying more for the same traffic.&lt;/p&gt;

&lt;h3 id=&quot;3-powerlessness&quot;&gt;3. Powerlessness&lt;/h3&gt;
&lt;p&gt;You want to believe that you have control of the JavaScript running on your page, but how many browser extensions does the user have? How much has actually loaded? Wait, what version of IE is this person on?&lt;/p&gt;

&lt;h3 id=&quot;what-should-i-do-instead&quot;&gt;What should i do instead?&lt;/h3&gt;

&lt;p&gt;Take all your client-side tracking, and move it&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;to &lt;a href=&quot;https://www.cloudflare.com/learning/serverless/glossary/what-is-edge-computing/&quot;&gt;the edge&lt;/a&gt; for things like page views (the server is fine, here, though, if you &lt;a href=&quot;https://en.wikipedia.org/wiki/KISS_principle&quot;&gt;KISS&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;to the server for events that have consequences, like button presses.&lt;/li&gt;
  &lt;li&gt;to publishers for paid traffic conversion, inform Google/Facebook via their server-side APIs when feasible, instead of trying to load a pixel&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;faqs--caveats&quot;&gt;FAQs &amp;amp; Caveats&lt;/h3&gt;

&lt;h4 id=&quot;does-your-approach-break-identifying--cookie-ing-users-so-you-can-retarget-effectively&quot;&gt;Does your approach break identifying &amp;amp; cookie-ing users, so you can retarget effectively?&lt;/h4&gt;
&lt;p&gt;Shouldn’t. We used Segment to &lt;code class=&quot;highlighter-rouge&quot;&gt;identify&lt;/code&gt; anonymous users; the change was just calling &lt;code class=&quot;highlighter-rouge&quot;&gt;.identify()&lt;/code&gt; in Cloudflare (and handling the user cookie there).&lt;/p&gt;

&lt;h4 id=&quot;i-heard-server-side-conversion-tracking-for-google-and-facebook-doesnt-perform-as-well&quot;&gt;I heard server-side conversion tracking for google and facebook doesn’t perform as well.&lt;/h4&gt;
&lt;p&gt;I’ve heard (and experienced) this as well. We’re entering black magic territory here… try it.&lt;/p&gt;

&lt;h2 id=&quot;the-end&quot;&gt;The End.&lt;/h2&gt;

&lt;p&gt;Want to tell me I’m misinformed / on-point / needed? &lt;a href=&quot;mailto:alexey+forsake-the-front-end@alexeymk.com&quot;&gt;Hit me up&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;We explicitly only changed the infra which served our landing pages, and kept the content - the HTML/CSS/JS - identical. Once the new infra was shown to work, we would begin to experiment with the website itself. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Lessons Learned: Giving Feedback as an Engineering Manager</title>
   <link href="http://alexeymk.com/2020/06/20/lessons-learned-in-giving-feedback-as-an-engineering-manager.html"/>
   <updated>2020-06-20T07:23:09-07:00</updated>
   <id>http://alexeymk.com/2020/06/20/lessons-learned-in-giving-feedback-as-an-engineering-manager</id>
   <content type="html">&lt;p&gt;“Alexey, do you feel the points you bring up during our post-mortems are productive?” my tech lead asked at our 1:1.&lt;/p&gt;

&lt;p&gt;Well, shit. I had thought so, but apparently not.&lt;/p&gt;

&lt;p&gt;Earlier in the year, I became the Engineering Manager on a team responsible for half of the outages at our 2,000 person company. After each incident, the on-call engineer would write-up a doc and schedule a meeting.&lt;/p&gt;

&lt;p&gt;“How come this wasn’t caught in unit tests?” I found myself asking, in front of the assembled team. Next post-mortem, same thing. “I get that we didn’t have monitoring for this particular metric, but why not?” Week after week.&lt;/p&gt;

&lt;p&gt;The tech lead had asked a great question. Was my approach working?&lt;/p&gt;

&lt;p&gt;“I want to set high expectations,” I told him. “It’s not pleasant being critiqued in a group setting, but my hope is that the team internalizes my ‘good post-mortem’ bar.”&lt;/p&gt;

&lt;p&gt;The words sounded wrong even as I said them.&lt;/p&gt;

&lt;p&gt;“Thanks for the feedback.” I said “Let me think on it.”&lt;/p&gt;

&lt;h2 id=&quot;feedback-budgets&quot;&gt;Feedback budgets&lt;/h2&gt;
&lt;p&gt;I thought about it.&lt;/p&gt;

&lt;p&gt;There’s a limited budget for criticism one can ingest productively in a single sitting. Managers will try to extend this budget through famed best-practices like the shit-sandwich and the not-really-a-question question. Employees learn these approaches over time and develop an immunity.&lt;/p&gt;

&lt;p&gt;This happened here. Once my questioning reached the criticism threshold, I was no longer “improving the post-mortem culture.” I was “building resentment and defensiveness”.&lt;/p&gt;

&lt;p&gt;I had run over budget. And yet, there was important feedback to give!&lt;/p&gt;

&lt;h2 id=&quot;change-the-template-change-the-world&quot;&gt;Change the template, change the world&lt;/h2&gt;
&lt;p&gt;Upon reflection, I ended up &lt;a href=&quot;#post-mortem-changes&quot;&gt;updating our post-mortem template&lt;/a&gt;. My questions became part of the template that got filled in before meeting.&lt;/p&gt;

&lt;p&gt;This way, it was the template pestering the post-mortem author. My role was simply to insist that the template be filled out; an entirely reasonable ask.&lt;/p&gt;

&lt;p&gt;Surprisingly enough, this worked; post-mortems became more substantive. The team pared down outage frequency and met OKR goals.&lt;/p&gt;

&lt;h2 id=&quot;process-linters&quot;&gt;Process linters&lt;/h2&gt;

&lt;p&gt;One Simple Trick I had stumbled into was that there was a way to get around feedback budgets.
Turns out there’s this other, vaster budget to tap into: the budget of process automation. When feedback is automated, it arrives sooner, feels confidential, and lacks judgement. This makes it palatable; this is why the budget is vaster.&lt;/p&gt;

&lt;p&gt;The technical analogy here is how we use linters. “Nit: don’t forget to explicitly handle the return value” during code review feels mildly frustrating. Ugh. It’s “just a style thing” and “the code works”. I’ll make the change, but with slight resentment.&lt;/p&gt;

&lt;p&gt;Yet, if that same “unhandled return value” nudge arrives in the form of a linter, it’s a different story. I got the feedback before submitting the code for review; no human had to see my minor incompetence.&lt;/p&gt;

&lt;p&gt;As a software engineer, Have Good Linters is an obvious, uncontroversial best practice. The revelatory moment for me was that templates for documents were just another kind of linter.&lt;/p&gt;

&lt;h2 id=&quot;happy-ending&quot;&gt;Happy Ending&lt;/h2&gt;

&lt;p&gt;My insight completely transformed the way Opendoor Engineering thinks about feedback; I crowd-surfed, held aloft by the team’s grateful arms, to receive my due praise as the master of all process improvement.&lt;/p&gt;

&lt;p&gt;Just kidding; COVID-19 happened and I switched jobs.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;the-appendices-three&quot;&gt;The Appendices Three&lt;/h3&gt;
&lt;h4 id=&quot;i-process-linters-seen-in-the-wild&quot;&gt;I: Process linters seen in the wild&lt;/h4&gt;

&lt;h5 id=&quot;meetings&quot;&gt;Meetings&lt;/h5&gt;
&lt;p&gt;Feedback “we have too many meetings”; “what’s the point of this meeting”; “do I need to be here”
Linter mandate no-meetings days; mandate agendas; mandate a hard max on attendee count.&lt;/p&gt;

&lt;h5 id=&quot;progress-updates&quot;&gt;Progress Updates&lt;/h5&gt;
&lt;p&gt;Feedback “Hey, how’s that project going? Haven’t heard from you in a bit”
Linter Daily stand-ups (synchronous or in slack/an app); issue trackers (Linear, Asana, Jira, Trello)&lt;/p&gt;

&lt;h5 id=&quot;bug-reports&quot;&gt;Bug Reports&lt;/h5&gt;
&lt;p&gt;Feedback “Hey, a friend who uses the app said that our unsubscribe page is broken?”
Linter Quality pre-deploy test coverage, automated error reporting (Sentry), Alerting on pages or business metrics having anomalous activity patterns (Datadog).&lt;/p&gt;

&lt;h4 id=&quot;ii-youve-gone-too-far-with-this-process-crap&quot;&gt;II: You’ve gone too far with this process crap&lt;/h4&gt;

&lt;p&gt;The process budget is vaster than the feedback budget, but it isn’t unlimited. A mature company is going to have lots of legacy process - process debt, if you will.&lt;/p&gt;

&lt;p&gt;Process requires maintenance and pruning, to avoid “we do this because we’ve always done this” type problems. High-process managers are just as likely to generate unhappy employees as high-feedback managers.&lt;/p&gt;

&lt;p&gt;&lt;a name=&quot;post-mortem-changes&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;iii-the-post-mortem-template-changes-if-thats-what-youre-here-for&quot;&gt;III: The post-mortem template changes, if that’s what you’re here for&lt;/h4&gt;

&lt;h5 id=&quot;a-5-whys-prompts&quot;&gt;A. “5 Whys” Prompts&lt;/h5&gt;
&lt;p&gt;Our original 5 Whys prompt was “Why did this outage occur.”  During the post-mortem review, I kept asking questions like “but why didn’t this get caught in regression testing?”&lt;/p&gt;

&lt;p&gt;So, after discussion, I added my evergreen questions to the post-mortem template. They are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Why didn’t the issue get caught by unit tests?&lt;/li&gt;
  &lt;li&gt;Why didn’t the issue get caught by integration/smoke tests?&lt;/li&gt;
  &lt;li&gt;Why didn’t the issue get flagged in Code Review?&lt;/li&gt;
  &lt;li&gt;Why didn’t the issue get caught during manual QA?&lt;/li&gt;
  &lt;li&gt;If the outage took over an hour to get discovered, why didn’t the monitoring page our on-call?&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;b-defining-root-cause&quot;&gt;B. Defining “Root Cause”&lt;/h5&gt;
&lt;p&gt;“5 Whys” recommends continuing to ask why until you’re about five levels deep. We were often stopping at one or two.&lt;/p&gt;

&lt;p&gt;To make stopping less ambiguous, here are a set of “root causes” that I think are close to exhaustive:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;trade-off&lt;/strong&gt; we were aware of this concern but explicitly made the speed-vs-quality trade-off (IE, not adding tests for an experiment). This was tech debt coming back to bite us.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;knowledge gap&lt;/strong&gt; the person doing the work was not aware that this kind of error was even possible (IE, tricky race conditions, worker starvation)&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;brain fart&lt;/strong&gt; now that we look at it, we should have caught this earlier. “Just didn’t get enough sleep that night” kind of thing.&lt;/p&gt;

    &lt;p&gt;If you keep asking “why” but haven’t gotten to an answer that boils down to one of these, keep going deeper (or get a second opinion).&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Working Remotely Crossed the Chasm on May 12, 2020</title>
   <link href="http://alexeymk.com/2020/05/12/working-remotely-crossed-the-chasm-on-may-12-2C-2020.html"/>
   <updated>2020-05-12T15:55:46-07:00</updated>
   <id>http://alexeymk.com/2020/05/12/working-remotely-crossed-the-chasm-on-may-12%2C-2020</id>
   <content type="html">&lt;p&gt;&lt;strong&gt;2013&lt;/strong&gt; Marissa Mayer &lt;a href=&quot;https://www.forbes.com/sites/jennagoudreau/2013/02/25/back-to-the-stone-age-new-yahoo-ceo-marissa-mayer-bans-working-from-home/#f12c67216672&quot;&gt;bans work-from-home&lt;/a&gt; at Yahoo &lt;br /&gt;
&lt;strong&gt;2020&lt;/strong&gt; Jack Dorsey &lt;a href=&quot;https://www.buzzfeednews.com/article/alexkantrowitz/twitter-got-a-big-tax-break-to-stay-in-san-francisco-jack&quot;&gt;permanently institutionalizes work-from-home&lt;/a&gt; at Twitter.&lt;/p&gt;

&lt;p&gt;Working remotely: not just for COVID-19 anymore.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.themarketingstudent.com/wp-content/uploads/2017/04/chasm-adoption-lifecycle.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;From academia to the Open Source movement, remote collaboration is not exactly novel. From Github to DuckDuckGo, remote-first successful businesses are no longer rare.&lt;/p&gt;

&lt;p&gt;Remote work occupied the cultural relevance of &lt;em&gt;something those whiz kids do, working on a beach in Thailand&lt;/em&gt;. Until today.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://pbs.twimg.com/media/CUt3QiFWEAA9DmH?format=jpg&amp;amp;name=small&quot; alt=&quot;Actually, we took this photo in Vietnam. Hi Luka!&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;what-has-prevented-remote-work-adoption&quot;&gt;What has prevented remote work adoption?&lt;/h3&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Inertia&lt;/strong&gt;. I have a job and a system that “works” for me. Don’t change what isn’t broken.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Status&lt;/strong&gt;. I have a “real job” at a “real company.” Working remote is for weirdos and loners.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Productivity&lt;/strong&gt;. Real decisions happen in elevators on the way to lunch. We know how to be efficient and innovative in-person. How the hell do you build a team remotely?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;COVID-19 addressed &lt;strong&gt;inertia&lt;/strong&gt;. Twitter, a Legitimate Tech Company™️, addressed &lt;strong&gt;status&lt;/strong&gt;. Productivity is still pretty hit-or-miss, but it’s early days yet.&lt;/p&gt;

&lt;h2 id=&quot;trust-me-im-an-expert-guinea-pig&quot;&gt;Trust me, I’m an &lt;del&gt;expert&lt;/del&gt; guinea pig&lt;/h2&gt;

&lt;p&gt;I came to the Bay Area like a moth to the flame of start-ups after college.&lt;/p&gt;

&lt;p&gt;Lacking an H-1B, I left in 2014, and started &lt;a href=&quot;https://www.hackerparadise.org/&quot;&gt;Hacker Paradise&lt;/a&gt;, a boutique travel business catered to remote workers. During that time, I worked remotely as a software engineer for &lt;a href=&quot;https://www.binti.com&quot;&gt;an SF client&lt;/a&gt; for over a year.&lt;/p&gt;

&lt;p&gt;In 2016, I came back to San Francisco. I did it for the same reason I came in the first place - the quality of the jobs and the community.&lt;/p&gt;

&lt;p&gt;I don’t love working remotely. I miss the energy I get from a well-run office environment. COVID-19 has taught me that I’m an extrovert, and shelter-in-place has sucked.&lt;/p&gt;

&lt;p&gt;And yet.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Reality is that which, when you stop believing in it, doesn’t go away&lt;/p&gt;

  &lt;p&gt;- Philip K. Dick.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;implications&quot;&gt;Implications&lt;/h2&gt;
&lt;h4 id=&quot;1-remote-work-is-about-to-do-to-san-francisco-what-san-francisco-did-to-the-south-bay&quot;&gt;1. Remote work is about to do to San Francisco what San Francisco did to the South Bay.&lt;/h4&gt;

&lt;p&gt;Techies have been leaving San Francisco for cities like Portland, Austin, Denver and Seattle (PADS) for over a decade. We seek a place to settle down and improve cost-to-quality-of-life ratio.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.mercurynews.com/wp-content/uploads/2017/07/d6c879ffa3d044f8.jpg?w=720&amp;amp;h=540&quot; alt=&quot;This is how you know they appreciate us.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;As it becomes easier than ever to keep your job while moving, this trend will pick up. The microkitchens at Twitter are nice, but not “an extra $2k/mo in rent” nice.&lt;/p&gt;

&lt;p&gt;As ambitious millennials realize they can optimize for quality of life, expect businesses like Culdesac and Hacker Paradise (see what I did there) to blossom.&lt;/p&gt;

&lt;p&gt;San Francisco will neither be abandoned quickly nor completely. It’ll retain a “city emeritus”  status, like London, Philadelphia or Palo Alto.&lt;/p&gt;

&lt;h4 id=&quot;2-were-going-to-learn-to-run-remote-organizations&quot;&gt;2. We’re going to learn to run remote organizations.&lt;/h4&gt;

&lt;p&gt;We are, as an industry, pretty clueless at remote company building.&lt;/p&gt;

&lt;p&gt;In fairness, we’re not even that good at regular company building. We just figured out 1:1s were a good idea and are still deciding who dotted-lines to whom in the matrix org structure.&lt;/p&gt;

&lt;p&gt;You can’t just slap “remote friendly” on your jobs page and decide you’ve done a “heck of a job.”&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.vox-cdn.com/thumbor/M1cEh6qPNBWgeXLJj49eLR-gJ2Q=/1400x1050/filters:format(jpeg)/cdn.vox-cdn.com/uploads/chorus_asset/file/18743612/afe8348117.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Should team sizes change? How to you measure and manage morale? What about onboarding and knowledge sharing?&lt;/p&gt;

&lt;p&gt;There’s some knowledge to be gleaned from the Basecamp folks; they &lt;a href=&quot;https://basecamp.com/books/remote&quot;&gt;wrote a book&lt;/a&gt; about remote work. That book is the COBOL of remote work; it works, but we can do better.&lt;/p&gt;

&lt;h4 id=&quot;3-were-about-to-enter-a-renaissance-in-remote-collaboration-tooling&quot;&gt;3. We’re about to enter a renaissance in remote collaboration tooling.&lt;/h4&gt;

&lt;p&gt;Slack is &lt;a href=&quot;https://threadreaderapp.com/thread/1243000487365861376.html&quot;&gt;doing phenomenally well&lt;/a&gt; during COVID-19, but it still kind of sucks, right? At least when people emailed you, they didn’t expect a response right away. Etiquette around Slack usage is still pretty immature, am I right &lt;strong&gt;@channel&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Also. Software engineers use Github, and it’s a pretty mature way to collaborate on shared work. Every other industry is still sending around &lt;code class=&quot;highlighter-rouge&quot;&gt;Presentation Final Final [2].pdf&lt;/code&gt;. Some of my favorite former co-workers are building companies in this space. expect more businesses like Figma and Loom to blossom.&lt;/p&gt;

&lt;h2 id=&quot;ps-youre-wrong-alexey-offices-are-here-to-stay&quot;&gt;PS. You’re wrong, Alexey. Offices are here to stay.&lt;/h2&gt;

&lt;p&gt;That’s true. They will.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run&lt;/p&gt;

  &lt;p&gt;- Amara’s Law&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The move to remote-as-mainstream-option will take a good decade or two. The inflection point, however, was today, on May 12, 2020.&lt;/p&gt;

&lt;p&gt;I for one look forward to kids asking what it was like when I had to &lt;strong&gt;leave&lt;/strong&gt; for work &lt;strong&gt;every day&lt;/strong&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Confessions of a Deadbeat Open Source Maintainer</title>
   <link href="http://alexeymk.com/2017/05/06/confessions-of-a-deadbeat-open-source-maintainer.html"/>
   <updated>2017-05-06T18:06:24-07:00</updated>
   <id>http://alexeymk.com/2017/05/06/confessions-of-a-deadbeat-open-source-maintainer</id>
   <content type="html">&lt;p&gt;&lt;img src=&quot;/images/abandoned-project.gif&quot; alt=&quot;a user sums it up&quot; title=&quot;source: https://github.com/gterrono/houston/issues/294#issuecomment-238914107&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Create an open source project, they said.&lt;/p&gt;

&lt;p&gt;It’ll be great for your resume, they said.&lt;/p&gt;

&lt;h3 id=&quot;part-0-wherein-we-provide-context&quot;&gt;Part 0: Wherein we provide context&lt;/h3&gt;
&lt;p&gt;The year was 2013, Meteor was the hip new kid on the block and Coffeescript was a reasonable JS dialect choice. We were fresh out of college.  Meteor was hosting their first ‘Summer Hackathon’ in San Francisco on 10th and Minna, and we figured this was our shot.&lt;/p&gt;

&lt;p&gt;Sequestering ourselves on the second floor of the hackspace, a couple of college friends and I acquired a whiteboard and some markers, and jotted down our big idea list. Not lacking for ambition, the first thing we figured we would fix was server-side rendering. Turned out this &lt;em&gt;seemingly simple&lt;/em&gt; task was already on Meteor’s &lt;a href=&quot;https://trello.com/c/Lz07fBAm/7-server-side-rendering&quot;&gt;Trello Roadmap&lt;/a&gt;, so, what the heck, we figured we’d pitch in.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/server-side-rendering.gif&quot; alt=&quot;I inquire about server-side rendering&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Speaking with the actual development team a few hours later, we learned that server side was (1) hard and (2) coming soon anyway&lt;sup id=&quot;fnref:ssr&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:ssr&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Fair enough - we’d solve our other painpoint, the lack of a proper admin DSL.&lt;/p&gt;

&lt;h2 id=&quot;part-1-introducing-z-the-mongo-admin&quot;&gt;Part 1: introducing Z, the Mongo Admin&lt;/h2&gt;
&lt;p&gt;Coming from Django land, one of my favorite Framework features had always been being able to describe Admin UIs with a very high level DSL - stuff like&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;django.db&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Author&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Model&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CharField&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max_length&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CharField&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max_length&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;birth_date&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DateField&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;blank&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;leading to auto-generated pages that look like:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://docs.djangoproject.com/en/1.11/_images/list_filter.png&quot; alt=&quot;django admin screenshot, from tutorial&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Meteor didn’t have an admin DSL&lt;sup id=&quot;fnref:genghis&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:genghis&quot; class=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; yet. I wanted very much to build one, and a zero-config one (IE, automatically discover your models) at that. I kept suggesting this idea until the others agreed. Leadership.&lt;/p&gt;

&lt;p&gt;We cranked out a desired feature-list on a whiteboard. It looked like this.&lt;/p&gt;

&lt;h4 id=&quot;the-list&quot;&gt;The List&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;document view&lt;/li&gt;
  &lt;li&gt;dealing with arrays&lt;/li&gt;
  &lt;li&gt;dealing with nested objects&lt;/li&gt;
  &lt;li&gt;boolean fields&lt;/li&gt;
  &lt;li&gt;integer fields&lt;/li&gt;
  &lt;li&gt;editing&lt;/li&gt;
  &lt;li&gt;auto-discovery &amp;amp; Schema&lt;/li&gt;
  &lt;li&gt;collection (table) view&lt;/li&gt;
  &lt;li&gt;home page view&lt;/li&gt;
  &lt;li&gt;doesn’t look terrible&lt;/li&gt;
  &lt;li&gt;wrapping the admin into a package.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then we got started. I hid in a corner and tried to figure out how to get a list of Collections, and the fields in each collection, out of an arbitrary Meteor app. It turned out there was no official way but if I poked under the covers of the undocumented &lt;code class=&quot;highlighter-rouge&quot;&gt;Meteor._RemoteCollectionDriver.mongo.db.collections&lt;/code&gt; call.&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/AlexeyMK/84ed89aaa30da0aea9170974f038955e.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;It turned out you had to ‘warm up’ the _RemoteCollectionDriver (by creating an arbitrary collection) to get the collections loaded. This was the way things worked around Meteor 0.6.&lt;/p&gt;

&lt;p&gt;Package loading was the other relatively painful thing - since we couldn’t figure out &lt;em&gt;quite&lt;/em&gt; how to get our package loaded last (since we relied on a router and a number of other packages), Yefim solved the problem the pragmatic Hackathon way, and named the package Z-Meteor Admin. This way, unless we relied on a package that decided to start with two Z’s, Meteor would load us last.&lt;/p&gt;

&lt;h4 id=&quot;launching-with-the-mvp&quot;&gt;Launching with the MVP&lt;/h4&gt;
&lt;p&gt;Surprisingly, it kind of worked.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://camo.githubusercontent.com/2b2811cfc1308e19f99a3b31bf2b9b8d9b4dd008/68747470733a2f2f7261772e6769746875622e636f6d2f67746572726f6e6f2f6d6574656f722d61646d696e2d75692f6d61737465722f646f632f636f6c6c656374696f6e2e706e67&quot; alt=&quot;an early version of the UI&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We demoed at the Hackathon and even &lt;a href=&quot;https://blog.meteor.com/congratulations-to-the-meteor-summer-hackathon-2013-teams-c2ec782e9b53&quot;&gt;won the ‘Award for Most Technically Impressive’&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Greg and I kept working on the project throughout the summer and fall of 2013. We cleaned it up and released 1.0 in December 2013, after gaining over 200 stars on Github.&lt;/p&gt;

&lt;p&gt;For our 1.0 release, I demoed a slightly-less-hacky-and-&lt;a href=&quot;https://github.com/gterrono/houston/issues/37&quot;&gt;now-renamed&lt;/a&gt; Houston Admin at Meteor Devshop 10:&lt;/p&gt;

&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;//www.youtube.com/embed/8ASwWEZsAog&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Here’s &lt;a href=&quot;http://alexeymk.com/2013/12/19/houston-admin-talk-at-meteor-devshop-10.html&quot;&gt;the blog post&lt;/a&gt; I wrote to celebrate the event.&lt;/p&gt;

&lt;h2 id=&quot;part-2-a-primer-on-gas-tank-emptying&quot;&gt;Part 2: A primer on gas tank emptying&lt;/h2&gt;

&lt;p&gt;Between the 1.0 in December 2013 and roughly summer 2014, our enthusiasm for working on the project waned. There were many reasons, but here are some:&lt;/p&gt;

&lt;h4 id=&quot;1-we-had-shit-to-do&quot;&gt;1. We had shit to do.&lt;/h4&gt;
&lt;p&gt;Greg finished school and was working for Gumroad, not in Meteor.
I was doing consulting/startup prototyping work, also mostly not in Meteor.
Yefim &amp;amp; Ceasar made the wise decision of not doing much contributing work past the initial release.&lt;/p&gt;

&lt;h4 id=&quot;2-we-were-no-longer-scratching-our-own-itch&quot;&gt;2. We were no longer scratching our own itch.&lt;/h4&gt;
&lt;p&gt;Originally, Yefim and I used Houston for the Intern Dinners we were running that summer. It was pretty helpful, and if we needed more UI stuff, we’d just add it. That was summer 2013.&lt;/p&gt;

&lt;p&gt;Even though many of the feature requests we were getting were quite sensible (and we implemented a bunch of them), we really weren’t scratching our own itch after summer 2013.&lt;/p&gt;

&lt;h4 id=&quot;3-how-do-i-even-esque-github-issues&quot;&gt;3. ‘How do I even’-esque Github Issues&lt;/h4&gt;
&lt;p&gt;Actually, having gone through some of the ~270 &lt;a href=&quot;https://github.com/gterrono/houston/issues&quot;&gt;Github Issues&lt;/a&gt; on the project, I’m surprised by how good many of them were and how attentive and friendly we were about them. Still, there were a few bad apples, like &lt;a href=&quot;https://github.com/gterrono/houston/issues/216&quot;&gt;css not rendering&lt;/a&gt;, &lt;a href=&quot;https://github.com/gterrono/houston/issues/274&quot;&gt;how to upload files&lt;/a&gt; and &lt;a href=&quot;https://github.com/gterrono/houston/issues/301&quot;&gt;Cannot login on Heroku app&lt;/a&gt; that either failed to provide enough context and/or were coming from folks who were not otherwise yet competent Meteor (or even JS) developers.&lt;/p&gt;

&lt;h4 id=&quot;4-meteor-doesnt-support-mounting--hacky-css&quot;&gt;4. Meteor doesn’t support Mounting &amp;amp; hacky CSS.&lt;/h4&gt;
&lt;p&gt;Meteor bundles all CSS &amp;amp; Javascript together when it compiles. This is not the ideal behavior for UI libraries, since if the parent app has some logic that say, for example &lt;code class=&quot;highlighter-rouge&quot;&gt;$('.save').disable()&lt;/code&gt; and later the user goes to Houston, all of a sudden all of our ‘save’ buttons are disabled and its unclear why. Likewise, any global CSS rules the parent app chooses to use, like (say) making table columns 200 pixels high, will also make our table columns 200 pixels high. Greg did &lt;a href=&quot;https://github.com/gterrono/houston/issues/172&quot;&gt;some crazy things&lt;/a&gt; to avoid the namespace collissions.&lt;/p&gt;

&lt;p&gt;Django solves this problem through &lt;a href=&quot;https://docs.djangoproject.com/en/1.11/topics/http/urls/#url-namespaces&quot;&gt;URL namespaces&lt;/a&gt;, allowing the ‘admin’ to behave largely like its own app. Express.js allows for &lt;a href=&quot;https://expressjs.com/en/api.html&quot;&gt;‘mounting’&lt;/a&gt; of multiple sub-apps on certain directory paths - in either case, no shared CSS/JS is bundled for these cases, avoiding collissions like the above.&lt;/p&gt;

&lt;p&gt;Meteor did not support Mounting out of the box. I bugged the devs about it at a later Devshop, and got an off-hand note that this was not a priority for now. Later on we tried to add Mounting to Meteor and/or host the Admin as a separate app that shared only the database with the parent app, but by then lacked the enthusiasm to bring the projects to completion.&lt;/p&gt;

&lt;h4 id=&quot;5-testing-is-tough&quot;&gt;5. Testing is tough!&lt;/h4&gt;
&lt;p&gt;Reactive apps with not a ton of business logic are &lt;em&gt;tough&lt;/em&gt; to test! Perhaps we simply lacked the experience here, but when Greg and I tried to add proper integration tests to the app, we spent tens of hours being our heads against the wall, time that would have been better spent actually fixing bugs.&lt;/p&gt;

&lt;h4 id=&quot;6-router-wars&quot;&gt;6. Router Wars&lt;/h4&gt;
&lt;p&gt;When we created Houston in summer 2013, there was a router that I believe was just called Router. Later, Iron-Router becames the default router (perhaps this was a rename?) - and even later, Flow-Router became the preferred router. Here’s &lt;a href=&quot;https://kadira.io/blog/meteor/flow-router-4-0-and-future-of-routing-in-meteor&quot;&gt;a post&lt;/a&gt; on the state of routing as of Summer 2015.&lt;/p&gt;

&lt;p&gt;The point was, you couldn’t really use both routers and so we would need lots of clever work to see if we could support both paths.  We discussed this in &lt;a href=&quot;https://github.com/gterrono/houston/issues/294&quot;&gt;a Github Issue&lt;/a&gt; and I &lt;a href=&quot;https://github.com/gterrono/houston/pull/343&quot;&gt;wrote up a prototype&lt;/a&gt; but ultimately just didn’t have enough time/energy to ship a supports-both solution.&lt;/p&gt;

&lt;h4 id=&quot;7-when-undocumented-internal-dependencies-change&quot;&gt;7. When Undocumented Internal Dependencies Change&lt;/h4&gt;
&lt;p&gt;Remember that &lt;code class=&quot;highlighter-rouge&quot;&gt;_RemoteCollectionDriver&lt;/code&gt; hack? In most every release (0.7, 0.8) my ‘whatever, go ask mongo what collections there are’ hack kept breaking and I had to re-implement a new hack based on whichever refactor the Meteor Development Group implemented internally.&lt;/p&gt;

&lt;p&gt;Not particularly taxing, but just a drain.&lt;/p&gt;

&lt;h4 id=&quot;8-we-never-stepped-back-and-thought-about-architecture&quot;&gt;8. We never stepped back and thought about architecture.&lt;/h4&gt;
&lt;p&gt;Things were in slighly better shape than they were back during the hackathon, but there was never a “how should this package be properly architected” conversation. As a result, in later months as I tried to go back and implement changes, it was never clear to me what was where or why, or what edge cases I would need to consider and support. This made “weekend-a-month” type support less useful over time as I knew the codebase less and less well.&lt;/p&gt;

&lt;h2 id=&quot;part-3-where-we-go-to-costa-rica-and-try-to-turn-things-around&quot;&gt;Part 3: Where we go to Costa Rica and try to turn things around&lt;/h2&gt;

&lt;h4 id=&quot;costa-rica-the-plan&quot;&gt;Costa Rica: the plan&lt;/h4&gt;

&lt;p&gt;Around Summer 2014, a year after we started, things were going kind of slumpey. As an effort to regroup, I invited Greg to Costa Rica where I was staying for a few months:
&lt;img src=&quot;/images/costa-rica-summit.gif&quot; alt=&quot;Hey Greg, come to Costa Rica!&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The plan was basically to unbreak the critical stuff and make a plan for what we wanted to do next, and maybe also play some soccer on the beach.&lt;/p&gt;

&lt;h4 id=&quot;costa-rica-what-actually-happened&quot;&gt;Costa Rica: what actually happened&lt;/h4&gt;
&lt;p&gt;I got bogged down on a consulting project that was a bit behind schedule as Greg visited. So we got maybe 1-2 days of work done, which instead of dealing with any of the issues on my part was shipping a new feature I decided I wanted, called &lt;a href=&quot;https://github.com/gterrono/houston#custom-actions&quot;&gt;Custom Actions&lt;/a&gt;, which were kind of cool but not at all the problem.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://camo.githubusercontent.com/dbf805a68e8d8ea7e5afa28ad991035ae97530d7/68747470733a2f2f7261772e6769746875622e636f6d2f67746572726f6e6f2f686f7573746f6e2f6d61737465722f646f632f637573746f6d2d616374696f6e732e706e67&quot; alt=&quot;Custom Actions&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We still played some soccer, though. Greg was way better at soccer than the rest of us.&lt;/p&gt;

&lt;h4 id=&quot;get-other-maintainers-they-said&quot;&gt;Get other maintainers, they said&lt;/h4&gt;
&lt;p&gt;We had two pretty helpful maintainers turn up: First, &lt;a href=&quot;https://github.com/gterrono/houston/commits?author=zurawiki&quot;&gt;Roger&lt;/a&gt; decided to redesign our UI from basic boostrap to the line-green version you see today. Second, sometime around late 2014, this Swiss dude named &lt;a href=&quot;https://github.com/matteodem&quot;&gt;Matteo&lt;/a&gt; showed up and &lt;a href=&quot;https://github.com/gterrono/houston/issues/251&quot;&gt;fixed&lt;/a&gt; a bunch of things. That was awesome, and we talked to him on Skype and gave him write access as somebody had suggested for growing your maintainers.&lt;/p&gt;

&lt;p&gt;Later, in 2015, my friend &lt;a href=&quot;https://github.com/samcorcos&quot;&gt;Sam&lt;/a&gt; came in and added some proper tests, but development had largely ceased by then.&lt;/p&gt;

&lt;p&gt;Still, for whatever reason, nobody stuck around and answered issues, etc, for the long term, so it was still up to us.&lt;/p&gt;

&lt;h2 id=&quot;part-4-decline-and-fall-of-the-houston-admin&quot;&gt;Part 4: Decline and Fall of the Houston Admin&lt;/h2&gt;

&lt;h4 id=&quot;meteor-10-is-released&quot;&gt;Meteor 1.0 is released!&lt;/h4&gt;
&lt;p&gt;Coinciding with Greg’s visit, Meteor finally &lt;a href=&quot;https://blog.meteor.com/meteor-1-0-d0702aab3ef&quot;&gt;released 1.0&lt;/a&gt; in October 2014. Perhaps we’ll no longer have to adjust the incompatible hacks we use to figure out which collections are to be added and we can focus on the good stuff!&lt;/p&gt;

&lt;h4 id=&quot;blaze-vs-react&quot;&gt;Blaze vs React&lt;/h4&gt;
&lt;p&gt;If only. A year later, the big question up in the air becomes whether to use Meteor’s original Blaze templating or &lt;a href=&quot;https://www.discovermeteor.com/blog/blaze-react-meteor/&quot;&gt;switch to a react-based front-end&lt;/a&gt;. React is great and all, but we for one are not up for yet anothe rewrite of this thing we haven’t really gotten to use for our own stuff in like, two years.&lt;/p&gt;

&lt;h4 id=&quot;13&quot;&gt;1.3&lt;/h4&gt;
&lt;p&gt;To add insult to injury, The Meteor Development Group ignores the principles of &lt;a href=&quot;http://semver.org/&quot;&gt;Semantic Versioning&lt;/a&gt; to release 1.3 in April 2016 with &lt;a href=&quot;https://guide.meteor.com/1.3-migration.html&quot;&gt;Breaking Changes&lt;/a&gt; - and our package is &lt;a href=&quot;https://github.com/gterrono/houston/issues/372&quot;&gt;broken yet again. Maybe.&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;part-5-an-epilogue&quot;&gt;Part 5, an Epilogue&lt;/h2&gt;
&lt;p&gt;Perhaps the most poignant symptom of the sort of stagnancy that the project fell into is that I had an idea to write this blog-post in early 2015, and it took two years to even get the post-mortem for this project done.&lt;/p&gt;

&lt;p&gt;I think Greg may have fixed the 1.3 issue, but the last change I can see in the codebase is in March 2016 and frankly I just don’t care anymore. On the bright side, it looks like there’s a &lt;a href=&quot;https://github.com/yogiben/meteor-admin&quot;&gt;half-decent competitor&lt;/a&gt; that people who want an admin can use&lt;sup id=&quot;fnref:yogiben&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:yogiben&quot; class=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;. Also, the Meteor Development Group looks like it’s less interested in Meteor and focusing on &lt;a href=&quot;http://www.apollodata.com/&quot;&gt;GraphQL tools&lt;/a&gt; these days, so maybe nobody needs this. On the bright side, 880 stars on Github, so that’s cool!&lt;/p&gt;

&lt;h4 id=&quot;what-have-we-learned&quot;&gt;What have we learned?&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Open-source maintenance is hard, especially if your only remaining motivation is altruism. &lt;a href=&quot;https://twitter.com/schneems&quot;&gt;Richard Schneeman&lt;/a&gt; gave a great talk about &lt;a href=&quot;https://www.schneems.com/2016/05/31/saving-sprockets.html&quot;&gt;Saving Sprockets&lt;/a&gt; last year which nailed it.&lt;/li&gt;
  &lt;li&gt;Perhaps we should have quit while we were ahead and put an “not actively maintained, looking for maintainers” on the README back in 2014. That would have been a bit more responsible.&lt;/li&gt;
  &lt;li&gt;On the bright side, building a key piece of infrastructure for a hip new development framework turned out to be a great way to get a lot of users for your open source project.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;one-more-thing&quot;&gt;…one more thing&lt;/h4&gt;
&lt;p&gt;I leave you with the contributions over time graph, which tells the whole story, but with graphics.
&lt;img src=&quot;/images/contributions.gif&quot; alt=&quot;contributions over time&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;thank-you&quot;&gt;Thank you&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;To Greg, the prospect of collaborating with whom kept me in the project as long as it did.&lt;/li&gt;
  &lt;li&gt;The Yefim, Ceasar, Matteo, Roger, Sam and other contributors!&lt;/li&gt;
  &lt;li&gt;The the Meteor Development Group folks for their contributions to realtime web development, whose ideas will live on independent of Meteor’s future, and also for the free snacks and t-shirts and the Pebbles we won at that hackathon back at 2013.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:ssr&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;as far as I know, Meteor still doesn’t have proper Server-Side rendering. Arunoda &lt;a href=&quot;https://meteorrhacks.com/server-side-rendering/&quot;&gt;wrote a community library&lt;/a&gt; in 2015, but given the Blaze/React split, I’m uncertain how much of this has come to pass. &lt;a href=&quot;#fnref:ssr&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:genghis&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Ironically, the closest thing to an Meteor Admin at the time was &lt;a href=&quot;genghisapp.com&quot;&gt;Genghis&lt;/a&gt;, a standalone one-page PHP-based Mongo editor by &lt;a href=&quot;https://twitter.com/bobthecow&quot;&gt;Justin Hileman&lt;/a&gt;, whose younger brother I had somehow hired the year prior. Silicon Valley is a small place. &lt;a href=&quot;#fnref:genghis&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:yogiben&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;though it too looks like it has not been updated in 10 months :-/. &lt;a href=&quot;#fnref:yogiben&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Test Driven Interviewing</title>
   <link href="http://alexeymk.com/2017/05/06/testing-your-way-through-technical-interviews.html"/>
   <updated>2017-05-06T11:31:37-07:00</updated>
   <id>http://alexeymk.com/2017/05/06/testing-your-way-through-technical-interviews</id>
   <content type="html">&lt;p&gt;For most&lt;sup id=&quot;fnref:tdd&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:tdd&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; engineering tasks, I prefer to avoid TDD, or Test Driven Development.&lt;/p&gt;

&lt;p&gt;Yet when I job-hunt, I use TDD religiously&lt;sup id=&quot;fnref:coding&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:coding&quot; class=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;. It has been tremendously helpful.&lt;/p&gt;

&lt;h4 id=&quot;hmpf-why&quot;&gt;Hmpf. Why?&lt;/h4&gt;
&lt;p&gt;Most interview challenges actually come in two parts.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Can you take a broadly-worded problem and nail it down into something unambiguous?&lt;/li&gt;
  &lt;li&gt;Can you implement a challenging but unambiguous spec in the allotted time?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;TDD forces you into the ideal mindset for nailing down (1) problem definitions. There’s no better way to properly grok a problem than to have to think through all the fun ways an implementation could be slightly off.&lt;/p&gt;

&lt;p&gt;The implementation itself (2) also gets easier since you no longer have to assume that your code “probably” works, or fiddle with a REPL each time you’re ready to check.&lt;/p&gt;

&lt;h4 id=&quot;so-how-do-i-do-it&quot;&gt;So how do I do it?&lt;/h4&gt;
&lt;p&gt;As soon as you hear the problem, resist the urge to rush straight to the solution.&lt;/p&gt;

&lt;p&gt;Instead, force yourself to fully think through the test cases for an &lt;em&gt;arbitrary implementation&lt;/em&gt;. Make it a dialog - “what if the same element is in the array multiple times?” Get the interviewer engaged. Show you care.&lt;/p&gt;

&lt;p&gt;By the time you’ve written good tests and the interviewer agrees, you’re all set.  Even though you tried not to, you probably already have a decent solution in mind. Your tests will let you know you’re done. They’ll also give you the comfort that your subsequent clean up / refactoring doesn’t inadvertantly break your implemenation.&lt;/p&gt;

&lt;h4 id=&quot;yeah-but-i-can-always-just-write-tests-later&quot;&gt;Yeah, but I can always just write tests later.&lt;/h4&gt;
&lt;p&gt;When I conduct interviews, I keep running into candidates clever enough to power through engineering challenges on raw talent&lt;sup id=&quot;fnref:smarter&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:smarter&quot; class=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;. The candidate implements an &lt;em&gt;optimal&lt;/em&gt; solution within fifteen minutes. Then it’s time for tests and she just &lt;strong&gt;cannot&lt;/strong&gt; think of cases beyond the common path, which makes her look like &lt;a href=&quot;http://blog.thefirehoseproject.com/posts/best-team-tactics-to-write-software/&quot;&gt;a cowboy&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I blame the &lt;a href=&quot;https://hbr.org/2006/12/the-curse-of-knowledge;at/1&quot;&gt;curse of knowledge&lt;/a&gt; - once you’ve solved the problem, it’s harder to think about what wrong turns you could have taken. It all feels trivial.&lt;/p&gt;

&lt;h4 id=&quot;seriously-though-are-you-going-to-make-me-import-a-testing-framework-like-mocha-or-cucumber-ugh&quot;&gt;Seriously though, are you going to make me import a testing framework? Like, Mocha or Cucumber? Ugh.&lt;/h4&gt;

&lt;p&gt;¯\_(ツ)_/¯, I just use asserts and print statements. If I’m feeling fancy, I’ll create an array of test case scenarios and run them like&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;test_cases = [
  [[2, 2], 4],
  [[1, 2, 3, 4], 10],
  [[], 0],
  [[-3, 2], 1],
  [[100, 2], 102],
  [[&quot;banana&quot;], None]
]

for test_case in test_cases:
  args, expected_answer = test_case
  answer = quantum_addition(args)

  print(&quot;called add({}) and got {}, expected {}&quot;
    .format(args, answer, expected_answer))

  if answer != expected_answer:
    print(&quot;UH OH!&quot;)

  # (or you could just do: assert answer == expected_answer)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you insist on being fancy, you can do that thing where you ask your interviewer if they’d like you to use a proper testing framework first, and of course they don’t, but now it looks like you &lt;em&gt;could&lt;/em&gt; and you’re just doing them a favor by using asserts, cause you’re like, super assertive.&lt;/p&gt;

&lt;h4 id=&quot;ok-so-now-what&quot;&gt;Ok so now what?&lt;/h4&gt;
&lt;p&gt;Well obviously you should come &lt;a href=&quot;https://jobs.lever.co/opendoor/f1bace9e-8d29-4d45-a72b-98e2c06bf2c1?lever-via=aHMDi1LN8p&quot;&gt;work at Opendoor&lt;/a&gt; with me! We have &lt;a href=&quot;https://static1.squarespace.com/static/544a7286e4b0e537e01eb8e0/583e0f3c59cc68a8c3dcbc35/5841eb973e00be994a516b61/1480715164561/slide1%402x.jpg&quot;&gt;the good coconut water&lt;/a&gt; and don’t run out of it until like noon, 12:30 on good days. Plus, there’s a decent chance you’ll run into me on your phone screen and we can have that awkward interaction of trying to figure out why my name sounds familiar.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Thanks to Vaibhav, Joe, Nick, Gayle, Tess, Charlie, Kevin, Zain, and Yahel for giving feedback on earlier drafts that I incorporated.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:tdd&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Don’t get me wrong, TDD &lt;a href=&quot;https://www.facebook.com/notes/kent-beck/rip-tdd/750840194948847/&quot;&gt;has its uses&lt;/a&gt;, but we often mistake what Kent Beck meant by &lt;a href=&quot;https://martinfowler.com/bliki/UnitTest.html&quot;&gt;‘unit’&lt;/a&gt;. Testing ‘just right’ is hard. &lt;a href=&quot;#fnref:tdd&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:coding&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;To be clear, TDD won’t help you with interview where you don’t actually code (IE, whiteboard interviews)  You’ll &lt;a href=&quot;https://medium.com/green-river-web-mobile-developers/surviving-your-first-technical-interview-inquisition-tips-tricks-live-demos-739ca0f8f845fuq&quot;&gt;still have to start by asking questions&lt;/a&gt;, though. &lt;a href=&quot;#fnref:coding&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:smarter&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;I used to have that problem earlier in my career. I’ve addressed it, largely by becoming dumber. &lt;a href=&quot;#fnref:smarter&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Two Steps Forward, Two Steps Back: 2016 in review</title>
   <link href="http://alexeymk.com/2017/01/03/two-steps-forward-two-steps-back.html"/>
   <updated>2017-01-03T10:31:37-08:00</updated>
   <id>http://alexeymk.com/2017/01/03/two-steps-forward-two-steps-back</id>
   <content type="html">&lt;p&gt;2015 and 2016 could not have been more different.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2015&lt;/strong&gt; was mostly spent living out of a carry-on bag, traveling from Estonia and Berlin to Tokyo and Taipei helping run trips for, and building, &lt;a href=&quot;http://hackerparadise.org&quot;&gt;Hacker Paradise&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/bicycle_trip.jpg&quot; style=&quot;max-width: 100%  !important;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It was great. Wanderlust: satisfied.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2016&lt;/strong&gt; found me receiving an H1-B visa, moving back to the Bay Area, and obtaining honest-to-goodness employment. Different.&lt;/p&gt;

&lt;p&gt;Here’s how becoming sedentary and employed has turned out so far, relative to expectations.&lt;/p&gt;

&lt;h2 id=&quot;the-good&quot;&gt;The Good&lt;/h2&gt;
&lt;p&gt;Basically, stability.&lt;/p&gt;

&lt;h3 id=&quot;engaged&quot;&gt;Engaged&lt;/h3&gt;
&lt;p&gt;My partner Mari&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; and I are (at long last) engaged! After 5 years of being together, we’re back to living together and have a place in Bernal Heights that feels like our own. We’re so domestic we even got an L-shaped couch and the kind of mattress they advertise on podcasts.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/casper.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;There’s something very warm and comforting in having a good sense of who you are going to spend the rest of your life with. Mari has been an anchor, making the disruption in other parts of my life that much more manageable.&lt;/p&gt;

&lt;h3 id=&quot;friendship--community&quot;&gt;Friendship &amp;amp; Community&lt;/h3&gt;
&lt;p&gt;It’s also been rewarding to be able to engage and re-engage in meaningful friendships. One of the toughest parts of traveling full-time turned out to be meeting new people every month (great people, mind you) and forging friendships with them. At some point, the task became exhausting. I yearned for the comfort of spending time with the sort of friend that already knew my jokes were overly-complicated and terrible and would laugh anyway, if only on the inside.&lt;/p&gt;

&lt;p&gt;I’m still not 100% back to feeling integrated or satisfied with the depth of my relationships back in San Francisco, but compared to full-time travel, the improvement has been remarkable and the last few months of 2016 felt much better than the months prior.&lt;/p&gt;

&lt;h3 id=&quot;job&quot;&gt;J.O.B.&lt;/h3&gt;
&lt;p&gt;I joined &lt;a href=&quot;https://opendoor.com/?src=alexey&quot;&gt;Opendoor&lt;/a&gt; in September. Part of the motivation of being an employee was to have co-workers I would learn from &amp;amp; enjoy working with. This came true.  Another part, which I was more surprised to learn, was that “Growth Engineering” - a term I would have thought ridiculous back in college, and as a sell-out-sort-of-a-thing-to-do, is actually quite engaging and satisfying.  It feels like I’m doing behavioral economics research again, but with higher stakes. I’m very grateful to &lt;a href=&quot;https://twitter.com/remis&quot;&gt;Remi Gabillet&lt;/a&gt;, for first identifying this role for me.&lt;/p&gt;

&lt;p&gt;Opendoor has easily met expectations in terms of the company’s growth, the quality of my coworkers, my faith in the executive team, and my ability to have an impact as an individual contributor joining a 150+ person company.&lt;/p&gt;

&lt;h2 id=&quot;the-bad&quot;&gt;The Bad&lt;/h2&gt;
&lt;p&gt;There’s no better crutch for procrastination than employment.&lt;/p&gt;

&lt;h3 id=&quot;balance&quot;&gt;Balance&lt;/h3&gt;
&lt;p&gt;A problem that I’ve seen a fair bit with engineers and especially founders in tech is this mission-at-all-costs mentality. Like political operatives on a critical campaign or soldiers in the middle of a war, it’s easy to say “this thing I’m part of is more important. I can postpone [personal thing that I should get done] for now, because if we win we can always deal with it later.”&lt;/p&gt;

&lt;p&gt;And then the mission comes to an end and we’re stuck figuring out that we’ve got to find a way to do our own laundry and maybe go to the gym more often and our last annual check-up was in the last decade. Maybe you deal with it, but often you start hoping and searching for another mission to come along because it’s easier and you don’t have to do boring, mundane things like take care of yourself.&lt;/p&gt;

&lt;p&gt;One of the reasons for deciding to get a job rather than starting another company was that I could use the superior work-life balance to get the rest of my shit in order, and avoid getting caught in the mission-at-all-costs mentality.&lt;/p&gt;

&lt;p&gt;That hasn’t really happened.&lt;/p&gt;

&lt;p&gt;It did, a little bit, at Sprig. But at Opendoor, working harder and staying longer has been too gratifying, too tempting to be easily avoided, and I found myself slowly falling back into using mission-at-all-costs excuses&lt;sup id=&quot;fnref:3&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;h3 id=&quot;consequences&quot;&gt;Consequences&lt;/h3&gt;
&lt;p&gt;As a result, I’ve definitely gained some weight (something that did not happen while traveling and eating at restaurants full-time for a year and a half). I’ve ignored a doctor’s note to start watching my cholesterol. I missed a dentist appointment. I bike to work but have failed to follow a regular gym schedule.&lt;/p&gt;

&lt;p&gt;I also have yet to deal with setting up some nuances relating to my Health Savings Account. I have an accident claim from a rental car that got broken into that has been pending since September.&lt;/p&gt;

&lt;p&gt;I planned to set concrete mental health goals around building resilience and good habits, and meet with a therapist regularly&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;. Still TBD.&lt;/p&gt;

&lt;p&gt;Instead, I’ve reverted to occasionally staying up way later than I should and then being less productive at work the next day - essentially a high-school version of myself but with more severe impact to my productivity, given I’m not sixteen anymore.&lt;/p&gt;

&lt;p&gt;My lifestyle has me eating less healthily and drinking more than when I was traveling, on “vacation”.&lt;/p&gt;

&lt;p&gt;I find myself easily falling into many of the typical privileged-engineer-at-a-legit-startup-in-the-bay-area traps. It’s funny but also a little disappointing, since I was well aware of (and caution others) against this kind of self-neglect. I’d rather be making &lt;em&gt;new&lt;/em&gt; mistakes.&lt;/p&gt;

&lt;h2 id=&quot;all-in-all&quot;&gt;All in all&lt;/h2&gt;
&lt;p&gt;Some good, some bad.  As far as new year’s resolutions go, I’m going to need to make sure to be hitting the original goals I had in mind when I moved back to San Francisco.&lt;/p&gt;

&lt;h2 id=&quot;2017-goals&quot;&gt;2017 Goals&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Sleep&lt;/strong&gt;
Maintain a healthy sleep schedule (7+ hours of sleep and in bed by 1AM, 95% of the days of the year).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exercise&lt;/strong&gt; Do something (bouldering, gym, or other form of exerfise) 3+ days a week, 95% of weeks except vacation. Reach and maintain target weight of around 10 pounds less than Jan 1st, 2016.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mental Health&lt;/strong&gt; Build mental resilience (either follow a book or hire a therapist by Jan 30; create a growth plan; follow said plan).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Physical Health&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Schedule &amp;amp; attend follow-up physical by Jan 30; follow recommendations.&lt;/li&gt;
  &lt;li&gt;Schedule &amp;amp; attend dentist appointment by Feb 30.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Writing (AKA, other interests)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Publish a 500+ word piece once a month, including receiving quality feedback from friends.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fingers crossed.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;I have to say I’m pretty stoked to stop explaining why I use “partner” and just saying “fiancee”. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:3&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;More caveats: Opendoor is a great place to work and if I haven’t tried convincing you to join yet, ping me. &lt;a href=&quot;#fnref:3&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;I assume that by 2017 this is not a controversial position. To be explicit: I’m not in any particular trouble, other than the sort of typical garden-variety depression and anxiety you’ll often see in ambitious over-achievers. You don’t wait until you’re overweight to start exercising; you shouldn’t wait to be struggling emotionally to work with a professional to build resilience and maintain mental health. &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Dependonate: Donate to your dependencies</title>
   <link href="http://alexeymk.com/2016/03/10/dependonate-donate-to-your-dependencies.html"/>
   <updated>2016-03-10T12:51:31-08:00</updated>
   <id>http://alexeymk.com/2016/03/10/dependonate-donate-to-your-dependencies</id>
   <content type="html">&lt;p&gt;Giving back to open source projects you benefit from is one of those obviously-good-in-theory-confusing-in-practice ideas, like eating healthy or being carbon-neutral.&lt;/p&gt;

&lt;p&gt;Many services - flattr, bountysource and gratify, among others, offer widgets that developers can put on their projects to encourage subscription donations. None has been a breakout success.&lt;/p&gt;

&lt;p&gt;There needs to be a fast and straightforward tool to empower an engineering manager to say “sure, let’s do it.”&lt;/p&gt;

&lt;h3 id=&quot;dependonate&quot;&gt;Dependonate&lt;/h3&gt;
&lt;p&gt;Here’s how it would work.&lt;/p&gt;

&lt;h4 id=&quot;dependency-file&quot;&gt;Dependency File&lt;/h4&gt;
&lt;p&gt;Most projects I work on these days have a file with a list of package dependencies - &lt;code class=&quot;highlighter-rouge&quot;&gt;Gemfile&lt;/code&gt; for ruby, &lt;code class=&quot;highlighter-rouge&quot;&gt;requirements.txt&lt;/code&gt; for python, &lt;code class=&quot;highlighter-rouge&quot;&gt;package.json&lt;/code&gt; for node, and plenty more.&lt;/p&gt;

&lt;h4 id=&quot;list-of-dependencies&quot;&gt;List of Dependencies&lt;/h4&gt;
&lt;p&gt;Piggybacking on package managers files, Dependonate would take a project’s dependency file and generate a list of direct and indirect projects. Each of those projects can then be parsed to see whether their Readme file includes links to any of the popular donate options (flattr, bountysource, gratify, paypal, etc).&lt;/p&gt;

&lt;h4 id=&quot;actionable-next-steps&quot;&gt;Actionable Next Steps&lt;/h4&gt;
&lt;p&gt;Finally, Dependonate would open up the various URLs that would make donating as registering and entering your credit card on the services above, the lists of desired projects to contribute to having been auto-filled.&lt;/p&gt;

&lt;p&gt;Dependonate would also generate a pretty report for the company to put up on their website as proponents of Open Source, somewhere near the engineering hiring page.&lt;/p&gt;

&lt;p&gt;Hit me up if you build something like this, or if your company would be up for donating through it.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Flystein saved me over 1000 dollars on flight costs and all they got was this blog post</title>
   <link href="http://alexeymk.com/2015/10/05/flystein-saved-me-over-1000-dollars-on-flight-costs-and-all-they-got-was-this-blog-post.html"/>
   <updated>2015-10-05T13:53:30-07:00</updated>
   <id>http://alexeymk.com/2015/10/05/flystein-saved-me-over-1000-dollars-on-flight-costs-and-all-they-got-was-this-blog-post</id>
   <content type="html">&lt;div class=&quot;post_text&quot;&gt; &lt;div class=&quot;post_text_inner&quot;&gt; I found myself planning a series of flights for &lt;a href=&quot;http://www.hackerparadise.org/&quot;&gt;Hacker Paradise&lt;/a&gt;, flying from Tel Aviv –&amp;gt; New York –&amp;gt; San Francisco –&amp;gt; Tokyo –&amp;gt; Tel Aviv with a few days of flexibility for when to take each flight. I spent about half an hour on Skyscanner and Google Flights, and couldn’t find flights for less than about $3,000. Which is a lot. At roughly the same time, Vlad from Flystein reached out and offered to help Hacker Paradise participants book flights. So I tried the service out.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt; &lt;p&gt;&lt;a href=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-above-the-fold.png&quot;&gt;&lt;img src=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-above-the-fold.png&quot; alt=&quot;Flystein Homepage&quot; srcset=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-above-the-fold.png 1324w, https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-above-the-fold-300x90.png 300w, https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-above-the-fold-768x231.png 768w, https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-above-the-fold-1024x309.png 1024w, https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-above-the-fold-700x211.png 700w&quot; sizes=&quot;(max-width: 1324px) 100vw, 1324px&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;What’s Flystein?&lt;/h2&gt; &lt;p&gt;Glad you asked. &lt;strong&gt;Flystein&lt;/strong&gt;, it turns out, is what a value travel agent looks like in the “digital age”. &lt;strong&gt;Instead of making money by taking a percentage of your booking fare from airlines, Flystein helps you find the cheapest possible fare online that meets your needs&amp;nbsp;and then charges a flat fee for doing so.&lt;/strong&gt; You then book the flights yourselves, via links &amp;amp; booking instructions Flystein provides.&lt;/p&gt; &lt;p&gt;Taking money for providing value. Who knew.&lt;/p&gt; &lt;h2&gt;How did it go?&lt;/h2&gt; &lt;p&gt;I gave Flystein my itinerary and neurotic set of flight cost preferences.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-itinerary.png&quot;&gt;&lt;img class=&quot;alignnone wp-image-18331 size-full&quot; title=&quot;My flight itinerary&quot; src=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-itinerary.png&quot; alt=&quot;My flight itinerary&quot; width=&quot;523&quot; height=&quot;375&quot; srcset=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-itinerary.png 523w, https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-itinerary-300x215.png 300w&quot; sizes=&quot;(max-width: 523px) 100vw, 523px&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;A day later, they came back with flights totalling $1934. &lt;strong&gt;A ~$1,150 difference&lt;/strong&gt; between a “reasonably competent” online flight shopper like me and a bona fide flight expert.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-proposed-routes.png&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-18332&quot; src=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-proposed-routes.png&quot; alt=&quot;Proposed Routes&quot; width=&quot;570&quot; height=&quot;432&quot; srcset=&quot;https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-proposed-routes.png 570w, https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-proposed-routes-300x227.png 300w, https://wwwcdn.flystein.com/wp-content/uploads/2016/07/flystein-proposed-routes-500x380.png 500w&quot; sizes=&quot;(max-width: 570px) 100vw, 570px&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;How did things get so much cheaper?&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Throwaway Ticketing.&lt;/strong&gt; My Tel Aviv to New York flight includes a roundtrip flight back to Copenhagen in February. I’m probably not going to take it, but who knows. Also, who cares – it was $200 or so cheaper than the equivalent one-way flight. I would have never known to check.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Hidden City Ticketing.&lt;/strong&gt; My San Francisco to Tokyo flight included a day-long layover in Tokyo&amp;nbsp;and then continued on to Hong Kong. I, however, never made it on the connecting flight. One day, Hong Kong, one day.&lt;/p&gt; &lt;p&gt;The Economist has a good write-up of the &lt;a href=&quot;http://www.economist.com/news/business/21639575-economics-air-ticketing-can-produce-some-peculiarities-phantom-flights&quot;&gt;hows and whys and economics of flight hacks&lt;/a&gt;. The point is, you can save a considerable amount of money on flights if you know what to look for and are willing to dedicate the time required. Or you can use Flystein.&lt;/p&gt; &lt;h2&gt;How was booking?&lt;/h2&gt; &lt;p&gt;Mostly fine. One of my flight legs was expired by the time I looked (you have to book quickly) and I ended up calling &lt;a class=&quot;vglnk&quot; title=&quot;Link added by VigLink&quot; href=&quot;http://www.britishairways.com/&quot; rel=&quot;nofollow&quot;&gt;&lt;span&gt;British &lt;/span&gt;&lt;span&gt;Airways&lt;/span&gt;&lt;/a&gt;, &lt;strong&gt;only to be told that I needed to pay thousands of dollars more.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;So I let Flystein know. After cursing about British Airways for a bit, Vlad found a flight that worked perfectly only a few minutes later. &lt;strong&gt;The new flight cost a whole $20 more.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The whole booking episode could have been avoided if I had the ability to go full “travel agent” and just given Flystein permission to book on my behalf. It turns out there are legal reasons why doing so is not trivial, but they’re on it.&lt;/p&gt; &lt;h2&gt;Was it worth it?&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Flystein saved me over $1,000.&lt;/strong&gt; Research fees for a trip like mine cost &amp;lt;$100 (a simpler flight starts at $49). So, yes. 90%+ of the savings for near 0% of the frustration in finding &amp;amp; booking flights. Value….but what if they don’t find anything? Fair question.&lt;/p&gt; &lt;p&gt;It’s possible you’ve already found the cheapest rate you’re going to get. Flystein has a &lt;a href=&quot;https://app.flystein.com/#/trip/beatmine?lang=en&amp;amp;_ga=1.95856924.1684646914.1465807363&quot;&gt;&lt;strong&gt;beat-my-price option&lt;/strong&gt;&lt;/a&gt; where you only get charged if Flystein actually saves you more than their fees.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Flystein. Use it when booking flights of non-trivial complexity (international flights over $500). It’s a thing.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Hackathon - A retrospective - a talk</title>
   <link href="http://alexeymk.com/2015/06/22/hackathon-a-retrospective-a-talk.html"/>
   <updated>2015-06-22T12:53:52-07:00</updated>
   <id>http://alexeymk.com/2015/06/22/hackathon---a-retrospective---a-talk</id>
   <content type="html">&lt;p&gt;&lt;a href=&quot;https://twitter.com/nickemeyer&quot;&gt;Nick Meyer&lt;/a&gt; and I gave a talk at &lt;a href=&quot;http://hackcon.io&quot;&gt;HackCon II&lt;/a&gt; in February about a hackathon we ostensibly threw.&lt;/p&gt;

&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;https://www.youtube.com/embed/cBRMuPBtTN0?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;a href=&quot;http://hackcon.io&quot;&gt;Hackcon III&lt;/a&gt; is at Github HQ in SF this summer.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Did I say Estonia? I meant Costa Rica</title>
   <link href="http://alexeymk.com/2014/08/01/did-i-say-estonia-3F-i-meant-costa-rica.html"/>
   <updated>2014-08-01T04:27:40-07:00</updated>
   <id>http://alexeymk.com/2014/08/01/did-i-say-estonia%3F-i-meant-costa-rica</id>
   <content type="html">&lt;p&gt;I’m putting &lt;a href=&quot;/2014/07/03/when-visas-turn-into-pumpkins.html&quot;&gt;Estonia&lt;/a&gt; on hold - still excited to go there, and hoping to do so in April or May, once it warms up again.&lt;/p&gt;

&lt;p&gt;In the meanwhile, I’m heading to Costa Rica to help facilitate &lt;a href=&quot;http://hackerparadise.org&quot;&gt;Hacker Paradise&lt;/a&gt; a 12-week digital retreat. The location has all the benefits of nomadism (cheap, beautiful location with delicious food and friendly people) while bringing together a small community of hackers working on individual learning, contracting or their own companies.&lt;/p&gt;

&lt;p&gt;Here’s how it happened: &lt;a href=&quot;https://twitter.com/CaseyRosengren&quot;&gt;Casey Rosengren&lt;/a&gt;, a Penn classmate and fellow &lt;a href=&quot;http://www.hackthechange.org/&quot;&gt;Penn Hackathon organizer&lt;/a&gt;, was doing the whole travel-and-freelance thing and did some work for a boutique hotel that was down to give Casey the entire place for a couple of months, leading to the creation of Hacker Paradise. I saw one of Casey’s posts about the place, and offered to come help.&lt;/p&gt;

&lt;p&gt;In short: I’ll be hacking by the pool in Costa Rica until November if you need me.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.hackerparadise.org/assets/img/portfolio/xfolio04.jpg.pagespeed.ic.7kj395nNtx.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;p&gt;PS. Care to join, either for the whole 12 weeks or for a shorter trip? We’re &lt;a href=&quot;http://hackerparadise.org&quot;&gt;keeping a couple of spots open&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>When visas turn into pumpkins</title>
   <link href="http://alexeymk.com/2014/07/03/when-visas-turn-into-pumpkins.html"/>
   <updated>2014-07-03T18:06:24-07:00</updated>
   <id>http://alexeymk.com/2014/07/03/when-visas-turn-into-pumpkins</id>
   <content type="html">&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: My US work visa runs out in a month, so I’m leaving for about a year to go travel. I start on August 2014.&lt;/p&gt;

&lt;p&gt;…actually, that’s it.&lt;/p&gt;

&lt;h3 id=&quot;faq&quot;&gt;FAQ&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Wait, you’re not American?&lt;/strong&gt; I’m an Israeli citizen born in Ukraine. I came to the US for my undergraduate degree. I kind of sound American because I went to the &lt;a href=&quot;http://wbais.org&quot;&gt;American International School&lt;/a&gt; for elementary through high school in Israel.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;So what’s the story with the visas?&lt;/strong&gt;
I was able to stay in the US on my F-1 (student) visa for two a half years after graduation through OPT and STEM. This year, I applied for an H1-B visa with a sponsor - there were &lt;a href=&quot;http://www.happyschools.com/172500-h1b-visa-2015-petitions-lottery-complete/&quot;&gt;172k people for 85k slots&lt;/a&gt;.  There was a lottery, and I didn’t make it. &lt;a href=&quot;http://sites.middlebury.edu/individualandthesociety/files/2010/09/jackson_lottery.pdf&quot;&gt;Could have been worse&lt;/a&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Well, that sucks. Anything I can do to help?&lt;/strong&gt; It’s fine, really. Thanks for your concern! I’ve been meaning to travel for a while, so the timing works out. If you’d like to help,
    &lt;ul&gt;
      &lt;li&gt;Recommend particular cities that you think would be great places to live for 2 months&lt;/li&gt;
      &lt;li&gt;If you know any good companies that do remote work, I might be interested&lt;/li&gt;
      &lt;li&gt;…actually, if you have the space and aren’t planning to move for a year, I wouldn’t mind storing a bit of stuff in your basement&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;What’s the plan?&lt;/strong&gt;
Largely TBD, but the tentative plan is to live in six different locations for about two months each.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first stop is &lt;strong&gt;Tallinn, the capital of Estonia&lt;/strong&gt;.  Why? &lt;a href=&quot;http://www.wired.co.uk/magazine/archive/2011/09/european-startups&quot;&gt;Wired swears by it&lt;/a&gt;, and my further research confirms Tallinn should be an interesting place. I don’t know if I want to work on my own ideas or contract remotely yet - time will tell. Plans are still up in the air for the next destination, but I &lt;em&gt;am&lt;/em&gt; hoping to get a couple of months of skiing in over January &amp;amp; February.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;That sounds fun! Can I come visit?&lt;/strong&gt;
Absolutely. My plan is, rent prices permitting, to have a guest bedroom in every place I’ll be living in.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;…so, are you coming back?&lt;/strong&gt;
I certainly plan to. I love it here.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Our immigration policies are ridiculous!&lt;/strong&gt;
That’s not a question. Also, politics is hard! If you want to help, consider supporting &lt;a href=&quot;http://fwd.us&quot;&gt;fwd.us&lt;/a&gt; or one of many other immigration reform groups.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Let’s hang out before you leave!&lt;/strong&gt; Totes. &lt;a href=&quot;mailto:alexey+beforeyouleave@alexeymk.com&quot;&gt;Email me&lt;/a&gt; and let’s try to find a time and a place.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Hackonomics 101</title>
   <link href="http://alexeymk.com/2014/02/04/hackonomics-101.html"/>
   <updated>2014-02-04T16:12:16-08:00</updated>
   <id>http://alexeymk.com/2014/02/04/hackonomics-101</id>
   <content type="html">&lt;p&gt;I helped organize &lt;a href=&quot;http://hackcon.io&quot;&gt;HackCon&lt;/a&gt;, a conference for student hackathon organizers, this past weekend in NY.&lt;/p&gt;

&lt;p&gt;I gave a talk about &lt;a href=&quot;https://medium.com/hackers-and-hacking/ad619910b134&quot;&gt;Hackonomics&lt;/a&gt;, trying to quantify the financial benefit for hackathon sponsors and figuring out what the future looks like. I then &lt;a href=&quot;https://medium.com/hackers-and-hacking/ad619910b134&quot;&gt;annotated the slides&lt;/a&gt; - on Medium, for a change.&lt;/p&gt;

&lt;p&gt;The writing style here is a lot more like the talk I gave - more stream-of-consciosness than well-organized. Different, but not necessarily worse. Hopefully.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Houston Admin Talk at Meteor Devshop 10</title>
   <link href="http://alexeymk.com/2013/12/19/houston-admin-talk-at-meteor-devshop-10.html"/>
   <updated>2013-12-19T11:15:34-08:00</updated>
   <id>http://alexeymk.com/2013/12/19/houston-admin-talk-at-meteor-devshop-10</id>
   <content type="html">&lt;p&gt;I gave a talk at the latest Meteor Devshop a couple of weeks ago about &lt;a href=&quot;http://github.com/gterrono/houston&quot;&gt;Houston&lt;/a&gt;, the Django-Admin like tool that Greg, Geoff and I are working on for Meteor.&lt;/p&gt;

&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;//www.youtube.com/embed/8ASwWEZsAog&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;With over &lt;a href=&quot;http://github.com/gterrono/houston&quot;&gt;200 stars on Github&lt;/a&gt;, I think we might &lt;em&gt;almost&lt;/em&gt; be real Open Source Contributors now. It’s fun!&lt;/p&gt;

&lt;p&gt;If you’re into web development and Javascript and real-timey things, check out &lt;a href=&quot;http://meteor.com&quot;&gt;Meteor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you already know about Meteor, you should try &lt;a href=&quot;https://atmosphere.meteor.com/package/houston&quot;&gt;Houston&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you already use Houston (whoa, thanks!) check out the &lt;a href=&quot;https://github.com/gterrono/houston/#wishlist&quot;&gt;feature wishlist&lt;/a&gt; and send us some pull requests!&lt;/p&gt;

&lt;p&gt;PS. I thoroughly enjoyed TA-ing in college and I miss it, so public speaking on technical subjects is a ton of fun (though nerve-wrecking) for me.  If you’ve got tips for things I should work on after seeing the talk, please email me!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The last 10 months</title>
   <link href="http://alexeymk.com/2013/10/20/the-last-10-months.html"/>
   <updated>2013-10-20T09:25:18-07:00</updated>
   <id>http://alexeymk.com/2013/10/20/the-last-10-months</id>
   <content type="html">&lt;p&gt;2013 hasn’t been a great year for new content on this blog. Let me try to change that.&lt;/p&gt;

&lt;p&gt;###First, what’ve I been up to since January?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I did some &lt;a href=&quot;http://calldownmule.com&quot;&gt;engineering consulting work&lt;/a&gt;, with the bulk of the time spent working for &lt;a href=&quot;http://baydin.com&quot;&gt;Baydin&lt;/a&gt;, &lt;a href=&quot;http://tencent.com&quot;&gt;Tencent&lt;/a&gt; and &lt;a href=&quot;http://dropbox.com&quot;&gt;Dropbox&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Started &lt;a href=&quot;http://theinternproject.com&quot;&gt;The InternProject&lt;/a&gt;, a “let’s make sure interns in the bay area have a great time” non-profit with &lt;a href=&quot;https://twitter.com/theAlexPoon&quot;&gt;Alex&lt;/a&gt;, with major help from &lt;a href=&quot;http://tessrinearson.com/&quot;&gt;Tess&lt;/a&gt;, &lt;a href=&quot;http://yef.im&quot;&gt;Geoff&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/jofeuereisen&quot;&gt;James&lt;/a&gt; and countless others.&lt;/li&gt;
  &lt;li&gt;Became a &lt;a href=&quot;https://github.com/gterrono/meteor-admin-ui&quot;&gt;real open-source contributor&lt;/a&gt; via &lt;a href=&quot;https://atmosphere.meteor.com/package/z-mongo-admin&quot;&gt;ZMA&lt;/a&gt;, a CRUD Admin tool for Meteor, with Geoff and &lt;a href=&quot;https://github.com/gterrono&quot;&gt;Greg&lt;/a&gt;. Greg’s been keeping the project updated. I need to contribute more.&lt;/li&gt;
  &lt;li&gt;Worked with &lt;a href=&quot;https://twitter.com/amyquispe&quot;&gt;Amy&lt;/a&gt; to start the &lt;a href=&quot;http://campusdatasummit.com&quot;&gt;Campus Data Summit&lt;/a&gt;, creating the &lt;a href=&quot;http://campusdata.org&quot;&gt;Campus Data&lt;/a&gt; Guidebook for students starting PennAppsLabs-like organizations at their schools.&lt;/li&gt;
  &lt;li&gt;Generally speaking, figured out what I enjoy and what I don’t enjoy, and what I want to do next.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;=========&lt;/p&gt;

&lt;h3 id=&quot;contracting&quot;&gt;Contracting&lt;/h3&gt;

&lt;p&gt;It took a while to get my first gig - the first 7 or 8 companies I spoke with all ended up passing, for various reasons, which put a fair bit of dent in my plans. I came up with lots of ways to get more inbound flow, but didn’t have the energy to execute any of it because I was so tired of rejection. Basically, if you’re burnt out and trying to recover, putting yourself in a position to get rejected a lot is not a great idea.&lt;/p&gt;

&lt;p&gt;Eventually, I &lt;a href=&quot;http://calldownmule.com&quot;&gt;refined and simplified my pitch&lt;/a&gt;, going from “co-founder for rent”/”on-demand hiring manager” to a much simpler one - “I can code, and I don’t need to be micro-managed on product.”  That worked.&lt;/p&gt;

&lt;p&gt;I spent the first ~10 weeks at Baydin, the makers of &lt;a href=&quot;http://boomerangforgmail.com&quot;&gt;Boomerang for Gmail&lt;/a&gt;, pitching and then adding a feature to &lt;a href=&quot;http://thenextweb.com/apps/2013/09/19/no-more-to-and-fro-boomerang-calendar-plugin-now-lets-you-schedule-meetings-within-a-single-email/&quot;&gt;Boomerang Calendar&lt;/a&gt;. I’ve been &lt;a href=&quot;http://alexeymk.com/too-cool-for-tungleme/&quot;&gt;fascinated by scheduling tools&lt;/a&gt; ever since I saw Tungle.me, so it was tremendously rewarding to work on this problem, and the Boomerang team both provided awesome leverage and feedback, as well as giving me a lot more autonomy than should be reasonable. An awesome and very small (&amp;lt;10) person team in Mountain View - a fantastic place to work. My updates to Boomerang Calendar deserve their own blog post. Hopefully.&lt;/p&gt;

&lt;p&gt;Next, I worked at Tencent, a giant Chinese tech company (think AOL or IAC, but more successful) with an office in a church in Palo Alto.  The people were great and I appreciated the opportunity to work with them, but the biggest thing I learned was that larger, more traditional companies are not places I thrive.&lt;/p&gt;

&lt;p&gt;Finally, I spent two and a half months at Dropbox, working on &lt;a href=&quot;http://dropbox.com/business&quot;&gt;Dropbox for Business&lt;/a&gt;. From Soleio to Guido to Aditya and Ruchi, to (more anecdotally) a few friends I have a ton of respect for, Dropbox has been making some killer hires over the past year and I couldn’t help but want to see why. Now I know (hint: it’s the &lt;a href=&quot;http://www.yelp.com/biz/tuck-shop-san-francisco#hrid:Gt4mhrYlre763rv1CMXpDA&quot;&gt;cafeteria&lt;/a&gt;). Dropbox is an absolutely fantastic company with a rather talented group of people, and (I imagine) a lot like what Facebook felt like in 2008 or 2009. Drew is a fantastic public speaker and generally an affable guy.&lt;/p&gt;

&lt;p&gt;Each of the three gigs above was a 4-day-a-week kind of job, and I learned a lot from each. The thing that most stuck with me - and I was a little surprised by this - was how much fun I had working on Boomerang Calendar. I worked in a mostly-solo capacity, but with design and library engineering support when needed and great product people to brainstorm and prioritize with. I want to do more of that.&lt;/p&gt;

&lt;p&gt;###The InternProject
I’ve written a whole bunch about recruiting and internships in the Bay before, and started the 2012 Bay Area interns Facebook group. Still, the problem of “how do you make sure people doing internships in the Bay Area get the value out of it that they can” - admittedly a first-world problem, but &lt;em&gt;my&lt;/em&gt; first-world problem, didn’t feel completely-solved.&lt;/p&gt;

&lt;p&gt;I had met Alex Poon the prior year, when he organized a number of intern dinners. We brainstormed about what the ideal solution would look like - a &lt;a href=&quot;http://theinternproject.com&quot;&gt;single website&lt;/a&gt; with everything you need to know, a big kick-off event for interns from small companies to meet others to hang out with during the summer, and a way to generally keep in the loop on what the good events were. Out of this came &lt;a href=&quot;http://theinternproject.com&quot;&gt;the InternProject&lt;/a&gt;, which (it seems, so far) met our goals for the summer and then exceeded them.&lt;/p&gt;

&lt;p&gt;We’re still figuring out how to transition the project to being student run - Alex and Tess dropped out of school and I graduated. We’ll see.  The important thing is that the ~2,500 students on our list-serv found it to be valuable, according to click and open rates.&lt;/p&gt;

&lt;h3 id=&quot;whats-next&quot;&gt;What’s next&lt;/h3&gt;
&lt;p&gt;I’ve begun to consider folks like &lt;a href=&quot;http://marco.org&quot;&gt;Marco Arment&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/lorenb&quot;&gt;Loren Bricter&lt;/a&gt; as role models rather than just fascinating people. In the long run, I’d love to get into a place where I can make apps that I consider interesting, ideally focused on productivity or developer tools, and have the occassional engineering/design/product support necessary to keep me focused, all the while avoiding management as much as possible. Baydin was a &lt;em&gt;ton&lt;/em&gt; of fun. I’d love to replicate that experience, if I can.&lt;/p&gt;

&lt;p&gt;In the meanwhile, I’m playing with an entirely different idea that probably deserves its own blog post.&lt;/p&gt;

&lt;p&gt;I want to explore whether the reasons that recruiters have a poor reputation in the industry (spam, sketchiness, competence) are an unavoidable side-effect of the industry model.&lt;/p&gt;

&lt;p&gt;To do that, I’m spending the next few months figuring what its like to be a full-time technical recruiter, but eliminating all the parts I don’t like.&lt;/p&gt;

&lt;p&gt;We’re focusing on seeing if we can be Talent Advocates, helping rising seniors in CS figure out what to do with their lives and monetizing by putting students in touch with companies that help them get there. I want to know if (1) there’s a business here, (2) if I can add enough value to have a clean conscience, and (3) if I can do the work. Follow along at &lt;a href=&quot;http://threesat.com&quot;&gt;threesat.com&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Migrating Divvy configurations between computers</title>
   <link href="http://alexeymk.com/2013/06/18/migrating-divvy-configurations-between-computers.html"/>
   <updated>2013-06-18T20:27:28-07:00</updated>
   <id>http://alexeymk.com/2013/06/18/migrating-divvy-configurations-between-computers</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;August 2016 Update&lt;/strong&gt;: Divvy now has &lt;a href=&quot;http://mizage.clarify-it.com/d/nxr9qg&quot;&gt;a native guide&lt;/a&gt; for migrations. Use that instead.&lt;/p&gt;

  &lt;p&gt;If you’re having trouble importing, it might be because the URL Divvy gives you is too long. I solved this (on a Mac) by, rather than pasting the URL into the browser, opening a terminal window and typing.&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;open ‘Divvy Backup URL’&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;instead. (Where the ‘Divvy Backup URL’ is the one you got when exporting&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’ve been using &lt;a href=&quot;http://mizage.com/divvy/&quot;&gt;Divvy&lt;/a&gt; the tiling tool for OSX (and windows) ever since I switched to using Macs full-time in 2010. It’s great.&amp;lt;/p&amp;gt;&lt;/p&gt;

&lt;p&gt;I’ve been using &lt;a href=&quot;http://mizage.com/divvy/&quot;&gt;Divvy&lt;/a&gt; the tiling tool for OSX (and windows) ever since I switched to using Macs full-time in 2010. It’s great.&lt;/p&gt;

&lt;p&gt;Migrating it between installs isn’t so great, and unfortunately googling “migrate divvy preferences” doesn’t help.  So, while moving to yet another Mac, I emailed support@mizage and asked what to do.&lt;/p&gt;

&lt;p&gt;Here (with their permission) is how to migrate your divvy settings / preferences / configurations / setup / whatever to a new computer:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;h4 id=&quot;if-youre-on-windows&quot;&gt;If you’re on Windows:&lt;/h4&gt;

  &lt;p&gt;0) Quit Divvy on both PCs.&lt;/p&gt;

  &lt;p&gt;1) Click Start &amp;gt; Run, and paste in this command:&lt;/p&gt;

  &lt;p&gt;%USERPROFILE%\Local Settings\Application Data\Mizage LLC\Divvy&lt;/p&gt;

  &lt;p&gt;2) This should open a new Explorer window.&lt;/p&gt;

  &lt;p&gt;3) Locate the file shortcuts.db&lt;/p&gt;

  &lt;p&gt;4) Copy that file to the same location on your second computer.&lt;/p&gt;

  &lt;h4 id=&quot;if-youre-on-mac&quot;&gt;If you’re on Mac:&lt;/h4&gt;

  &lt;p&gt;0) Quit Divvy on both Macs.&lt;/p&gt;

  &lt;p&gt;1a) If you’re on Snow Leopard, go into your User’s Library folder in Finder.&lt;/p&gt;

  &lt;p&gt;1b) If you’re on Lion or later, open a Finder window, now hold the Option (alt) key and choose the “Go &amp;gt; Library” menu item.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;(AMK Note: this is at ~/Library/Preferences)&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;2) Go into the Preferences folder.&lt;/p&gt;

  &lt;p&gt;3) Locate the file com.mizage.Divvy.plist&lt;/p&gt;

  &lt;p&gt;4) Copy that file to the same location on your second Mac.&lt;/p&gt;

  &lt;p&gt;Regards,
Steve&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thanks Steve!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The Art of Rejection</title>
   <link href="http://alexeymk.com/2013/04/07/on-rejection-letters.html"/>
   <updated>2013-04-07T16:11:47-07:00</updated>
   <id>http://alexeymk.com/2013/04/07/on-rejection-letters</id>
   <content type="html">&lt;p&gt;At an event last week, I was introduced to the CEO of a post series-A startup I’d been following and found quite interesting. We spoke about his company for a few minutes, and he asked me to email him in case there were any opportunities for me as a freelancer to help.&lt;/p&gt;

&lt;p&gt;I followed up. A few days later, I got the following email:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Hi Alexey,&lt;/p&gt;

  &lt;p&gt;Thanks for your interest in [Company].  We don’t have immediate needs for hiring more engineers at the moment but would be happy to keep you on file for future opportunities.&lt;/p&gt;

  &lt;p&gt;Please let me know if you have additional questions.&lt;/p&gt;

  &lt;p&gt;- [Recruiter], [Company]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ouch.&lt;/p&gt;

&lt;h4 id=&quot;who-are-you-again&quot;&gt;Who are you, again?&lt;/h4&gt;

&lt;p&gt;I spent a good portion of 2012 running recruiting for the company I’d helped start, growing our team from 3 to 12. I’ve had a chance to deal a few dozen candidate rejections, and made my fair share of mistakes.  Before that, I spent two years applying to internships.  As such, some advice for would-be rejection-letter writers:&lt;/p&gt;

&lt;h4 id=&quot;the-effort-going-into-the-rejection-should-match-the-effort-spent-in-the-process&quot;&gt;The effort going into the rejection should match the effort spent in the process.&lt;/h4&gt;

&lt;p&gt;At my last company, we flew a candidate in for a trial and ended up passing. The next day, I sent a two paragraph email saying, effectively, thank you but no thank you.&lt;/p&gt;

&lt;p&gt;That was wrong. The guy deserved at least a phone call after giving us a week of his time.&lt;/p&gt;

&lt;p&gt;Last week’s CEO &lt;strong&gt;asked&lt;/strong&gt; me to email him; I was interested in the possibility of work, but I also just wanted to have a chance to chat and seek his advice. I got a response, without context, from somebody else entirely, treating me as yet another applicant. I hadn’t even sent in a resume.&lt;/p&gt;

&lt;p&gt;Not that every possible candidate deserves a 500-word essay; a generic application or cold-email, (“Dear Sir or Madam…”) should absolutely receive a friendly, templated rejection.&lt;/p&gt;

&lt;h4 id=&quot;theres-a-difference-between-a-euphemism-and-a-lie&quot;&gt;There’s a difference between a euphemism and a lie.&lt;/h4&gt;

&lt;p&gt;On Tuesday, the CEO told me they were looking for engineers. On Thursday, I was told the opposite. Either their hiring priorities changed on Wednesday, or (hint: it’s this one) ‘not hiring’ was an excuse.  As a candidate I can tell, and it reflects poorly on the company.&lt;/p&gt;

&lt;p&gt;The flip-side is, of course, you don’t want to be incredibly specific in every rejection, because the occassional candidate is going to argue that in fact they ARE great at X and were just having a bad day and now you’re in this terrible position of saying “dude, no.”  The industry standard seems to be some variant of “not a fit” or “no positions available that you would be well-suited for,” ending with “at this time.”&lt;/p&gt;

&lt;h4 id=&quot;if-you-have-an-opportunity-for-a-cop-out-take-it&quot;&gt;If you have an opportunity for a cop-out, take it!&lt;/h4&gt;

&lt;p&gt;A rejection is a bit like an needle injection; yeah, it’s not going to be pleasant, but at least you can make an effort to minimize the discomfort.&lt;/p&gt;

&lt;p&gt;In this case, I was rejected because they didn’t want to deal with contractors, or my background isn’t impressive enough, or I wouldn’t fit in; who knows.  Regardless, you could say:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Alexey,&lt;/p&gt;

  &lt;p&gt;Thanks for following up, it was good to meet you.&lt;/p&gt;

  &lt;p&gt;Unfortunately, I checked with our head of recruiting and we’re focused entirely on full-time roles right now for engineering.  Thanks again for following up after we met on Tuesday and best of luck with your career!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And it’s not like I have grounds to be upset: I get it, and you haven’t told me that there’s something wrong with me. Other effective cop-outs that help a candidate save face including H1-B difficulties for internationals or a lack of experience or exposure to a particular technology or industry.&lt;/p&gt;

&lt;h4 id=&quot;why-does-this-even-matter&quot;&gt;Why does this even matter?&lt;/h4&gt;
&lt;p&gt;From a friend at Google, their philosophy on recruiting is, roughly, “we should be really nice to the engineers we interview, because most engineers out there will remember Google as that company they applied to and got rejected from, and these are the people recommending technology to their parents and advising friends on where to apply.”&lt;/p&gt;

&lt;p&gt;In 2011, I was introduced to Stripe (/dev/payments at the time) as a potential summer intern, and had a great conversation with Patrick.  They asked for a code sample, and I sent them one.&lt;/p&gt;

&lt;p&gt;It wasn’t very good.&lt;/p&gt;

&lt;p&gt;They rejected me, going with something along the lines of “we realized we didn’t have nearly the bandwidth for interns this summer as we had hoped.”  Since then, I’ve sent or recommended Stripe to several of my most impressive friends as potential hires because of the goodwill generated from that process.&lt;/p&gt;

&lt;p&gt;Rejecting candidates correctly isn’t the most glamorous part of starting a company.&lt;/p&gt;

&lt;p&gt;Still, it’s worth getting right.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Start-ups are hard: Lessons learned in 2012</title>
   <link href="http://alexeymk.com/2013/02/24/2012-lessons-learned.html"/>
   <updated>2013-02-24T09:45:51-08:00</updated>
   <id>http://alexeymk.com/2013/02/24/2012--lessons-learned</id>
   <content type="html">&lt;h4 id=&quot;1-where-were-you-in-2012&quot;&gt;1. Where were you in 2012?&lt;/h4&gt;
&lt;p&gt;Fourteen months ago, in my last semester of college, I began working on a start-up idea with a few folks I had met through school. The company we started is off to a good start.&lt;/p&gt;

&lt;p&gt;As it turned out, (as &lt;a href=&quot;http://news.ycombinator.com/item?id=4833550&quot;&gt;it surprisingly often does&lt;/a&gt;) it’s not always a great idea to start companies with people you know only by reputation. We spent quite a bit of time over the second half of 2012 looking for ways to work together productively, and then separately came to the same conclusion: I had to go.&lt;/p&gt;

&lt;h4 id=&quot;2-whats-it-like&quot;&gt;2. What’s it like?&lt;/h4&gt;
&lt;p&gt;It sucks. Leaving a cause that you spent the last 12 months of your life enveloped in, is a painful experience even when the departure is as amicable and unanimous as ours.  Nothing really compares to the satisfaction gained from throwing all of your available energy, every day, to a cause you believe in on a fundamental level.&lt;/p&gt;

&lt;p&gt;Still, there are upsides. More time with the girlfriend, more catching up with old friends and fascinating acquaintances, a chance to get in better shape, write, maybe travel.  I’ve had a chance to step off the &lt;a href=&quot;http://www.thedp.com/article/2011/12/alexey_komissarouk_whats_college_like_at_25&quot;&gt;high school to college to job&lt;/a&gt; conveyer belt before, and was better off as a result. The important thing (I hope) is to take note of lessons learned and keep my eyes open.&lt;/p&gt;

&lt;h4 id=&quot;3-lessons-learned&quot;&gt;3. Lessons Learned&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;I’m not &lt;a href=&quot;http://theoatmeal.com/comics/sriracha&quot;&gt;sriracha&lt;/a&gt;&lt;/strong&gt;. I don’t go well with absolutely everything.  Some teams and environments make me dramatically more happy and productive than others.  In the future, I’ll be a lot more picky and careful about who I work with, both for their sake and for mine.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Date before Marriage&lt;/strong&gt;. I was very hesitant to join my 2012 team, since we hadn’t worked much before. In retrospect, the apprehensions were correct, and ignoring a wealth of advice about having worked together before was wrong.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From now on, if (and when) I start a new venture, it’ll be with folks I’ve worked with before successfully, or at least after a non-trivial trial period.&lt;/p&gt;

&lt;h4 id=&quot;4-what-now-update-april-2013&quot;&gt;4. What now? [Update: April 2013]&lt;/h4&gt;

&lt;p&gt;I’m currently spending 3 days a week working freelance for &lt;a href=&quot;http://baydin.com&quot;&gt;Baydin&lt;/a&gt;, the creators of the &lt;a href=&quot;http://boomeranggmail.com&quot;&gt;Boomerang&lt;/a&gt; Gmail plug-in.  I’m working on &lt;a href=&quot;http://boomerangcalendar.com&quot;&gt;Boomerang Calendar&lt;/a&gt;, trying to make the ping-pong that is meeting scheduling over email a little bit less painful. Baydin are an awesome bunch of folks (who deserve their own blog post), and I’ve been thinking about &lt;a href=&quot;/too-cool-for-tungleme/&quot;&gt;scheduling as a problem&lt;/a&gt; before, so the gig has been pretty fantastic.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;If you’ve got feedback or ideas for Boomerang Calendar (or want to try it out), &lt;a href=&quot;mailto:alexey@alexeymk.com&quot;&gt;let me know!&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;If you’re in need of a freelancer and want a full-stack generalist who loves product and has some experience with &lt;a href=&quot;/tag/hackathons&quot;&gt;hackathons&lt;/a&gt;: &lt;a href=&quot;mailto:alexey+muleconsulting@alexeymk.com&quot;&gt;that, also, is me&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Hackathon Hacks for Organizers</title>
   <link href="http://alexeymk.com/2012/10/12/hackathon-organizers-hacks.html"/>
   <updated>2012-10-12T12:48:10-07:00</updated>
   <id>http://alexeymk.com/2012/10/12/hackathon-organizers-hacks</id>
   <content type="html">&lt;p&gt;Hackathons are &lt;a href=&quot;http://www.wired.com/magazine/2012/02/ff_hackathons/&quot;&gt;a thing&lt;/a&gt; now. Over the past two years I’ve had the benefit of participating, helping organize, watching demos for, and (soon) judging more than 15 hackathons.  One of my favorite things about the hackathon community has been how quickly best practices have spread from organizer to organizer.&lt;/p&gt;

&lt;p&gt;To that end, here are some “hackathon hacks” I’ve noticed or come up with over the past few years. If you’re working on putting together your next hackathon, I hope they help!&lt;/p&gt;

&lt;h1 id=&quot;events-around-the-hackathon&quot;&gt;Events around the hackathon&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/images/pennapps2012_1.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Pre-Hackathon Tutorials&lt;/strong&gt;. Especially for a college hackathon,  something like or git/python/html-css/javascript for beginners, and particular new interesting frameworks/tech for hackathon veterans are a great way to get the word out and build confidence. You’re not going to teach anybody Ruby on Rails in sixty minutes, so consider the tutorials to be a chance to plant seeds and offer a technical head start.  Newbies appreciate having at least some initial guidance and a rough path they can continue to take during the hackathon. Experienced hackers get a sense of what kinds of things might be fun to explore during the hackathon. I’ve seen PennApps put these together the week before and the Friday afternoon of the hackathon, both to solid attendance.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Office Hours&lt;/strong&gt;. Greylock Hackathon from this summer (and I’m sure others before them) have explored the possibility of having Tech luminaries drop by and take meetings during the hackathon. The best time for office hours is probably about half or two-thirds of the way through the event, once participants already have a sense of what they’re working on but are not so close to the end that they only have time for small changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;hack-breaks&quot;&gt;Hack Breaks&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/images/pennapps2012_swag.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Swag Raffles&lt;/strong&gt; I picked this idea up from Philly Game Jam in 2010, and it was deployed to great success throughout various PennAppses.  The basic premise is simple: offer participants a chance to win free stuff given out by sponsors if they meet some criteria (usually, being up late or answering a trivia question).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Originally, this was (largely) a ploy to get students to have a reason to stay late, since drawings occurred every hour from midnight to 6AM, and the prizes (as well as your odds) got better the later you stayed. Since then, it’s become a great way to distribute swag available in limited quantities, get participants to follow you on twitter (by announcing winners there), and generally create a fun environment for everybody. I worry about  the impact of too many disruptions, but using something like Twitter to announce winners (and setting a time limit to collect) has mitigated the concern.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Late Night Athletics&lt;/strong&gt; There’s a kind of euphoria I tend to get around 2 or 3 in the morning, after spending more time than is reasonable working and knowing that the end is not yet in sight.  Euphoria with a good mix of fatigue.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Athletics help.  Taking a bunch of friends and strangers and going “alright, now let’s do something silly” is fun.  PennApps has a midnight run tradition that is exactly what it sounds like: at midnight (really, closer to 1:20 AM) everybody who is up for it heads out and goes for a 10-minute jog around campus, jeans and not-quite-running shoes and everything. Tis a blast; highlights include the time when we jogged Dave from Andreessen Horowitz back to his hotel.  More recently, a 3AM game of ultimate frisbee (complete with glow-in-the-dark frisbee) made me happy the organizers had not neglected gatorade a drink option.  I’ve also heard of impromptu juggling lessons.&lt;/p&gt;

&lt;p&gt;Late night athletic events have the benefit of being both fun and sufficiently out of place to be memorable.  Plus, it’s nice to get out and stretch your legs.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;** Bubble Tea and other excesses **  Some of the more fun food hacks/surprises involve ordering several gallons of Bubble Tea (at PennApps), Red Bull Jello Shots (really) at the Greylock Hackathon, and late night cheese-steaks (via Venmo at now-every PennApps), and Ice Cream Sandwiches (HackNY).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m still waiting for somebody to cater a pancake/crepe maker to make breakfast crepes on demand, for the morning of demos. There’s probably no better sign of how hackathon-spoiled I am that I’m waiting for that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; HackNY and Michigan email/tweet me to provide photo evidence of said crepes/pancakes. I love the internet.&lt;/p&gt;

&lt;p&gt;HackNY Fall 2012:
&lt;a href=&quot;http://www.flickr.com/photos/hackny/8048192463/&quot; title=&quot;fall 2012 hackNY student hackathon by hackNY, on Flickr&quot;&gt;&lt;img src=&quot;http://farm9.staticflickr.com/8459/8048192463_6d9d15ab5e_z.jpg&quot; width=&quot;427&quot; height=&quot;640&quot; alt=&quot;fall 2012 hackNY student hackathon&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Michigan’s Learn To Hack:
&lt;img src=&quot;/images/michigan_pancakes.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;h1 id=&quot;logistics-hacks&quot;&gt;Logistics Hacks&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Catering&lt;/strong&gt; Figuring out catering for a hackathon ends up being rather non-trivial; the location you’re having may have union or contract rules that say you can’t bring in outside vendors, and traditional catering options are expensive and kind of ‘meh’ (no, we don’t want another sandwich plate).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some of the best food I’ve seen at hackathons comes from working with existing favorite choices, from bringing in popular food carts or popular choices from campus or the city, and getting a bulk discount based on the traditional pitch that you are exposing desirable customers to their menu.  I’ve also heard that Chipotle and Red Bull representatives (amongst others) don’t have a problem providing some amount of free or heavily discounted merchandise to hackathon organizers.&lt;/p&gt;

&lt;p&gt;Provide variety throughout the event, provide (reasonably healthy) and vegetarian options.  Whatever you do, don’t order Pizza. Not even once. OK, maybe once if you get desperate.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Room For Improvement:&lt;/strong&gt; Organizers’ Sleep Schedules. PennApps recently moved to a “who sleeps on what night” rotation, meaning that event organizers will likely get a reasonable night’s sleep on the first night or the second. This is certainly better than the previous ordeal (organizers sleep when they can no longer stay awake) but can still lead to an organizing team in charge of demos at less than 100%.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s my proposal: break the organizing team into two: a Hackerspace team responsible for during-the-hacking events, and an Event team in charge of everything surrounding the hacking: Kickoff and API Tutorials before the start, and the Demo Session and Awards after.  A dedicated event team means folks that have gotten a ton of sleep before each event and are wide awake to move quickly and deal with any issues that come up at the last minute.  I’d love to hear from anybody that has an approach they’ve tried and liked, and that works.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/pennapps2012_drinks.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Room for Improvement&lt;/strong&gt;: Drinks Vendors.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anybody who’s had a summer internship at a big-enough, ‘tech’ company knows about the contents of the Facebook/Google/Twitter beverage fridge, full of fresh fruit juices and various ice teas and all sorts of goodness. Since the first PennApps, I did my best to replicate that experience, to make (by any means necessary) to make the point that there were some benefits to working at a startup, and look: here they are, an always stocked, no limits free fridge of goodness.&lt;/p&gt;

&lt;p&gt;I learned that getting a see-through beverage fridge, as well as actually obtaining the necessary drinks for the fridge (Honest Tea, anybody) is a bit of a challenge.  Those types of fridges are a headache to rent, and Honest Tea is just not for sale at Costco.&lt;/p&gt;

&lt;p&gt;I’ve since learned that &lt;a href=&quot;http://osullivanvending.com/&quot;&gt;O’Sullivan Vending&lt;/a&gt; provides drink catering to Google, Facebook, and most tech companies in the Bay Area.  They are expanding to other areas, though not quickly enough.&lt;/p&gt;

&lt;p&gt;If anybody has seen any hackathon do an awesome job of their drinks catering, from the fridge to the selection to the constant availability, let me know - I’d love to learn and share how.&lt;/p&gt;

&lt;h2 id=&quot;demo-hacks&quot;&gt;Demo Hacks&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/images/pennapps2012_2.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;p&gt;With a seemingly endless supply of teams hoping to demo and an exhausted audience, lots and lots of things are continuously trying to go wrong.  Some hacks towards making demos run more smoothly:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Demoing mobile apps&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ideally, obtain a document projector (like back in middle school) a few days before the event, set the focus (once) properly, and put up a big sign saying “don’t touch this knob.”  Explain this principle to demoers, and make it trivial to switch one of the on-screen views to the mobile projector.&lt;/p&gt;

&lt;p&gt;If not, I’ve had a surprising amount of success with taking the demo laptop and using it’s webcam to show off the mobile experience. It’s hacky, and should be prepared way beforehand, but it works.&lt;/p&gt;

&lt;p&gt;Emulators are a bad idea; they involve plugging in somebody else’s laptop into the projector.  Pain this way lies.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Preparing teams for their demo:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Folks, X by Y is the resolution you’re going to demo on. Better be ready.&lt;/p&gt;

  &lt;p&gt;Don’t rely on Wi-Fi working. There’s no place like 127.0.0.1.&lt;/p&gt;

  &lt;p&gt;In general, if you have any special requirements let the organizers know way in advance.&lt;/p&gt;

  &lt;p&gt;No using your own laptop unless you absolutely, unequivocally, have no choice whatsoever (IE, desktop app).  If so, let the organizers know in advance and we’ll see how we can accommodate you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ideally, have a second (identical) set-up in a nearby room for teams to practice on a few minutes before they demo, as part of the demo queue.  If not, at least make the demo setup available morning-of the demos and encourage teams taking a chance to practice.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/pennapps2012_3.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Demo Order&lt;/strong&gt;  Use things like HackerLeague (or just Google Forms) to organize the demo submissions and order.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Does anybody have to leave early? Put them in front. Otherwise, randomize demo order.&lt;/p&gt;

&lt;p&gt;Publicize demo order ASAP, and make it obvious where it is. It really helps teams to know where they are in the queue in case any of them sneak out to the bathroom, etc..&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/pennapps2012_judging.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Needs Improvement:&lt;/strong&gt; Demoing with &amp;gt;50 teams
If you have more than 30 or so teams demoing (and especially more than 50), consider exploring ways to cut down to either about 30 demos or about 15 demos with judge interaction.  I’ve heard about the LinkedIn Intern hackathons doing this well, and Greylock Hackathon and AngelHack both did a good job as well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The worry with multi-tiered judging is this: imagine you spent your entire weekend sleepless.  Your implicit reward, prizes or not, is that a hundred or more people will get to see what you did and, prizes or not, applaud your effort.  Instead, you go into a tiny closed conference with 4 older-looking folks who listen to you for two minutes and then wait for an email with the list of finalists - a list you’re not on.&lt;/p&gt;

&lt;p&gt;That sucks.&lt;/p&gt;

&lt;p&gt;Multi-tiered demoing needs to be done in a way that recognizes the work hackers put in.  I don’t know how to do that yet; having three demo auditoriums for the first round feels a bit of a logistical mess. Open for ideas - email me on this one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Updates:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A couple of minor fixes. Thanks to DJ, Ayaka, Jennifer and Jonathan!&lt;/li&gt;
  &lt;li&gt;See the &lt;a href=&quot;http://news.ycombinator.com/item?id=4681304&quot;&gt;HN Commentary&lt;/a&gt;, for discussion on Multi-Tier Voting and charging attendees; in particular, Greg (from AngelHack)’s post on his experience &lt;a href=&quot;http://news.ycombinator.com/item?id=4682191&quot;&gt;fund-raising for grown-up (non-college) hackathon&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Check out &lt;a href=&quot;/tag/hackathons&quot;&gt;my other hackathon posts&lt;/a&gt;, and are curious about advice on fundraising and timing, and lots of other goodness.&lt;/li&gt;
&lt;/ul&gt;

</content>
 </entry>
 
 <entry>
   <title>How PennApps Labs Came to Be</title>
   <link href="http://alexeymk.com/2012/08/26/labs-manifesto-how-pennapps-labs-started.html"/>
   <updated>2012-08-26T14:38:18-07:00</updated>
   <id>http://alexeymk.com/2012/08/26/labs-manifesto--how-pennapps-labs-started</id>
   <content type="html">&lt;h3 id=&quot;i-still-remember-the-first-project-i-ever-worked-on-that-went-viral&quot;&gt;I still remember the first project I ever worked on that went viral.&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://pennapps.com&quot;&gt;Cobol on Rails&lt;/a&gt; was a re-design of the Penn’s online Course Review system. The original was written as a Senior Design project a decade ago and kept on life support by the University IT.  It was (by the time we got to it) rather outdated.  It looked like this.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/original_pcr.png&quot; alt=&quot;Original PCR&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Cobol on Rails was built in PHP and mySQL. It was the first serious web project that a few friends and I undertook. The Course Review folks were a student-run group who had been trying to find somebody to take over web responsibilities. They were willing to share the data.&lt;/p&gt;

&lt;p&gt;We worked weekend after weekend, in 12-hour sprints, learning things like what the hell a border-radius was.  I still recall var_dump as a fond friend; good times.&lt;/p&gt;

&lt;p&gt;It worked.  I emailed a link the Course Review folks.  “We’re done, check it out!”  A few of the others emailed their friends.&lt;/p&gt;

&lt;p&gt;A few days later, we were on &lt;a href=&quot;http://underthebutton.com&quot;&gt;Under the Button&lt;/a&gt;, a well-read student newspaper blog.  The initial emails had gone viral as students started to pick their next classes., leading to a couple of thousand unique visitors a day. Every minute between classes that day was spent glued to email, responding to feedback and answering questions. My heart was racing.&lt;/p&gt;

&lt;p&gt;The Course Review folks emailed us too. “I can’t believe you guys did this,” they wrote.  “You promised not to start a competitor!  The Dean is not happy.”&lt;/p&gt;

&lt;p&gt;We had to password-protect the thing (the password was ‘password’, and you could tell it you viewed the source).  Students went back to using the crappy old site, and the Course Review folks were mad enough at us to not take any of our advice about UX improvements seriously.  The experience stuck with me - the substantial improvement we made, and the politics that brought back the status quo.&lt;/p&gt;

&lt;h3 id=&quot;i-was-friends-with-cynthia-from-penns-student-government&quot;&gt;I was friends with Cynthia from Penn’s Student Government.&lt;/h3&gt;
&lt;p&gt;She was spending the summer working on student textbooks.  The problem was this: Penn’s bookstore made absurd margins buying back used books.&lt;/p&gt;

&lt;p&gt;The old, student-run book exchange (BetterThanTheBookstore.com) had closed.  In the summer of 2010, following Princeton’s lead, Penn’s Student Government decided to start their own Book Exchange, &lt;a href=&quot;http://pennua.org/textbook&quot;&gt;Penn Book Bazaar&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;** Cynthia **: “You know Django, can you make this thing work for us?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I had no desire whatsoever to be a peon for the Student Government.  They went ahead and did it on their own. The result was simple but not ugly and pretty successful.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/pbb.png&quot; alt=&quot;Penn Book Bazaar&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Marketing isn’t so hard if you can email the entire school whenever you’d like.&lt;/p&gt;

&lt;h3 id=&quot;meanwhile-we-hosted-our-first-undergraduate-hackathon-pennapps&quot;&gt;Meanwhile, we hosted our first undergraduate hackathon, &lt;a href=&quot;http://pennapps.com&quot;&gt;PennApps&lt;/a&gt;.&lt;/h3&gt;

&lt;p&gt;The winning team built an app called &lt;a href=&quot;http://www.androidzoom.com/android_applications/productivity/seasprint_lapw.html&quot;&gt;SEASPrint&lt;/a&gt;, which let students print anywhere in the engineering school directly from their phone.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://cdn6.staztic.com/cdn/thumb/seasprint-1-1.jpg&quot; alt=&quot;SEASPrint&quot; /&gt;&lt;/p&gt;

&lt;p&gt;SEASPrint was awesome, and was more than a prototype - it worked. I used it all throughout college. With time, it would probably start to fall over unless somebody made sure it was up-to-date, and would be forgotten unless discoverable.  But the team had no particular interest in supporting it long term. That sucked.&lt;/p&gt;

&lt;h2 id=&quot;eventually-it-clicked&quot;&gt;Eventually, it clicked&lt;/h2&gt;

&lt;p&gt;Campus tech does not have to suck. Apps do not have to become outdated or unsupported. Developers don’t have to quarrel with the administration.&lt;/p&gt;

&lt;p&gt;Working on campus tech can be rewarding, and deserving of talented engineers’ time. Building something your friends use feels great.&lt;/p&gt;

&lt;p&gt;And so, we started &lt;a href=&quot;http://labs.pennapps.com&quot;&gt;PennApps Labs&lt;/a&gt;, a student-run development shop that creates, adopts and maintains student-run campus tech.
&lt;img src=&quot;/images/labs_logo.png&quot; alt=&quot;Labs Logo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;** PennApps Labs in a nutshell **&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;PennApps Labs pays ~5 students a semester TA-like wages to create new applications or update existing ones.&lt;/li&gt;
  &lt;li&gt;Funding comes from the school’s administration and Student Government, which makes cooperation with existing organizations substantially less painful.&lt;/li&gt;
  &lt;li&gt;Other successful student-created projects are supported and promoted, with a potential goal of adoption. Labs helps good projects from becoming stale and lost in the sands of time.&lt;/li&gt;
  &lt;li&gt;PennApps Labs projects strive to be open.  That means open-sourcing whenever possible, accepting and soliciting community contributions, and establishing open APIs for any data created as a side-effect.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;labs-readme&quot;&gt;Labs README&lt;/h3&gt;
&lt;p&gt;I believe Labs is a model worth forking. The problems Penn’s campus tech faces are not substantially different from the problems at scores of other schools.  The sorts of problems that Labs aims to fix benefit from outside collaboration and contributions.&lt;/p&gt;

&lt;p&gt;I am working on a README that should serve as a guide for starting a sister organization at another school. Drop me a line if you’d be interested in trying something similar are your school, and I’ll make it a priority.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>FundersClub: getting Crowdfunding right</title>
   <link href="http://alexeymk.com/2012/08/12/fundersclub-getting-crowdfunding-right.html"/>
   <updated>2012-08-12T14:26:23-07:00</updated>
   <id>http://alexeymk.com/2012/08/12/fundersclub---getting-crowdfunding-right</id>
   <content type="html">&lt;p&gt;&lt;em&gt;Warning: Boris and Alex are friends and former classmates. I am utterly biased.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;crowdfunding-doesnt-work&quot;&gt;Crowdfunding doesn’t work.&lt;/h2&gt;
&lt;p&gt;It just doesn’t.  You can’t get the top-tier guys to crowd-raise.  “What for? It’s just more complicated.”  If you can’t get the top-tier companies, you can’t get the companies that follow whatever top-tier companies do.  You end up with wanterpreneurs tricking Grandmas out of their paychecks. You’ve already lost.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/grandma-paycheck.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;p&gt;As a result, Crowdfunding-ish startups have been tiptoeing around the idea. &lt;a href=&quot;http://angelist.com&quot;&gt;AngelList&lt;/a&gt; will make introductions but not facilitate the financial exchange. &lt;a href=&quot;http://kickstarter.com&quot;&gt;KickStarter&lt;/a&gt; focuses on sponsorship rewards, but stays away from offering equity.  &lt;a href=&quot;http://secondmarket.com&quot;&gt;SecondMarket&lt;/a&gt; works with later-stage companies and requires 6-figure minimums.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;** Tis a shame. **&lt;/em&gt; A world with crowd-funding for early stage startups would be pretty fun.  Imagine a company being able to reach out to its early users and saying “We’re starting to raise our next round of funding, and you’re welcome to be part of it.”&lt;/p&gt;

&lt;p&gt;Nobody does that, though - the legal hassle of figuring out what it would take is too great and takes time away from what the company actually does.  Crowdfunding doesn’t work.&lt;/p&gt;

&lt;h2 id=&quot;except-that-it-does&quot;&gt;Except that it does.&lt;/h2&gt;
&lt;p&gt;Boris and Alex of &lt;a href=&quot;http://thefundersclub.com&quot;&gt;FundersClub&lt;/a&gt; have found a way around the credibility problem, by having it to start with.  As part of the summer 2012 YCombinator class, the team has the implicit (and explicit) endorsement of Paul Graham, godfather of legit startups.  The two themselves have &lt;a href=&quot;https://thefundersclub.com/site/about/&quot;&gt;a rather impressive background&lt;/a&gt; As a result, the &lt;a href=&quot;https://thefundersclub.com/investments/&quot;&gt;initial 5 companies&lt;/a&gt; raising money on FundersClub are &lt;a href=&quot;http://pandodaily.com/2012/08/01/eight-y-combinator-companies-to-watch/&quot;&gt;some of the most interesting startups&lt;/a&gt; of the group.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/startuptoprow.png&quot; /&gt;&amp;lt;/img&amp;gt;
&lt;img src=&quot;/images/startupbottomrow.png&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;p&gt;These are the cream of the crop.  Most are likely to be over-subscribed come Demo Day. As an investor, if you aren’t well connected to YCombinator (and probably even if you are), you’ll be stuck on the sidelines wishing you had a way into their seed rounds.&lt;/p&gt;

&lt;p&gt;And with FundersClub, &lt;strong&gt;you do&lt;/strong&gt;.  The two have spent several months figuring out how to make everything work legally.  Details are &lt;a href=&quot;https://thefundersclub.com/site/howitworks/&quot;&gt;on their website&lt;/a&gt;, but briefly: when you invest in a company, you become a limited partner in a FundersClub investment fund which then in turn invests in the company.  As in traditional angel investments, accreditation is required (a minimum of $200k income or $1MM in assets).  No grandma paychecks allowed, no dependency on the JOBS act.&lt;/p&gt;

&lt;p&gt;FundersClub has raised almost $1MM on behalf of its launch startups so far, and an investment (&lt;a href=&quot;http://redeye.firstround.com/2012/08/welcome-fundersclub.html&quot;&gt;and glowing review&lt;/a&gt;) from First Round Capital and Josh Kopelman, respectively. Not bad for its first two weeks.&lt;/p&gt;

&lt;p&gt;They’ve got a ways to go, but I for one am looking forward to being able to read a TechCrunch article about a startup and being able to click the “Invest” button at the bottom, adorned with a nice FC logo.&lt;/p&gt;

&lt;p&gt;Good luck guys.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Being safe with mongodb</title>
   <link href="http://alexeymk.com/2012/08/05/be-safe-with-mongodb.html"/>
   <updated>2012-08-05T16:45:08-07:00</updated>
   <id>http://alexeymk.com/2012/08/05/be-safe-with-mongodb</id>
   <content type="html">&lt;p&gt;A quick public service announcement about MongoDB, for those of us new to NoSQL land:&lt;/p&gt;

&lt;p&gt;** By default, mongo will not let you know if a query that you ran failed miserably.**&lt;/p&gt;

&lt;p&gt;On the bright side, you on longer need to wait for mongo to unblock for updates or inserts, which makes production code run quicker.&lt;/p&gt;

&lt;p&gt;Unfortunately, this also means you’re going to spend more time tracking down bugs that would have been caught by IntegrityErrors (or the equivalent) in good old SQLite.&lt;/p&gt;

&lt;p&gt;** But I LIKE knowing about integrity errors**.  Me too, especially when testing locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here’s the fix&lt;/strong&gt;: set &lt;a href=&quot;http://www.mongodb.org/display/DOCS/Connections&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;safe=True&lt;/code&gt; in your Mongo connection object&lt;/a&gt;.  In django non-rel, this means setting&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;DATABASES = {
  'default': {
    ...
    'OPTIONS': {
      'safe': True
    },
  },
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;in settings.py.&lt;/p&gt;

&lt;p&gt;Good luck!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Sidecar and Digital Reputation Systems</title>
   <link href="http://alexeymk.com/2012/07/29/sidecar-and-reputation-systems.html"/>
   <updated>2012-07-29T16:23:57-07:00</updated>
   <id>http://alexeymk.com/2012/07/29/sidecar-and-reputation-systems</id>
   <content type="html">&lt;p&gt;For the past few months I’ve been using &lt;a href=&quot;side.cr&quot;&gt;Sidecar&lt;/a&gt; whenever I’m in SF.  The service is a sort of Uber meets &lt;a href=&quot;http://en.wikipedia.org/wiki/Illegal_taxicab_operation&quot;&gt;Gypsy cabs&lt;/a&gt;, allowing ordering on-demand &lt;strong&gt;everyday drivers&lt;/strong&gt;, who will give you a ride across town at a price comparable or slightly cheaper than a Taxi.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/Sidecar.png&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;p&gt;A post about the service’s legal standing is probably worthwhile but not for me to write.  Should you use Sidecar?  Yes, if you’re looking for Uber-like service at Taxi-like prices and aren’t made uncomfortable by just how sketchy the whole thing feels.  The service is invite-only for now, but if you’re in SF: &lt;a href=&quot;http://go.side.cr/oCz&quot;&gt;here, have an invite (and 10 bucks)&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;the-reputation-of-etas&quot;&gt;The Reputation of ETAs&lt;/h1&gt;
&lt;p&gt;I am fascinated by digital reputation systems, having focused on them in my senior thesis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wait times matter&lt;/strong&gt;.  In the taxi world (where a few of the drivers I’ve met come from), operators keep track of passengers who repeatedly order cabs and then don’t show up.  After a couple of no-shows, a phone number or address gets the equivalent of &lt;a href=&quot;http://en.wikipedia.org/wiki/Hellbanning&quot;&gt;Hellbanned&lt;/a&gt; - if they order a cab again, the operator will tell them the cab is on its way and then just not send anybody, leaving the passenger stranded.  It’s a cruel sort of system, but in lieu of a real-world consumer reputation system, it’s the only way I can think of for a cab company to punish poor behavior, like a waiter spitting in food.&lt;/p&gt;

&lt;p&gt;In Sidecar’s reputation system, a passenger is rated 1-5 by drivers, but only once a ride is complete.  A cancelled ride, then, is not globally stored within Sidecar’s system, at least in a way visible to drivers.  The driver that was telling me this story compensates by “just remembering people” once they have skipped out on a ride or two.  In one case, he accepted a ride that claimed to be fifteen minutes away and proceeded to “walk into a deli, order a sandwich and some chips, make small-talk with the owner, and then eventually come pick the guy up.”&lt;/p&gt;

&lt;h1 id=&quot;the-solution&quot;&gt;The Solution&lt;/h1&gt;
&lt;p&gt;In Sidecar’s case, I propose a reasonably straightforward solution: give passengers a reasonable window within which to cancel (90 seconds? 120?).  If they don’t cancel, add the notification to their reputation system (late-cancelled 6% of Sidecars).  Let both parties know that this is criteria that drivers will see.  You’ll get fewer cancellation and fewer drivers having to “remember people” and punish them passive-aggressively.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>My $370 Adjustable Sit-Stand Desk Setup</title>
   <link href="http://alexeymk.com/2012/07/22/my-370-dollar-adjustable-sit-stand-desk-setup.html"/>
   <updated>2012-07-22T14:54:14-07:00</updated>
   <id>http://alexeymk.com/2012/07/22/my-370-dollar-adjustable-sit-stand-desk-setup</id>
   <content type="html">&lt;p&gt;Whenever a friend visits our HQ, I proudly show off my &lt;a href=&quot;http://www.amazon.com/WorkFit-S-Single-HD-Sit-Stand-Worstation/dp/B003WQ4GXQ/alexcom0ca-20&quot;&gt;combination sit/stand desk&lt;/a&gt;. Often, that results in an email asking where one buys such a thing. One buys such a thing on amazon.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/WorkFit-S-Single-HD-Sit-Stand-Worstation/dp/B003WQ4GXQ/alexcom0ca-20&quot;&gt;&lt;img src=&quot;http://ecx.images-amazon.com/images/I/91EnHQnu6iL._AA1500_.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;wait-why-a-standing-desk&quot;&gt;Wait, why a standing desk?&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://w1.msskvf.net/prod/f812733c-edcb-4ecb-9d2d-7a9deac2b4ad/1dd05104-23e7-4d50-a629-2aab082f79a7&quot;&gt;Sitting is killing you&lt;/a&gt;, apparently. I don’t get as much exercise as I’d like now that I’m out of college, and at the least, standing for part of the day means I’m getting at least &lt;em&gt;some&lt;/em&gt; exercise.&lt;/p&gt;

&lt;h2 id=&quot;the-options-i-explored&quot;&gt;The options I explored&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;There have been a few “&lt;a href=&quot;http://iamnotaprogrammer.com/Ikea-Standing-desk-for-22-dollars.html&quot;&gt;Standing desk for cheap&lt;/a&gt;” blog posts on Hacker News recently, but none of those allow me to easily move from sitting to standing. I could sit on a high stool, certainly, but that didn’t seem particularly ergonomic.  So, I went for the cheapest effective adjustable setup I could find.&lt;/li&gt;
  &lt;li&gt;My stand is reasonably cheap ($370) and slides from sitting to standing via a gentle pull of the monitor up or down.  I couldn’t find anything else that offered a similar service for under $600 or so.&lt;/li&gt;
  &lt;li&gt;There are &lt;a href=&quot;http://www.amazon.com/s/ref=bl_sr_pc?_encoding=UTF8&amp;amp;node=172282&amp;amp;field-brandtextbin=Ergotron&amp;amp;ref=alexcom0ca-20&quot;&gt;several models of the Ergotron available&lt;/a&gt;, depending on # and size of monitors you’d like, and whether you need a laptop at standing height as well.  One 30’’ was plenty for me, and came in at $370. Adding a second screen or a monitor would have bumped the price, but not by much.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;how-i-like-it&quot;&gt;How I like it.&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Installation was reasonably straightforward (took about a half an hour to build the thing).  The mount expects the back of your monitor to have certain dimensions in the mounting hinge. Check before buying.&lt;/li&gt;
  &lt;li&gt;Overally, I’m pretty happy with the purchase, given the price point.&lt;/li&gt;
  &lt;li&gt;I’d be lying if I say that I’ve gotten myself standing most of the time. I’m writing this sitting down.  But I definitely stand more than I would otherwise; it really depends on my energy on a daily basis.  I’ve definitely still got room for improvement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/WorkFit-S-Single-HD-Sit-Stand-Worstation/dp/B003WQ4GXQ/alexcom0ca-20&quot;&gt;&lt;img src=&quot;/images/standingdesk.jpg&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, that’s my setup.  Feel free to &lt;a href=&quot;http://www.amazon.com/WorkFit-S-Single-HD-Sit-Stand-Worstation/dp/B003WQ4GXQ/alexcom0ca-20&quot;&gt;get one for yourself&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PS&lt;/strong&gt;: A friend of mine is running &lt;a href=&quot;http://www.kickstarter.com/projects/1886278358/ninja-standing-desk&quot;&gt;a kickstarter for a portable standing desk&lt;/a&gt;, for $150.  Seems pretty useful if you want to travel and have a standing work setup.&lt;/p&gt;

&lt;iframe width=&quot;640&quot; height=&quot;480&quot; src=&quot;http://www.kickstarter.com/projects/1886278358/ninja-standing-desk/widget/video.html&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;
</content>
 </entry>
 
 <entry>
   <title>Weekend Hack: A Markov Baby Name Generator</title>
   <link href="http://alexeymk.com/2012/07/15/weekend-hack-a-markov-baby-name-generator.html"/>
   <updated>2012-07-15T11:00:11-07:00</updated>
   <id>http://alexeymk.com/2012/07/15/weekend-hack--a-markov-baby-name-generator</id>
   <content type="html">&lt;p&gt;My weekend hack is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_chain&quot;&gt;Markov Chain&lt;/a&gt; baby name generator.  &lt;a href=&quot;http://twitter.com/markovbaby&quot;&gt;@MarkovBaby&lt;/a&gt; will come up with a new baby name once an hour and tweets it out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The result&lt;/strong&gt;: &lt;a href=&quot;http://twitter.com/markovbaby&quot;&gt;Follow @markovbaby on Twitter&lt;/a&gt;.&lt;/p&gt;

&lt;script src=&quot;http://storify.com/alexeymk/sample-names.js&quot;&gt;&lt;/script&gt;
&lt;noscript&gt;[&lt;a href=&quot;http://storify.com/alexeymk/sample-names&quot; target=&quot;_blank&quot;&gt;View the story &quot;Sample Names&quot; on Storify&lt;/a&gt;]&lt;/noscript&gt;

&lt;h2 id=&quot;what-is-a-markov-chain&quot;&gt;What is a Markov Chain?&lt;/h2&gt;
&lt;p&gt;Read &lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_chain&quot;&gt;the wikipedia entry&lt;/a&gt; for a more thorough introduction, but in our case, a Markov Chain is a simple random process to generate text that looks sort of like other text.&lt;/p&gt;

&lt;p&gt;For example: as we’re generating baby names, say we start with the letter “C”.  What should be our next letter?  Well, what kind of letters usually come after a “C” in names?  Let’s look through our &lt;a href=&quot;https://github.com/AlexeyMK/markov-baby-names/blob/master/boys.txt&quot;&gt;list of existing names&lt;/a&gt; and see what usually comes next.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/letters_after_c.png&quot; /&gt;&amp;lt;/img&amp;gt;&lt;/p&gt;

&lt;p&gt;Great.  Let’s pick the next character at random from within this list, weighing each possibility by how often it appears.  If we get ‘end of word’, we’re done.&lt;/p&gt;

&lt;p&gt;But let’s say we’ve picked ‘h’.  Great - so far the name starts with a ‘ch’ - let’s look for the next character: what tends to follow an ‘h’ in our existing names?  And so on.&lt;/p&gt;

&lt;h2 id=&quot;results&quot;&gt;Results&lt;/h2&gt;

&lt;p&gt;The result are a rather eclectic set of names.  Some are silly and non-sensical (C, Ieahaholijayson), while others seem pretty reasonable (Marin, Gacon).  A lot of them sound like they belong in Middle Earth (Miaviria), to Weseteros (Josth, Mindron).  Occasionaly it’ll accidentally recreate a real name. Those are my favorite.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://twitter.com/markovbaby&quot;&gt;@MarkovBaby&lt;/a&gt; may be suitable for an expecting couple with just the appropriate amount of eccentricity and love of statistics.&lt;/p&gt;

&lt;h2 id=&quot;the-code&quot;&gt;The code&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/AlexeyMK/markov-baby-names&quot;&gt;Is available on my github&lt;/a&gt;.  Hopefully nothing too complicated; random.choice and collections.defaultdict proved rather helpful. I hadn’t touched Markov Chains since proving things about them in Randomized Algorithms class, so it was good to know that with a bit of clever python you could write one in a few dozen lines.  For reference, mine was an ‘order-1’ (IE, only look at one previous character) chain.&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/3119751.js&quot;&gt; &lt;/script&gt;

&lt;p&gt;See also, &lt;a href=&quot;http://www.cs.bell-labs.com/cm/cs/pearls/sec153.html&quot;&gt;a discussion on Markov Chain implementations in Programming Pearls&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;possible-extensions&quot;&gt;Possible extensions&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Favorite or RT your favorite baby names, and I’ll put up a leaderboard for favorite ones.&lt;/li&gt;
  &lt;li&gt;Apply the same techniques (and same code) to startup names, using crunchbase: Markov 2.0.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’ve got a twitter bot missing in your life, &lt;a href=&quot;http://twitter.com/markovbaby&quot;&gt;follow @markovbaby on Twitter&lt;/a&gt;.  Or &lt;a href=&quot;http://twitter.com/alexeymk&quot;&gt;follow me&lt;/a&gt;. That would be cool too.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Non-Technical Hiring, Lessons Learned</title>
   <link href="http://alexeymk.com/2012/07/07/lessons-learned-on-nontechnical-hiring.html"/>
   <updated>2012-07-07T19:34:00-07:00</updated>
   <id>http://alexeymk.com/2012/07/07/lessons-learned-on-nontechnical-hiring</id>
   <content type="html">&lt;p&gt;I worked on non-technical hiring over this past week.&lt;/p&gt;

&lt;h4&gt;Some Lessons Learned&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;There are a lot of people on craigslist.&lt;/strong&gt;  We got over 160 applicants for our post.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Some are pretty darn good&lt;/strong&gt; 40 or so were potentially interesting, and I ended up with about 5 candidates I was very happy with at the end of the process.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Applications should be hard&lt;/strong&gt; Our application form included several paragraph answers, forcing candidates to think and allowing me to evaluate their writing style.  This proved very helpful.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Templates are your friend&lt;/strong&gt; That means 120 rejections.  For technical hires, I do my absolute best to give feedback, especially for younger candidates, on what to work on.  With this volume of candidates, include many just spray-and-praying their resume, I had to go with a template for most hires.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Duplicate test assignments&lt;/strong&gt; for potentially worthwhile candidates, I came up with a realistic task that would take about an hour and asked them to send me their results before considering an interview.  I learned a ton from seeing more than 20 people complete the same assignment, including what I was looking for in an ideal candidate.  Things like how well they communicate with me, whether they ask questions (and whether these are the right questions or just things they could have googled), whether they are comfortable making assumptions and moving forward if I am unavailable, etc.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Education is a far stronger signal for non-technical hires&lt;/strong&gt; With technical resumes, I may glance over where they got their undergrad but focus much more on experience and publicly available code.  For non-technical hires, places they’ve worked/things they’ve done before aren’t nearly as indicative of quality (at least to me) as for technical roles.  The highest signals of quality (quality measured by ‘I am interested in hiring this candidate’) ended up being things like caliber of undergraduate education and the candidate’s ability to answer the initial questions well. Being used to the “it doesn’t matter where you went to school, what we care about is what you’ve done” school of thought for technical hiring, this surprised me.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Things I'd change next time around&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;Send almost all of the candidates through the challenge first.  I met with a lot of candidates in person before sending them the challenge; in retrospect, in a buyer’s market, this should have been reversed.&lt;/li&gt;
  &lt;li&gt;Filter for ‘having read the requirements’ by including a sentence like “Please ensure to include the capital of Denmark somewhere in your application.”  This would have filtered a ton of spray-and-prayers.&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Migrating from Posterous to Jekyll on GitHub Pages</title>
   <link href="http://alexeymk.com/2012/07/01/moving-to-github-pages-and-jekyll.html"/>
   <updated>2012-07-01T16:30:00-07:00</updated>
   <id>http://alexeymk.com/2012/07/01/moving-to-github-pages-and-jekyll</id>
   <content type="html">&lt;p&gt;I may be a bit late to the &lt;a href=&quot;http://jekyllrb.com&quot;&gt;Jekyll&lt;/a&gt; party, but with Posterous being acquired by twitter a few months ago, I figured why not try it out. Two weekends later I’ve migrated enough that I’m comfortable shipping, though I imagine a bunch of silly bugs will remain. Please &lt;a href=&quot;mailto:alexey-at-alexeymk.com&quot;&gt;email me&lt;/a&gt; with any issues you find, and I’ll get to them when I can.&lt;/p&gt;

&lt;p&gt;In the meantime…&lt;/p&gt;

&lt;h4 id=&quot;moving-from-posterous-to-jekyll-what-you-need-to-know&quot;&gt;Moving from Posterous to Jekyll: What you need to know.&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://jekyllrb.com&quot;&gt;Jekyll&lt;/a&gt;&lt;/strong&gt; is a static site generator created by GitHub for GitHub Pages.  It is rather extensible, so people have built things like &lt;a href=&quot;http://str8.to/jekyll-boostrap&quot;&gt;Jekyll-Bootstrap&lt;/a&gt; and &lt;a href=&quot;http://str8.to/jekyll-octopress&quot;&gt;Octopress&lt;/a&gt; on top of it.  I sort of half-used the former (adapted a theme) and didn’t know about the latter until it was too late.  Maybe/probably use Octopress if you go this route.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Migrating from Posterous&lt;/strong&gt; kinda-sorta works.  The migrator that includes images/permalinks is &lt;a href=&quot;https://github.com/pepijndevos/jekyll/blob/patch-1/lib/jekyll/migrators/posterous.rb&quot;&gt;on github here&lt;/a&gt;.  Some ruby required.  Here’s &lt;a href=&quot;https://github.com/AlexeyMK/alexeymk.github.com/blob/master/posterous_import.rb&quot;&gt;my hacky version&lt;/a&gt;, with a couple of updates.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Comments&lt;/strong&gt; I haven’t moved mine yet but a &lt;a href=&quot;http://blog.jrmoran.com/blog/2012/01/31/importing-posterous-comments-into-disqus/&quot;&gt;guide to move posterous comments to disqus&lt;/a&gt; is available.  The decision to have comments (even moderated ones) is not one I’ve made yet. We’ll see.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;RSS&lt;/strong&gt; Here’s the &lt;a href=&quot;http://recursive-design.com/blog/2010/09/14/integrating-jekyll-with-feedburner/&quot;&gt;jekyll+feedburner guide&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Developing Locally&lt;/strong&gt; I used &lt;a href=&quot;https://github.com/therabidbanana/guard-jekyll&quot;&gt;guard to auto re-generate pages&lt;/a&gt; as I was iterating on the CSS hackery.  Pretty useful, especially if you’re already reasonably comfortable with guard.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Hosting&lt;/strong&gt; GitHub Pages will host for you at yourusername.github.com + let you host on your domain &lt;a href=&quot;http://imakewebthings.com/blog/github-pages-email/&quot;&gt;if you add a CNAME to your distribution&lt;/a&gt;.  I’m about to try it.  Fingers crossed.  Also, I don’t know how much I trust GitHub to be so generous in the long run, but my next migration is going to be far less painful - “it’s just static content”.  &lt;strong&gt;Note&lt;/strong&gt;: I was worried about where to stick draft posts, since the repo needs to be public, and my solution was to have both a public and a private repository, so releasing is “git commit -a &amp;amp;&amp;amp; git push public master.”&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Markdown&lt;/strong&gt; I admit I’m not too experienced with Markdown. Here’s &lt;a href=&quot;http://nestacms.com/docs/creating-content/markdown-cheat-sheet&quot;&gt;my cheatsheet&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>My first time with an Exec</title>
   <link href="http://alexeymk.com/my-first-time-with-an-exec/index.html"/>
   <updated>2012-06-18T19:34:00-07:00</updated>
   <id>http://alexeymk.com/my-first-time-with-an-exec/my-first-time-with-an-exec</id>
   <content type="html">&lt;p&gt;I tried &lt;a href=&quot;http://iamexec.com&quot;&gt;Exec&lt;/a&gt;&amp;nbsp;for the first time today. &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://iamexec.com/r/efb7478514db45c946c2aa7157f53e1f&quot;&gt;&lt;img src=&quot;http://i.imgur.com/1lP6J.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR - don't half-ass the task description/understanding what you actually need.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Motivation:&lt;br /&gt;&lt;/strong&gt;I had found a blog post with a ton of discussion online that had some great comments showing a deep understanding of the material. &amp;nbsp;&quot;These people are awesome,&quot; I thought. &quot;Let's see who among them we could hire!&quot;.&lt;/p&gt;
&lt;p&gt;Huzzah, finally a chance to try TaskRabbit andExec.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My description:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;I'm looking for contact info for a few (about 10-15) posters from a couple of blog posts (links below)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Result: I'd like an excel spreadsheet that looks like this, for every commenter that seems to be well-received. &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;You may need to start with the Username and google for all of their other info.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Spreadsheet format:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Username | What They Said (+Link) | Contact Info (email?) | Github | Personal Website | Current Occupation&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After posting on TaskRabbit and getting no bites for an hour or so, I went to Exec instead. Within 10 minutes, I got a call from my new Exec and Sarah (name changed) got started.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;Correspondance with the Exec (edited for brevity)&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;30 minutes in&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Sarah:&amp;nbsp;&lt;/strong&gt;Would you prefer not to post a 'conversation' between the user and other users who are commenting back to the main user?&lt;/p&gt;
&lt;p&gt;Or shall I post some of those as well?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Me:&amp;nbsp;&lt;/strong&gt;&lt;span style=&quot;&quot;&gt;A link to the comment and a snippet of their comment (about a sentence) would be great! &amp;nbsp;I'll follow the link if I'm looking for more context.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;55 minutes in&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Sarah&lt;/strong&gt;&lt;strong&gt;:&amp;nbsp;&lt;/strong&gt;&lt;span style=&quot;&quot;&gt;Excuse me, what does 'github' mean, please? Also may I add a column showing what they have posted...as in those links? &amp;nbsp;I'm also having trouble getting their personal info from the first URL you gave me. &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;&lt;strong&gt;Me:&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;- I'd take their username and google around to see if you can find them somewhere else online. &amp;nbsp;No worries if you can't find contact info for all of them, but most should have a github/blog/etc which will have an email address. &amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;- Github is&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://github.com/&quot; target=&quot;_blank&quot; style=&quot;&quot;&gt;github.com&lt;/a&gt;&lt;span style=&quot;&quot;&gt;, a website that many engineers use to display code they have worked on. It's reasonable to expect most everybody who made a comment is going to have a github account as well, probably with the same username as the comment&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2 hours in&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;&lt;strong&gt;Sarah: &lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;I have 8...still working...wanted to give you an update!&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;2:15 in&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Sarah: &amp;nbsp;&lt;/strong&gt;&lt;span style=&quot;&quot;&gt;OK...here it is...10 total now.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;&lt;strong&gt;Me: &amp;nbsp;&lt;/strong&gt;Looks goo&lt;/span&gt;&lt;span style=&quot;&quot;&gt;d! &amp;nbsp;[review briskly in the middle of other work]&amp;nbsp;The one detail I'd love to have, that I wasn't clear about in retrospect, would be the name of their current employer (in position, rather than the title, I'm also interested in who they are working for).&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;&quot;&gt;&lt;strong&gt;Sarah:&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;Most of them don't say who they are working for, but I'll add that tab and go back and look at them again.,..if this goes longer than 3 hours. &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;is that OK with you? Or do you want me to stop at 3 hours? We are at 2hr.25 min right now.&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span&gt;&lt;strong&gt;Me&lt;/strong&gt;: Sure, stop at 3 hours.&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;&lt;strong&gt;Cost: $75 &lt;/strong&gt;($25/hour)&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;strong&gt;Aftermath&lt;/strong&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Later that night, I pulled open the spreadsheet. &amp;nbsp;The people Sarah had chosen were not necessarily the ones I felt had made particularly insightful comments. Sarah didn't have any domain expertise; as a result, I discarded a few of the 11 almost immediately and started to read through on the rest.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;My workflow with the Spreadsheet was not optimal - I ended up bouncing back and forth between the links provided to figure out if this person was worth contacting. I was duplicating a lot of the work that I had hoped to have Exec handle for me, and am not sure how much time I saved (I ended up googling about half of their usernames anyway to find more things about them).&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;I did end up emailing a few people that were worthwhile, but I'm not convinced that between specifying the task, managing Sarah and then looking through the spreadsheet I saved myself all that much time. Sarah was very friendly and responsive, but ultimately I tried to outsource judgment that required domain expertise, and was only marginally successful.&lt;/div&gt;
&lt;img src=&quot;/images/exec1.jpg&quot; alt=&quot;My first time with an Exec&quot; /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Takeaways for next time:&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Do it yourself first. &lt;/strong&gt;I saw the opportunity and got excited about using Exec. The right thing would have been to go through 2 or 3 people myself first, understand my workflow, verify whether it was outsourceable, and only then document it and pass it on. &amp;nbsp;If I were doing this again, I would probably read the comments myself and only ask to get the executive summary of a commenter be done for me externally. &amp;nbsp;This would have probably only taken about 1 hour of exec-time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Give feedback early. &amp;nbsp;&lt;/strong&gt;I should have asked Sarah to check in after she finished each of the first few people so that I could give feedback and refine the task. In a couple of the cases, she added information that wasn't useful that I could have blocked earlier on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Exec is not your clone.&lt;/strong&gt;&amp;nbsp;I expected too much tech-related domain knowledge out of my Exec. My description was wishy-washy and hoped for the best. &amp;nbsp;Part of this, I'm sure, will come with expertise, but from now on I will try to describe too much rather than too little if I'm working with somebody new.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Verdict: &lt;/strong&gt;I'll be back on Exec, less naive and frivolous about asking for tasks before I understand what I really want. &amp;nbsp;Here's &lt;a href=&quot;https://iamexec.com/r/efb7478514db45c946c2aa7157f53e1f&quot;&gt;$5 off&lt;/a&gt;&amp;nbsp;if you'd care to try it out.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>A blog post a week, or the beer's on you: Iron Blogger SF</title>
   <link href="http://alexeymk.com/a-blog-post-a-week-or-the-beers-on-you-iron-b/index.html"/>
   <updated>2012-06-10T13:02:00-07:00</updated>
   <id>http://alexeymk.com/a-blog-post-a-week-or-the-beers-on-you-iron-b/a-blog-post-a-week-or-the-beers-on-you-iron-b</id>
   <content type="html">&lt;p&gt;I &lt;span style=&quot;text-decoration: line-through;&quot;&gt;showed up at&lt;/span&gt; &lt;span style=&quot;text-decoration: line-through;&quot;&gt;stumbled upon&lt;/span&gt;&amp;nbsp;was tricked into an &lt;a href=&quot;http://iron-blogger-sf.com/&quot;&gt;Iron Blogger SF&lt;/a&gt;&amp;nbsp;meetup on Saturday, and was not allowed to have any of the beer until I found out what the meetup was about and convinced to partake.&lt;/p&gt;
&lt;p&gt;Iron Blogger is simple. &amp;nbsp;&lt;/p&gt;
&lt;blockquote class=&quot;posterous_short_quote&quot;&gt;
&lt;p&gt;Write a blog post once a week. &amp;nbsp;If (and when) you don't: you owe $5. &amp;nbsp;When there's enough money in the digital pot to afford a sufficient quantity of beer, a meetup is convened.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Once a week is tough. My most interesting and well-read blog posts have typically consisted of &lt;a href=&quot;http://alexeymk.com/dear-dr-stallman-an-open-letter&quot;&gt;lengthy write-ups&lt;/a&gt; or niche guides&amp;nbsp;for&amp;nbsp;&lt;a href=&quot;http://alexeymk.com/hosting-hackathons-the-organizers-checklist&quot;&gt;hackathon organizers&lt;/a&gt; or &lt;a href=&quot;http://alexeymk.com/an-interns-guide-to-a-summer-in-the-bay-area&quot;&gt;Bay Area tech interns&lt;/a&gt;. It's not really blogging, per se - the writing model I aspire to most is &lt;a href=&quot;joelonsoftware.com&quot;&gt;Joel Spolsky&lt;/a&gt;, a sort of Joel without&amp;nbsp;the wisdom, experience, or wit.&lt;/p&gt;
&lt;p&gt;So this is very different, and I can't say I'm particularly comfortable with it. These coming posts won't all be what I consider ready-to-ship, or particularly well-researched or thorough. &amp;nbsp;I don't expect them to be nearly as well-read.&amp;nbsp;Hopefully, they'll force me into improving my writing.&lt;/p&gt;
&lt;p&gt;It's that or $5 a week.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Don't take your highest-paying internship offer</title>
   <link href="http://alexeymk.com/dont-take-your-highest-paying-internship-offe/index.html"/>
   <updated>2012-05-19T03:37:00-07:00</updated>
   <id>http://alexeymk.com/dont-take-your-highest-paying-internship-offe/dont-take-your-highest-paying-internship-offe</id>
   <content type="html">&lt;p&gt;&quot;Well, I wasn't really going to intern at X (say, Zynga, or Morgan Stanley) but they offered more than anybody else.&quot;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Don't do that.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It's easy to focus on the financial aspect of an offer, especially if it's the first time you've had a chance to make anywhere near this much. It feels kind of surreal.&lt;/p&gt;
&lt;p&gt;It's not that money isn't a valuable proxy for how valuable the company perceives you to be. If you get an offer of &quot;housing + we give you options in the company,&quot; that's a good sign that you are talking to &lt;a href=&quot;http://WhartoniteSeeksCodeMonkey.com&quot;&gt;Whartonite Seeks Code Monkey&lt;/a&gt;-esque enterpreneurs and if you have anything remotely more interesting available you should go do that instead.&lt;/p&gt;
&lt;p&gt;But the point of an internship is not to maximize your profits - it's to &lt;a href=&quot;http://alexeymk.com/a-brief-guide-to-tech-internships&quot;&gt;learn what kind of work or industry you want to be in once you graduate&lt;/a&gt;, to try things out and live in cool places, and (more immediately) learn about how real-world software engineering works.&lt;/p&gt;
&lt;p&gt;When you go out into the real world with six figures of college loans, sure: try to negotiate up your offers, consider the difference between $80k and $100k a year. &amp;nbsp;This will make a substantial difference in how soon you will be free from debt. &amp;nbsp;But when you are deciding where to spend your summer, the difference of a few $k is a small price to pay for learning about a potential industry or position or company that you are interested in as a career.&lt;/p&gt;
&lt;p&gt;PS. &amp;nbsp;In case you're wondering, here's an approximate price that companies are paying these days for technical interns. I imagine this'll be out of date reasonably soon, but here it goes*:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;~$10k/month - crazy financial hedge-funds where they have you do algorithms trading or something along those lines. Expect +$2k/month for every greek letter in their name.&lt;/li&gt;
&lt;li&gt;~$7.5k/month - Google. I think Google still makes a point of paying 10-20% more than anybody else, but I haven't checked recently. Edit: Palantir appears to be in this bracket as well.&lt;/li&gt;
&lt;li&gt;~$6-7k/month - Facebook, Dropbox, Twitter, Microsoft, Apple, etc - top-tier tech companies. &amp;nbsp;&lt;/li&gt;
&lt;li&gt;~$4-6k/month - Various smaller companies and legit startups. &amp;nbsp;I think normal finance-tech jobs are in this range as well.&lt;/li&gt;
&lt;li&gt;~$2-4k/month - Less prestigious (or non Bay-Area) start-ups or small tech firms.&lt;/li&gt;
&lt;li&gt;~$0-2k/month - Summer of Code, non-profit work, non-funded or silly start-ups.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;* Note: I'm including housing in all of these.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Keep in mind that a number of these companies also adjust by year, more willing to pay a rising senior than a rising freshman. &amp;nbsp;I've seen this be a factor of up to 50%.&lt;/p&gt;
&lt;p&gt;[edited with suggestions from &lt;a href=&quot;http://news.ycombinator.com/item?id=3996537&quot;&gt;Hacker News&lt;/a&gt; comments]&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>So those co-founder slides turned into a TechCrunch article</title>
   <link href="http://alexeymk.com/so-those-co-founder-slides-turned-into-a-tech/index.html"/>
   <updated>2012-04-15T07:46:00-07:00</updated>
   <id>http://alexeymk.com/so-those-co-founder-slides-turned-into-a-tech/so-those-co-founder-slides-turned-into-a-tech</id>
   <content type="html">&lt;p&gt;&lt;a href=&quot;http://techcrunch.com/2012/04/15/stop-looking-for-a-technical-co-founder/&quot;&gt;http://techcrunch.com/2012/04/15/stop-looking-for-a-technical-co-founder/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A pretty surreal/cool experience. I should expand on the process at some point.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>A brief guide to tech internships</title>
   <link href="http://alexeymk.com/a-brief-guide-to-tech-internships/index.html"/>
   <updated>2012-01-30T00:12:00-08:00</updated>
   <id>http://alexeymk.com/a-brief-guide-to-tech-internships/a-brief-guide-to-tech-internships</id>
   <content type="html">&lt;p&gt;&lt;em&gt;Planning to be an Intern in the Bay Area during Summer 2012? Make sure to read&amp;nbsp;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CDoQFjAA&amp;amp;url=http%3A%2F%2Falexeymk.com%2Fan-interns-guide-to-a-summer-in-the-bay-area&amp;amp;ei=KF8mT9SeNsqriQLMxtnIBw&amp;amp;usg=AFQjCNH48TCQjkJmZLznLS-yre_cx7UY5w&amp;amp;sig2=0EgCK7UCUVvQjpIKWecrKg&quot;&gt;an Intern's Guide to the Bay Area&lt;/a&gt;, and join the&amp;nbsp;&lt;a href=&quot;https://www.facebook.com/groups/237984646237494/&quot;&gt;2012 Facebook group&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;img src=&quot;http://i.imgur.com/zmhnE.png&quot; alt=&quot;&quot; style=&quot;border-color: initial;&quot; /&gt;&lt;em&gt;(via&amp;nbsp;&lt;a href=&quot;http://truths-secrets.blogspot.com/2011/11/next-step-in-my-life.html&quot;&gt;this guy&lt;/a&gt;, via&amp;nbsp;&lt;a href=&quot;http://flavors.me/stussified&quot;&gt;this guy&lt;/a&gt;)&lt;/em&gt;&lt;p /&gt;Joel Spolsky, from the &lt;a href=&quot;http://joelonsoftware.com&quot;&gt;Joel On Software blog&lt;/a&gt; and StackOverflow, wrote an article with &lt;a href=&quot;http://joelonsoftware.com/articles/CollegeAdvice.html&quot;&gt;Advice for Computer Science College Students&lt;/a&gt; back in '05. According to Joel,&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;No matter what you do, get a good summer internship.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;As such: here&amp;rsquo;s everything you ever wanted to know about tech internships, plus some bloviating about my experience. The &lt;strong&gt;TL;DR is, &lt;/strong&gt;&lt;strong&gt;try to have at least two internships: one at a small start-up and one at a tech company.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Wait, who are you?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I'm a CS senior at the University of Pennsylvania. I have interned at Facebook (Summer 2010), where I worked on application privacy, and as a generalist at &lt;a href=&quot;http://2bkco.com&quot;&gt;2bkco&lt;/a&gt; (Summer 2011), a new startup from serial enterpreneur &lt;a href=&quot;http://www.caterina.net&quot;&gt;Caterina Fake&lt;/a&gt; (Flickr, Hunch). &amp;nbsp;Both internships were great and invaluable. They were also very, very different, in terms of both the type of work I had to do and what I gained from the experience.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&quot;font-size: large;&quot;&gt;1) How do I get a good internship?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Luckily, a number of great posts have been written about this subject already.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.andrewmunn.com&quot;&gt;Andrew Munn&lt;/a&gt; has a great piece on&lt;a href=&quot;http://www.andrewmunn.com/2011/01/how-to-land-an-internship-at-a-top-tier-software-company/&quot;&gt; interviewing and applying for tech internships&lt;/a&gt;, focusing primarily on what larger companies are looking for.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://technologywoman.com&quot;&gt;Gayle Laakmann&lt;/a&gt;, author of &lt;a href=&quot;http://str8.to/cracking-the-coding-interview&quot;&gt;Cracking the Coding Interview&lt;/a&gt;, has a &lt;a href=&quot;http://2011f.pennapps.com/blog/2011/9/15/size-matters-how-coding-resumes-differ-between-big-companies.html&quot;&gt;post on the difference between what startups and tech companies&lt;/a&gt; are looking for.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To which I add &lt;strong&gt;my two cents&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Start thinking about summer internships around Winter Break&lt;/strong&gt;. Make a list of potential companies and start applying. &amp;nbsp;Don't be worried if the entire process takes until April or so, though.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Get a referral&lt;/strong&gt; rather than applying directly whenever possible. &amp;nbsp; Ask upperclassmen you know (think: TAs that like you) who could make a referral. &amp;nbsp;For earlier-stage companies, if they don't have an explicitly-listed referral program, don't worry about it: email the CEO. &lt;em&gt;Hint&lt;/em&gt;: they are probably at &lt;a href=&quot;mailto:firstname@startup.com&quot;&gt;firstname@startup.com&lt;/a&gt;. &lt;img src=&quot;http://i.imgur.com/CAA1j.jpg&quot; alt=&quot;&quot; /&gt;
&lt;div&gt;&lt;em&gt;(via&amp;nbsp;&lt;a href=&quot;http://gapingvoid.com&quot;&gt;Hugh MacLeod&lt;/a&gt;)&lt;/em&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Practice technical interviews.&lt;/strong&gt;&amp;nbsp;If you're nervous about writing code on the whiteboard, try some combination of being drilled by upperclassmen, buying (and practicing going through) Gayle's &lt;a href=&quot;http://str8.to/cracking-the-coding-interview&quot;&gt;Cracking the Coding Interview&lt;/a&gt;. Others also recommend interviewing with the companies you aren't as interested in first, using them to train.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimize for what you can get. &lt;/strong&gt;Bigger companies are going to (generally) look for a high GPA and good performance on brain teasers. &amp;nbsp;Smaller companies are going to prioritize a history of &lt;a href=&quot;http://www.joelonsoftware.com/items/2007/06/05.html&quot;&gt;initiative and automony&lt;/a&gt;, as shown by cool projects on your resume. &amp;nbsp;If you've got a high GPA (at least 3.7 at Penn, say) and are good at brain teasers, you should be OK with larger companies; if not, start with a start-up.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Your timing is great! &lt;/strong&gt;Literally everybody is looking for software engineers right now, and internships are one of the key ways to recruit for companies. The market could not be any better for us. If you feel like you're not getting anywhere, make sure to apply beyond whatever is immediately available on campus. Competing with the general populace may be easier than competing with others at your university.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consider a mass-application or 'summer program', &lt;/strong&gt;which are often offered by venture capital firms and have&amp;nbsp;gained popularity in recent years. &amp;nbsp;Make sure to check out (and potentially apply via):&amp;nbsp;&lt;a href=&quot;http://hackny.org/a/students/&quot;&gt;hackNY fellows&lt;/a&gt;, &lt;a href=&quot;http://a16z.com/talent-services/&quot;&gt;Andreesen Horowitz&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.firstround.com/university&quot;&gt;First Round Capital&lt;/a&gt;, &lt;a href=&quot;http://www.trueventures.com/tec/&quot;&gt;True Ventures&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://kpcbfellows.com/&quot;&gt;Kleiner Perkins Fellows&lt;/a&gt;, &lt;a href=&quot;http://www.baincapitalventures.com/startupacademy/&quot;&gt;Bane's StartUp Academy&lt;/a&gt;, &lt;a href=&quot;http://nycturingfellows.org/&quot;&gt;NYC Turing Fellows&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://interviewstreet.com&quot;&gt;InterviewStreet&lt;/a&gt; and &lt;a href=&quot;http://internmatch.com&quot;&gt;InternMatch&lt;/a&gt;. None of these are a substitute for applying to companies individually (and I haven't tried them myself) but given the reasonably short time required to apply, they are probably worth doing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Location is a pretty big deal.&lt;/strong&gt;&amp;nbsp;Try to be in the Bay Area (Silicon Valley, San Francisco, Mountain View, Palo Alto, etc) if you can - &lt;a href=&quot;http://alexeymk.com/the-bay-area-is-awesome&quot;&gt;it's awesome&lt;/a&gt;. and there are a ton of other interns around. &amp;nbsp;I hear &lt;a href=&quot;http://articles.businessinsider.com/2011-12-09/tech/30449324_1_techstars-zocdoc-onswipe&quot;&gt;New York&lt;/a&gt; is getting pretty fun as well, but don't have any personal experience. Other tech regions like Boston or Austin (and maybe LA and Philly) aren't bad, but make sure not to get stuck in the middle of nowhere, living in the suburbs as the only tech intern at a huge company. &amp;nbsp;That does not a fun summer make.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style=&quot;font-size: large;&quot;&gt;2) How do I pick where to apply/work?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Before applying, consider: &quot;Am I excited about the products this company makes? Would I be excited to know that I work there?&quot; It's much easier to get motivated (and show excitement) for a company you are excited about. I was Dropbox user #2001, which I did not neglect to mention when I applied. It helped. I think.&lt;/p&gt;
&lt;p&gt;I strongly advice looking for internships with a big tech company or a startup, rather than a non-tech company (esp. financial) company that happens to have engineers. The explanation is a little long, so I'll just assume you nod along hummingly here. For the inquisitive:&amp;nbsp;&lt;a href=&quot;http://alexeymk.com/private/ysfskqeqtu&quot;&gt;here's a longer argument&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Picking a startup&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;You want to work for (and learn from) the start-ups that are going to be successful, but as the Venture Capital industry knows &lt;a href=&quot;http://www.smartmoney.com/small-business/small-business/pet-project-history-lessons-for-a-petfood-startup-1306600428322/?link=SM_smallbiz_featStory&quot;&gt;full&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.cnet.com/1990-11136_1-6278387-1.html&quot;&gt;well&lt;/a&gt;, it's not always easy to pick winners.&lt;/p&gt;
&lt;p&gt;There are, however, a few hints that you can pick up on and prioritize for when thinking about where to work:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Has the founder had a successful start-up venture in the past&lt;/strong&gt;? They must have done something right; past performance appears to be the best guarantor of success for tech enterpreneurs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is the founder (or a large portion of the founding team) technical&lt;/strong&gt;? Are they writing code? Do they come from a strong technical background, whether at a startup or from a top tech company?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Does the company or its employees have a track record of being good mentors&lt;/strong&gt;? &amp;nbsp;I wrote a &lt;a href=&quot;http://alexeymk.com/the-mentorship-test-9-questions-for-your-pote&quot;&gt;Mentorship Checklist&lt;/a&gt;: questions worth asking to find out.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is the company pre or post &quot;&lt;a href=&quot;http://thisisapipe.com/escape-startup-flatland/what-is-product-market-fit&quot;&gt;product-market fit&lt;/a&gt;?&quot;&lt;/strong&gt; &amp;nbsp;That is, are they figuring out what the heck it is that they are going to do that makes money, or have they figured it out and are trying to scale and make sure the servers don't melt with all the new traffic? &amp;nbsp;Both are exciting times in the life of a start-up; consider a pre-product market fit company if you're looking to get a big opportunity to contribute creatively and try new things, and a product-market fit company if you are interested in the technical challenge of quickly scaling a codebase.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is this a 'well known' startup?&amp;nbsp;&lt;/strong&gt;One of the downsides about working at a startup is that it doesn't usually yield the brand recognition of a 'Facebook' or a 'Google' on your resume. Working at a small company people have heard of (TechCrunch coverage/Twitter buzz being a reasonable proxy for 'heard of') helps negate that. Think (again) Quora, Path, Uber, Square, etc - small teams but well-known products.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Picking between larger companies&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The easiest way to figure out if a larger company is worth working for is by their reputation: ask upperclassmen, friends and professors. &amp;nbsp;&lt;/li&gt;
&lt;li&gt;Does the company have an official internship program? Does it sound awesome? Can you speak to somebody (ideally from your school, but from the company if not) who has been through the program as an intern? Talk about both intern housing and make sure to run through the Mentorship Checklist.&lt;/li&gt;
&lt;li&gt;Sites like &lt;a href=&quot;http://glassdoor.com&quot;&gt;glassdoor.com&lt;/a&gt;, which offer anonymous feedback from employees, a tremendously useful service as you try to figure out if this is one of those 'magical companies'. The sample size is not large enough to use for companies smaller than a few hundred employees, unfortunately.&lt;/li&gt;
&lt;li&gt;It's not always immediately clear whether a company is or is not a 'tech company' - Amazon and Barnes and Noble both sell books online and have e-readers available, but (from my intuition) Amazon is a tech company that happens to sell books on-line, whereas B&amp;amp;N is a book retailer that has been forced online and into e-readers by the prevailing winds of change. Which one sounds more fun to work at?&lt;/li&gt;
&lt;li&gt;One sign of an innovative company is a technical or product person in the CEO role - think of Larry Page's involvement with Google products compared to somebody like Lowell McAdam (who?) at Verizon. &amp;nbsp;It's more fun to work for a culture trying to build the future than one trying to maximize this quarter's revenues and '&lt;a href=&quot;http://www.forbes.com/sites/stevedenning/2011/11/28/maximizing-shareholder-value-the-dumbest-idea-in-the-world/&quot;&gt;maximize shareholder value&lt;/a&gt;.'&lt;/li&gt;
&lt;li&gt;In general, newer companies will have less middle-management cruft and set-in-their-wayedness than older ones. &amp;nbsp;There are some older companies with solid programs, like &lt;a href=&quot;http://www-01.ibm.com/employment/us/extremeblue/&quot;&gt;IBM's Extreme Blue&lt;/a&gt;, and some&amp;nbsp;newer companies with&amp;nbsp;&lt;a href=&quot;http://kotaku.com/5862913/nobody-likes-zynga&quot;&gt;terrible reputations&lt;/a&gt; I would advise against.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: large;&quot;&gt;3) What you learn&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;em&gt;(or at least what I learned)&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In short, working with top technical people will teach you software engineering 'done right' (IE, no more turning in ugly code for your homework assignment that is going to be auto-graded once and then filed away forever). That means different things at earlier and later stage companies, though, and I can only relate my experience.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;What I learned at Facebook&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;First and foremost, I learned to write 'good code'. My first non-trivial commit (15 lines or so) was rejected 6 or 7 times until I finally put the right amount of spacing in an &quot;if (&quot; and fixed my trailing whitespace. These were important, brilliant engineers politely telling an intern, time and time again, something that he should have found in the coding guidelines doc. I've been a little bit embarrased to show a lot of my pre-Facebook code, as a result - the improvement, at least for me, was significant.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In general, the experience taught me that Code is Culture. The fact that top FB engineers were willing to spend so much of their time on code reviews was a fantastic way to show-not-tell Facebook's commitment to good code. I can't say that I've been able to pay the overhead of 100% code reviews on every project or team I've worked on since, but having the background of working in a 'code quality matters' team has infused the way I think about programming today.&lt;/p&gt;
&lt;p&gt;I also learned that engineers are not immune to politics, even at great companies. I was playing around with a hackathon improvement to one of the sharing features, but the engineer who understood most of the code would not reply to my emails for weeks and claimed he was busy (which he was) when I walked over to his desk. My original pitch for the feature I wanted to work on was &quot;You know what sucks about Facebook? X. &amp;nbsp;We should fix it.&quot; In retrospect, I did not do nearly a good enough job of trying to get the person on board or show respect for the work that had already been done.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;What I learned at 2bkco&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;I joined the team several weeks after the engineering work had begun. It was very humbling to see the ease with which &lt;a href=&quot;http://hackerengineer.net&quot;&gt;Eric&lt;/a&gt;&amp;nbsp;would put together a component and then decide, several days later, that there was a better way to do something and throw it all away. When you know your code has a good chance of being thrown away, the priority becomes writing quickly in a way that can be cleaned up later (which is different than writing sloppily or writing 'homework' code).&lt;/p&gt;
&lt;p&gt;I also got a lot of training in breadth: 2bkco required me to be close-enough to fluent in Javascript (Coffeescript), Ruby on Rails and HTML/CSS. It was too early in the life of the company for me to specialize, which meant a lot of time on Google and StackOverflow, learning how to do a ton of things as I went. I became much more comfortable forking Github projects of things that did sort of what I wanted.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Fin.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That's it. That's all I've got. Mostly. Comment with questions, or just &lt;a href=&quot;http://twitter.com/alexeymk&quot;&gt;tweet me, yo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some valid points brought up via this post's &lt;a href=&quot;http://news.ycombinator.com/item?id=3529493&quot;&gt;discussion on Hacker News&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Planning to be in the Bay Area during Summer 2012? Make sure to read &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CDoQFjAA&amp;amp;url=http%3A%2F%2Falexeymk.com%2Fan-interns-guide-to-a-summer-in-the-bay-area&amp;amp;ei=KF8mT9SeNsqriQLMxtnIBw&amp;amp;usg=AFQjCNH48TCQjkJmZLznLS-yre_cx7UY5w&amp;amp;sig2=0EgCK7UCUVvQjpIKWecrKg&quot;&gt;an Intern's Guide to the Bay Area&lt;/a&gt;, and join the &lt;a href=&quot;https://www.facebook.com/groups/237984646237494/&quot;&gt;2012 Facebook group&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;...I see you're still here. Alright.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&quot;font-size: large;&quot;&gt;PS. What about other types of internships/summer activities?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/PNNGb.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;div&gt;(&lt;em&gt;via&amp;nbsp;&lt;a href=&quot;http://twitpic.com/1ap8p5&quot;&gt;Dave Miller&lt;/a&gt;&lt;/em&gt;)&lt;/div&gt;
&lt;p&gt;I spent the summer after my freshmen year doing all sorts of odd things, from playing a lot of Settler of Catan online to working in recruiting for my father, to travelling around in France. It was a mixed bag, unstructured in a way that (in retrospect) I found less than ideal.&lt;/p&gt;
&lt;p&gt;There's nothing to say that working all three summers is strictly necessary, or that the two internship types I recommend are your best options (though I happen to think so). &amp;nbsp;Here are some other options for either a third internship or an alternative to the first two, in something resembling-but-not-quite a ranked order.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Intern as a Product/Project Manager&amp;nbsp;&lt;/strong&gt;-&amp;nbsp;A lot of larger companies offer these; though they require a technical background, day-to-day involves more management and product work than coding itself. &amp;nbsp;Harder to get (as far as I know) than a software position, but worth trying if you are interested in that sort of thing. Google has a particularly prestigious&amp;nbsp;&lt;a href=&quot;http://www.google.com/jobs/students/tech/internships/uscanada/associate-product-manager-intern-summer-mountain-view-1/index.html&quot;&gt;APM&lt;/a&gt;&amp;nbsp;position that appears to be a blast from what I've heard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research&lt;/strong&gt; - find a professor you like that is working on something cool and spend a summer in their lab. This doesn't pay quite as well as an internship but is worthwhile doing if you are considering getting a PhD and want to experience the research process first hand. &amp;nbsp;This is also worth doing earlier in your undergraduate career, since the positions seems generally easier to get and the work you do will help with internships later on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Source&lt;/strong&gt; - consider applying for &lt;a href=&quot;http://str8.to/google-summer-of-code&quot;&gt;Google Summer of Code&lt;/a&gt;&amp;nbsp;or contributing to one of Apache's projects. Again, the pay (if you are in a structured program) isn't as great, but you still get to learn a ton from talented developers and get the feeling that you are contributing to something that a lot of people depend on. &amp;nbsp;Again, having a substantial open source contribution is a great resume builder.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Freelance/own projects&lt;/strong&gt;&amp;nbsp;- If you've got the self-motivation and enough HTML/CSS/simple back-end skills, everybody and their mother seems to want a simple website built for a few hundred bucks. &amp;nbsp;Spending a summer working on a lot of simpler projects is helpful if you're interested in learning the business side as well as pick up pretty good design skills - just make sure to be in an area with a designer/developer community, so you have more than the internet to rely on for finding clients and getting advice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Work for a small dev shop&lt;/strong&gt; - A lot of higher-end freelance and consulting in the US is done by small freelance shops like ThoughtBot and (originally) 37Signals. A lot of innovation in software development (Ruby on Rails, for example) has come from shops like these. &amp;nbsp;Plus, working on a lot of projects means a lot of breadth. The caveat is that the pay isn't as good, the deadlines are set in part by the client's needs, and there is less creativity on the product end.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-technical internship (or travelling, or non-profit work) -&lt;/strong&gt;&amp;nbsp;These can be fun, but if you're looking for a career in tech, make sure that your non-technical internship is not done at the expense of getting enough coding experience by the time you graduate. &amp;nbsp;Companies looking to hire you as an engineer will be far more interested in what coding work you've done than in anything not directly related.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tech internship at a non-tech company, especially in finance:&lt;/strong&gt; Most of these will not pay as well and not (typically) have first-class engineers. Finance is an interesting case here: the pay can often be several times larger, if you are working on algorithmic or high-frequency trading (largely at smaller firms run by technical people). Still, in most finance firms, the traders are first-class; I've had some friends who have enjoyed their finance internships, but a lot have not. Buyer beware: the difference between a $5k and a $7k a month internship doesn't buy happiness.&lt;p /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;PPS. Notes for International Students&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/KmpO1.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update - didn't do your undergrad in the US? You can still do an internship via a J-1 visa&lt;/em&gt;. &lt;a href=&quot;http://blog.jorilallo.com/post/17144715009/how-to-intern-in-silicon-valley-and-get-a-j1-visa&quot;&gt;Jori explains.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In general, the situation is a bit of a mess. But: if you're studying in the US on an F-1 visa like I am, here's what I've learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After you graduate, you are allowed up to 12 months of OPT to work in the US without needing an H1-B or similar visa, which is great because H1-Bs are non-trivial to get. &amp;nbsp;You also get 17 months after that, via the STEM extension (ask your International Programs office). &amp;nbsp;&lt;/li&gt;
&lt;li&gt;There are two ways you can stay for an internship in the US in the summer: OPT (Optional Practical Training) and CPT (Curricular Practical Training).&lt;/li&gt;
&lt;li&gt;Applying for OPT means you need to apply by February or March at the latest, and (eventually) have an offer letter from your company. &amp;nbsp;Unfortunately, the time you take eats away from your post-graduation OPT allowance. &amp;nbsp;Larger companies will be better suited than smaller ones for dealing with the paperwork that OPT entails.&lt;/li&gt;
&lt;li&gt;Applying for CPT is much faster (the University, rather than the State Department, approves these), but CPT means that you're taking an independent study with a professor as part of your internship (for me, this meant writing weekly reports). It also means you're paying for your summer class, which cuts into your profit from the internship. &amp;nbsp;It does not, however, cut into post-graduation OPT time. Speak to your department about precedents of CPT being done - generally, somebody will be familiar with the process.&lt;/li&gt;
&lt;li&gt;Alternately, if you work on campus, there is some sort of interesting exception where the work doesn't need to be under either OPT or CPT.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Don't make me wait for bags at the airport, just deliver them.</title>
   <link href="http://alexeymk.com/dont-make-me-wait-for-bags-at-the-airport-jus/index.html"/>
   <updated>2012-01-17T01:17:00-08:00</updated>
   <id>http://alexeymk.com/dont-make-me-wait-for-bags-at-the-airport-jus/dont-make-me-wait-for-bags-at-the-airport-jus</id>
   <content type="html">&lt;p style=&quot;font-family: arial, sans-serif; padding-left: 30px;&quot;&gt;The flight landed at 11:18 pm. The first bags came out 40 minutes later. Mine came out just after midnight, so about 48 minutes after landing. People were pissed off, wondering (correctly) if anyone at all was dealing with the baggage. At one point a small purple bag came out and drifted around unclaimed and disappeared. Nothing else came for at least ten minutes after that.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif; padding-left: 30px;&quot;&gt;&lt;em&gt;&amp;ldquo;They&amp;rsquo;re totally just fucking with us,&amp;rdquo;&lt;/em&gt;&amp;nbsp;the guy next to me said to my face.&amp;nbsp;&lt;em&gt;&amp;ldquo;They don&amp;rsquo;t care at all.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;- Mike Arrington, via&lt;/em&gt;&amp;nbsp;&lt;a href=&quot;http://uncrunched.com/2012/01/15/delta-flight-1642-sea-to-jfk-did-not-suck-nearly-as-much-as-i-thought-it-would/&quot;&gt;http://uncrunched.com/2012/01/15/delta-flight-1642-sea-to-jfk-did-not-suck-nearly-as-much-as-i-thought-it-would/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This got me thinking.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://scrapetv.com/News/News%20Pages/Everyone%20Else/images-3/luggage-carousel-airport.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Why don't airlines or airports offer a service to just deliver your bags to your address later that day, without you waiting for it? &amp;nbsp;I usually use a &lt;a href=&quot;http://supershuttle.com&quot;&gt;$10-$20 fixed-rate shuttle&lt;/a&gt; to get home from the airport - why not do the same thing that you do for me, but to my bags?&amp;nbsp;Offer it when checking bags online:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[ ]&lt;/strong&gt;&amp;nbsp;- Deliver bags to your address in destination city and save time when you land - $19&lt;/p&gt;
&lt;p&gt;They do this with lost baggage anyway. If somebody is picking you up from the airport, this eliminates a lot of uncertainty in when they should show up. Your customers have one less reason to dislike you. &amp;nbsp;You can even make a deal with major hotels to subsidize those fees as an incentive to book a room there. &amp;nbsp;In the long run, you can eliminate space at the terminal by getting rid of a number of carouselles. &amp;nbsp;Apparently the service already exists in Japan.&lt;/p&gt;
&lt;p&gt;Why not?&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Cool Story, Bro: Stephan from Kembrel</title>
   <link href="http://alexeymk.com/cool-story-bro-stephan-from-kembrel/index.html"/>
   <updated>2011-12-22T07:07:14-08:00</updated>
   <id>http://alexeymk.com/cool-story-bro-stephan-from-kembrel/cool-story-bro-stephan-from-kembrel</id>
   <content type="html">&lt;p&gt;I've known about&amp;nbsp;&lt;a href=&quot;http://kembrel.com&quot;&gt;Kembrel&lt;/a&gt;&amp;nbsp;in a sort of by-the-way, there's-also-this-clothing-company sort of way for a few years now (I think I walked by a Kembrel physical sale last year), but never bothered to figure out what exactly it was that they did.&lt;/p&gt;
&lt;p&gt;Until a couple of weeks ago, when&amp;nbsp;&lt;a href=&quot;http://meeteor.com&quot;&gt;Meeteor&lt;/a&gt;&amp;nbsp;suggested I meet &lt;a href=&quot;https://twitter.com/#!/stephanjacob&quot;&gt;Stephan&lt;/a&gt;, one of the founders. So I did; here's his (and Kembrel's story).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/IMG_20111220_003250.jpg&quot; alt=&quot;Cool Story, Bro: Stephan from Kembrel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is Stephan?&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;&lt;a href=&quot;http://www.kembrel.com/theteam/&quot;&gt;Stephan&lt;/a&gt; is originally from Germany, where he served as a Special Forces Sniper for the German military. &amp;nbsp;He's also a former Computer Science undergrad, having taken time off to work as a developer in NY, and a former consultant, and a recent Wharton MBA grad (which was how we sort-of-but-not-quite knew each other). &amp;nbsp;In short: Stephan is&amp;nbsp;&lt;a href=&quot;https://www.facebook.com/pages/The-Most-Interesting-Man-In-The-World/90261849840&quot;&gt;this guy&lt;/a&gt;.&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;/images/IMG_20111219_130654.jpg&quot; alt=&quot;Cool Story, Bro: Stephan from Kembrel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Now he's the CEO (or Co-CEO, I'm not quite sure - whatever, he's one of the guys in charge) of Kembrel. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OK, so what's Kembrel?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://kembrel.com&quot;&gt;Kembrel&lt;/a&gt; thesis, according to Stephan, is that college students are an appealing market for retailers (starting with fashion), an easy argument to make if you consider the future value of a wealthy customer whose tastes are being shaped today. &amp;nbsp;College students are not, however, being well targeted by traditional fashion brands. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Flash Sales&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Kembrel's initial solution to this was &lt;a href=&quot;http://amandaword.hubpages.com/hub/What-is-Flash-Sale-The-New-Business-Mantra&quot;&gt;flash sales&lt;/a&gt;, a Gilt-style approach of offering deep discounts on a limited inventory of high-end merchandice in a limited time period. Clothing brands have unsold inventory that they need to sell otherwise and hopefully not hurt their brand by selling it at a low price. Flash sales, online and offline,give the brands an opportunity to both offload their excess inventory, while at the same time growing relationships with potential future customers.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/IMG_20111219_131841.jpg&quot; alt=&quot;Cool Story, Bro: Stephan from Kembrel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The sales were successful, and Kembrel is now popular in a number of larger college towns. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Customer Acquisition&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I've been thinking about customer acquisition lately, primarily because it's not obvious to me how to do it cheaply enough for a project I'm playing around with. &amp;nbsp;There's no one silver bullet, according to Stephan, but one thing that has worked well consistenly has been partnering with other brands that target college students, from CollegeProwler to textbook rental websites. &amp;nbsp;&quot;CollegeProwler is almost an ideal partner,&quot; he explained. &amp;nbsp;&quot;It's students before they are even in college, to already get them thinking about Kembrel and make that association.&quot;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kembrel: Evolution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As their popularity grew, explained Stephan, one concern with flash sales was the high fixed cost of the sale. To do a good job, the seller must synchronize the items being sold, get them shipped, take photos, write up a high-quality description, hire a designer and/or a director -- all that for a set of products that will be on the site for less than a week. &amp;nbsp;Even Gilt Groupe, who are aiming to IPO in the next several years, is rumored not to be profitable based on their flash sales today. Scaling flash sales is hard.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/IMG_20111219_131945.jpg&quot; alt=&quot;Cool Story, Bro: Stephan from Kembrel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As a result, Kembrel has recently been diversifying, experimenting with a number of additional revenue models, from a straight-forward (though still discounted and targetted at college students) online shop, as well as considering physical locations, the first of which (at &lt;a href=&quot;http://maps.google.com/maps?q=1219+locust+st,+19104&amp;amp;hl=en&amp;amp;sll=39.95196,-75.194487&amp;amp;sspn=0.009804,0.022724&amp;amp;vpsrc=0&amp;amp;hnear=1219+Locust+Walk,+Philadelphia,+Pennsylvania+19104&amp;amp;t=h&amp;amp;z=16&quot;&gt;1219 Locust St&lt;/a&gt;) I visited earlier.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/kembrel.png&quot; alt=&quot;Cool Story, Bro: Stephan from Kembrel&quot; /&gt;&lt;/p&gt;
&lt;div&gt;&quot;The numbers for physical stores are really, really interesting,&quot; explained Stephan. &amp;nbsp;&quot;If we get somebody to walk inside, the odds of them buying something are absurdly high.&quot; &amp;nbsp;The odds of them signing up online are significant as well. &amp;nbsp;Online-to-offline and back to online commerce is a fun and nascent market, and Kembrel's current positioning and tech-savviness puts them in a place to be amongst the first to figure out how all this &quot;get people online to come to your store, get people in your store to visit you online&quot; stuff works.&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;/images/flash-sale-anne-klein.jpg&quot; alt=&quot;Cool Story, Bro: Stephan from Kembrel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Over the next several months, Stephen and the team are playing around with opening additional stores and measuring and learning as much as they can.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fin&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So, that's Kembrel. I understand what they do somewhat better now, and hopefully you do as well. Thanks for sitting down with me Stephen! Looking forward to seeing where you all take this company next. &amp;nbsp;&lt;/p&gt;
Related articles 
&lt;ul class=&quot;zemanta-article-ul&quot;&gt;
&lt;li class=&quot;zemanta-article-ul-li&quot;&gt;&lt;a href=&quot;http://venturebeat.com/2011/11/29/kembrel/&quot;&gt;Shop online, try it out in person: Kembrel gives hybrid retail sales the old college try&lt;/a&gt; (venturebeat.com)&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;zemanta-pixie&quot; style=&quot;margin-top: 10px; height: 15px;&quot;&gt;&lt;a href=&quot;http://www.zemanta.com/&quot; class=&quot;zemanta-pixie-a&quot; title=&quot;Enhanced by Zemanta&quot;&gt;&lt;img class=&quot;zemanta-pixie-img&quot; src=&quot;http://img.zemanta.com/zemified_a.png?x-id=6f32db71-e038-45ba-9db2-f3b6ed1ddd2d&quot; alt=&quot;Enhanced by Zemanta&quot; style=&quot;border: none; float: right;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Post-Finals Doughnuts and Hot Cocoa: This is obvious, but...</title>
   <link href="http://alexeymk.com/post-finals-doughnuts-and-hot-coco-this-is-ob/index.html"/>
   <updated>2011-12-19T06:09:00-08:00</updated>
   <id>http://alexeymk.com/post-finals-doughnuts-and-hot-coco-this-is-ob/post-finals-doughnuts-and-hot-coco-this-is-ob</id>
   <content type="html">&lt;p&gt;[Context: I'm one of the &lt;a href=&quot;http://dinphil.com&quot;&gt;Dining Philosophers&lt;/a&gt;, the Computer Science Club at &lt;a href=&quot;http://cis.upenn.edu&quot;&gt;Penn&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://interviewstreet.com&quot;&gt;InterviewStreet&lt;/a&gt;&amp;nbsp;offered to sponsor a Study Break to help promote their upcoming &lt;a href=&quot;http://codesprint.interviewstreet.com/recruit/challenges/&quot;&gt;CodeSprint&lt;/a&gt;. &amp;nbsp;We contemplating doing a study break, but given that it's finals week and most people are working at home, we weren't sure what kind of turn-out we'd get for an event blocks away from where most people are.&lt;/p&gt;
&lt;p&gt;We brainstormed for a little while about what to do instead, and came up with the idea of post-exam hot cocoa and doughnuts, which we've been serving as a surprise to a number of the larger CIS classes immediately outside their final. &amp;nbsp;&amp;nbsp;&lt;img src=&quot;/images/photo_1.JPG&quot; alt=&quot;Post-Finals Doughnuts and Hot Cocoa: This is obvious, but...&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The treats have been pretty well-received so far, resulting in people hanging around a little bit after the final, chatting with their TAs and one another and de-stressing in general. It's been great knowing that we've made finals a little bit nicer for people without forcing them to brave the cold and go somewhere for a study break. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;All in all, the initiative has been a win.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/photo.JPG&quot; alt=&quot;Post-Finals Doughnuts and Hot Cocoa: This is obvious, but...&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best Practices&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Both for the purposes of future generations of Dining Philosophers and for other schools/clubs that may want to have a similar initiative, here's how we did it and what we learned. &amp;nbsp;Some of this seems obvious, but helpful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Setup Requirements: &lt;/strong&gt;The food can be served with an hour's preparation and 2-3 people.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Amount: &lt;/strong&gt;We bought a jug of 'serves 10 cups' hot cocoa per 30-40 people and a doughnut per every other student. That ratio has been pretty good (we end up having a bit too much hot cocoa). &amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source: &lt;/strong&gt;We've been buying from Dunkin Doughnuts rather than making our own Hot Cocoa, primarily because we've all got our own finals and CVS happened not to sell Hot Cocoa Mix when needed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Price: &lt;/strong&gt;We're hovering just below $1/person/final, which works for us.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extra things you'll need that you don't think of until 20 minutes before:&amp;nbsp;&lt;/strong&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Knives&lt;/strong&gt; (to cut the doughnuts in half before you serve them - just get plastic knives from somewhere,&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Napkins&lt;/strong&gt; (make sure Dunkin gives you a few)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cups&lt;/strong&gt; (Dunkin wanted to charge 25c/cup beyond 10 cups/jug, so we bought an extra 50 foam cups from CVS)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A serving table&lt;/strong&gt; - make sure to scout.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alternatives:&amp;nbsp;&lt;/strong&gt;Some of these students are in &amp;gt;1 of the classes we're hitting. &amp;nbsp;We're thinking about switching it up to Hot Cider and Cookies, but that may take slightly more setup time. Ideas?&lt;img src=&quot;/images/IMG_20111219_141416.jpg&quot; alt=&quot;Post-Finals Doughnuts and Hot Cocoa: This is obvious, but...&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Coordination:&lt;/strong&gt; 
&lt;ul&gt;
&lt;li&gt;We gave the TAs for the courses a heads-up (and asked them to help with logistics where needed) but didn't tell the professor until just before. &amp;nbsp;Doughnuts feel more fun as a surprise.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Advertising:&lt;/strong&gt; 
&lt;ul&gt;
&lt;li&gt;We stayed away from blatant advertising/taking credit, instead leaving subtle DP signs on the tables. &amp;nbsp;Students are tired. This isn't a good time to throw leaflets at them about jobs.&lt;/li&gt;
&lt;li&gt;Our plan for CodeSprint advertising is to (instead) email the CIS list-serv after finals and, as we remind students about CodeSprint, mention that their funding helped the doughhnut-and-hot-cocoa missions. &amp;nbsp;This seemed like a pretty reasonable balance from our end.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A lot of this stuff seems obvious, but I figured having best practices documented somewhere can't hurt.&lt;/p&gt;
&lt;p&gt;Do comment/share if you do something similar at your school, have ideas or know that something like this is already being done somewhere. &amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Finding a Technical Cofounder: Slides from talk</title>
   <link href="http://alexeymk.com/finding-a-technical-co-founder-slides/index.html"/>
   <updated>2011-11-14T11:45:00-08:00</updated>
   <id>http://alexeymk.com/finding-a-technical-co-founder-slides/finding-a-technical-co-founder-slides</id>
   <content type="html">&lt;p&gt;I gave a talk to the Wharton MBA E-club (I think?) earlier today about the difficulties of finding a technical co-founder. &amp;nbsp;If I find the time, should probably turn this into a post, but for now, slides for the curious&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://docs.google.com/present/embed?id=dc2hmjgz_292mb4qstdm&amp;amp;interval=5&amp;amp;size=m&quot; frameborder=&quot;0&quot; height=&quot;451&quot; width=&quot;555&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Also available at &lt;a href=&quot;http://git.to/cofoundertalk&quot;&gt;git.to/cofoundertalk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://qkme.me/35alry&quot;&gt;&lt;img src=&quot;http://i.qkme.me/35alry.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/technical_and_looking.png&quot; alt=&quot;Finding a Technical Cofounder: Slides from talk&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cheat Sheet&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Don't spend your time looking for a technical co-founder, it's not an efficient use of your time. Instead, either: &lt;ol&gt;
&lt;li&gt;Learn to code     
&lt;ul&gt;
&lt;li&gt;Step needing to rely on others for execution&lt;/li&gt;
&lt;li&gt;Meet technical people&lt;/li&gt;
&lt;li&gt;Managing technical people becomes way easier&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Get an external team     
&lt;ul&gt;
&lt;li&gt;Don't offer equity&lt;/li&gt;
&lt;li&gt;Agile:       
&lt;ul&gt;
&lt;li&gt;Weekly useful versions of the product&lt;/li&gt;
&lt;li&gt;Pay weekly or hourly&lt;/li&gt;
&lt;li&gt;A successful project doesn't 'end'&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Peanuts ==&amp;gt; Monkeys&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Avoid a 'tech play'     
&lt;ul&gt;
&lt;li&gt;Use white-labeled 'off the shelf' services where available&lt;/li&gt;
&lt;li&gt;Fake your back-end: launch with only a pretty design, do hard work manually&lt;/li&gt;
&lt;li&gt;License the tech from a company in a different vertical or geographic location&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Other takeaways:   
&lt;ul&gt;
&lt;li&gt;No NDAs&lt;/li&gt;
&lt;li&gt;Get a technical advisor&lt;/li&gt;
&lt;li&gt;Ask for advice, not employment&lt;/li&gt;
&lt;li&gt;Co-founders are looking for competence and traction&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PS. You should me on twitter &lt;a href=&quot;http://twitter.com/alexeymk&quot;&gt;@alexeymk&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The Mentorship Checklist: 9 questions for your potential employer</title>
   <link href="http://alexeymk.com/the-mentorship-test-9-questions-for-your-pote/index.html"/>
   <updated>2011-11-01T06:00:00-07:00</updated>
   <id>http://alexeymk.com/the-mentorship-test-9-questions-for-your-pote/the-mentorship-test-9-questions-for-your-pote</id>
   <content type="html">&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;You:&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; a CS student looking for your first or second part-time job while in school, eager to try some of this &amp;lsquo;programming&amp;rsquo; stuff in the real world.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Them:&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; Somebody you're contemplating working for.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;This: &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;A list of questions you should ask to make sure this job is going to be a good fit.&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Modeled after &lt;/span&gt;&lt;a href=&quot;http://www.joelonsoftware.com/articles/fog0000000043.html&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;The Joel Test&lt;/span&gt;&lt;/a&gt;&lt;/em&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;ol&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Do you already have technical people on staff?&lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;If you&amp;rsquo;ve never done web/mobile/whatever development before, being the first technical hire for a &amp;lsquo;business founder&amp;rsquo; start-up is a mixed bag. &amp;nbsp;Especially for your first experience, having a qualified technical mentor makes a big difference for how quickly you pick things up and whether you learn to do things &amp;lsquo;the right way&amp;rsquo; the first time around or not. &amp;nbsp;There&amp;rsquo;s a whole class of developers out there that have picked up PHP/Javascript from sketchy tutorials that get the job done but result in sloppy/outdated code. &amp;nbsp;&lt;p /&gt;Googling around is a great way to learn, but having a competent technical mentor point you to the right/best practice/reputable tutorials and explain things early on is the difference between having a piano teacher set your posture or a cursive teacher ensure your handwriting is legible early on.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Who is going to be working directly with you?&lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Before taking any job, meet the person you are going to be working with most directly and take them out for coffee. &lt;p /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Culture fit: &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Software engineering attracts all kinds of people; talking to your future potential mentor helps make sure that the two of you are going to be compatible. &amp;nbsp;There&amp;rsquo;s absolutely nothing wrong with not being able to easily get along or fit with somebody, and you&amp;rsquo;d rather find out that you&amp;rsquo;re going to be the odd one out in a company now than have to deal with it for the rest of the semester.&lt;p /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Mentorship experience:&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; Has your future mentor ever been a mentor before? &amp;nbsp;It&amp;rsquo;s fine if they haven&amp;rsquo;t, but extra bonus points if they&amp;rsquo;ve gone through this process before. &amp;nbsp;Alternately, it really helps if the mentor has ever themselves been technically mentored by somebody - they know first hand what it&amp;rsquo;s like to be in your shoes. &lt;p /&gt;&lt;strong&gt;Ask&lt;/strong&gt;: What worked well in your last technical mentor-mentee pairing? &amp;nbsp;What kind of issues surprised your or would you want to change when we work together? &lt;p /&gt;&lt;a href=&quot;http://hackerengineer.net&quot;&gt;Eric&lt;/a&gt;, my boss for the past summer, started our first day at work by asking what I was hoping to get out of the internship. &amp;nbsp;This stumped me for a good fifteen minutes; it was a fantastic question that helped crystallize our professional relationship and help us structure our work accordingly - &amp;ldquo;Alexey, you mentioned you had hoped to get more exposure across the stack. Do you want to work on the CSS for the new page we&amp;rsquo;re building?&amp;rdquo;&lt;br class=&quot;kix-line-break&quot; /&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Will my code matter? &lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;One of the greatest joys of writing code is seeing your code ship and run in the wild; &amp;nbsp;having users benefit from your design decisions feels great. If at all possible, make sure the code you will be writing does that. &amp;nbsp;There are (at least) two reasons it may not: internal software or dead software:&lt;p /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Internal: &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Joel Spolsky described the &lt;/span&gt;&lt;a href=&quot;http://www.joelonsoftware.com/articles/FiveWorlds.html&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; font-weight: normal; vertical-align: baseline;&quot;&gt;Five Worlds of Software Development&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; almost a decade ago. &amp;nbsp;Internal software doesn&amp;rsquo;t have to be well written or engineered; it is typically written quickly and then left to (hopefully) still work. &amp;nbsp;There&amp;rsquo;s a ton of &amp;lsquo;internal&amp;rsquo; or &amp;lsquo;good enough&amp;rsquo; software in academia and start-ups, and being able to be good at writing prototypes or good-enough software is a useful skill; just make sure that it&amp;rsquo;s not all you ever do. &amp;nbsp;At some point, make sure you get to work on code that needs to be great and not good enough; the amount you&amp;rsquo;ll learn about software engineering and code readability is drastically different.&lt;p /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Dead: &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Most start-ups fail; your code may never see the light of day. &amp;nbsp;Even at big companies, one of my friends from this summer had her project cancelled half way through her internship for unrelated reasons. &amp;nbsp;There&amp;rsquo;s no clear way to keep your code from being part of vaporware; the best that I can recommend is to follow your gut: does the project you&amp;rsquo;re considering joining seem like it&amp;rsquo;s going to happen with or without you, or is everybody living on a prayer? &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Who had my job before?&lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;If your potential employer has had interns before, ask to talk to them about their experience for a reference check. &amp;nbsp;If a potential employer is trying to dodge the question of past experience, that&amp;rsquo;s a huge warning sign. &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;What are the expected outcomes of our work?&lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;You&amp;rsquo;re looking for two types of outcomes: first, a particular set of skills through the job, and second, products that you can point to and say &amp;ldquo;I built that,&amp;rdquo; or &amp;ldquo;I built this part of that.&amp;rdquo;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;p /&gt;Skills: &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;What languages/frameworks/libraries are we going to be using? &amp;nbsp;Do my mentor/boss/co-workers know these technologies well, or are we going to be picking a lot of them up as we go? There&amp;rsquo;s nothing wrong with having to pick up something new, (in general, most every project you do will probably involve learning to use a new library of some sort) but having somebody on the team with domain-specific experience helps. &amp;nbsp;Make sure you understand what technical skill-set in particular you are going to pick up, and then check that the technology you are learning is the kind being used at the places you want to work. &amp;nbsp;As of the time of writing this, I&amp;rsquo;d personally recommend picking up some of [Android/iOS development, Coffeescript, NodeJS Ruby, Ruby on Rails and/or Python]. &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;p /&gt;Resume: &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;One of your tasks as a CS graduate is to build a reasonable one-page resume/portfolio/github account showing off your credibility to potential employers for the summer or full-time. &amp;nbsp;Be careful not to spend a year working on a project you can&amp;rsquo;t ever talk about. &amp;nbsp;&lt;p /&gt;Ask: is this work I will be able to point to online? &amp;nbsp;Will I be able to show the source code to potential employers? &amp;nbsp;Are there any parts of my work that I can open source and stick on my github profile? The answer will be &amp;lsquo;yes&amp;rsquo; more often than you expect.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;What is the format/schedule for this job?&lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;There are a couple possible schedules for part-time jobs, from the very rigid (coming into the office on specific days and working set hours) to the very flexible (&amp;ldquo;can you get this done by next week?&amp;rdquo;). &amp;nbsp;Which works best for you depends entirely on your schedule.&lt;p /&gt;For me, having set hours for working part-time (but not full-time) has been a huge help. &amp;nbsp;I&amp;rsquo;ve got enough things going on between classes, work and extracurriculars that if I don&amp;rsquo;t pencil in X hours a week for a particular activity, it&amp;rsquo;s unlikely to get done. &amp;nbsp;Working in a specific location also helps place me focus and helps avoid everyday distractions. &amp;nbsp;Plus, if you&amp;rsquo;re working for a start-up, they probably have free snacks. &amp;nbsp;&amp;nbsp;In terms of days for part-time work, I&amp;rsquo;d recommend either one or two weeknights or most of Friday.&lt;p /&gt;That said, everybody is different. &amp;nbsp;It may be that you&amp;rsquo;re able to get your work done in part-time chunks throughout the week. &amp;nbsp;Regardless, make sure to speak to your potential employer about their propsed work schedule and try to understand their motivations. &amp;nbsp;An answer like &amp;ldquo;oh, we&amp;rsquo;ll figure it out&amp;rdquo; is a useful warning sign that the potential employer hasn&amp;rsquo;t taken the time to think through how exactly your position will work.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;How often will we have code reviews or pair programming?&lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;If all you do is write code until it works and then submit it, there&amp;rsquo;s no real mentorship going on; you&amp;rsquo;re just a part-time employee. &amp;nbsp;Mentorship means that you are getting feedback on your code consistently, if not for 100% of your check-ins then at least for a considerable fraction. Not every start-up can afford to do 100% code reviews the way that Microsoft, Google and Facebook can, but skimping on code reviews entirely is not acceptable.&lt;p /&gt;Alternately, pair programming with your mentor means that you get to ask questions during your collaboration and absorb the kinds of little tips and tricks that are mostly passed down through apprenticeship. &amp;nbsp;Best practices for pair programming as mentorship is worthy of its own blog post, but the one tip I&amp;rsquo;d have is make sure the mentee has the keyboard for the vast majority of the time. &lt;p /&gt;Code reviews or pair programming; potentially both. &amp;nbsp;If you&amp;rsquo;re getting neither, you&amp;rsquo;re not learning any more than you would be if you were working alone.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;How will I be compensated for my work?&lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Programming work pays far better than most student on-campus jobs. Rates vary: I&amp;rsquo;ve seen lab work at as little as $8/hour, internships can go between $12-25/hour and your pay as a freelancer is bounded only by your imagination and what the market will bear. &amp;nbsp;&lt;p /&gt;That said, at this stage in your career I&amp;rsquo;d prioritize learning over compensation. &amp;nbsp;Even at a relatively high salary, the fraction of your college loans that the internship will ever pay off is likely to be negligible. &amp;nbsp;If your financial situation allows for it, I&amp;rsquo;d pick at least your first or second part-time job entirely based on how much better of a developer the job will make you, and worry about the money later. &amp;nbsp;Even if your sole focus is financial gain, a solid but unpaid internship pushes your lifetime value forward far more than a well-paying dead-end part-time job.&lt;p /&gt;The difference between a great and a mediocre job/internship is huge. &amp;nbsp;I learned more in 3 months at Facebook than I did in 3 years as a software engineer in the Israeli Defense Forces.&lt;p /&gt;On the flip side, the benefit of a paying job means that the company is invested in you.&lt;p /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;What if they offer equity?&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;br class=&quot;kix-line-break&quot; /&gt;&amp;ldquo;Whatever they offer you, equity or salary, ask for the other one&amp;rdquo;&lt;p /&gt;I can&amp;rsquo;t find the source of this quote, but it reasonably sums up the best practice here. &amp;nbsp;The start-up is making a choice about compensation: whatever thing (equity or cash) they don&amp;rsquo;t give you is the thing they consider more valuable, and therefore the thing you should be more interested in obtaining. &amp;nbsp;&lt;p /&gt;I remember emailing a web-developer who was a mutual friend when I was starting out and offering to work together. &amp;nbsp;All was well until I offered equity &amp;lsquo;as compensation&amp;rsquo;. &amp;nbsp;I never heard back. Start-ups throwing around equity offers left and right in lieu of payment are a pretty good &amp;lsquo;tell&amp;rsquo; for amateurishness, especially given how favorable the current climate is to entrepreneurs wishing to raise early-stage capital.&lt;p /&gt;In general, I think I agree with &lt;/span&gt;&lt;a href=&quot;http://hackerengineer.net/&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; font-weight: normal; vertical-align: baseline;&quot;&gt;my boss from this summer&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;, who basically considers the equity component of his compensation to be the equivalent of a lottery ticket - nice to have, but not to be depended on.&lt;p /&gt;There&amp;rsquo;s no hard and fast rule for whether to accept equity as early-stage payment or not, but &amp;lsquo;no&amp;rsquo; is a pretty reasonable default. &amp;ldquo;Either pay me for my work or show me how I&amp;rsquo;m going to get mentorship from this position,&amp;rdquo; is not an unreasonable answer at all; don&amp;rsquo;t be afraid to use it. &amp;nbsp;For the less confrontational, a simple &amp;ldquo;I&amp;rsquo;d love to work with you, but I&amp;rsquo;m on financial aid and need a steady income&amp;rdquo; is a completely reasonable excuse.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;That&amp;rsquo;s what I&amp;rsquo;ve got. &amp;nbsp;Am I missing anything? &amp;nbsp;Let me know in the comments.&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;br class=&quot;kix-line-break&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;PS. Should I work for this startup I just met that can barely pay and only has business folk on it so far?&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Maybe. &amp;nbsp;&amp;nbsp;Your goals for a part-time job should be to learn and to get paid, in that order. &amp;nbsp;No technical people on staff means you&amp;rsquo;re going to have to pick everything up yourself. &amp;nbsp;None or barely any payment other than equity means that you are effectively doing the work pro-bono. &amp;nbsp;The question then becomes: is this a better opportunity for me than &lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Working on my own side projects, or&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Taking a research position / alternate internship?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;The answer is a maybe. &amp;nbsp;If you are particularly passionate about the idea, or like me have a hard time focusing on side-projects that don&amp;rsquo;t have solid deadlines, and you can&amp;rsquo;t find an alternate position that lets you learn the same technology but get paid/receive mentorship, go for it. &amp;nbsp;&lt;/span&gt;&lt;p /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;PPS. Where do I look for awesome Mentorship opportunities at Penn/in the Philly area?&lt;/span&gt;&lt;p /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Here are the places I know about.&lt;/span&gt; 
&lt;ul&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Penn:&lt;/span&gt; 
&lt;ul&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;The &lt;/span&gt;&lt;a href=&quot;http://thedp.com/&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;Daily Pennsylvanian&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; is &lt;/span&gt;&lt;a href=&quot;http://thedp.com/web&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;looking for a couple of new faces&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;. &amp;nbsp;I&amp;rsquo;ve &lt;/span&gt;&lt;a href=&quot;http://alexeymk.com/technical-jobs-on-campus-thedpcom&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;written about this before&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; - the pay is terrible, the responsibility is great, it consumes you and a year later you come out having your shit together and go on to work for google or &lt;/span&gt;&lt;a href=&quot;http://coursekit.com/&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;start a company&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;http://pennapps.com/labs&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;PennApps Labs&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;, (which, in fairness, I&amp;rsquo;m affiliated with) just finished our mentee recruiting process. &amp;nbsp;We&amp;rsquo;re not actively hiring right now, but feel free to shoot an email to labs at pennapps.com if you&amp;rsquo;re interested and let&amp;rsquo;s chat. &amp;nbsp;We are comprised of former Facebook, Google and Amazon interns (amongst others) who care about student-run technology and the quality of our code.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;http://coursekit.com/&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;Coursekit&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; is starting a &lt;/span&gt;&lt;a href=&quot;http://coursekit.wufoo.com/forms/hacker-house-application/&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;Hacker House&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; on campus. &amp;nbsp;Dan and Jim, the technical founders, are competent and friendly like no other, and former CS TAs. &amp;nbsp;I&amp;rsquo;m very, very excited to see how their program will go. &amp;nbsp;Email dan at &lt;/span&gt;&lt;a href=&quot;http://coursekit.com/&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;coursekit.com&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; if the form doesn&amp;rsquo;t work for you.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;Philly:&lt;/span&gt; 
&lt;ul&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;http://devnuts.com/&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;Devnuts&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; is a Northern Liberties hacker space, and home to &lt;/span&gt;&lt;a href=&quot;http://jarv.us/about&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;Jarv.us&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;. &amp;nbsp;Again, I&amp;rsquo;ve &lt;/span&gt;&lt;a href=&quot;http://alexeymk.com/recruiting-penn-engineers-a-case-study&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;written about&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; (and helped) these guys before. &amp;nbsp;They appear to have a very well thought-out internship process. &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;http://indyhall.com/&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: #000099; background-color: transparent; vertical-align: baseline;&quot;&gt;Indy Hall&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt; is another co-working space, this time in Center City. &amp;nbsp;A bunch of companies work out of there - I&amp;rsquo;d email their general &amp;lsquo;contact&amp;rsquo; email and see who may be hiring.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-size: 11pt; font-family: Arial; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 11pt; background-color: transparent; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;http://ye.gg&quot;&gt;Gabriel Weinberg&lt;/a&gt; of &lt;a href=&quot;http://duckduckgo.com&quot;&gt;DuckDuckGo&lt;/a&gt; fame already has one of our interns, and he wouldn't mind another.  Gabriel is a solid hacker and, I imagine, a great mentor.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;strong&gt;PPPS: &lt;/strong&gt;You should &lt;a href=&quot;http://twitter.com/alexeymk&quot;&gt;follow me on twitter&lt;/a&gt;, check out my &lt;a href=&quot;http://alexeymk.com/an-interns-guide-to-a-summer-in-the-bay-area&quot;&gt;Intern's Guide to the Bay Area&lt;/a&gt; and maybe consider &lt;a href=&quot;http://alexeymk.com/hosting-hackathons&quot;&gt;Hosting a Hackathon&lt;/a&gt; at your school (and/or &lt;a href=&quot;http://2012.pennapps.com&quot;&gt;come to ours&lt;/a&gt;).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Twelve apps to transform you into a more tech-savvy [Penn] student</title>
   <link href="http://alexeymk.com/twelve-apps-to-transform-you-into-a-more-tech/index.html"/>
   <updated>2011-09-28T14:55:00-07:00</updated>
   <id>http://alexeymk.com/twelve-apps-to-transform-you-into-a-more-tech/twelve-apps-to-transform-you-into-a-more-tech</id>
   <content type="html">&lt;p&gt;I'm a &lt;a href=&quot;http://thedp.com&quot;&gt;DP&lt;/a&gt; columnist this semester, writing once every two weeks for the school newspaper on technology and entrepeneurship. &amp;nbsp;The below is a reasonably useful list of applications that students should be using, both for Penn students and college students overall.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Non-penn specific apps&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Times; font-size: medium;&quot;&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://fiesta.cc/&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000099; background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;Fiesta.cc&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Whenever working on a team project, there&amp;rsquo;s always that guy who forgets to reply-all &amp;mdash; annoying, but not worth creating a Google Group for. Fiesta.cc is the best of both worlds &amp;mdash; just email your collaborators and CC &lt;a href=&quot;mailto:mktg101@fiesta.cc&quot;&gt;mktg101@fiesta.cc&lt;/a&gt; (or whatever name you want), and it creates a listserv for your team automagically.&lt;/span&gt;&lt;p /&gt;&lt;a href=&quot;http://www.scheduleonce.com/&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000099; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;ScheduleOnce&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Everybody is busy, and scheduling sucks. ScheduleOnce pulls in participants&amp;rsquo; Google Calendars to avoid the chain of emails around &amp;ldquo;Well, what about 3 p.m. on Thursday?&amp;rdquo; as well as the burden of manually entering every damn time you&amp;rsquo;re free next week on a Doodle.&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Times; font-size: medium;&quot;&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;a href=&quot;http://www.quickcite.it/&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000099; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;QuickCite&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Bibliographies were the bane of my existence when I took my writing seminar. Take a picture of a book&amp;rsquo;s ISBN code with your Android or iPhone and QuickCite will email you the citation, formatted according to MLA/APA/whatever guidelines you need.&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: medium;&quot;&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;a href=&quot;http://alexeymk.com/its-like-your-wallet-and-your-phone-had-a-bea&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000099; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;Venmo&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&amp;ldquo;It&amp;rsquo;s like your phone and your wallet had a beautiful baby.&amp;rdquo; Use your phone to pay your friends back when they cover you at a food cart. My friends and I use Venmo to split dinner, buy drinks and even pay utilities. Started by two 2005 Penn grads, Venmo has apps out for Android and iPhone, but text messages work as well. No commissions at any step of the process. It&amp;rsquo;s like PayPal, if PayPal didn&amp;rsquo;t suck.&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;...see the rest in the article&amp;nbsp;&lt;a href=&quot;http://thedp.com/index.php/article/2011/09/alexey_komissarouk_fyi_a_student_guide_to_tech_at_penn&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>An Intern's Guide to a Summer in the Bay Area</title>
   <link href="http://alexeymk.com/an-interns-guide-to-a-summer-in-the-bay-area/index.html"/>
   <updated>2011-08-23T13:08:00-07:00</updated>
   <id>http://alexeymk.com/an-interns-guide-to-a-summer-in-the-bay-area/an-interns-guide-to-a-summer-in-the-bay-area</id>
   <content type="html">&lt;p&gt;Dear Future Intern,&lt;/p&gt;
&lt;p&gt;Welcome! You just got an internship at this amazing start-up, so you're starting to look for housing and are getting pumped for your summer. Rightfully so - &lt;a href=&quot;http://alexeymk.com/the-bay-area-is-awesome&quot;&gt;the Bay Area is awesome&lt;/a&gt;! &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I spent my last two summers out here as an intern, first at Facebook and (am currently at my last day) at &lt;a href=&quot;http://www.2bkco.com&quot;&gt;2bkco&lt;/a&gt;, an early-stage, awesome start-up. &amp;nbsp;It took me a while to figure out what &lt;strong&gt;the things to do&lt;/strong&gt; were out here, especially as the only intern at a small company. &amp;nbsp;Hopefully, the following will get you off to a running start:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;[Note: What'd I miss/get way wrong? Let me know in the comments]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;Housing&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Where should I live?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Live in San Francisco, Mountain View, or Palo Alto. &amp;nbsp;As far as start-ups go, San Francisco is more artsy/hipster-ish/design-friendly, with a ton of startups mostly in the SOMA district and (from what I can tell) more reasonable working hours than down in MV/PA. &amp;nbsp;If you want a well-rounded summer, San Francisco means that there is a ton to explore around the city without going to the same place twice, from dive bars to fantastic restaurants, to Golden Gate Park to Mission Burritos. &amp;nbsp;San Francisco is fun. &amp;nbsp;I lived in Mountain View during my summer at Facebook; some friends bashed MTV as being a dead town, but I don't necessarily agree - Castro Street is a reasonable downtown, and so long as you know other interns/people in tech, you're not going to be bored. Palo Alto is just north of MTV (45 minute bike ride), a bit more upscale/happening, but therefore more expensive.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Your mileage may vary if you live anywhere else - from what I've heard, it's tough to get out to events and there just isn't the critical mass of other interns/people from tech. &amp;nbsp;I have been especially advised not to live in north San Jose. &amp;nbsp;There area also areas of SF you don't want to live in - the Tenderloin, most of the Mission, parts of SOMA. Check out &lt;a href=&quot;http://hood.theory.org/map.html&quot;&gt;this amazing map&lt;/a&gt;&amp;nbsp;that figures out neighborhoods in SF based on Craigslist postings. &amp;nbsp;Also make sure to check out the &lt;a href=&quot;http://www.walkscore.com&quot;&gt;Walk Score&lt;/a&gt;&amp;nbsp;of a place before agreeing to live there and aim for 75 or above.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I find housing/How much should I pay?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Figure out who you are going to live (probably friends from college/general friends also out in the area) and start looking. Early. Looking for housing sucks and the market is pretty competitive, so just try to get it out of the way as early as you can.&lt;/p&gt;
&lt;p&gt;Note: it is really hard to find a more than 4-or-so bedroom house in SF. We were looking to put together a huge hacker house and it completely fell through just because of the types of houses that were on the market.&lt;/p&gt;
&lt;p&gt;Expect to pay about $1,000 per person per month - slightly less in Mountain View, perhaps. &amp;nbsp;You can try to find something cheaper, but we were at the point where we were ready to pay up to $1,100 or $1,200 a person a month just to get something. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;In terms of tools, &lt;a href=&quot;http://www.padmapper.com&quot;&gt;PadMapper&lt;/a&gt;&amp;nbsp;is a fantastic layer on top of Craigslist that helps you look for houses that fit your criteria, including subscribing to new listings via email. &amp;nbsp;I'm still waiting for a somebody to solve Housing to Bay Area interns by owning mass inventory - I spent at least 15 hours over spring semester looking for housing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Weather: &lt;/strong&gt;A quick aside: San Francisco is consistently at around 55F over the summer (light jacket and jeans) and Mountain View/Palo Alto are at around 75 (t-shirt and shorts or jeans). &amp;nbsp;It rains in SF, but very rarely. &amp;nbsp;FYI, so you know what to bring.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;Transportation&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Public Transit&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you are not in San Francisco, try to be somewhere reasonably near your Caltrain stop - you'll be going around the Bay Area reasonably often. &amp;nbsp;I've had friends live 30 minutes away from a Caltrain stop and barely ever hang out with us as a result. &amp;nbsp;FYI: It takes about an hour to get from Mountain View/Palo Alto to San Francisco on the Caltrain. Bikes are welcome.&lt;/p&gt;
&lt;p&gt;In San Francisco, public transportation is surprisingly awesome. &amp;nbsp;BART is the express let-us-get-you-to-popular-places line and MUNI is the normal, comprehensive transporation grid. I lived a 10-minute walk from a BART stop and was very happy with that. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;From everything I've heard, the VTA (Mountain View to San Jose, as well as other routes) sucks. &amp;nbsp;Don't depend on it as a primary mode of transportation.&lt;/p&gt;
&lt;p&gt;Aim for a short (&amp;lt;60minute, ideally &amp;lt;30 minute) commute. If you're working for a big-enough company (Yahoo, Google, Facebook, etc), these will tend to have shuttles from various places in the Bay Area that drive you to work. Those are awesome. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bicycle&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I strongly recommend getting a bike, though. I had a 30-minute commute by bike both summers. &amp;nbsp;It was the only exercise I got all summer, and it was great. &amp;nbsp;Plus, bikes make it easier to get around Palo Alto and Mountain View, whose public transportation options are nothing to brag about. &amp;nbsp;Same goes for San Francisco - I'm a 30-minute bike ride from anywhere, and I love the freedom of not having to wait for public transit. &amp;nbsp;The Bay Area is incredibly bike-friendly: bike lanes everywhere, and awesome bike trails to hit if you're in the athletic mood some weekend. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;To procure a bike, consider one of the following options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Summer rental from Stanford's &lt;a href=&quot;http://campusbikeshop.com/&quot;&gt;Campus Bike Shop&lt;/a&gt;. &amp;nbsp;Rent an awesome bike for the whole summer for ~$300 and don't worry about maintenance/selling it at the end.&lt;/li&gt;
&lt;li&gt;Buy a bike (either at a new bike store, for about $500+, or off of Craigslist, for ~$200) and either ship it back to your campus (~$120) or try to sell it at the end of the summer, again through Craigslist. &amp;nbsp;I ended up buying a bicycle and selling it, just to avoid the effort of the Craigslist shopper's experience. &amp;nbsp;All in all, I depreciated about $200 from my bike over the summer, marginally cheaper than having just rented it.&lt;/li&gt;
&lt;li&gt;Ship one from your home/campus; again, expect to pay about $120 for shipping each way.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Rent-a-Car&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Also, &lt;a href=&quot;http://www.zipcar.com&quot;&gt;ZipCar&lt;/a&gt;&amp;nbsp;is apparently friendly to 18+ year-old drivers. I ended up renting a car the old-fashioned way over weekends for road trips, but ZipCar might be cheaper for evening trips. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;Things to Do (tech)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Intern-Specific&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The questions an intern (especially at a smaller company without a formal intern program) is going to face is, how do I meet other interns/hear about intern-specific events that I should be going to? &amp;nbsp;I'm not sure which of the programs/list-servs below are going to persist next year, but here's what was up (that I know of) this year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://startuproots.org&quot;&gt;StartupRoots &lt;/a&gt;is a non-profit that hosts speaker events once a week, specifically for start-up interns. I only went to one event, but the vibe that I got was that the speakers were interesting and the community of ~50 interns that showed up to most events was a solid one. &amp;nbsp;The weekly program costs $150 or so (to cover food), and the idea (from what I understood) was that your start-up would pay for that as part of your internship. &amp;nbsp;If not, pay yourself. It's well worth it. &amp;nbsp;&lt;/li&gt;
&lt;li&gt;Apparently, there was a &lt;a href=&quot;https://wednesdays.com/g/bayareaintern &quot;&gt;Wednesdays.com Bay Area Intern&lt;/a&gt; group this summer. Unfortunately, I only found out about it while doing research for this article.&lt;/li&gt;
&lt;li&gt;Your school should have a Facebook Group or a list-serv for people in the Bay Area over the summer. If it doesn't, start one. Ours at Penn was pretty useful.&lt;/li&gt;
&lt;li&gt;Figure out who backs your start-up; I know that at least YCombinator, True Ventures and Andreesen Horowitz had intern programs (or at least list-servs) for interns at their start-ups. &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Any time I would hear of an event over the summer, it would be through one of these groups. It was pretty frustrating, actually, that there was not a single group somewhere for all of these intern/tech/Bay Area events. &amp;nbsp;In an effort to solve this problem, &lt;a href=&quot;http://www.facebook.com/groups/237984646237494/ &quot;&gt;here's a group for next year&lt;/a&gt;. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Intern Events&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Throughout the summer, start-ups and larger companies consistently had fun events for general Bay Area interns. Throughout the summer, I either went or heard about events at Facebook, Stripe, Color, Yelp, Twitter, Bump, LikeALittle, LinkedIn, Mozilla, Twilio, Quora and Dropbox. &amp;nbsp;Several companies (LinkedIn, Mozilla, Stripe, Quora) held intern hackathons that (from what I hear) were a bunch of fun.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I hear about one of these? &amp;nbsp;&lt;/strong&gt;Keep your head up and follow the list-servs above. If there's a particular company that you are interested in, email the recruiter, introduce yourself as an intern at X this summer and mention that you'd love to check the company out/be notified of any such events. Assertiveness is impressive. From my experience, approaches like this tend to work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;General Tech Events&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Intern events are fun, but it's also worth checking out what the full-time tech scene is up to. &amp;nbsp;Some recommendations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://hackersandfounders.com&quot;&gt;Hackers and Founders&lt;/a&gt; and &lt;a href=&quot;http://str8.to/106-miles-meetup&quot;&gt;106 Miles&lt;/a&gt; are two of the tech meet-ups that I've been to and can say were a worthwhile experience to have attended. You meet a lot of people starting their own companies or working at cool companies or just generally interested in talking to other people in the industry. &amp;nbsp;Github also hosts a monthly drinkup (if you're over 21) which I have not been to but hear a lot of good things about.&lt;/li&gt;
&lt;li&gt;Worthwhile mailing lists that I'm familiar with include &lt;a href=&quot;http://wiki.hackerdojo.com/w/page/25443/Information%20Sources&quot;&gt;Hacker Dojo&lt;/a&gt;'s and &lt;a href=&quot;http://str8.to/startup-digest&quot;&gt;Startup Digest&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you're the kind of extrovert that is comfortable meeting random new people, try &lt;a href=&quot;http://www.grubwithus.com&quot;&gt;Grubwithus&lt;/a&gt;, which organizes dinners for new/interesting people.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;If you're super extroverted and all networky and everything, check out my roommate &lt;a href=&quot;http://pastebin.com/H8DL1bj8&quot;&gt;Max Wendkos' post&lt;/a&gt;&amp;nbsp;on networking in Silicon Valley.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hackathons: &lt;/strong&gt;There's a lot of them here. If you can't find a hackathon that's happening on any given weekend, you're not looking very hard. &amp;nbsp;I got hackathoned out somewhere around the beginning of July, so I'd advise not doing more than one a month or so. &amp;nbsp;Still, some cool hackathons that I attended that will probably be occuring next summer as well: &lt;a href=&quot;http://www.hapihack.com&quot;&gt;HapiHack&lt;/a&gt;, &lt;a href=&quot;bemyapp.com&quot;&gt;BeMyApp&lt;/a&gt;, Mozilla's &lt;a href=&quot;http://str8.to/mozilla-wsoh&quot;&gt;World Series of Hack&lt;/a&gt;&amp;nbsp;and the &lt;a href=&quot;http://wipconnector.com/wipjam/entry/the_muther_of_all_hackathons&quot;&gt;Muther of All Hackathons&lt;/a&gt;. &amp;nbsp;&lt;/li&gt;
&lt;li&gt;Some of my friends also attended &lt;a href=&quot;http://www.defcon.org&quot;&gt;Defcon&lt;/a&gt; in Las Vegas; form what I hear, they learned a ton and thoroughly enjoyed the experience.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://superhappydevhouse.org&quot;&gt;SuperHappyDevHouse&lt;/a&gt;&amp;nbsp;is a fantastic day-long hackathon/meet-up that is run by the folks at Hacker Dojo, once every six weeks or so. I met a ton of people and thoroughly enjoyed the lightning talks. You should go.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tech Hangouts&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;I'm not sure if I've got all of these, but here are some of the cool 'people with laptops hang out here and you can tell they are your kind of people' places in the area:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;San Francisco: &lt;/strong&gt;Check out &lt;a href=&quot;http://str8.to/epicenter-cafe-sf&quot;&gt;Epicenter Cafe&lt;/a&gt;&amp;nbsp;in SOMA and &lt;a href=&quot;http://www.thesummitsf.com&quot;&gt;The Summit&lt;/a&gt; on 19th and Valencia in the Mission. &amp;nbsp;The Summit is also the I/O Ventures incubator space and has delicious drinks (Berry Bomb Cooler and Loose Leaf Tea FTW) and great food. &amp;nbsp;Epicenter Cafe's cool too, but they charge for the Wifi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Palo Alto:&lt;/strong&gt; Every time I go to &lt;a href=&quot;http://str8.to/coupa-cafe-palo-alto&quot;&gt;Coupa Cafe&lt;/a&gt;, I end up meeting somebody I know from somewhere, or hear an entrepeneur pitch their start-up to a VC or Angel. Kind of fun. No wifi on weekends, sadly.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mountain View: &lt;/strong&gt;&lt;a href=&quot;http://str8.to/red-rock-mountain-view&quot;&gt;Red Rock&lt;/a&gt; is the Coupa Cafe of Mountain View. &lt;a href=&quot;http://wiki.hackerdojo.com/w/page/25437/FrontPage&quot;&gt;Hacker Dojo&lt;/a&gt; is, from what I hear, a 24/7 version of Super Happy Dev House.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Things to Do (non-technical)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;p&gt;Start-ups are awesome and all, but make sure you actually check out the Bay Area - the weather is fantastic and there are some great things to see.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bike the Golden Gate Bridge in SF: &lt;/strong&gt;Rent a bike if you don't have one near Fisherman's Wharf, and do the two-hour bike ride through the Golden Gate Bridge and to Sausalito, (and Tiburon, if you've got the energy for it) then take the Ferry back. &amp;nbsp;Bring a group of friends. Sausalito is beautiful, the trip is well organized for tourists and a lot of fun. Don't miss this.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Walk Around the Santa Cruz Boardwalk: &lt;/strong&gt;Rent a car or find somebody with one and drive down to Santa Cruz. &amp;nbsp;Check out the Coney Island-style outdated boardwalk/amusement park (I'm partial to the indoor minigolf course), hang out at the beach (take a Surf lesson if you've got the energy), maybe play some Volleyball. A quick not on Beaches in Northern California: They're pretty cold and windy, and something like two beaches have real sand. Santa Cruz is OK on a warm day. &amp;nbsp;It's still worth going, but don't expect to swim too much.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Napa Valley &lt;/strong&gt;if you're over 21 and don't mind spending $100 or so in a day, go on one of those fancy Napa Valley Wine Tasting tours (alternately, Bike and Wine tastings are fun too). &amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Organize a weekend trip to LA or a nearby National Park: &lt;/strong&gt;Rent a car and a cabin somewhere. Book a couple of weeks in advance. Don't expect to find a ton of space for 4th of July weekend. I never went, but a bunch of friends did and they thoroughly enjoyed the experience. &amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Computer History Museum: &lt;/strong&gt;another &quot;I never went, but this comes highly recommended&quot; things to do in Mountain View. &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That's it (so far). &amp;nbsp;Let me know if I'm missing anything.&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Credit to&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://maxwendkos.com&quot;&gt;Max Wendkos&lt;/a&gt;&amp;nbsp;for his networking research.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hackerengineer.net&quot;&gt;Eric Allen&lt;/a&gt; my boss for the summer, for introducing me to Hackers and Founders, Super Happy Dev House, and who knows how many of these others.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;PS&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You should &lt;a href=&quot;http://twitter.com/alexeymk&quot;&gt;follow me on Twitter.&lt;/a&gt;&amp;nbsp;I tweet about hackathons and startupy things, and not too often.&lt;/li&gt;
&lt;li&gt;If you're looking for a summer internship, may I recommend &lt;a href=&quot;http://www.2bkco.com&quot;&gt;2bkco&lt;/a&gt;? &amp;nbsp;I had a fantastic time (post on that coming up)&lt;/li&gt;
&lt;li&gt;If you're a CS student/hacker on the East Coast, you should check out &lt;a href=&quot;http://pennapps.com&quot;&gt;PennApps&lt;/a&gt;, our friendly neighborhood hackathon. It's a lot of fun.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Realizing Rewards from your Hackathon Sponsorship </title>
   <link href="http://alexeymk.com/61608156/index.html"/>
   <updated>2011-07-30T18:10:00-07:00</updated>
   <id>http://alexeymk.com/61608156/61608156</id>
   <content type="html">&lt;p&gt;So, you've handed over some hard-earned cash to sponsor a hackathon - awesome! On behalf of hackathon organizers everywhere, thank you.&amp;nbsp; Let's make sure you maximize your return on investment. &amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;p1&quot; style=&quot;text-align: left;&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;strong&gt;Aside: why should I be sponsoring a hackathon, again&lt;/strong&gt;? &amp;nbsp;&lt;/span&gt;I go into more detail &lt;a href=&quot;http://alexeymk.com/hosting-hackathons&quot;&gt;here&lt;/a&gt;,&amp;nbsp;but the TL;DR version is: meet and recruit top up-and-coming hackers, expose them to your company and build relationships for when they start or join companies.&lt;/em&gt;&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;strong&gt;(1) General Advice:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li&gt;&lt;strong&gt;Show up.&amp;nbsp; &lt;/strong&gt;Seriously.&amp;nbsp; Figure out who your friendliest outreach person is and have them come to at least part of the event. I recommend sending an engineer or (if you have one) a developer evangelist - they know how to speak the language and represent your company well.&amp;nbsp; You don't have to be there the whole time, but show up enough to meet the cool kids.&amp;nbsp; If you're not sure who the cool kids are, ask the event organizer. We know, and are happy to make the introduction.&lt;/li&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;strong&gt;Teach.&lt;/strong&gt;&amp;nbsp; A lot of hackathons (at least on the college circuit) are preceded by a series of tech talks. Figure out what you are good at - is it Coffeescript? iOS development? mobile CSS?&amp;nbsp; Talk to the organizers about hosting a tech talk. A big part of the motivation for hackathons is to learn a new technology. Seeing who shows up to the talk, learns quickly and asks the right questions is a great way to both introduce yourself and start building a relationship with the right hackers.&lt;/li&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;strong&gt;Be personable. &lt;/strong&gt;Companies do a much better job when they stop trying to be impressive. Don't send hackathon participants to a generic 'apply' page - hand out your email address left and right and talk to people. In most cases, this will be their first impression of your company. Make it a friendly one.&lt;/li&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;strong&gt;Be a good judge. &amp;nbsp;&lt;/strong&gt;First, (and this deserves its own post) being a sponsor doesn't necessarily mean you should send a judge, nor is judging the most efficient use of your representative's time. &amp;nbsp;That said, if you are one of the judges, make sure to (1) talk to the organizer about their criteria (at PennApps, for example, we don't care at all about whether the hack has a business model or not, which is clearly not the case for &lt;a href=&quot;http://startupweekend.org/&quot;&gt;Startup Weekend&lt;/a&gt;. &amp;nbsp;Participants need a mix of encouragement and feedback; make sure your representative is comfortable addressing a reasonably-sized audience and generally upbeat in demeanor.&lt;/li&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;strong&gt;Swag away.&lt;/strong&gt; At &lt;a href=&quot;http://www.pennapps.com/2010&quot;&gt;PennApps 2010&lt;/a&gt;, &lt;a href=&quot;http://twitter.com&quot;&gt;Twitter&lt;/a&gt; sent us 50 t-shirts with the iconic twitter bird logo.&amp;nbsp;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&amp;nbsp;I still see these proudly worn around the Engineering quad, often followed by &quot;whoa, how'd you get that shirt?&quot;&lt;/span&gt;&amp;nbsp;Corporate swag is the clearest win-win-win proposition I've seen - companies increase their brand exposure (to &lt;em&gt;exactly&lt;/em&gt; the people they are trying to hire), hackathon organizers have goodies to hand out to participants and hackers get swag they can wear for +3 geek cred.&amp;nbsp;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;You don't need to have the brand recognition of Twitter, but you do need to give student's a reason to wear your branded shirt.&amp;nbsp;I&amp;nbsp;&lt;/span&gt;recommend cartoons - engineers love cartoons.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;/images/162778_143909752333333_103140939743548_262093_8157698_n.jpg&quot; alt=&quot;Realizing Rewards from your Hackathon Sponsorship &quot; /&gt;&lt;/p&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;strong&gt;Get creative. &lt;/strong&gt;In September, the &lt;a href=&quot;http://alexeymk.com/its-like-your-wallet-and-your-phone-had-a-bea&quot;&gt;Venmo&lt;/a&gt; guys decided (without any prior warning) to show up at 3AM with bags full of&amp;nbsp;Geno's&amp;nbsp;cheesesteaks.&amp;nbsp; I cannot begin to describe the sheer amount of goodwill they generated through that. A lot of students have started using Venmo since; I can't help but think that this is at least in part due to the sheer magic of 3AM Geno's. Another example: in January&amp;nbsp;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;Arkitech brought massage therapists to offer 15-minute massages, a service greatly appreciated by hackers who had spent the last 18 hours in $5 chairs.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;p3&quot;&gt;We even got one of the therapists to lead everybody in a stretching exercise.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/IMG_20100919_025938.jpg&quot; alt=&quot;Realizing Rewards from your Hackathon Sponsorship &quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;strong&gt;(2) Specific Advice&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong style=&quot;font-size: medium;&quot;&gt;You're hiring&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&amp;bull;&lt;span&gt; &lt;/span&gt;Ask for resumes. &lt;/strong&gt;Not during the&amp;nbsp;hackathon, though - that is neither the time nor the place. Instead, ask the organizers if they might be able to help with recruiting as part of the sponsorship package. For PennApps, we collect resumes from participants opting in, (usually about 50% of participants) organize them into a spreadsheet, group them by hack, and send them to sponsors.&amp;nbsp; Even if your hackathon doesn't do this, take a look at what has been built (either by attending the demo session or looking through the demos online) and ask the organizer for introductions to your favorite several applications.&amp;nbsp; Be careful to be specific about this: as an organizer, I'm much more likely to offer to help if you've shown interest in things people have built than if you just ask for introductions to the &quot;winners&quot;.&lt;/p&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;strong&gt;Connect and follow up.&lt;/strong&gt;&amp;nbsp; When you have somebody attending, make sure your representative writes down contact info/emails for anybody who they were particularly impressed by. Wait a couple of days (let people sleep the weekend off) and then reach out: &quot;Hey, I was pretty impressed by X that you were working on over the weekend - I'd love to get a cup of coffee and hear what kind of cool stuff you've been working on.&quot;&amp;nbsp; Even if they don't end up working for you, &lt;strong&gt;the good kids at a school will, by and large, know one another&lt;/strong&gt; - leaving a positive impression on one will get them to introduce you to others in their circle.&lt;/li&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;strong&gt;Hang out and help. &lt;/strong&gt;&lt;a href=&quot;http://hackny.org&quot;&gt;HackNY&lt;/a&gt; did this at their most recent hackathon - at the end of the API demos, Chris asked mentors in attendance who were solid at particular layers of the stack to stand up and introduce themselves, IE &quot;Hey, I'm Alexey from AlexeyCo, and I'm pretty good at Python, Ruby and the Facebook API. I'll be around until pretty late tonight so come bother me if I can help!&quot; If you're trying to hire Python developers, establishing yourself as the company that has solid Python coders makes you an attractive place to work for quality Pythonistas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;You've got an API to evangelize&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/stretching.jpg&quot; alt=&quot;Realizing Rewards from your Hackathon Sponsorship &quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Knock your demo out of the p&lt;/strong&gt;&lt;strong&gt;ark.&lt;/strong&gt;&amp;nbsp;&amp;nbsp;Demo quality makes or breaks whether hackers get excited about the possibility of using your API.&amp;nbsp; John Britton, who represented &lt;a href=&quot;http://twilio.com&quot;&gt;Twilio&lt;/a&gt;, knocks these out of the park (&lt;a href=&quot;http://www.johndbritton.com/post/2010/august/05/7_tips_demoing_new_york_tech_meetup&quot;&gt;here's his advice&lt;/a&gt;). You have a couple of minutes to get attention, and you're competing for mindshare right there and then.&amp;nbsp; If you're just getting started, &lt;a href=&quot;https://docs.google.com/document/d/1IgzefQ6a2OTMUlNZnHInzj26ORapZ822xm6P3DKOw4M/edit?hl=en_US&amp;amp;authkey=CKSNpBs&quot;&gt;here's a sample demo format we used as a guide&lt;/a&gt; last time around.&amp;nbsp;&lt;/li&gt;
&lt;iframe scrolling=&quot;no&quot; src=&quot;http://cdn.livestream.com/embed/nytechmeetup?layout=4&amp;amp;clip=pla_8b03ead8-b68f-4f04-9744-2e0e85274b03&amp;amp;color=0xe7e7e7&amp;amp;autoPlay=false&amp;amp;mute=false&amp;amp;iconColorOver=0x888888&amp;amp;iconColor=0x777777&amp;amp;allowchat=true&amp;amp;height=340&amp;amp;width=560&quot; frameborder=&quot;0&quot; height=&quot;340&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;(credit to&lt;a href=&quot;http://www.avc.com&quot;&gt; Fred Wilson&lt;/a&gt; for&amp;nbsp;&lt;a href=&quot;http://www.avc.com/a_vc/2010/08/how-to-pitch-a-product.html&quot;&gt;finding the video&lt;/a&gt;).&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;Make developers feel special.&amp;nbsp; &lt;/strong&gt;In January, John not only hung out with us throughout the hackathon answering questions, but also handed out $100's of dollars of Twilio credits to anybody that talked to him about using the API. As a developer, that's great - this company respects me enough to give me special treatment - now I definitely want to give them a try.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;/ul&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;You're an angel/VC&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Connect with future dropouts.&amp;nbsp; &lt;/strong&gt;Ask the organizers who they think is most likely to stop out of school.&amp;nbsp; See what they're working on and give feedback.&amp;nbsp; Especially in the current climate, building relationships early on helps make the difference when entrepreneurs seek investment.&amp;nbsp; &lt;a href=&quot;http://www.bothsidesofthetable.com/2010/11/15/invest-in-lines-not-dots/&quot;&gt;Seed funding is raised through lines, not dots&lt;/a&gt;.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Help your portfolio. &quot;&lt;/strong&gt;Oh, you're passionate about marketplaces and design?&amp;nbsp; Let me connect you to the folks at Etsy - you might enjoy talking to them!&quot; Figure out what skills and culture your portfolio companies need and keep them in mind as you meet participants.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;p3&quot;&gt;... Now that you know how to get the best bang for your sponsorship buck, can I interest you in sponsoring&amp;nbsp;&lt;a href=&quot;http://2011f.pennapps.com/sponsorship&quot;&gt;PennApps&lt;/a&gt;&amp;nbsp;in September?&amp;nbsp; We throw a mean hackathon.&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;img src=&quot;/images/163165_143719289019046_103140939743548_260549_2092620_n.jpg&quot; alt=&quot;Realizing Rewards from your Hackathon Sponsorship &quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;strong&gt;PS&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;Interested in hosting hackathons? Check out the rest of my posts about lessons learned:&lt;/p&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;a href=&quot;http://alexeymk.com/hosting-hackathons&quot;&gt;Convincing sponsors to give you money&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;a href=&quot;http://alexeymk.com/hosting-hackathons-the-organizers-checklist&quot;&gt;What to do when: The organizer's checklist&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;li3&quot;&gt;&lt;a href=&quot;http://alexeymk.com/hosting-hackathons-the-team&quot;&gt;The hacker, the talker and the runner - the hackathon organizing dream team&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Sure, let's be LinkedIn friends</title>
   <link href="http://alexeymk.com/i-give-up-yes-we-can-be-linkedin-contacts/index.html"/>
   <updated>2011-07-14T19:28:00-07:00</updated>
   <id>http://alexeymk.com/i-give-up-yes-we-can-be-linkedin-contacts/i-give-up-yes-we-can-be-linkedin-contacts</id>
   <content type="html">&lt;p&gt;&lt;em&gt;TL;DR: Friend everybody you can on LinkedIn, then write recommendations for people you actually feel you can endorse.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I've struggled to keep my LinkedIn connections&lt;a href=&quot;http://alexeymk.com/loose-ties-link-ships-friending-norms-on-link&quot;&gt; limited to people who I would feel comfortable vouching for&lt;/a&gt;, but all that led to was an inbox full of ignored invitations from people I met at tech meet-ups and fellow Penn CS students. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/Screen_shot_2011-07-15_at_1.08.31_AM.png&quot; alt=&quot;Sure, let's be LinkedIn friends&quot; /&gt;And now I look bad, both because I'm rejecting these perfectly reasonable people and because I don't have the status of '500+' connections on LinkedIn. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;So, I give up. &amp;nbsp;Here's my new LinkedIn friending policy:&lt;/p&gt;
&lt;blockquote class=&quot;posterous_short_quote&quot;&gt;
&lt;p&gt;If we've met in person or online, and you are not a jerk/crook/philanderer, I'll accept your LinkedIn request. &amp;nbsp;Let's be contacts!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;The down side&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As the number of connections on a social network goes up, the strength and value of the median connection will, as a rule, decline. &amp;nbsp;For LinkedIn, it means that people looking for introductions are going to have a far lower success rate asking for referrals. Referrals are (as far as I can tell) one of the key value propositions that LinkedIn offers - a lower success rate means less value.&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;policy&quot;&gt;&lt;/a&gt;&lt;strong&gt;Increasing signal through recommendations&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;I'd still like a way to indicate that I am confident enough in somebody that I would be happy to make introductions or vouch for their work. So, for people I've worked with, I'm going to start using recommendations. My recommendations are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;'invite-only'&lt;/strong&gt; - you can't ask me for one directly, and I won't ask you for one either. A compliment paid begged for has far less value than a genuine endorsement. &lt;em&gt;&amp;nbsp;I'll be linking to this article at the bottom of each recommendation to make the invite-only nature clear.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;personal&lt;/strong&gt; - &quot;Hard worker, good communication, smart&quot; sound like platitudes and boilerplate. Recommendations deserve better.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;immune to 'grade inflation' &lt;/strong&gt;- it's not enough for us to have worked together. I have to be thoroughly impressed by you, both professionally and on a personal level. &amp;nbsp;The fact that endorsements take a while to write means that I'll be writing less of them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;a sign of personal affinity&lt;/strong&gt; - if I've recommended you, feel free to ask me for help however you may need it.&amp;nbsp;I've got your back.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;I'll go first. &lt;/strong&gt;Here are three people I've worked with that I endorse without hesitation:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.linkedin.com/pub/mark-west/5/814/6a7&quot;&gt;Mark West&lt;/a&gt; - &lt;/strong&gt;&lt;em&gt;Manager, Moore Business Office, School of Engineering, University of Pennsylvania&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When we were seeking funding for &lt;a href=&quot;http://pennapps.com&quot;&gt;PennApps&lt;/a&gt;, we (the CS club) briefly considered starting a LLC to avoid the hassle of dealing with the University system for finances. Working with Mark convinced us single-handedly to stay. &amp;nbsp;To our first email with Mark, asking about processing Credit Card payments for sponsors, he replied along the lines of &quot;unfortunately, we can't do it that way. Here are some possible work-arounds... let's reach out to X, Y, Z and see what we can do.&quot;&lt;/p&gt;
&lt;p&gt;Mark made a usually painful process of accounting human and entirely manageable. &amp;nbsp;He has answered emails on weekends, reached out across the University on our behalf and taken time out to double and triple-check our records. &amp;nbsp;I thoroughly endorse him.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.linkedin.com/in/ericlondaits&quot;&gt;Eric Londaits&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;/strong&gt;&lt;em&gt;Freelance Web Developer&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Eric was one of the best developers we worked with at fbDevDir. &amp;nbsp;Usually, the process that I would go through would be to assign a task, follow up a number of times to figure out deadlines, and then spend a large amount of time arguing about issues of polish and bugs. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Eric is great. &amp;nbsp;He work quickly and answers emails with considered responses. &amp;nbsp;The thing that I loved most about working with him, however, is that I didn't feel like there was a need to manage him at all - Eric cares about the quality of his work and does fantastically well with loosely-defined specifications. He combines an understanding of design and user experience in addition to development which means that he can be a one-stop shop for building cool stuff.&lt;/p&gt;
&lt;p&gt;Eric was, finally, the developer (and largely the designer) behind&amp;nbsp;&lt;a href=&quot;http://look.fo&quot;&gt;look.fo&lt;/a&gt;/&lt;a href=&quot;http://str8.to&quot;&gt;str8.to&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.linkedin.com/pub/matt-amalfitano/22/278/a85&quot;&gt;Amalfitano, Matt&lt;/a&gt; - &lt;/strong&gt;&lt;em&gt;Former President, Undergraduate Asembly, University of Pennsylvania&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Throughout his tenure as President, Matt was a leader and a driving force for change at Penn. I worked with Matt and his team closely during the creation of PennApps and &lt;a href=&quot;http://pennapps.com/labs&quot;&gt;PennApps Labs&lt;/a&gt;, working to encourage the administration to support student innovation and open up data for developers to build on top of. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Amongst other things, Matt is responsible for helping secure funding significant funding for PennApps Labs, both from the Student Government and the University. I am not the easiest guy to work with - throughout our experience, Matt has been patient, understanding and open-minded. Though the movement Matt has helped begin is only starting, it wouldn't have been possible without Matt's strong and unwavering support.&lt;/p&gt;
&lt;p&gt;[Matt also helped with &lt;a href=&quot;http://www.youtube.com/watch?v=m8tHlWStgTk&amp;amp;feature=player_embedded  &quot;&gt;disaster recovery&lt;/a&gt;. Worth watching]&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This goes without saying, but: if you're not in this list, it's because I haven't had the time to go through everybody yet.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I'd be curious to see how others deal with their LinkedIn overflow.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Is Federated Social Networking going to happen?</title>
   <link href="http://alexeymk.com/is-federated-social-networking-going-to-happe/index.html"/>
   <updated>2011-06-18T19:02:00-07:00</updated>
   <id>http://alexeymk.com/is-federated-social-networking-going-to-happe/is-federated-social-networking-going-to-happe</id>
   <content type="html">&lt;p&gt;&lt;em&gt;This isn't quite polished enough to be a blog post, but I'm putting it up for now to make sure the idea is out there. Release early, release often, right?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Via a &lt;a href=&quot;http://www.somebits.com/weblog/tech/bad/facebook-owning-single-signon.html  &quot;&gt;hacker news post&lt;/a&gt; earlier today.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;The Internet is at a dangerous inflection point.&amp;nbsp;&lt;a href=&quot;https://developers.facebook.com/blog/post/108/&quot; style=&quot;text-decoration: none;&quot;&gt;Facebook Connect&lt;/a&gt;&amp;nbsp;is quickly creating a monopoly on identity [...]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;That's a huge risk to every other company on the Internet. [...]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;There is a terrific technical alternative to Facebook Connect:&amp;nbsp;&lt;a href=&quot;http://www.somebits.com/weblog/tech/openid-for-security.html&quot; style=&quot;text-decoration: none;&quot;&gt;OpenID&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;[In case I'm misrepresenting the argument, make sure to &lt;a href=&quot;http://www.somebits.com/weblog/tech/bad/facebook-owning-single-signon.html  &quot;&gt;check out the whole article&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;In the &lt;a href=&quot;http://news.ycombinator.com/item?id=2670067&quot;&gt;comments&lt;/a&gt;, I jotted down some thoughts on why Facebook is winning and how I think the monopoly is going to play out:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;color: #828282; font-family: Verdana; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px; margin-bottom: 0px;&quot;&gt;Facebook's monopoly has come because Facebook Connect is an all-round better product. Publishers get access to easy syndication (&quot;oh, you just joined XYZ? Here are some badges; want to share them on Facebook and let your friends know about us?&quot;) as well as higher-quality users overall (Facebook accounts tend to be real). Users get a single login from a service they (mostly) trust and easy integration with their social network (&quot;oh, John's using turntable.fm too? Sweet!&quot;).&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px; margin-bottom: 0px;&quot;&gt;The brilliance of Facebook Connect is the tie-in of syndication with identity. Logging in with Facebook is a better experience than just registering, for all parties involved. This is why Facebook Connect works and why MSN Passport failed a decade ago.&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px; margin-bottom: 0px;&quot;&gt;The monopoly side of things is going to become a problem in the coming years; I for one expect federal intervention in the form of mandating a common federated social networking platform (a la, but not necessarily, via the protocols developed by diaspora). Federation and decentralization is what happened with phones and with email; if Facebook/social networking-style communication is the next generation, it seems like a reasonable next step.&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px; margin-bottom: 0px;&quot;&gt;Most users will never tell the difference, at first - Facebook will remain their default client both for login and for reading friends' profiles and news feed. With time, however, competitors will begin to emerge and offer alternate interfaces for either news feed filtration or for identity, opening up space for innovation in a place once dominated by one or more entrenched players (Firefox vs IE, Gmail vs Hotmail/Yahoo/AOL). Early adopters will be using social networking tools but will be able to seamlessly interoperate with people still on Facebook.&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px; margin-bottom: 0px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Perhaps I'm naively optimistic, but I'd be excited for a future like that. For now, though, I'll stick to Facebook Connect - the bigger it gets, the more likely regulation will occur.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;margin-top: 8px; margin-bottom: 0px;&quot;&gt;I hope the argument doesn't read as anti-Facebook; quite the opposite - I'm a huge fan.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Introducing: CIS@Penn Bloggers RSS/Twitter Account</title>
   <link href="http://alexeymk.com/introducing-cispenn-bloggers-rsstwitter-accou/index.html"/>
   <updated>2011-06-13T17:11:00-07:00</updated>
   <id>http://alexeymk.com/introducing-cispenn-bloggers-rsstwitter-accou/introducing-cispenn-bloggers-rsstwitter-accou</id>
   <content type="html">&lt;p&gt;There are quite a few impressive bloggers within Penn's CS community. &amp;nbsp;Now, thanks to &lt;a href=&quot;http://pipes.yahoo.com&quot;&gt;Yahoo Pipes&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;http://twitterfeed.com&quot;&gt;twitterfeed&lt;/a&gt;&amp;nbsp;it's possible to get everybody in one place:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.facebook.com/l.php?u=http%3A%2F%2Ffeeds.feedburner.com%2Fcisatpenn-blogs&amp;amp;h=f9fad&quot;&gt;Subscribe via RSS&lt;/a&gt; | &lt;a href=&quot;http://www.twitter.com/penncis&quot;&gt;@PennCIS on&amp;nbsp;Twitter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Email pennappslabs]at[gmail.com to get your blog added to the list.&lt;/p&gt;
&lt;p&gt;- courtesy of &lt;a href=&quot;http://www.pennapps.com/labs&quot;&gt;PennApps Labs&lt;/a&gt;&amp;nbsp;and the &lt;a href=&quot;dinphil.com&quot;&gt;Dining Philosophers&lt;/a&gt;. &amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Hosting Hackathons: The Organizer's Checklist</title>
   <link href="http://alexeymk.com/hosting-hackathons-the-organizers-checklist/index.html"/>
   <updated>2011-06-03T02:18:13-07:00</updated>
   <id>http://alexeymk.com/hosting-hackathons-the-organizers-checklist/hosting-hackathons-the-organizers-checklist</id>
   <content type="html">&lt;p&gt;&lt;em&gt;This is a second in series of posts on how to host a student hackathon, based on my experience with PennApps, as well as from participating in HackNY and PhillyGameJam and the hackathons at Facebook last summer.  For other posts in the series, see &lt;a href=&quot;/tag/hackathons&quot;&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/hackathon_checklist_photo.jpg&quot; alt=&quot;Hosting Hackathons: The Organizer's Checklist&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The first &lt;a href=&quot;http://pennapps.com&quot;&gt;PennApps&lt;/a&gt; hackathon took place on September 2010, and was put together during the summer before, working nights and weekends. &amp;nbsp;Below is a (non-exhaustive) checklist of what kind of things needed to get done in preparation to, during, and after the hackathon. &amp;nbsp;A list like this would have been useful to me last year as a new hackathon organizer, so (hopefully) it'll be of use to you. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: You can put together a Hackathon in much less time than a Summer, so your mileage on the dates may vary. &amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Times New Roman; font-size: large;&quot;&gt;&lt;strong&gt;3-4 Months Before&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: transparent; font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;div&gt;
&lt;ul style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;li&gt;&lt;strong&gt;Event Timing and Format: &lt;/strong&gt;Figure out when you're going to have your hackathon and what the format is going to be like (12/24/48 hours, or some longer period like Columbia's &lt;a href=&quot;http://adicu.com/devfest2011&quot;&gt;DevFest&lt;/a&gt;). &amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Key Partners: &lt;/strong&gt;Figure out what key groups from your university you're going to work with to get things done. We got a ton of support from the &lt;a href=&quot;http://www.pennua.org&quot;&gt;Student Government&lt;/a&gt;, our &lt;a href=&quot;http://www.tech-house.upenn.edu/&quot;&gt;Innovation Center&lt;/a&gt; and the &lt;a href=&quot;http://www.vpul.upenn.edu/&quot;&gt;Provost's Office&lt;/a&gt;. You'll need these as proof of legitimacy for your website. &amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Funding Instrastructure: &lt;/strong&gt;You also want to make sure you're all set up to take funding once it becomes available. We've found most companies are happy to either pay via Credit Cards or write us a check. &amp;nbsp;Our organization (the &lt;a href=&quot;http://dinphil.com&quot;&gt;Dining Philosophers&lt;/a&gt;, Penn's CS club) is University-affiliated, meaning all of our funding needed to be made out to the University. If this isn't the case for you, feel free to give something like &lt;a href=&quot;http://www.kickstarter.com/&quot;&gt;KickStarter&lt;/a&gt; a try. &amp;nbsp;Either way, reach out to your relevant University partners and make sure you've got a way to take money once it's available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Design Standards:&amp;nbsp;&lt;/strong&gt;You're going to make t-shirts and print posters. To keep a reasonably consistent design standard, see if you can get your designer friend to contribute a logo that will work across various background colors and ideally a color scheme. &amp;nbsp;Good design is a solid way to show legitimacy when asking for funding&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Website: &lt;/strong&gt;Put together a simple static website explaining what the hackathon is, who is organizing it, what you're hoping to do and what you need (hint:probably money). &amp;nbsp;Your audience at this point are the sponsors - &lt;a href=&quot;http://alexeymk.com/hosting-hackathons&quot;&gt;when you email them asking for funding&lt;/a&gt;. &amp;nbsp;&lt;p /&gt;For the&amp;nbsp;&lt;a href=&quot;http://www.pennapps.com/2010&quot;&gt;first PennApps&lt;/a&gt;, we ended up writing a bunch of plain HTML and using the &lt;a href=&quot;http://apidocs.posterous.com/&quot;&gt;Posterous API&lt;/a&gt;&amp;nbsp;to pull in blog content to the main page. &amp;nbsp;The &lt;a href=&quot;http://pennapps.com&quot;&gt;second time around&lt;/a&gt;, we used &lt;a href=&quot;http://www.wordpress.org&quot;&gt;WordPress&lt;/a&gt; - this took away some of our design flexibility but made it far less painful to drop in new content. &amp;nbsp;We're sticking with WordPress.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Location &lt;/strong&gt;(ideally)&lt;strong&gt;: &lt;/strong&gt;if you're lucky, one of the Key Partners (above) will be able to help you find a location for the hackathon that works for you. More likely, you'll need to spend some amount of time reaching out to the University to try and see where you might be able to host the event. &amp;nbsp;We wrote up a &lt;a href=&quot;https://docs.google.com/document/d/17_QVSFCIQzeHLFWss59nrehv9N3M-645rY5-NPz-NrA/edit?hl=en_US&amp;amp;authkey=CJaVgeEM&quot;&gt;Location Requirements&lt;/a&gt; document to help streamline our conversations with the administration.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;strong&gt;2-3 Months Before&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;li&gt;&lt;strong&gt;Key Sponsors: &lt;/strong&gt;Once you have a basic website and an idea for the event you're going to have, you're able to start reaching out to sponsors to get funding for your event. We started with high-profile sponsors with whom we had established relationships first, largely through internships. &amp;nbsp;We reached out to Microsoft, Google and Facebook first; getting confirmations from those sponsors and being able to put them on our website made the rest of the sponsors easier to convince.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blog Content: &lt;/strong&gt;By no means is it necessary to have any blog content for your site, but I figured that between interviews with past participants and the rolling out of updates, a simple blog would be an easy way to make the site 'alive' and develop some early buzz amongst students.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Location: &lt;/strong&gt;Try to have&amp;nbsp;your location down by this point.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;1-2 Months Before&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;li&gt;&lt;strong&gt;Sponsors: &lt;/strong&gt;The Key Sponsors are going to make your life easier in finding the rest of your funding. Make sure you've approached &lt;a href=&quot;http://alexeymk.com/hosting-hackathons&quot;&gt;the funding sources &lt;/a&gt;suggested in an earlier post.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Judges: &lt;/strong&gt;If you want awesome, important people to come serve as Judges for the demo session, you're going to need to ask them reasonably far in advance (at least a month would be nice). &amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tech Talks: &lt;/strong&gt;One of the fun things to do at Hackathons is try new APIs and frameworks. Start to figure out what companies or individuals in the area you want to reach out to to introduce the APIs before the hackathon. Developer Evangelists tend to be pretty high in demand (on the Android team in particular), so make sure to start this at least a month in advance and try to work out the talk schedule in a way that works for everybody. &amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Schedule: &lt;/strong&gt;Start to put together a preliminary schedule for tech talks, the hacking itself, meals, and awards/prizes. This schedule will be bound to change, but having a first draft helps get judges/sponsors/tech-talkers give feedback and start to form their schedules around the event.&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Website: &lt;/strong&gt;Start addings sections on the website for the sponsors, judges, talks and the planned schedule (basically, each of the points above). If you're going with a blog, keep posting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;strong&gt;3 Weeks Before&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;T-Shirt Design: &lt;/strong&gt;&lt;a href=&quot;http://blog.adamnash.com/2010/11/29/why-t-shirts-matter/&quot;&gt;T-shirts matter&lt;/a&gt;. &amp;nbsp;Come up with an awesome design and make sure to get yours made ahead of time, rather than rushed and therefore more expensive. Fewer colors is cheaper (add about $1/color/shirt). &amp;nbsp;We used a local store but I've heard reasonable things about &lt;a href=&quot;http://www.customink.com&quot;&gt;customink&lt;/a&gt;.&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Outreach: &lt;/strong&gt;Figure out who your attendees are going to be and how to find them. &amp;nbsp;For Penn, emailing the relevant CS department list-servs and clubs on campus got the job done. &amp;nbsp;Externally, we reached out through friends to invite hackers at other schools. &amp;nbsp;Get people to sign up and commit to coming. We used a &lt;a href=&quot;http://docs.google.com/support/bin/answer.py?hl=en&amp;amp;answer=151187&quot;&gt;Google Form&lt;/a&gt; the first time around and &lt;a href=&quot;http://www.eventbrite.com&quot;&gt;EventBrite&lt;/a&gt;&amp;nbsp;in January.&amp;nbsp;&amp;nbsp;Neither quite satisfied our needs (which is motivation for another post), but EventBrite isn't bad.&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Location: &lt;/strong&gt;In case you don't, you should REALLY have your location figured out by now.&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Food: &lt;/strong&gt;Compile a list of potential caterers for the event, doing your best to keep it varied, healthy, and cheap (we aimed at &amp;lt;$5/person/meal and only doing Pizza once). &amp;nbsp;Go down the line and start contacting caterers to see if any of them are interested in providing food for free or at a deep discount in exchange for a sponsorship/recognition/etc (hey, it can't hurt to ask). &amp;nbsp;Get prices and lead times (IE, if 20 more people than expected show up, how much in advance do I need to tell you by) and start working on a short-list.&amp;nbsp;&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Tech Talks: &lt;/strong&gt;At this point, most of your tech talks should be solidified.&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Local Sponsors: &lt;/strong&gt;There's a &lt;a href=&quot;http://alexeymk.com/hosting-hackathons#local_groups&quot;&gt;category of local sponsors&lt;/a&gt; that should be able to give you stuff (Red Bull, stickers, schwag) that are worth reaching out to, but can be dealt with on a shorter time schedule. Note: some barter sponsors from larger companies may need several weeks to get things things approved within their companies - make sure to reach out to them in advance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;strong&gt;&lt;img src=&quot;/images/hackathon_checklist_2.jpg&quot; alt=&quot;Hosting Hackathons: The Organizer's Checklist&quot; /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;strong&gt;5 Days Before&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Tech Talks: &lt;/strong&gt;should be completely booked and know exactly when they are going. The finalized tech talk schedule should be up online and emailed out to participants&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Participants Counts &amp;amp; Finalizing Orders: &lt;/strong&gt;At this point, you should know approximately how many people are going to make it (so you can order T-shirts and food appropriately). &amp;nbsp;I was off by more than 50% both times I tried to estimate the participant count for PennApps. &amp;nbsp;Here's what I recommend: email everybody that has signed up about 5 days in advance and ask them to respond with 24 hours to confirm attendance. &amp;nbsp;The number of people who have responded are a reasonably solid guess (something like 10-20% of even those people will have something come up, but yet others will end up inviting their friends, or somebody will hear about the event, etc).&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: large;&quot;&gt;The Day Before/During&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Posters, Posters, Posters: &lt;/strong&gt;Put signs everywhere. If you're within a couple of blocks of the event, you should be able to know how to get to it.&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Event Logistics:&amp;nbsp;&lt;/strong&gt;Make sure the website is ready for the event. &amp;nbsp;Figure out what your channels of communication are going to be throughout (Twitter? IRC back-channel?) and have links on the site. Figure out who the contact people are going to be for the event and create a Google Voice number that forwards to all of them. &amp;nbsp;Put the number on the website.&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Social Media: &lt;/strong&gt;Somebody ought to be manning your Twitter account/taking photos and potentially video interviews throughout. Participants will have worked their ass off throughout the event and deserve to have evidence to show for it.&lt;/li&gt;
&lt;li style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;&lt;strong&gt;Back-up Plan: &lt;/strong&gt;Things are going to go wrong day-of&amp;nbsp;(out of power cords/need more food/X just broke)&amp;nbsp;inevitably, spending money is going to be the fastest way to solve a lot of your problems. Make sure you know where that money is coming from and who is getting reimbursed for it, and how. Save receipts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;strong&gt;Post-Mortem&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;li&gt;&lt;strong&gt;Demonstrate Results: &lt;/strong&gt;Either host links to teams' work or (ideally) share the &lt;a href=&quot;http://www.pennapps.com/teams&quot;&gt;videos of their presentations&lt;/a&gt;. &amp;nbsp;Teams (and the hackathon itself) need to be able to point to tangible results.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Promises to Keep: &lt;/strong&gt;Whatever value proposition you made to sponsors, make sure you've kept up your side of the bargain. We send out emails to participants after the fact thanking and listing sponsors as well as making it easy for sponsors to recruit from participants.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Get Feedback and Iterate: &lt;/strong&gt;Both from the sponsor, judge, and participant side of things, ask for feedback and take note of what kind of things can be different next time around.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mark your success: &lt;/strong&gt;The Hackathon organizers probably haven't slept in a while. Now would be a good time to buy them a drink.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: medium;&quot;&gt;&lt;em&gt;Obligatory: we've just opened up sign-ups for PennApps 2011. If you're anywhere near the Philly Area this September, &lt;a href=&quot;http://2011.pennapps.com&quot;&gt;sign up for updates&lt;/a&gt; and we'll keep you in the loop.&lt;/em&gt;&lt;/p&gt;
&lt;ul style=&quot;font-family: Times New Roman; font-size: medium;&quot;&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Venmo Review: It's like your wallet and your phone had a beautiful baby</title>
   <link href="http://alexeymk.com/its-like-your-wallet-and-your-phone-had-a-bea/index.html"/>
   <updated>2011-05-17T14:00:00-07:00</updated>
   <id>http://alexeymk.com/its-like-your-wallet-and-your-phone-had-a-bea/its-like-your-wallet-and-your-phone-had-a-bea</id>
   <content type="html">&lt;blockquote&gt;
&lt;p&gt;&quot;The future is here. It's just not very evenly distributed&quot;&lt;/p&gt;
&lt;p&gt;- &lt;a href=&quot;http://en.wikiquote.org/wiki/William_Gibson&quot;&gt;William Gibson&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;/images/venmo_screenshot.png&quot; alt=&quot;Venmo Review: It's like your wallet and your phone had a beautiful baby&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://venmo.com/i/alexey.WzH.piw&quot;&gt;Venmo&lt;/a&gt;&amp;nbsp;is something of a futurist's dream except that it just so happens to actually exist. Simply put, Venmo is your mobile wallet: either through an iPhone or Android app (or SMS), you send and receive money from your friends.  Venmo takes money in from your credit card and withdraws it out to your bank account whenever you'd like.  At no point does Venmo take a commission (&lt;a href=&quot;#how&quot;&gt;see below&lt;/a&gt;) from you or any of your friends. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I'm a heavy Venmo user and have been one since about October 2010. I've made more almost 200 payments with just under 50 different people (at least since they started providing stats in January) and have gotten a fair number of my roommates and friends to use it. The service improves my quality of life in &amp;nbsp;a non-trivial way.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How we use Venmo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/venmo_payment_1.png&quot; alt=&quot;Venmo Review: It's like your wallet and your phone had a beautiful baby&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I try &lt;a href=&quot;http://www.case-mate.com/iPhone-4-Cases/Case-Mate-iPhone-4-ID-Credit-Card-Cases.asp&quot;&gt;not to carry a wallet around&lt;/a&gt;, which works except for when we go to food trucks. Usually, at least one of my friends will have cash, so I can Venmo them immediately to pay for my part. Gone are the days of trying to remember how much you owe somebody and whether you've paid them back yet - Venmo makes paying your friend back take less effort than writing the reminder to pay them back.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Whenever we go out for dinner, trying to pay with multiple credit cards becomes a hassle (even if the place accepts more than one or two). &amp;nbsp;With Venmo, one of us will volunteer to put their card down and everybody else Venmoes them accordingly.&lt;/li&gt;
&lt;li&gt;One extremely useful use case we've found has been the &quot;I'm going to Wawa/Starbucks, do you want anything?&quot; scenario. Whenever anybody goes for a coffee or snack run at our house, we ask them to bring things back via Venmo, by paying with a message like &quot;$4.55 for Grande Cappucino with Caramel and Skim Milk.&quot; &amp;nbsp;This way, the payment and the order are in the same place, so the volunteer does not need to write anything down or remember what to get - they just open Venmo at the register and order the relevant items.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;img src=&quot;/images/venmo_payment_4.png&quot; alt=&quot;Venmo Review: It's like your wallet and your phone had a beautiful baby&quot; /&gt;&lt;img src=&quot;/images/209366_882057397747_618833_43160611_3380328_o.jpg&quot; alt=&quot;Venmo Review: It's like your wallet and your phone had a beautiful baby&quot; /&gt;As you can tell, we've fun with the 'message' space in the payment, since the messages (though not the amounts) syndicate easily to Facebook or Twitter.&amp;nbsp;&lt;/p&gt;
&lt;img src=&quot;/images/venmo_payment_2.png&quot; alt=&quot;Venmo Review: It's like your wallet and your phone had a beautiful baby&quot; /&gt; &lt;/li&gt;
&lt;li&gt;Venmo has also been tremendously useful for keeping track of utilities with roommates. We simply have a Dropbox folder with all of our bills; at the end of each month or billing period, the roommate in charge of that bill simply adds the bill to our Dropbox folder and then charges us (with a link to the statement in the account). &amp;nbsp;As roommates, we've benefited tremendously from Venmo's &lt;a href=&quot;https://help.venmo.com/customer/portal/articles/13711-how-and-why-to-use-trust-&quot;&gt;trust&lt;/a&gt; feature: if two people 'trust' one another on Venmo, charges they make from one another are automatically approved (though the sender has 24 hours to cancel the payment just in case). &amp;nbsp;Trust reduces the friction of paying bills with roommates to opt-out, making it something I don't worry about anymore.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;a name=&quot;how&quot;&gt;How can Venmo afford to not take a commission?&amp;nbsp;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The short answer is, VC funding means you're allowed to lose money for a while.&lt;/p&gt;
&lt;p&gt;The longer answer is: mobile (social?) payments in the US are a land-grab right now, with competitors like &lt;a href=&quot;http://www.paypal.com&quot;&gt;PayPal&lt;/a&gt; trying to get into the space, Google buying start-ups that &lt;a href=&quot;http://techcrunch.com/2010/12/13/google-zetawire/&quot;&gt;haven't launched yet&lt;/a&gt; and phone carriers looking to be part of the solution as well.  Mobile wallets have the same (if not stronger) network effects than social networks - if the friends I go out with or the places I go accept the service, I'll use it. If they don't, Venmo is useless. During a land-grab, fees are an unnafordable friction.  By leaving its business model discovery to late on, Venmo makes it easy for me to have this conversation:&lt;/p&gt;
&lt;blockquote class=&quot;posterous_medium_quote&quot;&gt;
&lt;p&gt;&lt;strong&gt;Dude: &lt;/strong&gt;I don't have cash on me right now, can I pay you back later?&lt;br /&gt;&lt;strong&gt;Me&lt;/strong&gt;: Sure, just Venmo me.&lt;br /&gt;&lt;strong&gt;Dude&lt;/strong&gt;: Nah, That's too complicated. I'll just give you cash when I have it.&amp;nbsp;&lt;br /&gt;&lt;strong&gt;Me&lt;/strong&gt;: It's actually really simple: I'll charge you $10 now. Follow the link you'll get in your email, and pay once you've joined. Venmo doesn't take a cut or anything.&amp;nbsp;&lt;br /&gt;&lt;strong&gt;Dude&lt;/strong&gt;: Cool! &amp;nbsp;...wait, then how do they make money?&amp;nbsp;&lt;br /&gt;&lt;strong&gt;Me&lt;/strong&gt;: &lt;em&gt;See above&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I like Venmo and I use it a lot. &lt;a href=&quot;https://venmo.com/i/alexey.WzH.piw&quot;&gt;You should too (follow this link for an invite)&lt;/a&gt;. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Disclaimer: I'm unabashedly sticking my user referral code in here. &amp;nbsp;Also, Venmo as a startup has sponsored the&amp;nbsp;&lt;a href=&quot;http://pennapps.com&quot;&gt;PennApps&lt;/a&gt;&amp;nbsp;hackathon, which I helped organize. &lt;span style=&quot;text-decoration: line-through;&quot;&gt;&lt;a href=&quot;http://techcrunch.com/2011/04/27/an-update-to-my-investment-policy/&quot;&gt;Also, I'm an investor&lt;/a&gt;.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Hosting Hackathons: The Team</title>
   <link href="http://alexeymk.com/hosting-hackathons-the-team/index.html"/>
   <updated>2011-05-15T21:10:00-07:00</updated>
   <id>http://alexeymk.com/hosting-hackathons-the-team/hosting-hackathons-the-team</id>
   <content type="html">&lt;p&gt;&lt;span style=&quot;color: #7e7e7e; font-size: 14px; line-height: 21px;&quot;&gt;&lt;em style=&quot;padding: 0px; margin: 0px;&quot;&gt;This is a second in series of posts on how to host a student hackathon, based on my experience with&amp;nbsp;&lt;a href=&quot;http://www.pennapps.com/&quot; style=&quot;color: #009900; text-decoration: none; padding: 0px; margin: 0px;&quot;&gt;PennApps&lt;/a&gt;, as well as from participating in&amp;nbsp;&lt;a href=&quot;http://techcrunch.com/2010/10/10/hacknys-student-hackathon/&quot; style=&quot;color: #009900; text-decoration: none; padding: 0px; margin: 0px;&quot;&gt;HackNY&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;http://www.phillygamejam.com/2009/&quot; style=&quot;color: #009900; text-decoration: none; padding: 0px; margin: 0px;&quot;&gt;PhillyGameJam&lt;/a&gt;&amp;nbsp;and the&amp;nbsp;&lt;a href=&quot;http://www.facebook.com/hackathon&quot; style=&quot;color: #009900; text-decoration: none; padding: 0px; margin: 0px;&quot;&gt;hackathons&lt;/a&gt;&amp;nbsp;at Facebook over the summer. &amp;nbsp;For other posts in the series, see &lt;a href=&quot;http://alexeymk.com/tag/hackathons&quot;&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;With finals over, &lt;a href=&quot;http://dinphil.com&quot;&gt;we&lt;/a&gt;&amp;nbsp;are starting to lay the groundwork for the next&amp;nbsp;&lt;a href=&quot;http://2011.pennapps.com&quot;&gt;PennApps 2011&lt;/a&gt; hackathon, scheduled from September 2011. As we go through the process, we're making sure to have an organizational structure that ensures that key tasks have owners who are ultimately responsible for getting things done.&lt;/p&gt;
&lt;p&gt;It's (theoretically) possible to organize a hackathon by yourself, but the task is pretty large if done right. At least three distinct skill-sets end up being required:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Technical &lt;/strong&gt;Your hackathon is going to need a website. &amp;nbsp;Depending on the technology being used, you may want to provide simple hosting/accounts for participants or unlock a number of phones if you're offering loaner units. &amp;nbsp;If you have any sort of popular voting or demos after the competition, that part probably needs to be built as well. &lt;p /&gt;Somebody who understands and can (at least competently) put together a website and administer a Linux VPS somewhere is going to be helpful. We had several people work on the technical side for PennApps, but having a key person understand the entirety of the tech stack meant that there was a central go-to person who could troubleshoot and distribute work.&lt;p /&gt;&lt;em&gt;&lt;a href=&quot;http://7cubedproject.com/&quot;&gt;Gareth&lt;/a&gt; adds:&lt;/em&gt;&amp;nbsp;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;One thing we found in 7Cubed was that it was a huge headache if we used personal accounts for blogs/website registration/etc. This made it so only a single person could make changes to these resources, which caused a bunch of friction.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The solution there (or at least one we've been using) is to create a &lt;a href=&quot;mailto:your-hackathon@gmail.com&quot;&gt;your-hackathon@gmail.com&lt;/a&gt; (or, if you don't mind configuring &lt;a href=&quot;https://www.google.com/a/cpanel/domain/new&quot;&gt;Google Apps&lt;/a&gt;, &lt;a href=&quot;mailto:hackathon@your-domain.com&quot;&gt;hackathon@your-domain.com&lt;/a&gt;) and share the password across the people that neeed to register/maintain everything. &amp;nbsp;This is not a particularly high-security approach, but works splendidly for something limited like a hackathon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;External&amp;nbsp;&lt;/strong&gt;Hackathons require a lot of conversations, from &lt;a href=&quot;http://alexeymk.com/hosting-hackathons&quot;&gt;sponsors&lt;/a&gt;&amp;nbsp;to judges to the University administration to the providers of the location to the students themselves. &amp;nbsp;We also ended up working with the University's&amp;nbsp;&lt;a href=&quot;http://www.tech-house.upenn.edu/&quot;&gt;innovation hub&lt;/a&gt;&amp;nbsp;and the &lt;a href=&quot;http://pennua.org&quot;&gt;student government&lt;/a&gt;&amp;nbsp;as well.&lt;p /&gt;Reaching out and keeping all of these stakeholders happy is a job all in itself, requiring a diplomatic approach and an enthusiasm for convincing people to help you. &amp;nbsp;In practice, the external person tends to also make sense as a reasonable MC for the kick-off and the person who gets enough sleep during the hackathon itself to be coherent enough to run the demo session.&lt;p /&gt;&lt;em&gt;&lt;a href=&quot;http://7cubedproject.com/&quot;&gt;Gareth&lt;/a&gt; adds: &lt;/em&gt;T&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;here should be a single person operating external relations, or at least a single person assigned to manage each single external relationship. This prevents the &quot;oh I thought you replied to that three days ago!&quot; syndrome.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Operational &lt;/strong&gt;We've found that a hackathon demands a reasonable amount of 'running' during the event itself. From registering participants and making sure they have a place to work and sleep to ensuring timely food delivery to ensuring that judges and speakers are able to arrive on time to are well treated during the event, to running midnight raffles, we've found that having a dedicated &quot;behind the scenes&quot; role ends up being critical to a smoothly-running event.&lt;p /&gt;Unlike the first two, the operational role doesn't require a substntial amount of work until a few days before and during the event. Bringing in somebody who hasn't spent the past several months sweating over the planning details helped us get a fresh perspective and not worry about the quality of day-of execution.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Your organizational structure may have multiple people wearing multiple hats or certain roles split; regardless, make sure everybody on the organizing team (and probably amongst the participants as well) knows who the go-to people are when questions arise.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Getting started with Web Development: what you need to know.</title>
   <link href="http://alexeymk.com/51391338/index.html"/>
   <updated>2011-04-30T09:59:00-07:00</updated>
   <id>http://alexeymk.com/51391338/51391338</id>
   <content type="html">&lt;p&gt;[Edit - I consider this post to be pretty out of date (don't start with PHP anymore!) but have not yet updated it. &amp;nbsp;The one-line answer today would be to use a minimalist Ruby or Python framework (Bottle.py or Sinatra) to get started.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Say you know basic programming, probably through some Java or high school APs, but you've never written a line of PHP or had to deal with anything with Unix. Now you want to get into programming for the web. What should you read/do/etc? &amp;nbsp;Provided is an early draft at a bare-minimum comprehensive guide.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. &amp;nbsp;How the Web/Web Servers work&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;simplified, high-level overview&amp;nbsp;&lt;a href=&quot;http://www.quackit.com/web_servers/tutorial/how_web_servers_work.cfm&quot;&gt;http://www.quackit.com/web_servers/tutorial/how_web_servers_work.cfm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. &amp;nbsp;Front-end (HTML/CSS)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Update: W3Schools is pretty &lt;a href=&quot;http://www.w3fools.com&quot;&gt;out of date&lt;/a&gt;. Let's use the Google tutorials instead.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML/CSS/(+Javascript): tAdvice from Google Engineers: &lt;a href=&quot;http://code.google.com/edu/submissions/html-css-javascript/&quot;&gt;http://code.google.com/edu/submissions/html-css-javascript/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;New Stuff: Dive into HTML5&amp;nbsp;&lt;a href=&quot;http://diveintohtml5.org/&quot;&gt;http://diveintohtml5.org/&lt;/a&gt;&amp;nbsp;(just do the first couple of chapters, more if desired)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3. Back-end language&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you're just getting started and don't have a particular reason not to, &lt;strong&gt;use PHP. &amp;nbsp;&lt;/strong&gt;I'm writing this for some work that's going to be done in Rails, but PHP is probably a simpler starting language. I'll include links for both:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ruby on Rails &lt;/strong&gt;(Ruby is the Language, Rails is the Framework)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ruby:&amp;nbsp;&lt;a href=&quot;http://tryruby.org/&quot;&gt;http://tryruby.org/&lt;/a&gt;. Sprint through this. If you've worked with Python/Javascript/any other scripting language, you should be on top of this.&lt;/li&gt;
&lt;li&gt;Rails intro. Rails&amp;nbsp;for zombies&amp;nbsp;&lt;a href=&quot;http://railsforzombies.org/&quot;&gt;http://railsforzombies.org/&lt;/a&gt;&amp;nbsp;is the crazy/fun one,&amp;nbsp;&lt;a href=&quot;http://guides.rubyonrails.org/getting_started.html&quot;&gt;http://guides.rubyonrails.org/getting_started.html&lt;/a&gt;&amp;nbsp;is the official one. From what I saw with Rails for Zombies, it seems pretty fun.&lt;/li&gt;
&lt;li&gt;Hosting: use&amp;nbsp;&lt;a href=&quot;http://www.heroku.com/&quot;&gt;http://www.heroku.com/&lt;/a&gt;&amp;nbsp;to host whatever you'll be working on.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;PHP: &lt;/strong&gt;The official PHP tutorials aren't half-bad, but there's a ton of crappy, outdated PHP stuff out there. Googling 'how do I do X' in PHP will typically result in terrible advice; if the site looks out of date, it's suggesting that you do it wrong. Use these as a reasonable starting point if you go with PHP:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.php.net/manual/en/tutorial.firstpage.php &quot;&gt;http://www.php.net/manual/en/tutorial.firstpage.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.php.net/manual/en/tutorial.forms.php &quot;&gt;http://www.php.net/manual/en/tutorial.forms.php&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4. *nix:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You might not need to touch that much Linux (GNU/Linux, if you'd like) to get something done, but just in case, here are the bare essentials:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Penn CS' unix tutorial:&amp;nbsp;&lt;a style=&quot;color: #0000ee;&quot;&gt;https://www.cis.upenn.edu/~cis1xx/Learn/Unix/Resources/UnixTutorial/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Version Control - kind of a good idea. Use git:&amp;nbsp;&lt;a href=&quot;http://chronicle.com/blogs/profhacker/a-gentle-introduction-to-version-control/23064&quot;&gt;http://chronicle.com/blogs/profhacker/a-gentle-introduction-to-version-control/23064&lt;/a&gt;&amp;nbsp;&amp;nbsp;Also get an account on Github.&lt;/li&gt;
&lt;li&gt;Editors: you'll want to learn emacs or vim. I'm familiar with vim - choose that one (arbitrarily). Use vimtutor to learn vim&amp;nbsp;&lt;a href=&quot;http://linuxcommand.org/man_pages/vimtutor1.html&quot;&gt;http://linuxcommand.org/man_pages/vimtutor1.html&lt;/a&gt;&amp;nbsp;or just type in 'vimtutor'.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;What am I missing? Are there better guides suitable for beginners that I haven't found?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Dear Dr Stallman, the Aftermath</title>
   <link href="http://alexeymk.com/dear-dr-stallman-the-aftermath/index.html"/>
   <updated>2011-04-24T14:00:00-07:00</updated>
   <id>http://alexeymk.com/dear-dr-stallman-the-aftermath/dear-dr-stallman-the-aftermath</id>
   <content type="html">&lt;p&gt;Whoa. &amp;nbsp;Thanks for all the &lt;a href=&quot;http://news.ycombinator.com/item?id=2477586&quot;&gt;attention &lt;/a&gt;and &lt;a href=&quot;http://www.reddit.com/r/linux/comments/gw0y3/dear_dr_stallman_an_open_letter/&quot;&gt;feedback&lt;/a&gt;, &lt;a href=&quot;http://backtweets.com/search?q=alexeymk.com%2Fdear-dr-stallman-an-open-letter&amp;amp;ref=p1&quot;&gt;everybody&lt;/a&gt;! In case you're curious: I ended up emailing the letter to RMS and got a reply earlier today.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;I am skeptical of advice from people who disagree with what I stand for.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;&lt;span style=&quot;color: #888888;&quot;&gt;--&lt;br /&gt;Dr Richard Stallman&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Overall, commenters seem to have had &lt;a href=&quot;http://socialmention.com/search?q=alexeymk&amp;amp;t=all&amp;amp;btnG=Search&quot;&gt;fairly positive&lt;/a&gt;&amp;nbsp;things to say, but a number ended up arguing against points I wasn't making. &amp;nbsp;To be clear: I don't think RMS is wrong to argue for Free Software, or that he should somehow moderate his position; I just don't think mentioning 9/11 or the Swindle is particularly helpful to the FSF cause. &amp;nbsp;If you haven't yet, check out the &lt;a href=&quot;http://www.stwing.upenn.edu/~pengp/Files/Stallman/&quot;&gt;recording&lt;/a&gt;&amp;nbsp;of his talk and judge for yourself.&lt;/p&gt;
&lt;p&gt;Finally, I'm incredibly grateful for all of the contributions RMS has and continues to make, but I don't think RMS (or anybody) is beyond criticism.&amp;nbsp;To equate criticism of a tactic with criticism of an ultimate goal does not seem to be an effective way to encourage feedback or open discussion. &amp;nbsp;I'd love to see an FSF which takes itself seriously through its spokespeople and campaigns, because I think a cohesive and credible argument from the FSF is an important part of the discussion about the future of technology's role in society.&lt;/p&gt;
&lt;p&gt;Alright, that's enough buzzwords for one paragraph. Thanks for taking the time to discuss, everybody.&lt;/p&gt;
&lt;p&gt;[Edit: here's &lt;a href=&quot;http://alexeymk.com/dear-dr-stallman-an-open-letter&quot;&gt;the original letter&lt;/a&gt;]&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Dear Dr. Stallman: An Open Letter</title>
   <link href="http://alexeymk.com/dear-dr-stallman-an-open-letter/index.html"/>
   <updated>2011-04-21T16:13:00-07:00</updated>
   <id>http://alexeymk.com/dear-dr-stallman-an-open-letter/dear-dr-stallman-an-open-letter</id>
   <content type="html">&lt;p&gt;Dear Dr. Stallman,&lt;/p&gt;
&lt;p&gt;Thank you for coming to Penn and giving a talk on &lt;a href=&quot;http://www.stwing.upenn.edu/~pengp/Files/Stallman/&quot;&gt;A Free Digital Society&lt;/a&gt;;&amp;nbsp;it was an honor meeting you. You mentioned that what you expected of us was to help the Free Software Foundation however we could; I'd like to take you up on that and offer both yourself and the FSF the following advice:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stop marginalizing yourself&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You make a number of very valid points. When a program is distributed without its source code, users don't have as much control as they would otherwise. Internet censorship is on the rise and presents a serious and credible threat to society. DRM is an example of false scarcity and doesn't make sense in the long run. &amp;nbsp;But every time you use the word Big Brother or call the Kindle &quot;Swindle,&quot; or make an aside like &quot;even if you believe that the government had nothing to do with the attacks of September 2001,&quot; you go from making an interesting argument about freedom to being the crazy guy shouting at cars on the side of the road.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/impeach_vs_swindle.jpg&quot; alt=&quot;Dear Dr. Stallman: An Open Letter&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Most FSF marketing materials follow this &quot;you're not listening to us, so we're going to make increasingly outlandish claims&quot; approach.&amp;nbsp;The closest comparison that I can make between the FSF would have to be the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lyndon_LaRouche&quot;&gt;Lyndon LaRouche&lt;/a&gt; movement.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/global_warming_vs_ms7sins.jpg&quot; alt=&quot;Dear Dr. Stallman: An Open Letter&quot; /&gt;&lt;/p&gt;
&lt;p&gt;There are numerous arguments in support of Free Software that I can think of that do not have to involve a conspiratorialist tirade. When you talk about the risk of software as a service, you can mention that the US gov't is &lt;a href=&quot;http://www.wired.com/threatlevel/2011/03/amicus-wikileaks-twitter-case/&quot;&gt;attempting to collect identifying user data&lt;/a&gt; from the Wikileaks Twitter account, or the recent &lt;a href=&quot;http://www.csmonitor.com/USA/Justice/2011/0416/Crackdown-on-Full-Tilt-Poker-clouds-future-of-online-gambling&quot;&gt;domain name seizures of PokerStars&lt;/a&gt; and other online gambling websites. These are practical consequences of a lack of Free Software and, arguably, places where the government has been overstepping its bounds. &amp;nbsp;These are the arguments I would have loved to hear from you, presented in an even tone and without the usual snark.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Baby steps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In today's world, it's not realistic to ask most users to completely abandon all proprietary software immedialy. Proprietary software is usually better, especially when it comes to UI Design and User Experience. When a student confronted you with this, you responded that if we truly valued freedom we would not mind the inconvenience of (for example) emailing copies of documents around instead of collaborating via Google Docs. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dr. Stallman, Google Docs is&amp;nbsp;&lt;em&gt;really&lt;/em&gt;&amp;nbsp;useful. I imagine you're unlikely to have tried the service yourself, abstaining as you have from proprietary software for the past several decades. &amp;nbsp;It may be worth trying the service out, if only to better relate to your target audience.&lt;/p&gt;
&lt;p&gt;Dr. Stallman, you like to use the argument that proprietary software is like a drug, so let me extend that analogy: today's proprietary stuff isn't marijuana; it's heroin, and it's really, really good. You don't get somebody off heroin by lecturing them about how they should value their freedom; you switch them over to methadone for a while and let them slowly detox. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;To that end, please stop accusing users unwilling to shift to inferior software as haters of freedom; all you are doing is insulting us and inviting us to ignore you. Instead, consider offering practical alternatives and first steps for products that you would recommend. &amp;nbsp;We live in a world where having the technological edge makes the difference between success and failure; asking us to just give up that edge for a theoretical idea of freedom is not going to work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do what you do best&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dr. Stallman, I have a tremendous amount of respect for your contributions to GNU, emacs and gdb amongst others. You are a man of considerable intellect and programming ability. That said, I nor the people that I spoke with about your talk found you to be a particularly charismatic or persuasive speaker. The only people that seemed convinced by your speech were the ones who had already been leaning towards your point of view to start with. Several friends of mine who had not heard of the FSF before left half way through because they were so put off by some of conspiratorial rhetoric above.&lt;/p&gt;
&lt;p&gt;I wonder whether the Free Software movement might be better served if you spent more of your time mentoring up-and-coming hackers and writing free software that matches in elegance and quality some of the software that you have written in the past. When we asked, you mentioned that you do not write much code anymore. That's a shame.&lt;/p&gt;
&lt;p&gt;[Edit: Dr. Stallman &lt;a href=&quot;http://alexeymk.com/dear-dr-stallman-the-aftermath&quot;&gt;responded&lt;/a&gt;]&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>@Bluffn from HackNY</title>
   <link href="http://alexeymk.com/bluffn-from-hackny/index.html"/>
   <updated>2011-04-12T08:18:00-07:00</updated>
   <id>http://alexeymk.com/bluffn-from-hackny/bluffn-from-hackny</id>
   <content type="html">&lt;p&gt;I was at &lt;a href=&quot;http://www.hackny.org&quot;&gt;HackNY&lt;/a&gt;&amp;nbsp;over the weekend; our resulting demo is below (starting at the 9 minute mark).&lt;/p&gt;
&lt;p&gt;&lt;iframe scrolling=&quot;no&quot; src=&quot;http://cdn.livestream.com/embed/internetsocietychapters?layout=4&amp;amp;clip=pla_ed48f97f-1ab4-4896-8af6-47b7067f0801&amp;amp;color=0xe7e7e7&amp;amp;autoPlay=false&amp;amp;mute=false&amp;amp;iconColorOver=0x888888&amp;amp;iconColor=0x777777&amp;amp;allowchat=true&quot; frameborder=&quot;0&quot; height=&quot;385&quot; width=&quot;640&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Given a chance, I'm hoping to put together a longer article about solid Hackathon demos and building the product vs building the demo.&lt;/p&gt;
&lt;p&gt;We didn't win anything, but (until my __real__ bug) I was pretty happy with the quality and interactivity that we were able to achieve.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Permission Denied for chmod: Cygwin on Windows 7 doesn't play nice with files in Dropbox</title>
   <link href="http://alexeymk.com/permission-denied-for-chmod-cygwin-on-windows/index.html"/>
   <updated>2011-04-06T12:48:00-07:00</updated>
   <id>http://alexeymk.com/permission-denied-for-chmod-cygwin-on-windows/permission-denied-for-chmod-cygwin-on-windows</id>
   <content type="html">&lt;p&gt;I spent a fair amount of time earlier today trying to set up todo.txt with Cygwin on my Windows 7 boot. For the longest time, I was getting &quot;Permission Denied&quot; whenever I tried to write to files inside of Dropbox. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;This was a result of some misconfiguration of cygwin and Dropbox; long story short, if you run into this problem, chmod-ing the files with the necessary permissions didn't (sadly) work. &lt;a href=&quot;http://stackoverflow.com/questions/357314/file-permissions-in-cygwin-and-mvfs&quot;&gt;Stack Overflow suggests&lt;/a&gt;&amp;nbsp;playing around with /etc/passwd inside of cygwin, and even offers a &lt;a href=&quot;http://cygwin.com/cygwin-ug-net/ntsec.html&quot;&gt;pretty cool guide &lt;/a&gt;about how Cygwin maps Windows to POSIX-like permissions. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/solution.png&quot; alt=&quot;Permission Denied for chmod: Cygwin on Windows 7 doesn't play nice with files in Dropbox&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Ultimately, the solution that worked for me was the simplest one: in Windows, I opened the file and gave everybody full permission for it.&amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Daily Deals: Everybody's favorite bubble</title>
   <link href="http://alexeymk.com/daily-deals-everybodys-favorite-bubble/index.html"/>
   <updated>2011-04-04T12:43:00-07:00</updated>
   <id>http://alexeymk.com/daily-deals-everybodys-favorite-bubble/daily-deals-everybodys-favorite-bubble</id>
   <content type="html">&lt;p&gt;In case anybody else is keeping count, there are now two Groupon clones focused specifically on the Penn market:&amp;nbsp;&lt;a href=&quot;http://www.crowdquest.com&quot;&gt;CrowdQuest&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;http://www.lootsa.com&quot;&gt;Lootsa&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.crowdquest.com&quot;&gt;&lt;img src=&quot;/images/crowdquest.png&quot; alt=&quot;Daily Deals: Everybody's favorite bubble&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.lootsa.com&quot;&gt;&lt;img src=&quot;/images/lootsa.png&quot; alt=&quot;Daily Deals: Everybody's favorite bubble&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;These bring to mind Lewis Black's End of the Universe:&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;http://www.youtube.com/embed/ENGUYeiGtNk&quot; frameborder=&quot;0&quot; height=&quot;510&quot; width=&quot;640&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Cool Story, Bro: Haig and Jason from WineAccess.com</title>
   <link href="http://alexeymk.com/cool-people-haig-and-jason-from-wineaccesscom/index.html"/>
   <updated>2011-03-25T12:08:00-07:00</updated>
   <id>http://alexeymk.com/cool-people-haig-and-jason-from-wineaccesscom/cool-people-haig-and-jason-from-wineaccesscom</id>
   <content type="html">&lt;p&gt;&lt;em&gt;When I started this blog, I was hoping to do a bunch of New Yorker-style profiles of cool Enterpreneurs that I got to meet, only&amp;nbsp;&lt;/em&gt;&lt;em&gt;considerably&amp;nbsp;&lt;/em&gt;&lt;em&gt;shorter and worse. Here's my first.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I met Haig (left) and Jason (right) through John Fazio, who subjected his internship request to my&amp;nbsp;&lt;a href=&quot;http://alexeymk.com/recruiting-penn-engineers-a-case-study&quot;&gt;Case Study&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/IMG_20110325_191058.jpg&quot; alt=&quot;Cool Story, Bro: Haig and Jason from WineAccess.com&quot; /&gt;Haig Didizian (Penn CS '02) and Jason Matson (Drexel MBA '10, amongst other things) are the CTO and COO respectively of 16-person&amp;nbsp;&lt;a href=&quot;http://www.winaccess.com&quot;&gt;WineAccess&lt;/a&gt;, an online wine retailer based near Philly. &amp;nbsp;From its roots in the late nineties, the company has been creating technology to make the wine purchasing experience better.&lt;/p&gt;
&lt;p&gt;Originally, that meant things like making it possible for retail wine shops to list their inventory online and take online orders. When customers checked out, retail shops would collect their emails. Customers would get a &quot;hey, come rate this wine you just had&quot; email and be linked to a site where they could see their historical ratings, get suggestions for wine to try and communicate with other wine aficianados. &amp;nbsp;&quot;It was a very early Social Network-type thing,&quot; explains Jason. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;As the e-commerce market became more competitive, however, creating online stores for shops became a less interesting business, leaving the company in search for alternate ways to grow. It was in that context that Haig and Jason joined WineAccess; this is their story.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jason &lt;/strong&gt;had been pursuing a Physics PhD at Florida State and working on his dissertation when The Leaving (Jason's band) was signed by by Milquetoast Records. Jason did the obvious thing, abandoning his studies in favor of a tour that lasted a full 3 days before the label imploded. &amp;nbsp;The band ended up self-producing their first album and eventually signing with another label, resulting in a fair amount of touring and travelling.&lt;/p&gt;
&lt;p&gt;Several years later, finding himself in Cape Cod over the winter and between gigs, the former physics&amp;nbsp;PhD&amp;nbsp;took a minimum wage job as a stock boy at a grocery story. Within a couple of years, his interest in wine - &quot;I liked drinking wine, so it was a good fit&quot; - lead Jason to a job working for a big-box wine and spirits retailer in Massachusets, managing the installation of a forty-foot statue of Captain Morgan. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/wineaccess.png&quot; alt=&quot;Cool Story, Bro: Haig and Jason from WineAccess.com&quot; /&gt;&quot;I knew the fork-lift operator drank on the job,&quot; explained Jason, &quot;and if he made one mistake, that would be it for me below. I had this terrible vision of being crushed by Captain Morgan's giant leg.&quot; &amp;nbsp;Wanting to get into higher-end, fine wines, Jason eventually convinced his wife (who, in a random aside, ran &lt;a href=&quot;http://www.4-traders.com/NY-TIMES-13865/news/NEW-YORK-TIMES-A-About-com-and-Adams-Media-Introduce-the-About-com-Book-Series-246317/&quot;&gt;About.com's book series&lt;/a&gt; at the time) to move to Philadelphia and work on WineAccess. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&quot;I met Jim [the founder] for the first time in a coffee-shop after having corresponded online. Jim arrived via bicycle, wearing torn jean shorts. He gave me this three-question quiz about wine. I went zero for three.&quot; &amp;nbsp;Jason got the job anyway, and has done everything at the company outside of programming (VP of Operations, VP of Marketing, etc) ever since.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Haig &lt;/strong&gt;was a Penn CS sophomore during the first bubble. &amp;nbsp;&quot;There was so much interest in tech that the Wharton Tech Career Fair was held in the Penn Convention Center downtown, comprising three full blocks,&quot; he explained.&lt;img src=&quot;/images/84606046pcbYPC_fs.jpg&quot; alt=&quot;Cool Story, Bro: Haig and Jason from WineAccess.com&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&quot;We showed up, and everybody was there: Intel, Dell, Enron. They were all wearing suits, and we were all wearing jeans. &amp;nbsp;Then there was this tiny booth in the corner and those guys were wearing jeans too. We were like, 'who are you guys?' And they were like, 'oh, we sell wine, and we just raised a bunch of money.' &amp;nbsp;I didn't understand any of the fancy words in their business plan, but I don't think they did either.&quot; Haig ended up interning at WineAccess his sophomore year of college and doing part-time consulting afterwards. &quot;This was my stereotype of what a cool company was like,&quot; Haig explained. &quot;After graduation, I ended up working at a couple of start-ups, and then at Unisys. When I joined, there were 130,000 employees at Unisys. By the time I left, there were 30,000. &amp;nbsp;They were very good to me, but it was the opposite of what a cool company was like.&quot; &amp;nbsp;&lt;img src=&quot;/images/convention_center.png&quot; alt=&quot;Cool Story, Bro: Haig and Jason from WineAccess.com&quot; /&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Then, on a whim, he called up his old boss at WineAccess to see how things were. The company was growing and needed all the quality manpower they could get. &quot;I said, 'I want to work 3 days a week and not have to come into the office. &amp;nbsp;Can we do that?' They said, 'Sure!'&quot; As CTO, Haig's hours have since somewhat increased.&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;What does&amp;nbsp;&lt;strong&gt;WineAccess &lt;/strong&gt;do?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/unisys_logo.jpg&quot; alt=&quot;Cool Story, Bro: Haig and Jason from WineAccess.com&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After years as an e-commerce provider to retail wine shopes, WineAccess began looking for ways to evolve its business. Realizing that they had access to hundreds of thousands of email addresses of wine lovers, the company began to market to its consumers directly. From their &lt;a href=&quot;http://www.wineaccess.com/static/our-history.adp&quot;&gt;website&lt;/a&gt;,&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333; font-size: 17px; line-height: 22px;&quot;&gt;That's when we got the idea.&amp;nbsp;What if we sent winery email offers for just one wine or two -- a couple times per week -- wines we discovered from all of our winery connections on the great wine trails of the world? Would anyone care? Was there anyone out there? We tried it. Amazingly, 56 people bought the wine! We couldn't believe anyone was listening. So we sent a few more. Within six months, wineries and importers were calling us wanting to know how could they have their wines featured on WineAccess.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ever since switching to a direct-sales model (Groupon for Wine, if you will) WineAccess has been increasing revenues 100% year-on-year. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&quot;Is that like &lt;a href=&quot;http://wine.woot.com/&quot;&gt;Wine.Woot&lt;/a&gt;,&quot; I asked. &quot;Are they a competitor?&quot;&lt;/p&gt;
&lt;p&gt;&quot;Sort of,&quot; Haig said. &quot;They're in a different segment. We both sell wine, but they focus on great deals. We focus on great wines.&quot; &amp;nbsp;The average purchase from a WineAccess purchaser is in the several hundred dollar range.&lt;/p&gt;
&lt;p&gt;&quot;We're all about having a good time,&quot; Jason said, as we were heading out, &quot;but don't get us wrong: we're working hard, too. We want to own this space.&quot;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Recruiting Penn Engineers Talk</title>
   <link href="http://alexeymk.com/recruiting-penn-engineers-talk/index.html"/>
   <updated>2011-03-21T00:15:57-07:00</updated>
   <id>http://alexeymk.com/recruiting-penn-engineers-talk/recruiting-penn-engineers-talk</id>
   <content type="html">&lt;p&gt;The &lt;a href=&quot;http://interactivemediagroup.org/&quot;&gt;Interactive Media Group&lt;/a&gt;, (Wharton's undergraduate Social Media guys) invited me to speak about &lt;a href=&quot;http://www.whartoniteseekscodemonkey.com&quot;&gt;WSCM&lt;/a&gt;&amp;nbsp;and working with Penn Engineers. Here are the slides from my talk:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;&quot;&gt;&lt;strong style=&quot;display: block; margin: 12px 0 4px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/alexeymk/working-with-penn-engineers-for-img-2011319&quot; title=&quot;Working with Penn Engineers for IMG [2011.3.19]&quot;&gt;Working with Penn Engineers for IMG [2011.3.19]&lt;/a&gt;&lt;/strong&gt; 
&lt;object height=&quot;417&quot; width=&quot;500&quot;&gt;
&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=7329682&amp;amp;rel=0&amp;amp;stripped_title=working-with-penn-engineers-for-img-2011319&amp;amp;userName=alexeymk&quot; /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt; &lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=7329682&amp;amp;rel=0&amp;amp;stripped_title=working-with-penn-engineers-for-img-2011319&amp;amp;userName=alexeymk&quot; type=&quot;application/x-shockwave-flash&quot; height=&quot;417&quot; width=&quot;500&quot;&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;div style=&quot;padding: 5px 0 12px;&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/alexeymk&quot;&gt;Alexey Komissarouk&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>The 'go' command</title>
   <link href="http://alexeymk.com/the-go-command/index.html"/>
   <updated>2011-03-15T15:13:00-07:00</updated>
   <id>http://alexeymk.com/the-go-command/the-go-command</id>
   <content type="html">&lt;p&gt;&lt;a href=&quot;http://www.twitter.com/thezachw&quot;&gt;Zach Wasserman&lt;/a&gt;&amp;nbsp;created something I've been wanting for a long time and have been to lazy to implement myself: &lt;a href=&quot;http://zwass.wordpress.com/2011/03/16/the-go-command/&quot;&gt;the 'go' command&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Often, I'll be looking for some file on the command line, I'll type cd and be&amp;nbsp;tab-completing and end up getting to the file itself. Of course, &quot;cd ~/my/stuff/file.txt&quot; doesn't make much sense. &amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;bash: cd: stuff.txt: Not a directory&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;I end up changing cd to vim, but it's kind of a waste. The solution, then, is to follow the 'click on something' paradigm from modern GUIs: clicking on a directory opens that directory and shows its contents; clicking on a file opens that file in whatever the default for that file type is. &amp;nbsp;For simplicity, let's just use the $EDITOR for files.&lt;/p&gt;
&lt;p&gt;Behold, the 'go' command:&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Georgia, Bitstream Charter, serif; font-size: 16px; color: #333333; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;go()
{
if [ -f $1 ]
then
    $EDITOR $1
else
    cd $1 &amp;amp;&amp;amp; ls
fi
}&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Add it to your .bashrc file. &lt;a href=&quot;http://zwass.wordpress.com/2011/03/16/the-go-command/&quot;&gt;http://zwass.wordpress.com/2011/03/16/the-go-command/&lt;/a&gt;&amp;nbsp;for details.&lt;/p&gt;
&lt;p&gt;Thanks, Zach and Andrew.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Recruiting Penn Engineers: A Case Study </title>
   <link href="http://alexeymk.com/recruiting-penn-engineers-a-case-study/index.html"/>
   <updated>2011-03-06T08:26:00-08:00</updated>
   <id>http://alexeymk.com/recruiting-penn-engineers-a-case-study/recruiting-penn-engineers-a-case-study</id>
   <content type="html">&lt;div&gt;&lt;span&gt;&lt;em&gt;In &lt;a href=&quot;http://alexeymk.com/recruiting-penn-engineers-intro-emails-that-d&quot;&gt;http://alexeymk.com/recruiting-penn-engineers-intro-emails-that-d&lt;/a&gt;, I promised a case study.&lt;/em&gt; &lt;em&gt;&amp;nbsp;Here goes. &lt;/em&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span&gt;For a bit of background, &lt;a href=&quot;http://technicallyphilly.com/people/john-fazio&quot;&gt;John&lt;/a&gt; of &lt;a href=&quot;http://jarv.us/&quot;&gt;Jarv.us&lt;/a&gt; was introduced by a mutual friend seeking advice on how to attract interns from Penn CS; I offered to help with his email copy with him if he didn't mind me publishing both versions. &amp;nbsp;Thanks, John!&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span&gt;&lt;strong&gt;Before &lt;/strong&gt;(&lt;em&gt;264 words&lt;/em&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;span&gt;Jarvus is a web technologies company built on hackers of all kinds (degrees, dropouts, and GEDs) and our mission is to always be developing or working on the coolest technology we can get paid for. We don't have a ton of money, and we're not looking for venture money, because we don't need it. We've been bootstrapped from the get go, and we're growing fast.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span&gt;If you're looking for a 9-5 to put cash in your pockets we're not for you. If you're looking for a job that challenges you while you learn and build awesome resume experience, Jarvus is the place. We provide a high-pace technical and intellectual environment that forces students to sink or swim. Those who swim, come away with invaluable&amp;nbsp;technical&amp;nbsp;knowledge and working industry experience.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span&gt;We're ALWAYS looking for web development talent no matter what your specialty is, but right now we have a significant demand for mobile application developers with experience in either iOS or Android Java. We're looking for developers to come on board as contractors while training for higher-level development within our framework. Pay rates begin at 20-35$ depending on experience. We've got about 12 months of project work lined up right now and would be looking for someone to fill a position for 8-12 months and train the next in line. Salaries will be&amp;nbsp;negotiable&amp;nbsp;after 1 month if production.&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span&gt;Students who have worked for us have added some of the following projects to their resumes:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li style=&quot;margin-left: 15px;&quot;&gt;&lt;span&gt;Wharton's MBA Broadcast + Sencha Touch iPad app&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 15px;&quot;&gt;&lt;span&gt;TEDxPhilly.org&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 15px;&quot;&gt;&lt;span&gt;TheRoots.com&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 15px;&quot;&gt;&lt;span&gt;PhillyTechWeek.com&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 15px;&quot;&gt;&lt;span&gt;Educon23.org + Sencha Touch Mobile app&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 15px;&quot;&gt;&lt;span&gt;ScienceLeadership.org&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;p&gt;&lt;span&gt;&lt;em&gt;Comments&lt;br /&gt;&lt;/em&gt;Actually, this email wasn't that bad to start with. It was a little bit longer that necessary and spent a bit of time on platitudes that every email seems to have &quot;a job that challenges,&quot; &quot;high-pace technical and intellectual environment,&quot; etc. &amp;nbsp;The salary and exact needs were buried at the end of the email, and details about the company itself were missing. &amp;nbsp;After going through a couple of drafts with John (and with the &lt;a href=&quot;http://ayakanonaka.com&quot;&gt;help&lt;/a&gt; of some friends), we ended up sending out the following&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;After &lt;/strong&gt;(&lt;em&gt;179&lt;/em&gt;&lt;/span&gt;&lt;em&gt;&amp;nbsp;words&lt;/em&gt;;&amp;nbsp;&lt;em&gt;this was sent out&lt;/em&gt;)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Jarvus is a web and mobile development firm based in Philly looking to hire mobile developers part-time at $20-$35/hour, starting this semester. &amp;nbsp;If you&amp;rsquo;ve been looking to improve (or pick up) Android or iPhone development skills, we provide a high-pace technical and intellectual environment that forces students to sink or swim. Students at Jarvus are expected to work 10-15 hours per week during the semester, meeting with their mentor on a weekly basis by travelling to our office in Northern Liberties (3rd and Poplar).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;About us:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;The Jarvus team is built on self-taught web developers who thrive on advancement. You&amp;rsquo;ll work directly with the development team and be expected to contribute during information architecture discussions and team meetings. We've worked with students from Drexel, Temple, UArts and others; most past interns have left Jarvus with several projects under their belt. &amp;nbsp;Some of the apps past interns have worked on include T&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;&quot;&gt;EDxPhilly.org, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;&quot;&gt;TheRoots.com, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;&quot;&gt;PhillyTechWeek.com, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;&quot;&gt;and ScienceLeadership.org. &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;If you&amp;rsquo;re interested and/or have any questions, drop me a line at &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;mailto:john@devnuts.com&quot; target=&quot;_blank&quot; style=&quot;color: #0000cc;&quot;&gt;john@&lt;span class=&quot;il&quot;&gt;devnuts&lt;/span&gt;.com&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;border-collapse: collapse; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;em&gt;Comments&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse;&quot;&gt;We (hopefully) did a number of things right here. First, the exact demands, structure and offer are right in the first few sentences - in Philly, $20-35, starting now, Android or iPhone, 10-15 hours a week, once a week meeting structure.  This let students figure out right in the first couple of sentences whether the job could be a fit or not.  &lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;border-collapse: collapse;&quot;&gt;In the second paragraph, John quickly lists the benefits of working at Jarv.us/devnuts: they are experienced with interns , they are all self-taught themselves,  and you get to 'own' an entire project.  Finally, a more concise version of 'cool things people have built' is appended as part of the parg&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;border-collapse: collapse;&quot;&gt;raph. &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border-collapse: collapse;&quot;&gt;The email ends on a personal and sincere note - &quot;here's my email, I'm just some guy and I don't mind sharing it with you, feel free to ask questions&quot;. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;border-collapse: collapse;&quot;&gt;All in all, the email becamse shorter, less grandiose, more precise, and more personal. &lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Hosting Hackathons: Getting Awesome Sponsors</title>
   <link href="http://alexeymk.com/hosting-hackathons/index.html"/>
   <updated>2011-02-28T23:50:00-08:00</updated>
   <id>http://alexeymk.com/hosting-hackathons/hosting-hackathons</id>
   <content type="html">&lt;p&gt;&lt;em&gt;This is a first in a (hopefully) series of posts on how to host a student hackathon, based on my experience with &lt;a href=&quot;http://www.pennapps.com&quot;&gt;PennApps&lt;/a&gt;, as well as from participating in &lt;a href=&quot;http://techcrunch.com/2010/10/10/hacknys-student-hackathon/&quot;&gt;HackNY&lt;/a&gt;&amp;nbsp;and &lt;a href=&quot;http://www.phillygamejam.com/2009/&quot;&gt;PhillyGameJam&lt;/a&gt;&amp;nbsp;and the &lt;a href=&quot;http://www.facebook.com/hackathon&quot;&gt;hackathons&lt;/a&gt; at Facebook over the summer.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Organizing a hackathon costs money - even without paying for the space, large prizes and t-shirts, we spent nearly $3.5k (~$35/competitor) for &lt;a href=&quot;http://pennapps.com&quot;&gt;PennApps Mobile&lt;/a&gt;&amp;nbsp;on food and drinks over nearly 48 hours. How do you raise something like that?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Possible Funding Sources&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here's what has worked for us:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1) Tech Companies (Google, Facebook, Microsoft, Yahoo, etc)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Software engineers/hackers are in &lt;a href=&quot;http://whartoniteseekscodemonkey.tumblr.com&quot;&gt;high demand&lt;/a&gt;. Recruiting is hard, both in terms of gaining exposure and figuring out who the good candidates are. For tech companies, sponsoring a hackathon address both of those issues. Companies gain exposure by giving tech talks about their APIs and sending their developers to come hang out/answer questions/participate as judges. &amp;nbsp;Being perceived as hacker-friendly helps get participants excited about working for your company; when participants do apply, they've certainly got at least one project under their belt. Further, Students who are passionate enough about building stuff that they're willing to spend a weekend without [much] sleep are an appealing group of students to be hiring. I don't have exact numbers (yet) but it should be interesting to see how many people ended up getting jobs or summer internships from companies they met through PennApps.&lt;/p&gt;
&lt;p&gt;The bigger the company you contact, the more used they are to similar requests for sponsorship and the more likely they are to have a budget for it. Local start-ups (or, if a company wants to get its APIs in front of developers, start-ups in general) can often be a great fit since there's a good chance you can get the founders to come judge or hang out with the participants, but may have less immediate funding to offer; in general, secure most of your funding from well-known companies before reaching out to smaller start-ups; if nothing else, saying (though not directly) &quot;Google and Microsoft are already lined up to sponsor; would you be interested in joining them?&quot; helps establish your credibility as you raise funding.&lt;/p&gt;
&lt;p&gt;[from &lt;a href=&quot;http://7cubedproject.com/&quot;&gt;Gareth&lt;/a&gt;:] Contacting a University Recruiter will tend to go further at a large company than contacting a friend who works there, since recruiters have a direct budget for things like this. &amp;nbsp;If you have a friend at the company, ask them to put you in touch with the recruiter directly.&lt;/p&gt;
&lt;p&gt;When speaking to tech companies, we made a point of getting either places that students are already excited to work for (Google being the prime example) or those with a reputation for treating developers well. There's some sense of responsibility here for getting sponsors that fit in.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2) Venture Capitalists&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Venture Capitalists have two ways to gain from hackathons: as above, they are able to benefit from helping their portfolio companies recruit from the hackathon talent pool for summer or new-grad positions. The added bonus for VC firms, however, is using hackathons to measure the pulse of the developer community - &lt;a href=&quot;http://pennapps.com/2011/01/developers-dig-droid-at-pennapps-hackathon/&quot;&gt;what phones are people using&lt;/a&gt;, what development stacks are popular, what kind of ideas are floating around in the aether. There's also always the possibility of finding a great technical team and encourage them to turn toward&amp;nbsp;entrepreneurship,&amp;nbsp;building a relationship early on. &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3) University&amp;nbsp;Entrepreneurship&amp;nbsp;Groups&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At Penn, the &lt;a href=&quot;http://www.tech-house.upenn.edu/&quot;&gt;Weiss Tech House&lt;/a&gt; is a hub for student&amp;nbsp;entrepreneurship&amp;nbsp;and was a natural partner for us to work with, providing free space as well as offsetting all security-related costs. In general, if there's a Technology/Innovation/Entrepreneurship&amp;nbsp;organization or group at your university, sponsoring or being part of a hackathon is right up their alley and makes them look great. Even if they won't be able to help substantially with your budget, they'll be able to help with things like convincing university facilities that it's perfectly fine to hold an event that requires keeping a building open overnight. The Computer Science department or CS clubs may also be game for sponsoring if you need it. All in all, your school should be excited about having a Hackathon: it makes them look cutting-edge and tech-savvy.&lt;/p&gt;
&lt;p&gt;[From DJ]: Having some University group giving you official support also makes sponsors comfortable that your event has appropriate backing and is actually going to happen. Consider adding your official university affiliation to your website right at the beginning.&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;local_groups&quot;&gt;&lt;/a&gt; &lt;strong&gt;4) Local Groups/Barter Deals&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Energy drink companies are the cleanest example of this, but there are others: what sort of products are trying to sell their goods to engineering students/hackers and would be interested in free advertising in exchange for their goods? &amp;nbsp;We've been able to get discounts from new restaurants in the neighborhood, &lt;a href=&quot;http://stickermule.com&quot;&gt;laptop stickers&lt;/a&gt; and &lt;a href=&quot;http://www.mediatemple.com&quot;&gt;web hosting&lt;/a&gt;&amp;nbsp;(that I can remember). &amp;nbsp;The value proposition is simple: let's get your product in front of people that are in need of something exactly like this. A couple of days after the hackathon, we'll send out an email thanking the sponsors; hopefully, enough will convert or buy the product next time they need something like this to make it worthwhile.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5) Don't Charge Students&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Your goal (or at least ours) is to maximize turn-out.&amp;nbsp;&lt;a href=&quot;http://www.amazon.com/Free-Future-Radical-Chris-Anderson/dp/1401322905&quot;&gt;Free&lt;/a&gt;&amp;nbsp;food and drinks (and give-aways) for the course of a weekend is a solid selling point. Even something as low as $5 or $10 creates a barrier to entry. I've heard the argument that charging money filters out people who aren't serious about hacking; honestly though, not sleeping for two days is enough of a filter as it is. Charging students isn't worth it, especially given the alternatives.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Levels of Sponsorship&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We had a&amp;nbsp;&lt;a href=&quot;http://pennapps.com/spring2011/our-sponsors/sponsors/&quot;&gt;complex system&lt;/a&gt;&amp;nbsp;for levels of sponsorship that will probably evolve as we host more hackathons. If you're going to have tiered sponsorship, here's what you should do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Figure out exactly the ways you create value for your sponsors; the above is a reasonable starting point. Distinguish the various types of partners you're speaking with; a food truck isn't looking to get the same thing out of a sponsorship as Google.&lt;/li&gt;
&lt;li&gt;At each level, offer substantially more value than at a level immediately below, a clear and obvious reason that adding more money is worthwhile. For us, this was the Resume Drop: at $1,000 or above, sponsors received a resume pile of all participants who opted in, making contacting and reaching out far less of a pain.&lt;/li&gt;
&lt;li&gt;Create a 'reach' sponsorship level that you don't expect to get: for us, this was the $5,000 'IPO' sponsorship level: certainly, fund-raising would have been easier if we got an IPO-level sponsor, but even without one we made the $2,500 sponsorship level look cheap in comparison. &lt;a href=&quot;http://www.spruancegroup.com/spruancequarterly/Anchors_prices_and_value/&quot;&gt;Anchoring&lt;/a&gt;: make it easy for your champion at their company go his or her boss and argue for the amount of money you'd like.&lt;/li&gt;
&lt;li&gt;Make sure to collect the actual sponsorships well in advance of the hackathon. Sponsors, even well-known ones, have bailed at the last minute before. The safe thing to do here is to get checks (or payments, however you're processing it) from sponsors at least a couple of weeks in advance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contacting Sponsors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ignoring unsolicited emails is ridiculously easy. For tech companies and VC firms, we had a far higher success rate for funding if we first got introduced through a student that had interned or was interning at the company or through a professor who had worked or done research with them. That said, we were successful by contacting recruiters directly at Yahoo and Bloomberg, amongst others; if you can't find somebody to introduce you, going directly might be worth a try.&lt;/p&gt;
&lt;p&gt;For the initial email, something like&amp;nbsp;&lt;/p&gt;
&lt;blockquote class=&quot;posterous_medium_quote&quot;&gt;
&lt;p&gt;Greetings,&lt;/p&gt;
&lt;p&gt;I'm a CS Junior at &amp;lt;University&amp;gt;; we're putting together a hackathon (&amp;lt;link&amp;gt;) on &amp;lt;Date&amp;gt;. I was thinking that &amp;lt;Company&amp;gt; might make a great sponsor, since &amp;lt;reason&amp;gt;. &amp;nbsp;Let me know if this is something you may be interested in and I'd be happy to send your more details or set up a phone call.&lt;/p&gt;
&lt;p&gt;&amp;lt;Student Organizer&amp;gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;worked reasonably well. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;We made sure to have at least a simple website up before sending out emails, to add some weight to the operation (IE, this isn't just some random dude emailing to ask for money). &amp;nbsp;We kept our intro email short in most cases; the longer an email is, the easier it is to ignore. We included a line or two in the email about the exact value proposition (IE, &quot;because you're recruiting on campus and this is a great way to get the word out about your company&quot;), both to ensure that there was at least some hint of the value proposition and to avoid the impression that this was a mass email we were sending to hundreds of potential companies. &amp;nbsp;Finally, the email was sent from a person rather than from an organization, in an effort to make a personal appeal and begin building a relationship with the potential sponsor.&lt;/p&gt;
&lt;p&gt;Assuming the company responds, send a longer email detailing the exact value proposition and the possible ways that a company could get involved (sponsor a custom prize, bring a judge, etc). &amp;nbsp;To start, though, keep it short,&amp;nbsp;credible,&amp;nbsp;simple, and personal.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What have I missed? How have you done things at your school? Leave a comment.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Recruiting Penn Engineers: Getting intro emails right.</title>
   <link href="http://alexeymk.com/recruiting-penn-engineers-intro-emails-that-d/index.html"/>
   <updated>2011-02-12T13:53:00-08:00</updated>
   <id>http://alexeymk.com/recruiting-penn-engineers-intro-emails-that-d/recruiting-penn-engineers-intro-emails-that-d</id>
   <content type="html">&lt;p&gt;The &lt;a href=&quot;http://www.whartoniteseekscodemonkey.com&quot;&gt;quality of emails to the cis-ugrad list-serv&lt;/a&gt; has received a &lt;a href=&quot;http://twitter.com/#!/Caterina/status/33774039369519104&quot;&gt;fair&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://news.ycombinator.com/item?id=2182600&quot;&gt;amount&lt;/a&gt; of &lt;a href=&quot;http://underthebutton.com/2011/02/code-this-for-me-wharton-douchiness-exploited-on-a-new-blog/&quot;&gt;attention&lt;/a&gt;&amp;nbsp;recently. &amp;nbsp;Making fun of clueless wanterpreneurs is good fun, but as many in the CS community have pointed out, it seems only fair to also educate and enlighten about what does and doesn't work. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://andrewchenblog.com/&quot;&gt;Andrew Chen'&lt;/a&gt;s recent &lt;a href=&quot;http://andrewchenblog.com/2011/02/05/stanford-cs-major-seeks-salesmarketing-monkey/&quot;&gt;blog post&lt;/a&gt;&amp;nbsp;sums up quite well the crux of the irritation Engineers feel when getting emails like these:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p style=&quot;font-weight: inherit; font-style: inherit; font-size: 1em; font-family: inherit; vertical-align: baseline; line-height: 1.3; text-align: left; text-indent: 0px; padding: 0px; margin: 0px;&quot;&gt;I&amp;rsquo;m starting a online company that has to do with the fashion industry. I saw you through a friend we share in common; I hope this email is welcome.&lt;/p&gt;
&lt;p style=&quot;font-weight: inherit; font-style: inherit; font-size: 1em; font-family: inherit; vertical-align: baseline; line-height: 1.3; text-align: left; text-indent: 1em; padding: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-weight: inherit; font-style: inherit; font-size: 1em; font-family: inherit; vertical-align: baseline; padding: 0px; margin: 0px;&quot;&gt;&lt;br /&gt;This is our basic corporate structure:&lt;br /&gt;1. CEO&lt;br /&gt;2. CTO (Chief Technology Officer)&lt;br /&gt;3. VP of Biz Dev/Sales&lt;br /&gt;4. Chief Architect&lt;br /&gt;5. Developers&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The irritation is basically this (via Andrew):&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333; font-family: HelveticaNeue-Light, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; line-height: 18px; padding: 0px;&quot;&gt;&lt;strong style=&quot;padding: 0px; margin: 0px;&quot;&gt;Here&amp;rsquo;s why it&amp;rsquo;s hard: The nerd perspective is, they don&amp;rsquo;t need you.&amp;nbsp;&lt;/strong&gt;Much of the reason why it&amp;rsquo;s insanely hard to find a really good technical cofounder is that the best ones really don&amp;rsquo;t need you. Or at least they don&amp;rsquo;t think they need you.&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; line-height: 18px; padding: 0px;&quot;&gt;Because there&amp;rsquo;s an illustrious track record of engineering-founded companies succeeding, spanning from HP to Facebook, there&amp;rsquo;s a lot of datapoints that say that a 20-yo Stanford computer science major can do it himself, or at least with his other CS roommates.&amp;nbsp;Similarly, the very best alums out of places like Facebook and Google have lots of access to capital, advice, and people- these are all recipes for making you (the biz founder) completely irrelevant.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333; font-family: HelveticaNeue-Light, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; line-height: 18px; padding: 0px;&quot;&gt;and &amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; line-height: 18px; padding: 0px;&quot;&gt;Remember this:&lt;/p&gt;
&lt;p style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; line-height: 18px;&quot;&gt;They are not the code monkey. You are the biz monkey.&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; line-height: 18px; padding: 0px;&quot;&gt;That&amp;rsquo;s just how it is.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yes, successful tech companies have been started by non-technical people (Apple, Dell, Zynga); yes, a number of the big successes (Facebook, Google, Microsoft, Yahoo) were all started by engineers.&amp;nbsp;I could go into length about this, but it's not particularly productive. &amp;nbsp;For the moment, though: we (the cis-ugrad list-serv) are getting way more offers than the amount of time any one of us actually has. Naturally, that leads to being reasonably picky about the opportunities we end up pursuing. &amp;nbsp;So:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Dear Sender of Amazing Opportunity,&lt;/p&gt;
&lt;p&gt;Personally, I'm sure your idea is pretty cool and if you're not going to be successful with this one, you'll probably make out just fine in the end. The fact that you've found the list-serv and are contacting us is a pretty good show of initiative and just for that alone you have my respect. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Having said that: this email is one of a ton that we're receiving: this is your shot to get us interested. You want to make sure you're doing it right; otherwise, your cool start-up or sweet job offer might just end up as unread junk literring our inboxes. That would suck. With your permission, I'd like to offer some advice on how to pitch your opportunity to CIS undergrads. &amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Keep it short&lt;/strong&gt;: If your email is longer than a paragraph or two, it's probably too long. Ever look at an unsolicited email on a list-serv and realize it's not worth reading because it would take too long? Exactly. &amp;nbsp;As a rule of thumb, less than 200 words is probably a good idea.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make the offer right away: &lt;/strong&gt;Your first or second sentence should, with as much clarity as possible, explain what the opportunity is and who it is targeting. People tend to be looking for a technical founder, part-time intern or employee, summer intern or full-time developer who may have a particular skill-set and is looking for some reasonable range of compensation. Are you looking for a first technical employee or do you already have a team? If I can tell the email targets people like me at the start, I'll keep reading it. If I get through the first paragraph and am still unsure what you're looking for, I'll probably keep moving.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Be specific: &lt;/strong&gt;There's nothing sillier than a stealth startup trying to recruit without saying what space it's in. I get that you know your idea is one-of-a-kind, but for us it's one of many that we'll read that day. &lt;strong&gt;If I don't know what your value proposition is, you don't have a value proposition. &amp;nbsp;&lt;p /&gt;&lt;/strong&gt;This also applies to compensation: way too many emails explain that this is &quot;something we can discuss&quot; or that the compensation is &quot;competitive.&quot; Competitive means different things to different people. While it makes perfect sense to offer more or less money or equity depending on the caliber and experience of the potential candidate, if you don't at least give a range, you're making it way too easy to ignore an offer that could have been a great fit. &amp;nbsp;In case you're wondering what reasonable compensation might be: at least $15/hour is reasonably standard for this type of work.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Be humble and straight-forward:&lt;/strong&gt;&amp;nbsp;I believe you; this is an awesome idea. Engineers are by and large friendly, no-bullshit people. &amp;nbsp;Please don't throw words like synergy and competitive advantage around: they absolutely make sense in the business context and it's great that you're thinking about this stuff. As far as Engineers are concerned, though, this doesn't make you look impressive or competent; it makes you look like a suit who is too focused on business-y things to understand the technical challenges involved in the work. Nothing is more annoying than working for somebody who you feel doesn't understand your job.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proofread. &amp;nbsp;&lt;/strong&gt;Seriously, if you can't spel or have trouble with ALL CAPS, please ask a friend to proofread your email. Complete, grammatically correct sentences are a minimum requirement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Get your (technical) facts straight: &lt;/strong&gt;Don't ask for somebody with at least 7 years of Ruby on Rails experience. If you're not sure why that's funny, look it up. &amp;nbsp;There's no simpler way to get your email ignored than to show that you have no idea what work actually needs to be done. &amp;nbsp;If you haven't invested the bare minimum of time required to do your research, that says something about your approach to technical work. Don't be a pointy-haired boss.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Why should I work with you?&amp;nbsp;&lt;/strong&gt;The most painful class of emails we get is the &quot;I've got a great idea, shouldn't be so hard, I just need somebody to do the web design in a week or so&quot; email. First, engineering is not web design (though web design is an awesome and entirely non-trivial task). &amp;nbsp;Second: it sounds like you're asking us to do something for you for free, just because it's an awesome idea. &amp;nbsp;Fair enough; but why should I work on your awesome idea and not mine? &amp;nbsp;There's one of several ways to convince us:                
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Money: &lt;/strong&gt;If you're willing to pay at least a reasonable rate ($15-20+), that's fair. The idea or job might end up being terrible, but at least it won't be a waste of our time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Credibility: &lt;/strong&gt;If you sold your last start-up for $XM dollars or you're well known to be technically-competent and willing to mentor people working for you, you're an appealing person to work with and can get away with a far smaller pay-scale or even get somebody to work for free as a learning experience or a way to get to know you. Ironically, people with credibility tend to be willing to pay for work, since they value their ideas enough to not want to easily give up equity in them. &amp;nbsp;Having other people already on board also helps and is worth mentioning. Also, in case this isn't obvious: getting into Wharton or M&amp;amp;T is not 'credibility'. &amp;nbsp;We absolutely respect that it's a highly selective process and you're right to be proud of your accomplishment, but there's a lot of you. Sorry.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sheer Charm: &lt;/strong&gt;&lt;a href=&quot;http://www.coursekit.com&quot;&gt;Sometimes&lt;/a&gt;, &lt;a href=&quot;http://lemonlime.me/&quot;&gt;non-technical&lt;/a&gt; &lt;a href=&quot;http://getmeep.com&quot;&gt;people&lt;/a&gt; get by on sheer charisma and persuasiveness. Congratulations to the few who can get away with it. &amp;nbsp;This route has a reasonably low success rate; if you are going to try it, please at least make clear what you bring to the table. Andrew Chen &lt;a href=&quot;http://andrewchenblog.com/2011/02/05/stanford-cs-major-seeks-salesmarketing-monkey/&quot;&gt;briefly discusses&lt;/a&gt;&amp;nbsp;what these might be - can you pick up design, or copy-writing, or user research? &amp;nbsp;Can you test?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Avoid attachments. &lt;/strong&gt;Don't send your offer as a doc or a pdf: send the offer right in the body. I'm not sure what percent of people open attachments from list-serves, but it's less than 100%.
&lt;ul&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yours,&lt;br /&gt;- CS Majors @ Penn.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;color: #800000;&quot;&gt;PS - this list is a work in progress. If you've got ideas on consolidation or other worthwhile advice, please leave a comment.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Check out the &lt;a href=&quot;http://alexeymk.com/recruiting-penn-engineers-a-case-study&quot;&gt;case study&lt;/a&gt;&amp;nbsp;if you're looking for a concrete example of this approach applied.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href=&quot;http://www.urbandictionary.com/define.php?term=tl%3Bdr&quot;&gt;tl;dr:&lt;/a&gt;&amp;nbsp;We get a ton of emails. Make sure yours doesn't suck or we'll probably ignore it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The Bay Area is Awesome</title>
   <link href="http://alexeymk.com/the-bay-area-is-awesome/index.html"/>
   <updated>2011-02-08T16:23:00-08:00</updated>
   <id>http://alexeymk.com/the-bay-area-is-awesome/the-bay-area-is-awesome</id>
   <content type="html">&lt;p&gt;I spent Thurs-Sun of this past week in the Bay Area, interviewing for potential places to contribute to this summer and just generally meeting cool and interesting people. Let me just say: the Bay Area is awesome. &amp;nbsp;The weather is warm. The people (that I met, at least) are incredibly open, willing to listen to some CS Junior's ideas about what they should do with their company and what the future of some technology might be. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;A couple of the VC's and judges that helped out with&amp;nbsp;&lt;a href=&quot;http://www.pennapps.com&quot;&gt;PennApps&lt;/a&gt;&amp;nbsp;introduced me to potential employers; after that, one meeting kept leading to another; I spent about half the time interviewing and the other half setting up meetings for the next day. Now, I've been to San Francisco before; it's not (entirely) trivial to show up and meet people if you're just some dude, but from what I can tell introductions from respected people goes a ridiculously long way. &amp;nbsp;&lt;img src=&quot;/images/IMG_20110203_091826.jpg&quot; alt=&quot;The Bay Area is Awesome&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Serendipity goes a ridiculously long way; by sheer coincidence, I met &lt;a href=&quot;http://twitter.com/caterina&quot;&gt;Caterina Fake&lt;/a&gt;&amp;nbsp;and off-handedly mentioned &lt;a href=&quot;http://whartoniteseekscodemonkey.tumblr.com&quot;&gt;Whartonite Seeks Code Monkey&lt;/a&gt;, a tumblr some CS guys had set up the week before in response to frustration at the cluelessness of many emails that came through our list-serv. Caterina tweeted the link&lt;img src=&quot;/images/IMG_20110203_140352.jpg&quot; alt=&quot;The Bay Area is Awesome&quot; /&gt;&lt;/p&gt;
&lt;p&gt;and we became a minor meme on the tech blogosphere, including reaching the top of &lt;a href=&quot;http://news.ycombinator.com/item?id=2182600&quot;&gt;Hacker News&lt;/a&gt;&amp;nbsp;and resulting in an awesome article from &lt;a href=&quot;http://andrewchenblog.com/2011/02/05/stanford-cs-major-seeks-salesmarketing-monkey/&quot;&gt;Andrew Chen&lt;/a&gt;&amp;nbsp;about how to add value as a business person. &amp;nbsp;Eventually, even the &lt;a href=&quot;http://underthebutton.com/2011/02/code-this-for-me-wharton-douchiness-exploited-on-a-new-blog/&quot;&gt;local college blog&lt;/a&gt;&amp;nbsp;got into it. It's ironic that Penn CS ended up getting noticed more for the time we bitched about clueless Whartonites than when we got almost 100 students to &lt;a href=&quot;http://www.pennapps.com/teams&quot;&gt;spend a weekend hacking on awesome things&lt;/a&gt;. &amp;nbsp;Whatever; we'll get there. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;The point is, this whole thing got started because the Bay Area is awesome. I can't wait to go back.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The recruiting email that wasn't</title>
   <link href="http://alexeymk.com/the-recruiting-email-that-wasnt/index.html"/>
   <updated>2011-01-28T07:15:00-08:00</updated>
   <id>http://alexeymk.com/the-recruiting-email-that-wasnt/the-recruiting-email-that-wasnt</id>
   <content type="html">&lt;p&gt;Here's an email I'd like to see:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hello there,&lt;/p&gt;
&lt;p&gt;I am contacting you on behalf of a next-generation Social Networking start-up that is looking for some ninja coders who know PHP and maybe some Python. &amp;nbsp;&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;The idea is, you can follow your friends and see what they are up to. &amp;nbsp;Here's the twist, though - you can &quot;check in&quot; somewhere and then your friends can see and comment on it. It's also a Q&amp;amp;A service.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The company was started by&amp;nbsp;two Harvard students, a Psych and an Econ major. &amp;nbsp;I don't want to get into too many financial details but we have a lot of really impressive high-profile investors interested in funding us. This is going to be a multi-billion dollar company. For sure.&lt;/p&gt;
&lt;p&gt;We have gotten a ton of interest from people who want to work with us so you should be pretty good if you're going to apply. &amp;nbsp;This is a &lt;strong&gt;ONCE IN A LIFETIME&lt;/strong&gt; opportunity and if you miss out now you'll regret it forever, I'm telling you.&lt;/p&gt;
&lt;p&gt;Interested? Apply &lt;a href=&quot;http://www.facebook.com/careers/&quot;&gt;here.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;[&lt;em&gt;As an aside: if you're into this type of thing, be sure to check out &lt;a href=&quot;http://whartoniteseekscodemonkey.tumblr.com&quot;&gt;whartoniteseekscodemonkey.tumblr.com&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Technical Jobs on Campus: thedp.com</title>
   <link href="http://alexeymk.com/technical-jobs-on-campus-thedpcom/index.html"/>
   <updated>2011-01-28T05:51:00-08:00</updated>
   <id>http://alexeymk.com/technical-jobs-on-campus-thedpcom/technical-jobs-on-campus-thedpcom</id>
   <content type="html">&lt;p&gt;Here's something I've been meaning to do for a while: post a filtered list of worthwhile coding job openings on campus and around. Openings are going to be limited to ones that I think are awesome. As such, the list is going to be arbitrary but useful. Subscribe to the 'jobs' tag if you're interested.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Opportunity:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #2a2a2a;&quot;&gt;&lt;span style=&quot;color: #000000; font-family: arial, sans-serif; border-collapse: collapse;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left-width: 1px; border-left-style: solid; border-left-color: #cccccc; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; padding-left: 1ex; font-weight: normal;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 10pt; color: #2a2a2a;&quot;&gt;This is your chance.&amp;nbsp;&lt;strong&gt;The Daily Pennsylvanian&lt;/strong&gt;&amp;nbsp;has openings in its&amp;nbsp;&lt;strong&gt;&lt;span&gt;Web&lt;/span&gt;&amp;nbsp;&lt;span&gt;Development&amp;nbsp;&lt;/span&gt;Department&lt;/strong&gt;&amp;nbsp;this spring.&lt;p /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;TheDP.com and its associate websites &amp;mdash;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://34st.com/&quot; target=&quot;_blank&quot; style=&quot;color: #0000cc;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;34st.com&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://eventsatpenn.com/&quot; target=&quot;_blank&quot; style=&quot;color: #0000cc;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;eventsatpenn.com&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;, and&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://underthebutton.com/&quot; target=&quot;_blank&quot; style=&quot;color: #0000cc;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;underthebutton.com&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;mdash; combine to generate&amp;nbsp;&lt;strong&gt;over 25,000 pageviews per day&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;thousands of dollars&amp;nbsp;&lt;/strong&gt;in ad revenue. At&amp;nbsp;&lt;span&gt;the DP&lt;/span&gt;&amp;nbsp;&lt;span&gt;web&lt;/span&gt;&amp;nbsp;department, you'll work with the&amp;nbsp;&lt;strong&gt;most pervasive content-management systems on the&amp;nbsp;&lt;span&gt;web&lt;/span&gt;&lt;/strong&gt;, such as Drupal and WordPress. We're looking for&lt;strong&gt;innovative thinkers, both developers and designers&lt;/strong&gt;, who have familiarity with HTML, CSS, and PHP.&lt;/span&gt;&lt;/p&gt;
If you're interested, e-mail Kyle Hardgrave at&amp;nbsp;&lt;a href=&quot;mailto:hardgrave@thedp.com&quot; target=&quot;_blank&quot; style=&quot;color: #0000cc;&quot;&gt;hardgrave@thedp.com&lt;/a&gt;&amp;nbsp;for more information.
&lt;div style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-top-width: medium; border-right-width: medium; border-bottom-width: 1pt; border-left-width: medium; padding-top: 0in; padding-right: 0in; padding-bottom: 1pt; padding-left: 0in;&quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; line-height: 12.75pt; padding: 0in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: #2a2a2a;&quot;&gt;At The Daily Pennsylvanian, amazing stories start every day.&amp;nbsp;&lt;strong&gt;Start yours today at&amp;nbsp;&lt;a href=&quot;http://thedp.com/join&quot; target=&quot;_blank&quot; style=&quot;color: #0000cc;&quot;&gt;thedp.com/join&lt;/a&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;Source:&lt;/strong&gt; cis-ugrad list-serv.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Pros: &lt;/strong&gt;You're work on a website you and your friends use on a daily basis (maybe? hopefully?). &amp;nbsp;It feels good. &amp;nbsp;You learn a ton about doing web development &lt;em&gt;reasonably &lt;/em&gt;right in a production environment.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Cons: &lt;/strong&gt;The DP can take over your life. Also, the pay is terrible (either nothing or a couple of hundred bucks a month). &amp;nbsp;Also, there's a good chance you'll have random business people who want you to do things like help create content for advertising.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Counter-Cons: &lt;/strong&gt;There's nothing wrong with things taking over your life, so long as they're good things. Also, the DP is a large and tight-knit community that puts together an award-winning newspaper. So there's that.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Good for: &lt;/strong&gt;Freshmen/sophomores and anybody looking to learn/get into web development but preferring a formal structure.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;How I know: &lt;/strong&gt;&lt;a href=&quot;http://www.dangetelman.com/&quot;&gt;Dan Getelman&lt;/a&gt;&amp;nbsp;ran the DP website starting spring of his freshman year. He turned out &lt;a href=&quot;http://www.coursekit.com&quot;&gt;all right.&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Product Design Ideas from OPIM 415</title>
   <link href="http://alexeymk.com/product-design-ideas-from-opim-415/index.html"/>
   <updated>2011-01-24T22:05:00-08:00</updated>
   <id>http://alexeymk.com/product-design-ideas-from-opim-415/product-design-ideas-from-opim-415</id>
   <content type="html">&lt;p&gt;&lt;em&gt;I'm taking Product Design with Karl Ulrich this semester. As part of the class, we have to come up with and outline 5 potential (physical) products targetted towards college students that are fairly simple and would retail for &amp;lt;$50. &amp;nbsp;I liked some of mine, so I figured I'd share them and see what people thought.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ideas:&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;1. &amp;nbsp;The Tech-Savvy Student's Padfolio&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;Laptops and/or tablets are slowly gaining market share amongst students taking notes in class. &amp;nbsp;A growing market opportunity exists in providing a note-taking tool that students can carry around as &quot;the one low-tech thing I have in my backpack, in case I ever need to take notes or think on paper or if I need to take a hand-out.&quot; &amp;nbsp;Today, I use a padfolio (&lt;a href=&quot;http://git.to/padfolio)&quot;&gt;http://git.to/padfolio)&lt;/a&gt; for this purpose, but the padfolio is in no way custom-tailored to my needs. &amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;I'd like to be able to do things like&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;- work on both sides of my paper,&amp;nbsp;&lt;br /&gt;- easily collate (staple?) and tag/label notes or hand-outs, and&lt;br /&gt;- optimize for an archiving process that takes into account my future likelihood of needing the particular set of notes or handout again.&lt;/p&gt;
&lt;p style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;2. &amp;nbsp;&lt;/strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;A bike lock that only locks 'the right way'&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;As anybody who has ever had a bike stolen will tell you, more often than not, it's their own fault for not locking the bike correctly. &amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;Standard bike locks sold today are a pain to use correctly. First, we have to find an appropriate place to lock the bike. Then it's a question of getting the frame and the wheel in while leaving enough space to attach the lock and turn the key. &amp;nbsp;The one time I was in a rush and locked my bike wrong, I was left with this:&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;strong&gt;&lt;img src=&quot;http://dl.dropbox.com/u/2001/whats%20left.jpg&quot; alt=&quot;&quot; style=&quot;&quot; /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;There's an opportunity in creating a bike lock that:&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;- Simply does not lock unless it's locked things correctly and&lt;br /&gt;- Is quick &amp;amp; effortless to install, but&lt;br /&gt;- Is as safe as traditional locks.&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;Anybody who has had a bike stolen (or anybody whose parents are worried about buying an expensive bike) wants to get a bike lock that only works 'the right way'.&lt;strong&gt;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;3. &amp;nbsp;Cheap Dorm Room Whiteboard Pack&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;Every design/engineering student should have a whiteboard in their dorm room, but the current offerings are either expensive, poor quality or require nails or adhesive for installation, which is against most dorms' policies. &amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;'Alternative' whiteboard solutions such as the &lt;a href=&quot;http://www.whiteyboard.com&quot;&gt;whiteyboard&lt;/a&gt; tend to peal off and be hard to erase. &amp;nbsp;Going to Loews or Home Depot, a properly-sized white-board may cost as much as $150.&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;Here's the opportunity: A mass-produced, reasonably-sized (3' by 4' or so) whiteboard/markers/eraser combination sold to college freshmen during move-in. &amp;nbsp;The whiteboard comes with adhesive materials that have been proven to do no damage to the walls they are stuck on.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. &amp;nbsp;&quot;Focus&quot; headphones&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;Consider noise-cancelling headphones that only have one button: to turn on the white noise. &amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;As headphones meant to be worn when trying to focus on a particular task, these would serve two purposes:&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;&amp;nbsp;&amp;nbsp;- first, they eliminate external auditory interference&lt;br /&gt;&amp;nbsp;&amp;nbsp;- second, the design is distinctive (perhaps a big 'FOCUS' or an exclamation mark on the back) and makes it clear to others in the room that the person wearing the headphones is not to be disturbed; they are deeply focused on something important.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. &quot;Who's around&quot; roommate checkin board&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;If you knew which of your house-mates was around at any given point, you'd know if anybody was up for dinner or perhaps whether you and your new friend would need to be discreet as you made your way to your room. &amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;A simple board with 5-10 switches, marked 'Home' and 'Away' mounted on the back of the front door gives house-mates a simple way to communicate to their neighbors' current status. The convenient location makes updating painless and near-automatic as roommates take of their jackets or shoes. &amp;nbsp;A small attached whiteboard lets roommates be more particular about their status (IE, &quot;do not disurb, midterm tomorrow&quot;).&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What do you think? Are any of these worth pursuing?&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Too cool for tungle.me?</title>
   <link href="http://alexeymk.com/too-cool-for-tungleme/index.html"/>
   <updated>2011-01-22T10:40:00-08:00</updated>
   <id>http://alexeymk.com/too-cool-for-tungleme/too-cool-for-tungleme</id>
   <content type="html">&lt;p&gt;I've been using tungle.me for about a year now. The service lets users post their availability publicly (tungle.me/Alexey), letting users send emails like &quot;Sure, let's get coffee next week. My availability's at tungle.me/Alexey; let me know what works for you.&quot; &amp;nbsp;Availability data is taken from users' Google calendars; if you're like me and meticulously schedule your day on GCal, the remaining 'empty' slots coincide quite reasonably with times I'm available. Visitors to a tungle.me page also have the option to schedule a meeting directly on the page.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://content.screencast.com/users/AlexeyMK/folders/Jing/media/a004fabe-162f-43ce-ab1a-770d7ddcdaa8/tungle.me.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Review&lt;br /&gt;&lt;/strong&gt;All in all, the service is great. It solves so many 2-way scheduling problems that I ended up having my tungle.me page as the only thing in my email signature. The site still has a number of kinks - schedulers are forced to offer multiple meeting times, for example, and a failure to synchronize with GCal will result in me being listed as 'available' when I'm not). &amp;nbsp;A couple of extra features would be nice, too; for example, tungle.me/Alexey/30-minutes-next-week should be a link I can send somebody that would limit potential meeting times to available 30-minute blocks next week. Still, tungle.me solves a time-consuming pain point, so I use it.&lt;/p&gt;
&lt;p&gt;It's worth noting that what I've seen of the site's growth has been entirely viral. The company is based in Montreal; I found out about it when I got a Skype meeting invite through tungle.me. &amp;nbsp;Since then, several friends have adopted the service. &amp;nbsp;Tungle.me is viral.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reaction&lt;br /&gt;&lt;/strong&gt;Mostly, people tend to react positively or neutrally to my sending out tungle.me links. &amp;nbsp;Less tech-savvy users tend to continue to schedule meetings over email, (How about 6PM on Thursday? Your tungle.me says you're free) though I do get the occasional tungle-direct invite as well. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;A more interesting (and rarer) response, however, has been to refuse to use the service and instead insist on coordinating schedules over email. &amp;nbsp;Partly, this could be a direct Luddite response, a la &quot;I don't trust new apps,&quot; (not that any of a user's data is being accessed or used). &amp;nbsp;A more common issue is that of social status. Saying &quot;You, go pick a meeting time for us&quot; can be interpreted in two ways: either as &quot;I really want to meet with you, pick any time you're free,&quot; or &quot;Go talk to my digital secretary about scheduling a meeting; I don't deal with little things like that personally.&quot; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;The second interpretation pops up in sitautions when you try to ask somebody for a meeting and then ask them to schedule it. &amp;nbsp;The gut reaction is often &quot;wait, you want this meeting - why am I doing the scheduling?&quot; &amp;nbsp;Rationally, using tungle.me is time-saving for both parties, but it's hard to explain that to somebody you're working your ass off trying to get a meeting with. &amp;nbsp;Social dynamics are hard; norms may adjust to be more tungle.me friendly in the future, or tungle.me might find ways to make it look like the initiative is being taken by the meeting proposer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;br /&gt;&lt;/strong&gt;tungle.me is well positioned amongst early adopters, viral, and useful. &amp;nbsp;As it expands beyond early adopters, I think it's going to be part of the future of scheduling.&lt;/p&gt;
&lt;p&gt;What do you think - am I being a douche by asking contacts to check out my availability on tungle.me instead of taking the time to write it in an email?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: Multi-person meeting schedulers (scheduleonce/when2meet/doodle) are interesting too and probably deserve a post of their own.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Loose Ties Link Ships:  Friending norms on LinkedIn</title>
   <link href="http://alexeymk.com/loose-ties-link-ships-friending-norms-on-link/index.html"/>
   <updated>2010-12-31T22:25:00-08:00</updated>
   <id>http://alexeymk.com/loose-ties-link-ships-friending-norms-on-link/loose-ties-link-ships-friending-norms-on-link</id>
   <content type="html">&lt;p&gt;If you look at &lt;a href=&quot;http://www.linkedin.com/in/alexeymk&quot;&gt;my LinkedIn account&lt;/a&gt;, it would seem like I'm not a particularly active user; I've only got&amp;nbsp;&lt;del&gt;79&lt;/del&gt; 74 connections and no picture. &amp;nbsp;Here's the thing: I'm not sure if I'm using it right.&lt;/p&gt;
&lt;p&gt;My LinkedIn 'friending' policy is simple: I'll accept a connection if the person offering it is somebody who I would feel comfortable recommending if somebody asked &quot;hey, do you know any good ____?&quot; &amp;nbsp;Unless I've worked with somebody, am personally friends with them, or have had the kind of conversation where I can sort of smell competence, I probably am not comfortable being a LinkedIn connection of theirs.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There's a reasonably good chance that I'm wrong. My friend Yujin, an MBA who now does bizdev for Venture Capital, says I should be friending most business connections I make and that this is the norm for LinkedIn. &amp;nbsp;As a result, Yujin's got &lt;a href=&quot;http://www.linkedin.com/in/yujinchung&quot;&gt;500+ connections&lt;/a&gt;&amp;nbsp;and is the ultimate &lt;a href=&quot;http://en.wikipedia.org/wiki/Connector_(social)&quot;&gt;connector&lt;/a&gt;. &amp;nbsp;And he rocks it. &amp;nbsp;Still, I feel uncomfortable with the idea of being a connection (and, effectively, agreeing to be a reference for) somebody who I don't yet trust.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/invite_to_connect_on_linkedin.png&quot; alt=&quot;Loose Ties Link Ships:  Friending norms on LinkedIn&quot; /&gt;&lt;/p&gt;
&lt;p&gt;LinkedIn seems to at least somewhat agree with me on this; when I try to add a new contact, it warns me to add only 'people you know well and who know you.' &amp;nbsp;And yet,&amp;nbsp;I've had a number of (reasonably respectable) random people add me as a LinkedIn connection as a way to get an introduction. &amp;nbsp;There's a reasonable chance that this is because they can't find my email address and LinkedIn tries to make money by offering 'direct contact via inMail' as a premium feature. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;One solution to the whole friending strong versus weak ties (which, esp. when compared to Facebook's or Twitter's, probably deserves its own post) is LinkedIn's endorsements feature. &amp;nbsp;If you really want to show that you trust somebody, endorse them by writing a positive recommendation. &amp;nbsp;Still, I can't bring myself to 'accept' people I would not (yet) comfortable hiring or working for. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;It would be nice to have a social rolodex where I can can add anybody I've ever met, without any implied friendship or any fears of references or privacy. &amp;nbsp;This is &lt;em&gt;almost&lt;/em&gt;&amp;nbsp;what Twitter is, except that I'm not particularly interested in what random people I've met once have had for lunch. &amp;nbsp;What I would (ideally) like is a social, digital rolodex, sorted by time and (perhaps) with some sort of tagging features, so I can mark people by the things we share in common.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Perhaps I'm just old-fashioned. &amp;nbsp;What are your LinkedIn 'connection' policies?&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Recruiting Penn Engineers: Who we are, how to reach us</title>
   <link href="http://alexeymk.com/recruiting-penn-engineers-who-we-are-how-to-r/index.html"/>
   <updated>2010-12-28T07:56:00-08:00</updated>
   <id>http://alexeymk.com/recruiting-penn-engineers-who-we-are-how-to-r/recruiting-penn-engineers-who-we-are-how-to-r</id>
   <content type="html">&lt;p&gt;&lt;em&gt;I gave a talk at &lt;a href=&quot;http://www.barcampphilly.org/&quot;&gt;BarCamp Philly&lt;/a&gt;&amp;nbsp;a couple of months back about best practices in hiring technical (mostly CS) interns from Penn. I've since distilled the talk into bitesize pieces and plan to publish its remnants here, starting with the Who and the Where. &amp;nbsp;If we haven't met, I'm a CS Junior @ Penn.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://content.screencast.com/users/AlexeyMK/folders/Jing/media/a95a90bf-fac9-4255-a258-8580865dcadd/2010-12-28_1750.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You've figured that, for whatever reason, you want to recruit some Engineering/CS talent from Penn to work with you on something, either in an internship or a partnership capacity. That's cool. We'll re-examine the assumption that a Penn CS student is who you really need in a later post, but let's continue on for now.&lt;/p&gt;
&lt;p&gt;Unless you come from Penn Engineering and/or have a CS background, though, it's not entirely clear what you should be doing to reach out. Here's what you need to know:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; Who we are&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As everywhere, the culture varies and stereotypes aren't particularly welcome. We've got &lt;a href=&quot;http://www.seas.upenn.edu/~thetatau/&quot;&gt;frats&lt;/a&gt;, we've got gamers, we've got &lt;a href=&quot;http://upenn.siggraph.org/games.html&quot;&gt;game makers&lt;/a&gt;, we've got &lt;a href=&quot;http://www.stwing.upenn.edu/&quot;&gt;the kind of science and technology geeks who decided it might be fun to launch a blimp&lt;/a&gt;, we've got all kinds. We're engineers. It's a good mix.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://content.screencast.com/users/AlexeyMK/folders/Jing/media/3bbfe2ec-aba2-445a-b559-33a82428dc06/2010-12-28_1802.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In terms of your competition, here's a rough estimate as to the type of work students are looking for. Google doesn't just mean Google in this case, it means large, successful engineering-driven tech company.&lt;/p&gt;
&lt;p&gt;Pixar's representation is a result of the &lt;a href=&quot;http://cg.cis.upenn.edu/dmd/&quot;&gt;Digital Media Design&lt;/a&gt; program. DMD students are known for (at least to me) as being able to draw and handle graphics, while at the same time being able to out-code you any day. They're kind of impressive.&lt;/p&gt;
&lt;p&gt;The Goldman Sachs/financial side of the pie chart is a result of Wharton School/New York influence. We have a disproportionally large amount of Wharton dual-degree/&lt;a href=&quot;http://www.upenn.edu/fisher/&quot;&gt;M&amp;amp;T&lt;/a&gt;&amp;nbsp;students studying things like Finance &amp;amp; CS, who end up going to work for investment banks and hedge funds. Since a lot of these financial companies are on campus, they end up recruiting from CS reasonably heavily. I'm doing my best to withhold judgement here.&lt;/p&gt;
&lt;p&gt;Finally, the 'start my own company' group is a small but growing one, bolstered by recent successes like &lt;a href=&quot;http://techcrunch.com/2010/06/03/google-confirms-invite-media/&quot;&gt;Invite Media&lt;/a&gt; and &lt;a href=&quot;http://www.portfolio.com/views/blogs/entrepreneurship/2010/12/02/ebay-buys-local-shopping-site-milo&quot;&gt;Milo&lt;/a&gt;, two recent Penn CS start-ups. We're growing. This is a good time to be at Penn.&lt;/p&gt;
&lt;p&gt;In appealing to Penn CS students, try to figure out whether you fit into any of these categories reasonably well, since these are going to affect who and how you pitch your proposed employment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How to reach us&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;From broad to personal, here's a list of ways to reach out to students studying CS@Penn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.vpul.upenn.edu/careerservices/pennlink_employers.html&quot;&gt;PennLink&lt;/a&gt;&amp;nbsp;is Penn's official on-campus recruiting website. I can't vouch for it, though: my only experience with PennLink was when looking for a summer internship my Sophomore year. Back then, most of the jobs available seemed generic (consulting, etc) and the technical jobs were mainly by large corporations that I wasn't interested in. I'm not sure how well other CS majors have fared on PennLink, though.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://pennstudentdesign.com/&quot;&gt;Penn Student Design&lt;/a&gt; is an internal 'web design' guild run largely out of DMD. If you're looking to have a freelancer-type arrangement help you make your website look impressive, contacting PSD makes a lot of sense.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cis.upenn.edu/~jackie/&quot;&gt;Jackie Caliman&lt;/a&gt;&amp;nbsp;is the Associate Director for Advising of the undergraduate CS department. Let me digress and say that there are no words to describe the sheer awesomeness that is Jackie. &amp;nbsp;If every organization has a person behind the scenes keeping the whole thing together; for us, that's Jackie Calman. &amp;nbsp;&lt;br /&gt;The reason that's relevant is because Jackie sends out CS list-serv emails on behalf of potential employers. Most of the interesting job opportunities I end up seeing come from that list-serv; I'd recommend reaching out to Jackie to see if she'll forward your email on. &amp;nbsp;That said, we get a lot of reasonably painful-to-read emails. I'll discuss exactly how to put together a good pitch to a CS student in a later post.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.pennapps.com&quot;&gt;PennApps.com&lt;/a&gt;&amp;nbsp;[shameless plug] is a twice-yearly, student-run weekend-long hackathon that brings out a lot of the top 'I can make something really fast' hacker-types out. If you can afford it, (IE, if you're funded) you should sponsor - we do our best to help sponsors meet and recruit top participants for internships. If not, you should show up to demo session and see what people are up to.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.pennlaunch.com&quot;&gt;PennLaunch&lt;/a&gt;&amp;nbsp;is a sort of internal LinkedIn for Penn, focusing on specific projects people are working on. Run by the &lt;a href=&quot;http://www.tech-house.upenn.edu/&quot;&gt;Weiss Tech House&lt;/a&gt;, the site hasn't reached it's potential yet (IE, not enough engineers are on it), but it's getting there.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spreadsheets.google.com/viewform?formkey=dFlZWlJxSWNIYXJHUFd6Q1ZtbmpZVEE6MQ&quot;&gt;Penn StartupConnect&lt;/a&gt; and &lt;a href=&quot;http://startupspeeddating.weebly.com/&quot;&gt;Startup Speed Dating&lt;/a&gt; are twice-yearly events run by &lt;a href=&quot;http://www.linkedin.com/in/joshwais&quot;&gt;Josh Wais&lt;/a&gt; and &lt;a href=&quot;http://blog.careercup.com/&quot;&gt;Gayle Laakhman&lt;/a&gt;, respectively. The two use slightly different formats, but the idea is the same: get people from the business/tech side of things into the same room and let them take it from there. Watch out for these if you're in the Philly area.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cis.upenn.edu/departmental/faculty/&quot;&gt;Professors &lt;/a&gt;are often worth meeting with, especially if you've figured out what particular field (Machine Learning, Computer Vision, NLP, etc) you need talent in. &amp;nbsp;If they like you, they may just introduce you to some of their top students.&lt;/li&gt;
&lt;li&gt;Last, there's always old-school networking. Ask around - see who you know who can introduce you to somebody who is part of the community. [Another shameless plug] I'll typically have lunch with anybody interesting that offers to the detriment of work that needs to be done.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That's +/- it. Let me know if you have any questions and if there's anything in particular I should address in future posts.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Flipping Coins through Mechanical Turk: Part 2</title>
   <link href="http://alexeymk.com/flipping-coins-through-mechanical-turk-part-2/index.html"/>
   <updated>2010-12-19T08:45:00-08:00</updated>
   <id>http://alexeymk.com/flipping-coins-through-mechanical-turk-part-2/flipping-coins-through-mechanical-turk-part-2</id>
   <content type="html">&lt;p&gt;&lt;span style=&quot;color: #7e7e7e; font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 21px;&quot;&gt;&lt;em&gt;Professor Jason Dana and I have been experimenting with Cheating and Turker Quality on Mechanical Turk. If you haven't yet, check out &lt;a href=&quot;flipping-coins-through-mechanical-turk-part-1&quot;&gt;Part 1&lt;/a&gt;. Thanks for everybody's feedback so far - please keep it coming.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Recap&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When we left off, we had just offered workers on Mechanical Turk the job of flipping a coin, paying them 4 cents for a flip of heads and 2 cents for tails. We wanted to measure whether and how much particular groups of Turkers, bucketed by their quality score, would cheat when given the chance to do so. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Though our &lt;a href=&quot;alexeymk.com/flipping-coins-through-mechanical-turk-part-1#results&quot;&gt;initial results&lt;/a&gt; seemed to suggest a positive relationship between having a high quality score and not cheating, the amount of data collected was less than desired and did not have the numbers required for statistical significance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Experiment Two &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Realizing the difficulty of attracting top Turkers to a task that offered only two cents, we decided to up the ante and make two changes: first, we renamed the task to a more attractive &quot;One quick question. Should take ~15 seconds.&quot; &amp;nbsp;Second, we raised the price of heads and tails to 10c and 5c, respectively. &amp;nbsp;Once again, we asked 50 Turkers in each of our quality groups to flip a coin, for a total of 300 coin-flips.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here's what we got. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/5c-10c_chart.png&quot; alt=&quot;Flipping Coins through Mechanical Turk: Part 2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: Error bars are at a 95% confidence interval.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This time around, all 300 HITs (tasks) we put out were done in a matter of days. The data, however, became less clear: sure, we expected the &amp;lt;90% and 94-90% groups to cheat a ton (as they did), but what was the 100% group, the 'cream of the crop' doing by taking advantage of our trust and cheating as much as the lowest group, &amp;lt;90%? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Discussion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This bothered us for a while. &amp;nbsp;Who &lt;strong&gt;are &lt;/strong&gt;these 100%-ers, after all? This is the group that can do no wrong, the group that makes less than 1 error in 100. How could they have betrayed our trust, especially after we offered them &lt;strong&gt;more &lt;/strong&gt;money?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Melika&amp;nbsp;Cavagnaro-Wong, a&amp;nbsp;friend from Wharton, provided the key insight here: 100%-ers aren't necessarily the group that can do no wrong. They're just the group that never gets caught.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hypothesis&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I imagine a contingent of Turkers who have optimized their workflow to a tee. It's not easy to make a solid hourly wage from Turking, so one has to maximize productivity. Tasks below a certain financial payout or that take too long to do are not an option. HITs where quality can be ensured (identifying objects in images, transcribing audio) are only worthwhile if they pay well. HITs that can be easily gamed, however (multiple-choice surveys, coin-flips) are ripe for cheating - why not?&lt;img src=&quot;/images/Mafia_lgo.jpg&quot; alt=&quot;Flipping Coins through Mechanical Turk: Part 2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In an extreme state of the world, I imagine a cabal of Turkers somewhere, collaborating to maximize their effective hourly wage. Members would take turns looking at new tasks and figuring out (or even using software to measure) the expected hourly wage of a particular task. Other members in the group would then be sent links to the 'juiciest' tasks, and some sort of queue system would be used to manage what a particular cabal member's next task ought to be. &amp;nbsp;&lt;em&gt;Note: we're looking into whether we can trace any evidence of something like this and will post about them at a later point.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Why, then did this hyper-efficient cabal not invade our 2c/4c experiment? Quite simply, the 2 cents advertised (the other 2c came as a bonus) initially likely flew well below their radar as a task not worth any time at all. Instead, the 19 people who did come to us from the 100% group are more likely to be the 'part-timers' - people who answered&lt;span style=&quot;font-size: small; color: #000000;&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-family: Helvetica, Arial, Verdana, Trebuchet MS, sans-serif; line-height: 16px;&quot;&gt;&lt;a href=&quot;http://behind-the-enemy-lines.blogspot.com/2008/09/why-people-participate-on-mechanical.html&quot;&gt;Panos Ipeirotis'&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;a href=&quot;http://behind-the-enemy-lines.blogspot.com/2008/09/why-people-participate-on-mechanical.html&quot;&gt;'W&lt;/a&gt;&lt;/span&gt;&lt;a href=&quot;http://behind-the-enemy-lines.blogspot.com/2008/09/why-people-participate-on-mechanical.html&quot;&gt;hy do you Turk' survey&lt;/a&gt; with either &quot;it's fun&quot; or &quot;it's rewarding.&quot; &amp;nbsp;This group is not financially motivated and less likely to cheat.&lt;/p&gt;
&lt;p&gt;These altruistic Turkers are a minority, however; once money comes into play, they get &lt;a href=&quot;http://www.australianreview.net/digest/2007/06/waldby.html&quot;&gt;Crowded In&lt;/a&gt;&amp;nbsp;by the 100% optimizers. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Crowding In&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;In behavioral economics, crowding in is the idea that paying too much for a task may get the wrong kind of people to do it. A classic example of crowding in is &lt;a href=&quot;http://en.wikipedia.org/wiki/Blood_donation#Benefits_and_incentives&quot;&gt;paying for blood donations&lt;/a&gt;, outlawed in the US and most of the rest of the world for several decades now. The problem, as &lt;a href=&quot;http://en.wikipedia.org/wiki/Richard_Titmuss&quot;&gt;Richard Titmuss&lt;/a&gt; described in&amp;nbsp;&lt;span style=&quot;font-family: sans-serif; line-height: 19px;&quot;&gt;&lt;em&gt;&lt;a href=&quot;http://www.amazon.com/Gift-Relationship-Human-Social-Policy/dp/1565844033&quot;&gt;The Gift Relationship: From Human Blood to Social Policy&lt;/a&gt;, &lt;/em&gt;is that offering cash for blood gets the exact wrong kind of blood donor: the type that could really go for some cash &lt;em&gt;right now &lt;/em&gt;and therefore may not have the cleanest blood available. &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: sans-serif; line-height: 19px;&quot;&gt;Similarly, as we offer increasingly larger enticements to participate in the coin flip experiment, we seem to be crowding the 'doing this for fun' crowd out in favor of the 'optimizer' crowd. The effect should be particularly evident in the 100% group, where both a lot of altruists and a lot of optimizers are likely to end up, altruists because they do good work and optimizers because it pays to be qualified for restrictive tasks.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Experiment&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Luckily, this turned out to be a reasonably simple thing to test. Taking the 100%-ers as our experiment and 95-97% as our control group, we offered the same coin-flip experiment to 50 participants in each group and altering the payment for tails/heads to, one after the other, 10c/15c and 3c/8c. We kept the bonus at 5 cents and altering only the original offer, since the base payment is the only number Turkers can see before accepting the HIT.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;img src=&quot;/images/percent-heads-by-reward.png&quot; alt=&quot;Flipping Coins through Mechanical Turk: Part 2&quot; /&gt;Note: Error bars are at a 95% confidence interval.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&amp;nbsp;&lt;/span&gt;From our experiment, it looks like while offering more money leads to &lt;strong&gt;more cheating&lt;/strong&gt;&amp;nbsp;for the 100% group, cheating actually goes &lt;strong&gt;down &lt;/strong&gt;for the 95-97% control group.&amp;nbsp;This fits with our hypothesis: in the 95-97% group, adding more money disincentives cheating -&amp;nbsp;5 cents for cheating looks less enticing if I've already received 10 cents and more enticing if I've only received 3.&amp;nbsp;Dishonesty can be bought, but only at a reasonable multiplier to the base reward. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the 100% group, however, the opposite occurs: the more money is offered, the more interesting the task becomes to optimizers, and optimizers cheat whenever they can get away with it. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;The results are not&amp;nbsp;&lt;em&gt;quite&amp;nbsp;&lt;/em&gt;statistically significant, as the error bars illustrate, but they tell a reasonably compelling story nonetheless.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do you agree with our hypothesis? &amp;nbsp;What other, alternate explanations might exist for these results?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Next Steps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We collected additional data about the Turkers as we conducted our experiment. Here's some of the analysis I intend for Part 3:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cheating by Time Taken: &lt;/strong&gt;Can we predict whether a Turker really flipped a coin or not by looking at how long the assignment took them?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cabal Trends: &lt;/strong&gt;Can we identify any collusion amongst Turkers? &amp;nbsp;Assuming Turkers share tasks, are there any patterns of heads-heads-heads-heads... in our data within a fairly short time span?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;National Trends: &lt;/strong&gt;Most Turkers (&amp;gt;90%, in our case)&amp;nbsp;are either in the US or in India. Do Americans or Indians cheat more? Is either group more likely to be 100%-ers? Are Americans less likely to accept low-paying tasks? We started tracking IPs only by the time we ran the 3c/8c and 10c/15c groups, but even that subset of data points remain interesting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Any ideas for other interesting analysis I should run?&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Flipping Coins through Mechanical Turk: Part 1</title>
   <link href="http://alexeymk.com/flipping-coins-through-mechanical-turk-part-1/index.html"/>
   <updated>2010-12-18T10:42:00-08:00</updated>
   <id>http://alexeymk.com/flipping-coins-through-mechanical-turk-part-1/flipping-coins-through-mechanical-turk-part-1</id>
   <content type="html">&lt;p&gt;&lt;em&gt;Over the past semester, I participated in an Independent Study in Behavioral Economics with Professor Jason Dana.&amp;nbsp; Here's what we've been up to&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mechanical Tur&lt;/strong&gt;&lt;strong&gt;k &lt;/strong&gt;is Amazon's 'artificial artificial intelligence' service.&lt;img src=&quot;/images/250px-Kempelen_chess1.jpg&quot; alt=&quot;Flipping Coins through Mechanical Turk: Part 1&quot; /&gt; Named after a &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Turk&quot;&gt;fake chess-playing machine&lt;/a&gt; in the late 17th-18th century, According to Amazon, MTurk is a&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;marketplace for work that requires human intelligence. The Mechanical Turk web service enables companies to programmatically access this marketplace and a diverse, on-demand workforce. Developers can leverage this service to build human intelligence directly into their appli&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span style=&quot;font-size: small;&quot;&gt;cations&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As &lt;a href=&quot;http://www.codinghorror.com/blog/2007/04/is-amazons-mechanical-turk-a-failure.html&quot;&gt;Jeff Atwood explains&lt;/a&gt;,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;It's a service that attempts to match people to small, bite-size units of work that are unsuitable for machines.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For example: You have a list of thousands websites and want to know which ones are appear to be well-designed. Algorithms to quantify taste do not yet (sadly) exist; instead, either look through the websites yourself, or offer the task to Mechanical Turk. Turkers, as the workers are called, are then paid 5 cents (or however much you offer) to rate each website. Hundreds of people can work on your classification task in parralel, saving time and money.&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Common uses of Mechanical Turk include transcribing audio, identifying photos, or answering opinion surveys.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Cheating Problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Without oversight, what prevents Turkers from voting randomly? For objective tasks, you could manually go over each result yourself, but this would be exteremely time-intensive and defeat the purpose. For subjective tasks, even that wouldn't be possible - who knows if the Turker's choice of 3/10 for some website was&lt;em&gt;&lt;/em&gt; his actual opinion or a random choice?&lt;/p&gt;
&lt;p&gt;There are a couple of approaches that work here. You could try to get multiple Turkers to do each task and make sure they agree on the answers.&amp;nbsp; You could do part of the work yourself, (set a &lt;strong&gt;gold standard&lt;/strong&gt;) and verify Turker quality by how well they do on the tasks to which you now know the right answers. Finally, you can restrict your Turker employee base to a highly-qualified one, limiting your employee pool to those who have done good work before.&amp;nbsp; As a side note, companies like &lt;a href=&quot;http://crowdflower.com/&quot;&gt;CrowdFlower&lt;/a&gt; try to restrict and manage for high-quality workers on your behalf; if you're willing to pay more for your automated tasks, I've heard good things about them.&lt;/p&gt;
&lt;p&gt;Amazon measures this 'done good work before' metric by looking at the Turker's &lt;strong&gt;HIT Approval Rate - &lt;/strong&gt;the % of tasks that this worker has done in the past that were subsequently accepted by the employer. Limiting your workers to 95%+ is a standard way of trying to obtain only high-quality responses.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Research Question&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The question, then, is whether limiting the Turkers to those with a high acceptance rate is an effective way of making sure they don't cheat.&amp;nbsp; We were also wondering where the cutoff for cheaters was and whether the amount of money offered for the task would affect the amount of cheating.&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Setup&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Our experiment is as simple as possible:&lt;em&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;img src=&quot;/images/flipacoin.png&quot; alt=&quot;Flipping Coins through Mechanical Turk: Part 1&quot; /&gt;&lt;/em&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The idea is based on an experiment Prof. Dana has run at Solomon Behavioral Labs at Penn as well as abroad [that we should probably link to/cite here].&amp;nbsp; We can't tell if any particular individual is cheating - perhaps they happened to flip heads - but in the aggregate, if we ask 50 homogenous Turkers to flip a coin and see how many heads we get, 50 heads indicates that the Turkers are a dishonest bunch, while 25 heads and 25 tails would indicate a fair and friendly group of turkers.&lt;/p&gt;
&lt;p&gt;We offered the same task to 50 turkers in one of several groups, varying by &lt;strong&gt;HIT Approval Rate. &lt;/strong&gt;&lt;span style=&quot;font-family: mceinline;&quot;&gt;An informal survey (IE, we asked one of Prof. Dana's grad students)&lt;/span&gt; suggested that cutoffs of &amp;lt;89%, 90-94%, 95-97%, 98-99% and 100% would be reasonable. We also offered the task to a group of Turk newbies (filtered by the fact that they had less than 20 tasks completed under their belt).&lt;/p&gt;
&lt;p&gt;Offering 2c for tails and 4c for heads, we hoped to see how rampant cheating for subjective tasks was amongst various groups of accom&lt;em&gt;&lt;/em&gt;plishment.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a name=&quot;results&quot;&gt;The Results&lt;/a&gt;&lt;/strong&gt;&lt;em&gt;&lt;img src=&quot;/images/results_2c4c.PNG&quot; alt=&quot;Flipping Coins through Mechanical Turk: Part 1&quot; /&gt;&lt;/em&gt;The data did not dissapoint. Excluding the 95-97% anomaly, the trend was clear: the better your Turkers, the more honest (by and large) they would be when offered subjective tasks where they could cheat without being detected.&lt;/p&gt;
&lt;p&gt;Since this was our first attempt at Mechanical Turk, though, we did not do as good of a job with the price offered or the marketing of the task (we named it 'Project Random'). As a result, we got only 158 participants (out of a possible 300), and only 19 100%-ers.&amp;nbsp; Clearly, the price offered would have to go up.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;How do you think offering more money affected the cheating chart? Should cheating go up or down, as a whole, if we offer 5c/10c instead of 2c/4c? Should any groups be more or less affected than average by an increased incentive to cheat?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update: Part 2 is available &lt;a href=&quot;flipping-coins-through-mechanical-turk-part-2&quot;&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>xs:anyURI requires ampersands to be escaped</title>
   <link href="http://alexeymk.com/xsanyuri-doesnt-allow-ampersands/index.html"/>
   <updated>2010-11-28T14:42:00-08:00</updated>
   <id>http://alexeymk.com/xsanyuri-doesnt-allow-ampersands/xsanyuri-doesnt-allow-ampersands</id>
   <content type="html">&lt;p&gt;Quick heads-up, in case anybody else runs into this problem.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Background&lt;/span&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I've been working with passing an ExternalQuestion to MechanicalTurk, and have learned (the hard way) that the 'ExternalURL' component, set up as a &quot;xs:anyURI&quot; in the MTurk AWS schema, does not allow ampersands '&amp;amp;' except if escaped via '&amp;amp;amp;'.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;That was not at all obvious. The AWS exception gives is:&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&amp;lt;CreateHITResponse&amp;gt;
  &amp;lt;OperationRequest&amp;gt;
    &amp;lt;RequestId&amp;gt;...&amp;lt;/RequestId&amp;gt;
  &amp;lt;/OperationRequest&amp;gt;
  &amp;lt;HIT&amp;gt;
    &amp;lt;Request&amp;gt;
      &amp;lt;IsValid&amp;gt;False&amp;lt;/IsValid&amp;gt;
      &amp;lt;Errors&amp;gt;
        &amp;lt;Error&amp;gt;
          &amp;lt;Code&amp;gt;AWS.MechanicalTurk.XMLParseError&amp;lt;/Code&amp;gt;
          &amp;lt;Message&amp;gt;There was an error parsing the XML question or answer data in your request.  Please make sure the data is well-formed and validates against the appropriate schema. (1291006584155 s)&amp;lt;/Message&amp;gt;
        &amp;lt;/Error&amp;gt;
      &amp;lt;/Errors&amp;gt;
    &amp;lt;/Request&amp;gt;
  &amp;lt;/HIT&amp;gt;/
&amp;lt;/CreateHITResponse&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;Solution:&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Replace any instance of &amp;amp; in the ExternalQuestion URI (IE, &lt;a href=&quot;http://www.yoursite.com/mturk/a.php?foo=true&amp;amp;bar=false&quot;&gt;www.yoursite.com/mturk/a.php?foo=true&amp;amp;bar=false&lt;/a&gt;) with &amp;amp;amp;&amp;nbsp;(IE, &lt;a href=&quot;http://www.yoursite.com/mturk/a.php?foo=true&amp;amp;amp;bar=false&quot;&gt;www.yoursite.com/mturk/a.php?foo=true&amp;amp;amp;bar=false&lt;/a&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;That'll fix it.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/span&gt;:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://developer.ebay.com/devzone/xml/docs/reference/ebay/types/simpleTypes.html&quot;&gt;ebay developer docs&lt;/a&gt;&amp;nbsp;(strangely enough),&amp;nbsp;&lt;a href=&quot;http://docs.amazonwebservices.com/AWSMechanicalTurkRequester/2008-02-14/ApiReference_ExternalQuestionArticle.html&quot;&gt;External Question documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>.h file generator</title>
   <link href="http://alexeymk.com/h-file-generator/index.html"/>
   <updated>2010-11-02T04:33:00-07:00</updated>
   <id>http://alexeymk.com/h-file-generator/h-file-generator</id>
   <content type="html">&lt;p&gt;&lt;strong&gt;TL; DR&lt;/strong&gt;: want to auto-generate .h files from .c files? Type &lt;a href=&quot;#sol&quot;&gt;this&lt;/a&gt; into vim.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C sucks.&lt;/strong&gt; &lt;em&gt;[Disclaimer: OK, I don't like C; I'm a python/functional languages guy. You may love it. Whatever.]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There's lots of little annoying things about C; memory management, using #ifdefs for header file declarations, manually written header files, etc. The good news is, I've half-solved the last issue. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Say you have a simple main file, as follows&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;int main(int argc, char ** argv) {
  char* str = malloc(sizeof(char*) * 3);
  str[0] = getFirstChar();
  str[1] = 'F';
  str[2] = '\0';
  printf(&amp;quot;%s&amp;quot;, str);
  free(str);
  return 0;
}

char getFirstChar() {
  return 'A';
}&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Dead-simple. Unfortunately, you get the following issue when trying to compile:&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;main.c:11: error: conflicting types for ‘getFirstChar’
main.c:3: note: previous implicit declaration of ‘getFirstChar’ was here&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Here's why this happens: the C compiler parses your c file once. The first time it sees getFirstChar, it realizes that it hasn't seen a method declaration for it yet, so it creates an implicit one. Unfortunately, an implicit declaration, or stub, will always assume a return type of int, while the actual type is a char. So, type mismatch.&lt;/p&gt;
&lt;p&gt;There are a couple of ways to solve this problem:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Put getFirstChar above of main.&lt;/strong&gt; This &lt;em&gt;kind of&lt;/em&gt; works, but now you've got to order your functions based on some partial order you can't control. If you've got an instance of two functions calling one another in some proto-co-recursive way, this won't work at all.  In general, less flexibility than you'd like.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Declare the method headers at the top of the file/create a header file&lt;/strong&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;int main(int argc, char** argv);
char getFirstChar(); 
...
#include &amp;quot;main.h&amp;quot;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

This it the 'proper' way to solve the problem, but now you've got a header file you've got to keep current. If you're the kind of person to plan all of your code out before you write it, you're paying a one-time cost to create a header file. If you're making updates, however, or if you're like me and you figure out what methods you should have as you go along, this means you're updating the header files every time you edit a method name, just to freaking compile, all to solve a problem other languages &lt;strong&gt;don't even have.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;a name=&quot;sol&quot;&gt;The solution&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In its most basic iteration, a header file is just your method declarations w/ semicolons instead of open braces. It shouldn't be that hard to just auto-generate the header file whenever you make a difference, or whenever you compile. So that's what I started doing. I'm a vim guy. With a bit of research and poking around, here's a quick command you can run in vim to generate a simple .h file from a given .c file:&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;:%s/^\(\w.*{\t*$\)\@!.*\n//
then:
:%s/ {/;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;em&gt;[Disclaimer: Do not use this in its exact form for a serious project. Header files are a bit more complicated than the version we're dealing with.&amp;nbsp; The current proposal is best suited for homework assignments or quick one-off projects]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What this does:&lt;/strong&gt; The commands above remove all lines that don't look like a method declaration, then swaps open braces for semicolons. Note that it assumes that you don't indent your method declarations and that you inline the opening brace of function declarations. To use the commands, just copy the .c file to a .h, open the .h and run those commands.&lt;/p&gt;
&lt;h3&gt;Next Steps&lt;/h3&gt;
&lt;p&gt;I don't have to write any more C for another week or so, but I think the following steps make sense for taking .h file generation to the next level:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Rewrite as shell or python script.&lt;/strong&gt;&amp;nbsp; Switching from vim commands to python is probably going to add some flexibility.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Incorporate the script directly into a Makefile.&amp;nbsp; &lt;/strong&gt;In this scenario, make will depend on header files being re-generated, and only then call GCC.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Include some of the other stuff .h files typically include&lt;/strong&gt; This current approach makes the assumption that all relevant comments, #includes, structs and typedefs in your program belong in the .c file exclusively. Typically, at least some of those belongs in .h instead. A future version would potentially modify ensure that previous .h files are not overridden but instead amended.&amp;nbsp; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Hopefully the commands will come in handy to others as spoiled by HLL as me, who can't believe that C doesn't already to these things for you.&lt;/p&gt;
&lt;p&gt;Thoughts/feedback?&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>First! (also, a placeholder)</title>
   <link href="http://alexeymk.com/first-also-a-placeholder/index.html"/>
   <updated>2010-10-03T13:51:00-07:00</updated>
   <id>http://alexeymk.com/first-also-a-placeholder/first-also-a-placeholder</id>
   <content type="html">&lt;p&gt;This is going to be the personal/professional blog of Alexey Komissarouk (that'd be me), where I'm going to write about my particular interests: the hazy intersection between Web 2.0y-things, Data Mining, the Social Graph, Behavioral Econ, Product and UX Design, Data Visualization, Tech@Penn, and really any other buzzwords that will feel appropriate. I'm planning to do a reasonbly-sized post at least weekly, and potentially throw in some shorter stuff here and there.&lt;/p&gt;
&lt;p&gt;The point is, sometimes I have these thoughts that aren't completely idiotic. It's about damn time I aggregate and centralize them, to feed the google, etc.&lt;/p&gt;
&lt;p&gt;I leave you with&lt;a href=&quot;http://pennapps2010.posterous.com/keep-it-simple-keep-it-relevant&quot;&gt; an interview I did with Soleio&lt;/a&gt; (a Designer with Facebook and overall awesome guy) for&lt;a href=&quot;http://pennapps.com&quot;&gt; PennApps 2010&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 
</feed>
