mashable - hacker monthly issue 1 - for embedding

Upload: kittredge

Post on 08-Apr-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    1/40

    Issue 1 June 2010

    Launched.

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    2/40

    Curator's Note

    Iwouldliketogive huge thanks to the contributors, whoso generously granted Hacker Monthly the permissionto reprint their articles; to the advertisers, who believein us despite it being just the rst issue; to Paul Graham,who thankully did not oppose this idea and gave me thego-ahead; and most o all, to the members o Hacker News,who provided both support and valuable eedback to mate-rialize the idea.

    Creating Hacker Monthly has been both interesting andeducational. Prior to this, I did not have any experienceworking with magazines or print. In one month, I've learned

    everything I could about printing magazines and spentcountless hours working my way through Adobe InDesign.I've also exchanged hundreds o emails asking or reprintpermissions and looking or prospective advertisers. Theonly downside has been I don't have much time let tocode, which I miss quite a bit.

    I remember the day I was sitting at Starbucks, when Istarted imagining what the magazine version o HackerNews would be like. I can nally stop imagining now. Lim Cheng Soon

    CuratorLim Cheng Soon

    ContributorsBrian ShulCarlos BuenoJamie ZawinskiEric DavisCarter ClevelandBradord CrossHamilton UlmerAdam KempaGary HaranWalt KaniaEvan Miller

    Tawheed KaderPaul GrahamJason CohenSteve BlankDave RodenbaughWilliam A. Wood

    ProoreaderRicky de Laveaga

    Printer

    MagCloud

    [email protected]

    Rate Cardhackermonthly.com/ratecard

    Contact

    [email protected]

    Published byNetizens Media46, Taylor Road,11600 Penang,Malaysia.

    HACKER MONTHLY is the print magazine version o HackerNews news.ycombinator.com a social news websitewildly popular among hackers and startup ounders. Thesubmission guidelines state that content can be "anythingthat graties one's intellectual curiosity."Every month, we select rom the top voted articles onHacker News and print them in magazine ormat. For more,visithackermonthly.com.

    mailto:[email protected]://hackermonthly.com/ratecardmailto:[email protected]://news.ycombinator.com/http://hackermonthly.com/http://hackermonthly.com/http://news.ycombinator.com/mailto:[email protected]://hackermonthly.com/ratecardmailto:[email protected]
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    3/40 3

    Contents

    Photo credit: Bisecting the Moonrise by Steve Jurvetson (www.ickr.com/photos/jurvetson/2693120417/) in ront cover,Dark Clouds With a Touch Skyby Dean S ouglass (www.ickr.com/photos/deansouglass/494131526/) in back cover,SR-71 @ Air And Space Museum by Sh4rp_i (www.ickr.com/photos/85638163@N00/426687730/).Licensed under Creative Commons Attribution 2.0 Generic licence (creativecommons.org/licenses/by/2.0/deed.en).

    PROGRAMMING

    14 iPhone Developer: This is why I sell beerBy JAMIE ZAWINSKI

    16 2 Steps to Becoming a Great DeveloperBy ERIC DAVIS

    18 Top Three Motivators or DevelopersBy DAVE RODENBAUGH

    STARTUP

    32 How I Took My Web-App to Market in 3DaysBy TAWHEED KADER

    34 Organic Startup IdeasBy PAUL GRAHAM

    36 Not Disruptive, and Proud o ItBy JASON COHEN

    38 Turning on Your Reality Distortion FieldBy STEVE BLANK

    CAREER

    20 What Value do We Create Here?By CARTER CLEVELAND

    22 7 Tips or Successul Sel-LearningBy BRAFORD CROSS andHAMILTON ULMER

    SPECIAL

    25 Adam?...is there a reason your laptop isin the ridge?By ADAM KEMPA

    26 The Scariest Pricing Idea EverBy WALT KANIA

    29 5 Actions that Made Me HappierBy GARY HARAN

    30 How Not to Run an A/B TestBy EVAN MILLER

    39 Best Writing Advice or EngineersBy WILLIAM A. WOOD

    FEATURES

    4 Flying the SR-71 BlackbirdBy BRIAN SHUL

    10 A Dismal Guide to ConcurrencyBy CARLOS BUENO

    http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/85638163@N00/426687730/http://www.flickr.com/photos/deansouglass/494131526/http://creativecommons.org/licenses/by/2.0/deed.enhttp://creativecommons.org/licenses/by/2.0/deed.enhttp://www.flickr.com/photos/85638163@N00/426687730/http://www.flickr.com/photos/deansouglass/494131526/http://www.flickr.com/photos/jurvetson/2693120417/
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    4/40

    Flying the SR-71Blackbird

    FEATURES

    By BRIAN SHUL

    http://news.ycombinator.com/item?id=1247709http://news.ycombinator.com/item?id=1247709http://news.ycombinator.com/item?id=1247709
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    5/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    6/406 FEATURES

    One-twenty on the ground, was thereply. To our surprise, a navy F-18came over the radio with a groundspeed check. I knew exactly what hewas doing. O course, he had a groundspeed indicator in his cockpit, but hewanted to let all the bug-smashers inthe valley know what real speed wasDusty 52, we show you at 620 on theground, ATC responded. The situa-tion was too ripe. I heard the click o

    Walters mike button in the rear seat.In his most innocent voice, Walterstartled the controller by asking or aground speed check rom 81,000 eet,clearly above controlled airspace. In acool, proessional voice, the controllerreplied, Aspen 20, I show you at 1,982knots on the ground. We did not hearanother transmission on that requencyall the way to the coast.

    The Blackbird always showed ussomething new, each aircrat possess-

    ing its own unique personality. In time,we realized we were fying a nationaltreasure. When we taxied out o ourrevetments or takeo, people tooknotice. Trac congregated near the air-eld ences, because everyone wantedto see and hear the mighty SR-71. Youcould not be a part o this program andnot come to love the airplane. Slowly,

    she revealed her secrets to us as weearned her trust.

    Onemoonlessnight,while fyinga routine training mission overthe Pacic, I wondered what the skywould look like rom 84,000 eet i thecockpit lighting were dark. While head-ing home on a straight course, I slowlyturned down all o the lighting, reduc-ing the glare and revealing the night sky.

    Within seconds, I turned the lights backup, earul that the jet would know andsomehow punish me. But my desireto see the sky overruled my caution,I dimmed the lighting again. To myamazement, I saw a bright light outsidemy window. As my eyes adjusted tothe view, I realized that the brilliancewas the broad expanse o the MilkyWay, now a gleaming stripe across thesky. Where dark spaces in the sky hadusually existed, there were now dense

    clusters o sparkling stars Shootingstars fashed across the canvas everyew seconds. It was like a reworksdisplay with no sound. I knew I had toget my eyes back on the instruments,and reluctantly I brought my atten-tion back inside. To my surprise, withthe cockpit lighting still o, I couldsee every gauge, lit by starlight. In the

    planes mirrors, I could see the eerieshine o my gold spacesuit incandes-cently illuminated in a celestial glow.I stole one last glance out the window.Despite our speed, we seemed stillbeore the heavens, humbled in theradiance o a much greater power. Forthose ew moments, I elt a part osomething ar more signicant thananything we were doing in the plane.The sharp sound o Walts voice on

    the radio brought me back to the tasksat hand as I prepared or our descent.

    The SR-71 was an expensive aircratto operate. The most signicant costwas tanker support, and in 1990, con-ronted with budget cutbacks, the AirForce retired the SR-71. The Blackbirdhad outrun nearly 4,000 missiles, notonce taking a scratch rom enemy re.

    On her nal fight, the Blackbird,destined or the Smithsonian NationalAir and Space Museum, sped rom Los

    Angeles to Washington in 64 minutes,averaging 2,145 mph and setting ourspeed records.

    The SR-71 served six presidents,protecting America or a quarter oa century. Unbeknownst to most othe country, the plane few over NorthVietnam, Red China, North Korea,the Middle East, South Arica, Cuba,

    Photo credit:SR-71 Blackbirdby Marcin Wichary (www.ickr.com/photos/mwichary/3422253299/),Museum o Flightby Susie Gallaway (www.ickr.com/photos/susiegallaway/3298500593/),

    http://www.flickr.com/photos/mwichary/3422253299/http://www.flickr.com/photos/susiegallaway/3298500593/http://www.flickr.com/photos/susiegallaway/3298500593/http://www.flickr.com/photos/mwichary/3422253299/
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    7/40 7

    Nicaragua , Iran , Libya , and the Falk-land Islands . On a weekly basis, theSR-71 kept watch over every Sovietnuclear submarine and mobile mis-sile site, and all o their troop move-ments. It was a key actor in winningthe Cold War.

    I am proud to say I few about 500hours in this aircrat. I knew her well.She gave way to no plane, proudly drag-ging her sonic boom through enemy

    backyards with great impunity. Shedeeated every missile, outran everyMiG, and always brought us home. Inthe rst 100 years o manned fight, noaircrat was more remarkable.

    With the Libyan coast ast approach-ing now, Walt asks me or the thirdtime, i I think the jet will get to thespeed and altitude we want in time. Itell him yes. I know he is concerned.He is dealing with the data; thatswhat engineers do, and I am glad he is.

    But I have my hands on the stick andthrottles and can eel the heart o athoroughbred, running now with thepower and perection she was designedto possess. I also talk to her. Like thecombat veteran she is, the jet senses thetarget area and seems to prepare hersel.

    For the rst time in two days, theinlet door closes fush and all vibration

    is gone. Weve become so used to theconstant buzzing that the jet soundsquiet now in comparison. The Machcorrespondingly increases slightly andthe jet is fying in that condentlysmooth and steady style we have sooten seen at these speeds. We reachour target altitude and speed, with vemiles to spare. Entering the target area,in response to the jets newound vital-ity, Walt says, Thats amazing and with

    my let hand pushing two throttlesarther orward, I think to mysel thatthere is much they dont teach in engi-neering school.

    Out my let window, Libya lookslike one huge sandbox. A eaturelessbrown terrain stretches all the way tothe horizon. There is no sign o anyactivity. Then Walt tells me that he isgetting lots o electronic signals, andthey are not the riendly kind. The jet isperorming perectly now, fying better

    than she has in weeks. She seems toknow where she is. She likes the highMach, as we penetrate deeper intoLibyan airspace. Leaving the ootprinto our sonic boom across Benghazi, Isit motionless, with stilled hands onthrottles and the pitch control, my eyesglued to the gauges.

    Only the Mach indicator is moving,

    steadily increasing in hundredths, ina rhythmic consistency similar to thelong distance runner who has caughthis second wind and picked up thepace. The jet was made or this kindo perormance and she wasnt aboutto let an errant inlet door make hermiss the show. With the power o ortylocomotives, we puncture the quietArican sky and continue arther southacross a bleak landscape.

    Walt continues to update me withnumerous reactions he sees on theDEF panel. He is receiving missile-tracking signals. With each mile wetraverse, every two seconds, I becomemore uncomortable driving deeperinto this barren and hostile land. I amglad the DEF panel is not in the rontseat. It would be a big distraction now,seeing the lights fashing. In contrast,my cockpit is quiet as the jet purrsand relishes her newound strength,

    continuing to slowly accelerate.The spikes are ull at now, tucked

    twenty-six inches deep into thenacelles. With all inlet doors tightlyshut, at 3.24 Mach, the J-58s are morelike ramjets now, gulping 100,000cubic eet o air per second. We area roaring express now, and as we rollthrough the enemys backyard, I hope

    Lockheed SR-71 (Blackbird) ront viewby Keith (www.ickr.com/photos/pheanixphotos/4109160435/), SR-71 2 by Andrew Fogg (www.ickr.com/photos/ndrwgg/55930821/). Licensed underCreative Commons Attribution 2.0 Generic licence (creativecommons.org/licenses/by/2.0/deed.en).

    http://www.flickr.com/photos/pheanixphotos/4109160435/http://www.flickr.com/photos/ndrwfgg/55930821/http://creativecommons.org/licenses/by/2.0/deed.enhttp://creativecommons.org/licenses/by/2.0/deed.enhttp://www.flickr.com/photos/ndrwfgg/55930821/http://www.flickr.com/photos/pheanixphotos/4109160435/
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    8/408 FEATURES

    our speed continues to deeat the mis-sile radars below. We are approachinga turn, and this is good. It will onlymake it more dicult or any launchedmissile to solve the solution or hittingour aircrat.

    I push the speed up at Walts request.The jet does not skip a beat, nothingfuctuates, and the cameras have a rocksteady platorm. Walt received mis-sile launch signals. Beore he can sayanything else, my let hand instinc-tively moves the throttles yet artherorward. My eyes are glued to tem-perature gauges now, as I know thejet will willingly go to speeds that canharm her. The temps are relatively cool

    and rom all the warm temps weveencountered thus ar, this surprises mebut then, it really doesnt surprise me.Mach 3.31 and Walt are quiet or themoment.

    I move my gloved nger across thesmall silver wheel on the autopilotpanel, which controls the aircratspitch. With the det eel known toSwiss watchmakers, surgeons, anddinosaurs (old- time pilots who notonly fy an airplane but eel it), I

    rotate the pitch wheel somewherebetween one-sixteenth and one-eighthinch location, a position which yieldsthe 500-oot-per-minute climb I desire.The jet raises her nose one-sixth o adegree and knows, Ill push her higheras she goes aster. The Mach contin-ues to rise, but during this segmento our route, I am in no mood to pullthrottles back.

    Walts voice pierces the quiet o mycockpit with the news o more missilelaunch signals. The gravity o Waltersvoice tells me that he believes thesignals to be a more valid threat thanthe others. Within seconds he tells meto push it up and I rmly press boththrottles against their stops. For thenext ew seconds, I will let the jet go asast as she wants. A nal turn is comingup and we both know that i we can hitthat turn at this speed, we most likely

    will deeat any missiles. We are notthere yet, though, and Im wonderingi Walt will call or a deensive turno our course.

    With no words spoken, I sense Walteris thinking in concert with me aboutmaintaining our programmed course.To keep rom worrying, I glance outside,wondering i Ill be able to visually pickup a missile aimed at us. Odd are thethoughts that wander through onesmind in times like these. I ound myselrecalling the words o ormer SR-71pilots who were red upon while fyingmissions over North Vietnam Theysaid the ew errant missile detonationsthey were able to observe rom the

    cockpit looked like implosions ratherthan explosions. This was due to thegreat speed at which the jet was hurl-ing away rom the exploding missile.

    I see nothing outside except the end-less expanse o a steel blue sky andthe broad patch o tan earth ar below.I have only had my eyes out o thecockpit or seconds, but it seems likemany minutes since I have last checkedthe gauges inside. Returning my atten-tion inward, I glance rst at the miles

    counter telling me how many more togo, until we can start our turn Then Inote the Mach, and passing beyond3.45, I realize that Walter and I haveattained new personal records. TheMach continues to increase. The rideis incredibly smooth.

    There seems to be a conrmed trustnow, between me and the jet; shewill not hesitate to deliver whateverspeed we need, and I can count on noproblems with the inlets. Walt and Iare ultimately depending on the jetnow - more so than normal - and sheseems to know it. The cooler outsidetemperatures have awakened the spiritborn into her years ago, when mendedicated to excellence took the timeand care to build her well. With spikesand doors as tight as they can get, weare racing against the time it could takea missile to reach our altitude.

    It is a race this jet will not let uslose. The Mach eases to 3.5 as we crest80,000 eet. We are a bullet now -except aster. We hit the turn, and I eelsome relie as our nose swings awayrom a country we have seen quiteenough o. Screaming past Tripoli, ourphenomenal speed continues to rise,and the screaming Sled pummels theenemy one more time, laying downa parting sonic boom. In seconds, wecan see nothing but the expansive blueo the Mediterranean. I realize that Istill have my let hand ull orwardand were continuing to rocket alongin maximum aterburner.

    The TDI now shows us Mach num-

    bers, not only new to our experiencebut fat out scary. Walt says the DEFpanel is now quiet, and I know it istime to reduce our incredible speed.I pull the throttles to the min burnerrange and the jet still doesnt want toslow down. Normally the Mach wouldbe aected immediately, when makingsuch a large throttle movement. But orjust a ew moments old 960 just sat outthere at the high Mach, she seemed tolove and like the proud Sled she was,

    only began to slow when we were wellout o danger. I loved that jet.n

    Brian Shul was an Air Force fghter pilot

    or 20 years. Shot down in Vietnam, he

    spent one year in hospitals and was told

    hed never y again. He ew or another

    15 years, including the worlds astest jet,

    the SR-71. As an avid photographer Brian

    accumulated the worlds rarest collection

    o SR-71 photographs and used them to

    create the two most popular books ever

    done on that aircrat, Sled Driver, and The

    Untouchables. Brian today is an avid nature

    photographer and in high demand nation-

    wide as a motivational speaker.

    Reprinted with permission o the original author. First appeared on the book 'Sled Diver'. For more inormation, visitwww.sleddriver.com.

    http://news.ycombinator.com/item?id=1247709http://www.sleddriver.com/http://www.sleddriver.com/http://www.sleddriver.com/http://www.sleddriver.com/http://www.sleddriver.com/http://news.ycombinator.com/item?id=1247709
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    9/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    10/4010 FEATURES

    A Dismal Guide to

    Concurrency

    TwopeoplecAnpainta house aster thanone can. Honeybeeswork independently

    but pass messages to each other aboutconditions in the eld. Many orms oconcurrency 0, so obvious and naturalin the real world, are actually prettyalien to the way we write programstoday. Its much easier to write a pro-gram assuming that there is one pro-cessor, one memory space, sequentialexecution and a Gods-eye view o theinternal state. Language is a tool othought as much as a means o expres-sion, and the mindset embedded in thelanguages we use can get in the way.1

    Were going through an inversion oscale in computing which is makingparallelism and concurrency much

    more important. Single computers areno longer ast enough to handle theamounts o data we want to process.Even within one computer the relativespeeds o processors, memory, storage,and network have diverged so muchthat they oten spend more time wait-ing or data than doing things withit. The processor (and by extension,any program we write) is no longer aWizard o Oz kind o character, solearbiter o truth, at the center o every-thing. Its only one o many tiny bugscrawling over mountains o data.

    Many hands make light workA ew years ago Tim Bray decided tond out where things stood. He put acomputer on the Internet, which con-tained over 200 million lines o text in

    one very large le. Then he challengedprogrammers to write a program todo some simple things with this le,such as nding the ten most commonlines, which matched certain patterns.To give you a eel or the simplicityo the task, Brays example programemployed one sequential thread oexecution and had 78 lines o code,something you could hack up overlunch.

    The computer was unusual or thetime: it had 32 independent hardwarethreads, which could execute simulta-neously. The twist o the WideFinderchallenge was that your program hadto use all o those threads at once tospeed up the task, while adding as littlecode as possible. The purpose was todemonstrate how good or bad everyday

    By CARLOS BUENO

    Photo credit: Tight Spin by Aaron Waagner (www.ickr.com/photos/copilot/62083698).Licensed under Creative Commons Attribution 2.0 Generic licence (creativecommons.org/licenses/by/2.0/deed.en).

    http://news.ycombinator.com/item?id=1260759http://news.ycombinator.com/item?id=1260759http://www.flickr.com/photos/copilot/62083698http://creativecommons.org/licenses/by/2.0/deed.enhttp://creativecommons.org/licenses/by/2.0/deed.enhttp://www.flickr.com/photos/copilot/62083698http://news.ycombinator.com/item?id=1260759
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    11/40 11

    programming is at splitting large jobsinto parallel tracks.

    How hard could it be? I thought. Veryhard, as it happened. I got up to 4 par-allel processes beore my program col-lapsed under its own weight. The cruxo the problem was that the le wasstored on a hard drive. I youve never

    peeked inside a hard drive, its like arecord player with a metal disc anda magnetic head instead o a needle.Just like a record it works best whenyou play it in sequence, and not sowell i you keep moving the needlearound. And o course it can only playone thing at a time. So I couldnt justsplit the le into 32 chunks and haveeach thread read a chunk simultane-ously. One thread had to read romthe le and then dole out parts o it

    to the others. It was like trying to get31 housepainters to share the samebucket.

    When I looked at other peoplesentries or hints I was struck by howalmost all o them, good and bad,looked complicated and steampunky.Part o that was my unamiliarity withthe techniques, but another part wasthe lack o good support or parallel-ism, which orced people to roll theirown abstractions. (Ask our program-mers to create a new abstraction and

    youll get ve and a hal answers.) Thepithiest entry was 130 lines o OCaml,a language with good support or par-allel I/O but which is not widely usedoutside o academia. Most o the otherswere several hundred lines long. Manypeople like me were not able to com-plete the challenge at all. I its thisdicult to parallelize a trivial string-counting program, what makes us thinkwere doing it right in complex ones?

    Ideally, concurrency shouldnt leak

    into the logic o programs were tryingto write. Some really smart peoplewould gure out the right way to doit. They would write papers with lotso equations in them and fy aroundto conerences or a ew years untilsome other smart people gured outwhat the hell they were saying. Thosepeople would go develop libraries inour avorite programming languages.Then we could just put import concur-rent; at the top o our programs and

    be on our way. Concurrency wouldbe another thing we no longer worryabout unless we want to, like memorymanagement. Unortunately there isevidence that it wont be this cleanand simple. 2A lot o things we takeor granted may have to change.

    There are at least two concurrency

    problems to solve: how to get manycomponents inside one computer tocooperate without stepping all overeach other, and how to get many com-puters to cooperate without drown-ing in coordination overhead. Thesemay be special cases o a more generalproblem and one solution will work orall. Or perhaps well have one kind oprogramming or the large and anotheror the small, just as the mechanics olie are dierent inside and outside o

    the cell.At the ar end o the spectrum arelarge distributed databases,such as those used by searchengines, online retailers, andsocial networks. These thingsare enormous networks ocomputers that work togetherto handle thousands o writesand hundreds o thousands oreads every second. More machines inthe system raise the odds that one othem will ail at any moment. There

    is also the chance that a link betweengroups o machines will ail, cutting thebrain in hal until it is repaired. Thereis a tricky balance between being ableto read rom such a system consistentlyand quickly and writing to itreliably.The situation is summed up by theCAP Theorem, which states that largesystems have three desirable but con-ficting properties: Consistency, Avail-ability, and Partition-tolerance. You canonly optimize or two at the expense

    o the third.A Consistent/Available system

    means that reading and writing alwaysworks the way you expect, but requiresa majority or quorum o nodes to berunning in order to unction. Thinko a parliment that must havemore than hal o memberspresent in order to hold a vote.I too many cant make it, saybecause a food washes out thebridge, a quorum cant be ormed

    and business cant proceed. But whenenough members are in communica-tion the decision-making process is astand unambiguous.

    Consistent/Partitionable means thatthe system can recover rom ailures,but requires so muchextra coordination

    that it collapses underheavy use. Imaginehaving to send andreceive a status reportor every decisionmade at your company. Youll alwaysbe current, and when you come backrom vacation you will never missa thing, but making actual progresswould be very slow.

    Available/Partitionablemeans that you can always

    read and write values, butthe values you read mightbe out o date.A classic example is gossip:at any point you might notknow the latest on whatJudy said to Bill but even-tually word gets around.When you have new gossipto share you only have to

    tell one or two people and trust that intime it will reach everyone who cares.Spreading gossip among computers is

    a bit more reliable because they areendlessly patient and (usually) dontgarble messages.4

    Ater lots o groping around withbillions o dollars o revenue at stake,people who build these large systemsare coming to the conclusion that itsmost important to always be able towrite to a system quickly and readrom it even in the ace o temporaryailures. Stale data is a consequenceo looser coupling and greater auton-

    omy needed to make that possible. Itsuncomortable to accept the idea thatas the computing power o an Avail-able/Partitionable system scales up, theog o war descends on consistency, butin practice its not the end o the world.

    This was not a whimsical noreasy choice. Imagine EbenezerScrooge is making so muchmoney that Bob Cratchit cantkeep up. Scrooge needs morethan one employee to receive

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    12/4012 FEATURES

    and count it. To nd out the grand totalo his money at any point, he has toask each o them or a subtotal. Bythe time Scrooge gets all the answersand adds them up, his employees havecounted more money, and his total isalready out o date. So he tells them tostop counting while he gathers subto-

    tals. But this wastes valuable workingtime. And what i Scrooge adds anothercounting-house down the street? Hellhave to pay a street boy, little SammyLocke, to a) run to the other house andtell them to stop counting, b) gathertheir subtotals, c) deliver them toScrooge, then d) run back to the otherhouse to tell them to resume count-ing. Whats worse, his customers cantpay him while this is happening. As hisoperation gets bigger Scrooge is aced

    with a growing tradeo between staleinormation and halting everything

    to wait on Locke. I theres anythingScrooge likes less than old numbers, itspaying people to do nothing.

    Scrooges dilemma is orced uponhim by basic physics. You cant avoidit by using electrons instead o streeturchins. Its impossible or an eventhappening in one place (eg data chang-ing inside one computer or process) toaect any other place (eg other com-puters or processes) until the inorma-tion has had time to travel betweenthem. Where those delays are smallrelative to perormance requirements,Scrooge can get away with variousorms o locking and enjoy the illusiono a shared, consistent memory space.But as programs spread out over moreand more independent workers, thecomplexity needed to maintain thatillusion begins to overwhelm every-thing else.3

    import concurrent;Shared memory can be pushed airlyar, however. Instead o explicit locks,Clojure and many newer languages usean interesting technique called sotwaretransactional memory. STM simulates asort o post-hoc, ne-grained, implicitlocking. Under this scheme semi-inde-

    pendent workers, called threads, readand write to a shared memory spaceas though they were alone. The systemkeeps a log o what they have read andwritten. When a thread is nished thesystem veries that no data it read waschanged by any other. I so the changesare committed. I there is a confictthe transaction is aborted, changesare rolled back and the threads job isretried. While threads operate on non-overlapping parts o memory, or even

    non-overlapping parts o the same datastructures, they can do whatever they

    want without the overhead o lock-ing. In essence, transactional memoryallows threads to ask or orgiveness

    instead o permission.As you might have guessed romthose jolly hints about confict androllback, STM has its own specialproblems, like how to perorm thosecommit/abort/retry cycles ecientlyon thousands o threads. Its un toimagine pathological confict scenariosin which long chains o transactionsunravel like a cheap sweater.5 STMis also not able to handle actions thatarent undoable. You cant retry mostkinds o I/O or the same reason youcant rewind a live concert. This is han-dled by queueing up any non-reversibleactions, perorming them outside othe transaction, caching the result in abuer, and replaying as necessary. Readthat sentence again.

    Undeniably awesome and clever asSTM threads are, Im not convincedthat shared memory makes sense out-side o the cell membrane o a singlecomputer. Throughput and latency

    always have the last laugh. A concur-rent system is undamentally limited byhow oten processes have to coordinateand the time it takes them to do so. Aso this writing computer memory canbe accessed in about 100 nanoseconds.Local networks latency is measured inmicroseconds to milliseconds. Schemes

    that work well at local memory speedsdont fy over a channel one thousandtimes slower. Throughput is a problemtoo: memory can have one hundredtimes the throughput o network, andis shared among at most a ew dozenthreads. A large distributed databasecan have tens o thousands o inde-pendent threads contending or thesame bandwidth.

    I we cant carry the shared-mem-ory model outside o the computer, is

    there some other model we can bringinside? Are threads, ie semi-indepen-

    dent workers that play inside a sharedmemory space, absolutely necessary? Inhis standard lecture on threads Xavier

    Leroy details three reasons people usethem:

    Shared-memory parallelism usinglocks or transactions. This is explic-itly disowned in both Erlang andLeroys OCaml in avor o message-passing. His argument is that its toocomplex, especially in garbage-col-lected languages, and doesnt scale.

    Overlapping I/O and computation, iewhile thread A is waiting or data tobe sent or received, threads B-Z cancontinue their work. Overlapping(aka non-blocking I/O) is neededto solve problems like WideFindereciently. This is oten thwarted bylow-level acilities inside the operat-ing system that were written withoutregard to parallelism. Leroy thinksthis should be xed at the OS levelinstead o making every programsolve it again and again.

    In essence, transactional memory allows threadsto ask or orgiveness instead o permission.

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    13/40 13

    Coroutines, which allow dierentunctions to call each other repeat-edly without generating an innitelylong stack o reerences back to therst call. This looks suspiciously likemessage-passing.

    Message-passing, which irstappeared in Smalltalk, is the coreabstraction o Joe Armstrongs pro-gramming language Erlang. Erlang pro-grams do things that make program-mers take notice, like run some o thebusiest telephone switches or yearswithout ail 6. It approaches concur-rency with three iron rules: no sharedmemory even between processes onthe same computer, a standard ormator messages passed between pro-cesses, and a guarantee that messagesare read in the order in which they

    were received. The rst rule is meantto avoid the heartaches describedabove and embraces local knowledgeover global state. The second and thirdkeep programmers rom endlesslyreinventing schemes or passing mes-sages between processes. Every Erlangprocess has sovereign control over itsown memory space and can only aectothers by sending well-ormed mes-sages. Its an elegant model and hap-pens to be a cleaned-up version o the

    way the Internet itsel is constructed.Message-passing is already one o theaxioms o concurrentdistributedcom-putation, and may well be universal.

    There are probably more axiomsto discover. Languages become morepowerul as abstractions are madeexplicit and standardized. Message-passing says nothing about optimizingor locality, ie making sure that pro-cesses talk with other processes that arelocated nearby instead o at random. Itmight be cool to have a standard way tomeasure the locality o a unction call.Languages become even more power-ul when abstractions are made rst-class entities. For example, languagesthat can pass unctions as argumentsto other unctions can generate newtypes o higher-order unctions with-out the programmer having to codethem by hand. A big part o distributed

    computing is designing good proto-cols. I know o no language that allowsprotocols as rst-class entities that canbe passed around and manipulated likeunctions and objects are. Im not evensure what that would look like but itmight be interesting to try out.

    There is a lot o sound and ury

    around parallelism and concurrency.I dont know what the answer will be.I personally suspect that a relaxed,shared-memory model will work wellenough within the connes o onecomputer, in the way that Newtonianphysics works well enough at certainscales. A more austere model will beneeded or a small network o comput-ers, and so on as you grow. Or perhapstheres something out there that willmake all this lockwork moot. n

    Notes0. Parallelism is the act o taking alarge job, splitting it up into smallerones, and doing them at once. Peopleoten use parallel and concurrentinterchangably, but there is a subtledierence. Concurrency is necessaryor parallelism but not the other wayaround. I I alternate between cookingeggs and pancakes Im doing both con-currently. I Im cooking eggs while youare cooking pancakes, we are cooking

    concurrently and in parallel. Techni-cally i Im cooking eggs and you aremowing the lawn we are also workingin parallel, but since no coordinationis needed in that case theres nothingto talk about.1. The slovenliness o our languagemakes it easier or us to have oolishthoughts. The point is that the processis reversible. -- George Orwell, Politicsand the English LanguageThat language is an instrument

    o human reason, and not merely amedium or the expression o thought,is a truth generally admitted. - GeorgeBoole, The Laws o Thought2. Neither was the switch to memorymanagement, come to think o it.3. This is not about speed-o-lighteects or anything like that. Im onlytalking about reerence rames in the

    sense o old news, such as when yound out your cousin had gotten mar-ried last year. Her wedding and yourunawareness are both true relative toyour reerence rames until you receivenews to the contrary.4. The categories are not rigidly exclu-sive. The parliment problem is miti-

    gated in real parliments with quorumrules: say i a majority o membersare in one place, or some minimumnumber is present in chambers, theycan act as though they were the ullbody. The status report problem isusually handled by having heirar-chies o supervisors and employeesaka reports. The gossip consistencyproblem can be helped by tagging datawith timestamps or version numbersso you can reconcile conficting values.

    5. There is a recent paper about aninteresting variation on this themecalled HyTM, which appears to do acopy-on-write instead o perormingwrites to shared memory.6. A lot o writeups repeat a ninenines, ie 99.9999999% reliabilityclaim or Erlang-based Ericsson tele-phone switches owned by British Tele-coms. This works out to 31 millisecondso downtime per year, which hoversnear the edge o measurability, not tosay plausibility. I was present at a talk

    Armstrong gave in early 2010 duringwhich he was asked about this. Therewas a little oot shufing as he qualiedit: it was actually 6 or so seconds odowntime in one device during a codeupdate. Since BT had X devices overY years, they calculated it as 31ms oaverage downtime per device per year.Or something like that. Either way itsan impressive eat.

    Carlos Bueno is an engineer at Facebook. He

    writes occasionally about general program-ming topics, perormance, security, and

    internationalization. His long-term project

    is to save the web: to build a network o

    independent, redundant, Internet archives.

    Reprinted with permission o the original author. First appeared inwww.acebook.com/note.php?note_id=379717628919.

    http://news.ycombinator.com/item?id=1260759http://www.facebook.com/note.php?note_id=379717628919http://www.facebook.com/note.php?note_id=379717628919http://news.ycombinator.com/item?id=1260759http://www.facebook.com/note.php?note_id=379717628919
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    14/4014 PROGRAMMING

    D

    Ali clock 2.31 is out now, I nally got theiPhone/iPad port working.

    It was ridiculously dicult, because I reused

    to ork the MacOS X code base: the desktop and the phoneare both supposedly within spitting distance o being thesame operating system, so it should be a small matter oides to have the same app compile as a desktop applica-tion and an iPhone application, right?

    Oh ho ho ho.I think its sae to say that MacOS is more source-code-

    compatible with NextStep than the iPhone is with MacOS.Its ull o all kinds o idiocy like this -- Heres how it goeson the desktop:

    NSColor fg = [NSColor colorWithCalibratedHue:h saturation:s

    brightness:v alpha:a];

    [fg getRed:&r green:&g blue:&b alpha:&a];

    [fg getHue:&h saturation:&s brightness:&v alpha:&a];

    But on the phone:UIColor fg = [UIColor colorWithHue:h saturation:s brightness:v alpha:a];

    const CGFloat *rgba = CGColorGetComponents ([fg CGColor]);

    // Oh, you wanted to get HSV? Sorry, write your own.

    Its just ull o nonsense like that. Do you think someonelooked at the old code and said, You know what, to makethis code be ecient enough to run on the iPhone, weregoing to have to rename all the classes, and also make surethat the new classes have an arbitrarily dierent APIanduse arbitrarily dierent arguments in their methods that doexactly the same thing that the old library did! Its the only

    way to make this platorm succeed.No, they got some intern who was completely unamiliar

    with the old library to just write a new one rom scratchwithout looking at what already existed.

    Its 2010, and were still innovating on how you pass

    color components around. Seriously?You can work around some o this nonsense with #denes,

    but the APIs are randomly disjoint in a bunch o ways too,

    so that trick only goes so ar. I you have a program thatmanipulates colors a lot, you can imagine the world o#idey hurt you are in.

    Preerences are the usual fying circus as well. I nallyalmost understood bindings, and had a vague notion o whenyou should use NSUserDefaultsController versus NSUserDefaults,and now guess what the iPhone doesnt have? Bindings.Or NSUserDefaultsController. But it does have NSUserDefaults. Icant explain.

    Also!I basically gave up on trying to have any kind

    o compatible version o either Cocoaor Quartz imaging that worked

    on both platorms at thesame time my inter-mediate attemptswere a loonymaze o #idesdue to arbitraryAPI wankery likethe above, scath-ing examples owhich I havemerciully orgot-ten so nally

    I said Fuck it,the iPhone runsOpenGL, right?Ill just rewritethe display layer

    iPhone Developer: By JAMIE ZAWINSKI

    Reprinted with permission o the original author. First appeared injwz.livejournal.com/1224702.html.

    PROGRAMMING

    http://news.ycombinator.com/item?id=1274612http://jwz.livejournal.com/1224702.htmlhttp://jwz.livejournal.com/1224702.htmlhttp://news.ycombinator.com/item?id=1274612
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    15/40 15

    in GL and throw away all this bullshit Quartz code. (Letskeep in mind here the insanely complicated thing Im doingin this program: I have a bitmap. I want to put it on the

    screen, ast, using two whole colors. And the colors changesome times. This should be ucking trivial, right? Oh, hoho ho.)

    So I rewrote it in OpenGL, just dumping my bitmapinto a luminance texture, and this is where some o youare laughing at me already, because I didnt know that theiPhone actually runs OpenGLES! Which has, o course, evenless to do with OpenGL than iPhones have to do with Macs.

    I expected the usual crazy ide-dance around creating theOpenGL context and requesting color buers and whatnot,

    since OpenGL never specied any o that crapin a cross-platorm way to begin with,

    but what I didnt expect and

    Im still kind o slack-jawed atthis is that OpenGLES

    removed glBegin() andglVertex().

    No, really, it reallydid.

    Thats like, thedening character-istic o OpenGL.So OpenGLES isjust a slight varianto OpenGL, in the

    way that

    unicycle is a slight variant o a city bus. I you can handleone, the other should be pretty much the same, right?

    Again, what the hell I can almost understand want-

    ing to get rid o display lists or eciency reasons in anembedded API (I dont like it, because my screen saverstend to use display lists a lot, but I can sort-o understandit), but given that you could totally implementglBegin() andglVertex()in terms oglDrawArrays() why the hell did they takethem out! Gaah!

    Anyway, where was I?Oh, yeah. So Dali Clock works on the iPhone and iPad

    now, I think. I cant actually run it on my phone, becauseI havent gotten over my righteous indignation at the ideathat Im supposed to tithe $100 to Captain Steve beoreIm allowedto test out the program I wrote on the phonethat I bought. I imagine I could manage it i I jailbroke my

    phone rst, but the last time I did that it destabilized it alot and I had to re-install.

    So i one o you who has supplicated at the App Storetroth would like to build it rom source and let me knowi it runs on your actual device, thatd be cool.

    Oh, PS, I just noticed that since I rewrote it in OpenGL,its now too slow to get a decent rame rate when runningull screen on an 860MHz PPC G4. I mean, that machineis only 53 aster than a 16MHz Palm Pilot, and only 107aster than an 8MHz Mac128k.

    This is why I sell beer.n

    Jamie Zawinski was one o the ounders o Netscape andMozilla.org, was the primary developer o Lucid Emacs,

    and wrote most o your screen savers. Today he is

    the proprietor o DNA Lounge, an all ages dance

    club and live music venue in San Francisco.

    his is why I sell beer

    http://news.ycombinator.com/item?id=1274612http://news.ycombinator.com/item?id=1274612http://news.ycombinator.com/item?id=1274612http://news.ycombinator.com/item?id=1274612
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    16/4016 PROGRAMMING

    I

    wAnt to shAre the two stepsthat Im using to walk the pathto becoming a great developer.

    Becoming a great developer is a con-stant work in progress, but its a pat-tern that Ive seen many other greatdevelopers ollow.

    Step One: Write More CodeThis might sound easy but trust me- its not easy. There are an innitenumber o reasons we developers dontwrite code:

    I dont have the time

    I dont know that code base I dont have the right environment

    setup

    I dont know what to work on

    Im tired

    They all boil down to ear. Yourearaid o something. Araid o wast-ing time, araid o being embarrassedpublicly, araid o making a mistake,araid o being araid.

    Let me share two stories with youabout my ears:

    Ive been a contributor to Redmineor a couple o years now, but I haventbeen very active in the code base. Why?Redmine is a large complex code baseand I didnt know how everythingworked. So I stayed in my corner andonly committed minor changes. Yet Istill ound a way to break those sec-tions. Sel-ullling prophecy?

    With my product, SeeProjectRun,

    I have to charge users credit cards.Taking actual money is scary. Aterhearing all o the horror stories about

    companies screwing this up, I becamedeathly araid o this and put o writ-ing any billing code. Yes, me a devel-oper who has written our credit cardinteraces or active_merchant wasaraid o writing code to bill his users.WTF is going on here?

    Fear is a mistress that will steal yourlie i you let her. So how do you getover your ear o writing more code?

    Write more code

    As odd as it sounds, the only way Iound to get through my ear o writ-ing code was to crank it out like it wasgoing out o style. The easiest way todo this? Start new side projects andcontribute simple patches to OpenSource. Every time you write code,you will learn something about thecode, your tools, or yoursel. Did youreally think my 57 plus daily reactor-ing posts were only about xing badcode? Nope, they are my sledgeham-mers against coders block.

    Oh and the ending to my storiesabout ear:

    I just spent last night rewriting a corecomponent o Redmine and commit-ted it to the project this morning. It ibreaks, Ill x it. I its really crap code,Ill revert it. No one will care and noone will remember the mistake.

    And or the billing code I strappedmysel down and nished the creditcard billing code or SeeProjectRun in

    two days. Throwing two hundred testcases at it proved to me that it wouldwork good enough to get over my ear.

    Dont let ear hold you back romwriting code.

    Step Two: Work With GreatDevelopersNow that youre creating code, youneed to work with great developersso you can see how to they write greatcode. Just take:

    1 passionate developer (you)

    1 great developer (them)

    a dash o code

    Mix well daily and ater a short risein the over, youll have two great devel-opers. Feel ree to add a ew nuts (othergreat developers) and bake again.

    You dont need to search or thegreatest developers o all time, youjust need developers smarter and ur-ther along in their skills than yoursel.This can be easy i you work in a com-pany that has hired great developers.But what do you do i your companydoesnt hire any great developers oryou are a solo reelancer like me?

    Start reading great developerscodeIm making it a habit to start readinggreat developers code. They put outso much code, you will nd yourselreading so much o it that you start todream about code1.

    2 Steps to Becoming a Great

    DeveloperBy ERIC DAVIS

    http://news.ycombinator.com/item?id=1278256http://news.ycombinator.com/item?id=1278256http://news.ycombinator.com/item?id=1278256
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    17/40 17

    Getting StartedNow heres the call to action, because you will never becomea great developer without taking action.

    Write At Least One Line O Code In A New CodeBase Every Day For A Week. Switch Code Bases

    Ater Each Week.This can be a new eature, a bugx, a reactoring, or justmonkeying around with an idea. It doesnt matter, the acto thinking through the code and writing is what you areater. Dont know one a good code base to start on? Do areactoring on Redmine and tell me about it in the com-

    ments below.

    Find A Way To Learn From A Great DeveloperEvery Week.

    I you are working with a great developer:

    do an inormal code review their last commit

    ask to pair program with them, or

    buy them lunch and ask them about their avorite hack

    I you are working solo:

    download some popular projects and read through asingle class every week

    get some API documentation that shows the methodssource code inline and read the source each time youlook up a method, or

    nd a mentor and work with them on some real code

    So whatever you do, take action today. Unless yourearaid o becoming a great developer...But there is plentyo room at the top. n

    Notes1. Notice that the smart developers are always producingnew code.... they are ollowing step #1.

    Eric Davis runs Little Stream Sotware, where he builds custom

    sotware or businesses using Redmine.

    Reprinted with permission o th e original author. First appeared intheadmin.org/articles/2010/04/16/two-steps-to-becoming-a-great-developer/.

    http://news.ycombinator.com/item?id=1278256http://theadmin.org/articles/2010/04/16/two-steps-to-becoming-a-great-developer/http://carbonmade.com/http://theadmin.org/articles/2010/04/16/two-steps-to-becoming-a-great-developer/http://news.ycombinator.com/item?id=1278256
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    18/4018 PROGRAMMING

    SoftwArehAslong since lostits glory-days status. Werenot the go-to eld anymore.Geeks are no longer revered as godsamongst humanity or our ability tomanipulate computers. We get crappyjobs just like everyone else.

    So, what is it that still motivates youto work as a sotware developer?

    Is it your at salary, great perks, andend-o-year bonuses? Unless youve

    been working on Mars or the past twoyears, I think Computerworld1 woulddisagree with you. Weve been get-ting kicked in the nads just as hard aseveryone else. Between budget cut-backs, layos and reductions in ben-ets or increases in hours, clearly ourpaychecks are not our primary sourceo satisaction.

    I money were our primary motive,right now wed be seeing a mass exodusrom the tech sector. So, i its not the

    money, then what is it that we hang onto when we get up each day? Are wereally working or those options? Thatsalary bonus?

    Turns out, were kidding ourselvesi we think thats our real motive asdevelopers.

    The assumptionPeople perorm better when given atangible, and even substantial, rewardor completing a task. Think bonuses,stock options, and huge booze-drivenparties.

    The realityIn a narrow2 band o actual cases, thisis true. By and large, the reward-basedincentive actually creates poorer per-

    ormance in any group o workers orcognitive tasks, regardless o economicbackground or complexity o the taskinvolved3.

    Im not making this up, nor am Ijust drawing on anecdotal experience.Watch this 18-minute video romTED4 and Ill bet youre convinced too.

    Daniel Pink gave this lecture atthe 2009 TED. Its mind-blowing iyoure stuck in the carrot-and-stickmentality. And Ill just bet, unless you

    work or Google, are sel-employed, orextremely worldly, you probably are.

    Im not saying thatto be mean orcontroversial. Im saying that becausethis mentality has pervasively spreadto every business, industry and countryon the planet over the past 100 years.Its not just sotware development, butwere hardly immune rom its eect.

    While were not immune to theimpact, we do have a lot going or usthat gives us an advantage in steppingoutside this mentality:

    Developers tend to be social odd-balls and the normal conventionsseem awkward to us. Social odd-balls tend to question things. Wedont like what everyone else likesbecause, well, were nerds and we

    dont think like sales people. Oraccountants. Or athletes. Werewilling to try things others nd weirdbecause were weird too.

    Because were odd, we tend to beorward thinking and revolution-ary in our approaches to workplaceadvancements. Think about the goodaspects o the Dot Com era: petsin the workplace, recreation roomswith pool tables and ping pong,better chairs and desks or people,

    ree lunches. Those innovationsdidnt come out o Pepsi, Toyota,or Price Waterhouse Coopers, theycame out o tech companies. Everyone.

    In doing so, our weird becomes thenew normal. Witness the output othe Dot Com era: Aside rom theeconomic meltdown, how many

    Top Three Motivators orDevelopersBy DAVE RODENBAUGH

    http://news.ycombinator.com/item?id=1262352http://news.ycombinator.com/item?id=1262352http://news.ycombinator.com/item?id=1262352
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    19/40 19

    companies now regularly practicesome, i not all o those things we didback in the late 90s? (Albeit withmore restraint, thankully)

    With that in mind, lets take Daniels

    idea o the results-oriented work envi-ronment (ROWE) orward and createsomething new or the 21st century.It ocuses on three important ideas,which developers already love andembrace: Autonomy, Mastery, Purpose.

    AutonomyWhat developer out there doesnt liketo be given the reedom to do theirown thing, on their terms, with theirpreerred hours, using their tools,

    environment, IDE, language, operat-ing system and avorite t-shirt? Findme a single developer anywhere thatdoesnt crave this kind o reedom andIll pay you $10. Seriously. Drop mea contact above. Im good or it. Ocourse, youll search or the rest o yourlie and wont be able to do it.

    MasteryEvery developer on the planet wants toget better at what they do. We cravenew knowledge like some people quacoee ater a hangover. Fortunately,the side eects o getting better atdevelopment are ar more benign thancaeine binging.

    PurposeNothing is more tedious, horric, oruninspiring to developers to work onprojects that lack any real meaning inthe world. Or lack any real direction.

    Or lack any substantial need rom thecompany. In act, you can probablypoint to the brightest points o yourcareer all stemming rom those projectsthat had the deepest meaning to youpersonally. Maybe the darkest pointsare those soul-sucking projects that youwaded through because you were gladto have a job but desperately waited orthings to improve so you could nd abetter job elsewhere. Preerably wheresoul-vacuums didnt exist.

    Google gets it: They already advo-

    cate the 20% time concept and (near-)complete workplace reedom. Atlas-sian gets it: They have the Fedex chal-lenge where everyone in the companygets 24 hours to work on somethingthey are interested in, with the caveatyou have to deliver it at the end o 24hours and you must present it to thecompany. Think those dont createpassion or the company? How aboutthe Nine Things Developers WantMore than Money? These points all

    touch on the same three basic con-cepts: autonomy, mastery, and purpose.

    Does your company get it? I theanswer is NO, what can you do rightnow to change your workplace to getit? And i that is too Sisyphean a taskor you, how about starting your owncompany instead, that does get it?

    T h a t smy challengeor you in 2010.Make sotware suckless in the 21st century. Good luck.n

    Notes1. http://www.computerworld.com/s/

    article/347538/The_Big_Squeeze2. Anything that isnt a cognitive task,simple or complex, according to theresearch I quote below.3. Sorry, outsourcersdangling thereward under your workers nosesdoesnt help even when your homecountry is considerably poorer onaverage than Western economies. Yetanother surprising nding o theirresearch.4. http://www.youtube.com/watch?v=rrkrvAUbU9Y

    Dave Rodenbaugh is an independent sot-

    ware contractor with nearly 2 decades o

    enterprise project experience in a variety

    o companies and industries. Although

    he loves Java, he sometimes drinks a good

    black tea when the mood strikes. Hes still

    waiting or his frst business trip to the

    Caribbean.

    Turns out, were kidding ourselves i we think that[money] is our real motive as developers.

    Reprinted with permission o the original author. First appeared inwww.lessonsoailure.com/developers/autonomy-mastery-purpose/.

    http://news.ycombinator.com/item?id=1262352http://news.ycombinator.com/item?id=1262352http://www.computerworld.com/s/article/347538/The_Big_Squeezehttp://www.computerworld.com/s/article/347538/The_Big_Squeezehttp://www.youtube.com/watch?v=rrkrvAUbU9Yhttp://www.youtube.com/watch?v=rrkrvAUbU9Yhttp://www.lessonsoffailure.com/developers/autonomy-mastery-purpose/http://www.lessonsoffailure.com/developers/autonomy-mastery-purpose/http://www.youtube.com/watch?v=rrkrvAUbU9Yhttp://www.computerworld.com/s/article/347538/The_Big_Squeezehttp://news.ycombinator.com/item?id=1262352
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    20/4020 CAREER

    What Valu

    Onesummer i thought I hadthe ultimate dream job.During the day I createdsotware that accessed

    some o the worlds largest nancial databasesand provided traders with real-time data andanalysis or trade ideas. At night I worked withthe CTO on a side project that analyzed huge

    amounts o transaction data to identiy arbitrageopportunities. We gured that i we could start nd-

    ing enough o these opportunities, we could present

    them as trade ideas to the bosses. So we wrote scripts,and at night, ater everyone else let the oce, we installedthem on their computers and ran the scripts in parallel totry and crunch through the massive amount o data wehad access to. This was un. Really un. And even better,the CTO was an awesome guy who taught me a lot about

    programming.They also paid well. Really well. Even more than my riends

    received working 100 hour weeks at I-Banking jobs. In retro-spect, no college student should ever have been paid that much

    (on the bright side, the savings were enough or Art.sys initialunding).

    But that summer it meant I could go out to nice dinners with mygirlriend, and never worry about paying or drinks at expensive clubs.

    It meant I could aord ancy clothes, an iPhone, and plane fights toAsia. Having always worked in labs prior to that job, it redened how I

    thought about money.

    Photo credit: Selby Jason Filsinger (www.ickr.com/photos/lsinger/409763398/).Licensed under Creative Commons Attribution 2.0 Generic licence (creativecommons.org/licenses/by/2.0/deed.en).

    CAREER

    http://news.ycombinator.com/item?id=1242877http://www.flickr.com/photos/filsinger/409763398/http://creativecommons.org/licenses/by/2.0/deed.enhttp://news.ycombinator.com/item?id=1242877http://creativecommons.org/licenses/by/2.0/deed.enhttp://www.flickr.com/photos/filsinger/409763398/
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    21/40 21

    So what is wrong with this picture? I had anextremely un and challenging job, working withawesome people, that let me aord an incredibleliestyle. It was a dream comes true.

    But at the end o the summer, the CTO broughtme into the corner oce and closed the door. Ihad worked with him all summer and this wasmy last day, so I was expecting a perormanceevaluation. Instead, ater some chit chatting, heasked me a question:

    Have you ever wondered what value we create

    here?Value? This wasnt what I was expecting at all.Not really.Ill tell you. We increase the liquidity o the

    secondary bond market. We shave basis pointso o spreads.

    Ill never orget that question. It turns out thatour CTO was saving every penny and had plans oleaving as soon as he had enough cash to pursuehis dream.

    He didnt care about the ancy clothes, theclubs, or being a master o the universe. All hecared about was how he would add value to theworld. At this point, my story starts to soundclich, but it was a clich I needed to experi-ence in person because it radically changed myperspective.

    How am I creating value?I realized that the programs I had spent all

    summer writing were great, i they could makepeople money and save them time. But i all itresulted in at the end o the day was slightlymore ecient markets, well, what was the pointo that?

    I was so caught up in the un and camaraderieo my job, so high with the rush o money, I neverconsidered such a simple question.

    This probably wont change the minds o

    people who have already chosen career paths.But to any students who are thinking about theirutures, I hope my story illustrates how easy itis to get swept up by short-term pleasures, andhow important it is to always ask this questionwhen making important decisions. n

    Carter Cleveland is the ounder oArt.sy, a platorm or

    connecting artists and galleries with collectors o origi-

    nal ne art. He is also the NYC Curator o The Startup

    Digest.

    do We Create Here?

    Reprinted with permission o th e original author. First appeared inwww.astatespacetraveler.com/have-you-ever-wondered-what-value-we-create-here/.

    By CARTER CLEVELAND

    http://news.ycombinator.com/item?id=1242877http://art.sy/http://news.ycombinator.com/item?id=1242877http://www.astatespacetraveler.com/have-you-ever-wondered-what-value-we-create-here/http://art.sy/http://www.astatespacetraveler.com/have-you-ever-wondered-what-value-we-create-here/http://news.ycombinator.com/item?id=1242877http://news.ycombinator.com/item?id=1242877
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    22/4022 CAREER

    Self-leArningishArd. Regard-less o where, when or how youlearn - being a good sel-learnerwill maximize your potential.

    In this post, Hamilton Ulmer (analmost-done Stanord stats masters stu-dent) and I, will explore seven ways tobecome a great sel-learner.

    The longest path is theshortest and the shortest

    path is the longestThe shortest route to learning the crato a eld is the one that, at rst glance,appears the longest. To really learnsomething, you must understand thebasic concepts o your eld. I youtry to skip, you may end up spending

    more time guring out concepts thani you had started with learning basics.

    Have you ever wanted to take up anew subject, bought a book, only tomake a ailed attempt at the rst ewchapters beore submitting to a lack ooundation or the material?

    Starting at the beginning mightseem daunting, but trying to skip to

    the goal directly is likely to ail. Iyou are studying and unsure that youhave the background or something,just stop when you dont understandsomething and go back to acquire thatbackground.

    Avoid isolationIn school you have many eec-

    tive eedback loops. I you are con-used, you can ask the lecturer or aclarication. Your homework assign-ments and exams motivate you tointernalize the content o the class,whether you want to or not.

    Peers can help you smooth over small

    rough spots in your understanding.A decent sel-learner must nd

    others who are amiliar with the mate-rial. Naturally one preers to nd anexpert, but discussing the material witha peer can also go a long way.

    Having a community is vital. Oten,a byproduct o nding or building acommunity is nding a mentor. The

    7 Tips orSuccessul

    Sel-LearningBy BRADFORD CROSS andHAMILTON ULMER

    http://news.ycombinator.com/item?id=1276882http://news.ycombinator.com/item?id=1276882http://news.ycombinator.com/item?id=1276882http://news.ycombinator.com/item?id=1276882
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    23/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    24/4024 CAREER

    Build EigencoursesGreat sel-learners spend a lot

    o time to nd the best resources orlearning. You can nd all the textbooks,papers and other resources you needon the Internet. Many o the coursematerials rom among the worldsbest universities are available or ree

    online2. Check out the great lists o

    links to video courses on this DataWrangling post3.You can pick and choose the best

    eigencourse with lecture slides, videolectures, textbooks, and other materials.The best way to nd these materials ison Google. You will oten only need topay or the book, and sometimes eventhe book is ree at the course websitein pd orm.

    Take the time to triangulate on theright material. Find the greats in theeld, see what they use and recom-

    mend. Find other students and readthe reviews on Amazon. Google isyour riend.

    What to do when you dontunderstand

    Learning is all about abstractions. Webuild up abstractions on top o otherabstractions. I you do not know theabstractions you are reading about thatare being composed into new higher-level abstractions, then you arent going

    to understand the new abstraction. Iyou get stuck, the way to get un-stuckis to ollow the Im stuck decision tree4.

    There is nothing so practicalas a good theory. -Kurt Lewin

    Sometimes you are several hops awayrom something you can code up andapply to a problem directly. Not alltextbooks can be read with applica-tion in mind, despite that they serve asthe theoretical oundation or appliedwork. This is why you must have a

    deep sense o patience and commit-ment - which is why a prolongedcuriosity and passion or a topic areso valuable.

    Understanding analysis (particu-larly sets, measures, and spaces) willserve as your oundation or a deepunderstanding o probability theory,and both will then serve as your oun-dation or understating inerence, anda deep understanding o inerence isa mainstay o achieving high qualityresults on applied problems.

    Avoid the dualistic mistakes otechnical execution without intu-ition, and intuition without technicalexecution.n

    Notes1. Keep in mind that you oten justneed to build a general oundation inthe eld, or mastery o some subset oa eld - you dont have to master theentire eld.2. http://www.jimmyr.com/blog/1_Top_10_Universities_With_Free_Courses_Online.php

    3. http://www.datawrangling.com/hidden-video-courses-in-math-science-and-engineering4. Figure 1.

    Bradord Cross has been doing applied

    research since 2001. His interests are in

    Maths, Statistics, Computer Science, Learn-

    ing Theory, Network Theory, Inormation

    Retrieval, Natural Language Processing, and

    engineering at scale. Most recently, Brad-

    ord is co-ounder and head o research or

    FlightCaster, where he is responsible or the

    statistical learning and supporting architec-ture that power FlightCasters predictive

    algorithms.

    Hamilton Ulmer is a Masters student in

    Statistics at Stanord. He has a great deal

    o experience as a data engineer, having

    helped startups o various sizes and shapes

    get on their eet with processing and visu-

    alizing their data, as well as helping them

    make data-driven decisions. In August he

    will join the Mozilla analytics team.

    In theory, there is no dierence betweentheory and practice. But, in practice, there is.- Jan L. A. van de Snepscheut

    Reprinted with permission o the original author. First appeared inmeasuringmeasures.com/blog/2010/4/19/7-tips-or-successul-sel-learning.html.

    http://news.ycombinator.com/item?id=1276882http://www.jimmyr.com/blog/1_Top_10_Universities_With_Free_Courses_Online.phphttp://www.jimmyr.com/blog/1_Top_10_Universities_With_Free_Courses_Online.phphttp://www.jimmyr.com/blog/1_Top_10_Universities_With_Free_Courses_Online.phphttp://www.datawrangling.com/hidden-video-courses-in-math-science-and-engineeringhttp://www.datawrangling.com/hidden-video-courses-in-math-science-and-engineeringhttp://www.datawrangling.com/hidden-video-courses-in-math-science-and-engineeringhttp://measuringmeasures.com/blog/2010/4/19/7-tips-for-successful-self-learning.htmlhttp://measuringmeasures.com/blog/2010/4/19/7-tips-for-successful-self-learning.htmlhttp://measuringmeasures.com/blog/2010/4/19/7-tips-for-successful-self-learning.htmlhttp://www.jimmyr.com/blog/1_Top_10_Universities_With_Free_Courses_Online.phphttp://www.datawrangling.com/hidden-video-courses-in-math-science-and-engineeringhttp://news.ycombinator.com/item?id=1276882
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    25/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    26/4026 SPECIAL

    HeresApricingtechniquethat sounds, at rst, like thedumbest newbie move o

    all time.Call it ll-in-the-blank invoicing.

    Or pay what you want pricing.The notion is, you do the work rst,

    then let the client decide how muchto pay or it.

    I know, that sounds like a sure wayto end up working or nickels and pea-nuts. I once thought that way, too.

    But its actually an ingenious tactic

    that should be in every reelancersarsenal, ready to wheel out when thewind is right. (Notice I said when thewind is right. Well come back to that.)

    It goes like this.Instead o quoting a ee or negoti-

    ating a price in advance, you tell theclient:

    Heres what I suggest. Let me jumpin and do the work as we discussed.Ill hit this as hard as I know how, andmake it as good as can be done.

    When were nished, just pay

    whatever you eel the work was worth,based on what it contributed to youroverall project.

    Ill accept whatever you decide, noquestions asked. Provided it is morethan a buck sixty-ve.

    Scary? Absolutely.Risky? Maybe a little.Foolhardy and stupid? Not at all.I had dabbled with this tactic beore,

    but only on those small, oddball proj-ects a client would send me now andthen.

    The Scariest Pricing Idea EverBy WALT KANIA

    SPECIAL

    http://news.ycombinator.com/item?id=1279660http://news.ycombinator.com/item?id=1279660
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    27/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    28/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    29/40 29

    H

    Appiness is not universally quantiable butmoney is. At some point in my lie I racedtowards money because I could measure it.

    When I noticed it wasnt making me happier I set out tomake happiness my main goal. Here is a list o actions I took.

    Reduced Commute TimeCommuting is a side eect o many jobs and sadly the

    higher the salary the more commute time were willing todo. Finding ways to shave o commute time has a provenbenet as measured by this study1.

    When changing jobs wasnt a possibility I used publictransportation and got an Internet capable cell phone so Icould deal with paperwork related annoyances during thecommute. Instead o trying to nd time at home Id dealwith them while in trac. I also borrowed and bought a

    ew books.Today my job allows me to work rom home and my

    commute takes about 38 seconds. I still need to commutea ew days a week but I can choose to take the car andavoid rush hour trac.

    Removed Small FrustrationsI start every day by making some tea. I had this cheap

    kettle that would randomly turn o on me. One day aterpouring cold water over tealeaves I decided to drive tothe store. Now every morning I look at the testament o aoregone rustration with a smile rom ear to ear.

    Removing rustrations can be as simple as moving theurniture or spending a ew bucks.

    Played SportsA Harvard University study started in 1937 that

    spanned 72 years determined that healthy play could relievedaily rustrations making us happier overall.

    A ew years ago I joined a volleyball team and now I playa minimum o once a week.

    Attended Regular MeetupsWould doubling your income make you happier?

    Well it turns out that seeing a group o people that meets

    just once a month provided the same benet as doublingyour salary.Once I started digging I ound out that Montreal was

    vibrant and ull o user groups and programming languageenthusiasts that meet regularly. Ive met some really interest-ing people through these groups and some o the contactseven helped me proessionally.

    Drank Socially With Co-WorkersWhen work sucks your lie sucks. A good team eels

    comortable cracking a joke to the CEO. Imagine how manyvalid concerns are not expressed i a team has to worryabout everything they say.

    Good communication is perhaps the reason why thosewho occasionally have a single drink ater work with col-leagues make signicantly more money on average thanthose who do not drink at all. Team members who do drinkare probably made aware o problems and can resolve situ-ations beore they occur. Its a dierent setting and we allknow that a little alcohol can make shyness go away.

    So its perhaps a stretch to make this point but seriouslyhaving a drink has some benecial eect on the time youspend at work and that cant all be bad since youre therea good portion o your day. n

    Notes1. http://www.cces.ethz.ch/agsam2009/panels/AGSAM2009_panel_mobility_Stutzer.pd

    Gary is a programmer and entrepreneur in Montreal, Canada. He is

    a ather and entrepreneur currently working at SocialGrapes.com.

    You can ollow him on twitter @xutopia.

    5 Actions that Made Me

    HappierBy GARY HARAN

    Reprinted with permission o th e original author. First appeared inwww.garyharan.com/2010/04/04/5-actions-that-made-me-happier.html.

    http://news.ycombinator.com/item?id=1244504http://www.cces.ethz.ch/agsam2009/panels/AGSAM2009_panel_mobility_Stutzer.pdfhttp://www.cces.ethz.ch/agsam2009/panels/AGSAM2009_panel_mobility_Stutzer.pdfhttp://socialgrapes.com/http://twitter.com/garyharanhttp://news.ycombinator.com/item?id=1244504http://news.ycombinator.com/item?id=1244504http://www.garyharan.com/2010/04/04/5-actions-that-made-me-happier.htmlhttp://www.cces.ethz.ch/agsam2009/panels/AGSAM2009_panel_mobility_Stutzer.pdfhttp://twitter.com/garyharanhttp://www.garyharan.com/2010/04/04/5-actions-that-made-me-happier.htmlhttp://socialgrapes.com/http://news.ycombinator.com/item?id=1244504http://news.ycombinator.com/item?id=1244504
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    30/40

    Scenario 1 Scenario 2 Scenario 3 Scenario 4

    After 200 observations Insignificant Insignificant Significant! Significant!

    After 500 observations Insignificant Significant! Insignificant Significant!

    End of experiment Insignificant Significant! Insignificant Significant!

    Scenario 1 Scenario 2 Scenario 3 Scenario 4

    After 200 observations Insignificant Insignificant Significant! Significant!

    After 500 observations Insignificant Significant! trial stopped trial stopped

    End of experiment Insignificant Significant! Significant! Significant!

    30 SPECIAL

    I

    fyourunA/B tests on your website and regularly checkongoing experiments or signicant results, you mightbe alling prey to what statisticians call repeated signif-

    cance testing errors. As a result, eventhough your dashboard says a resultis statistically signicant, theres agood chance that its actually insig-nicant. This note explains why.

    BackgroundWhen an A/B testing dashboard says there is a 95% chanceo beating original or 90% probability o statistical signi-cance, its asking the ollowing question: Assuming there isno underlying dierence between A and B, how oten willwe see a dierence like we do in the data just by chance?

    The answer to that question is called the signicance level,and statistically signicant resultsmean that the signicance level islow, e.g. 5% or 1%. Dashboards usu-ally take the complement o this(e.g. 95% or 99%) and report it asa chance o beating the original orsomething like that.

    However, the signicance calculation makes a criticalassumption that you have probably violated without evenrealizing it: that the sample size was xed in advance. Iinstead o deciding ahead o time, this experiment willcollect exactly 1,000 observations, you say, well run ituntil we see a signicant dierence, all the reported signif-cance levels become meaningless. This result is completelycounterintuitive and all the A/B testing packages out thereignore it, but Ill try to explain the source o the problemwith a simple example.

    ExampleSuppose you analyze an experiment ater 200 and 500observations. There are our things that could happen:

    Assuming treatments A and B are the same and thesignicance level is 5%, then at the end o the experiment,well have a signicant result 5% o the time.

    But suppose we stop the experiment as soon as there isa signicant result. Now look at the our things that couldhappen:

    The rst row is the same as beore, and the reportedsignicance levels ater 200 observations are perectly ne.But now look at the third row. At the end o the experiment,assuming A and B are actually the same, weve increased theratio o signifcant relative to insignifcant results. Thereore,the reported signifcance level the percent o the time theobserved dierence is due to chance will be wrong.

    How big o a problem is this?Suppose your conversion rate is 50% and you want to testto see i a new logo gives you a conversion rate o more than50% (or less). You stop the experiment as soon as there is5% signicance, or you call o the experiment ater 150observations. Now suppose your new logo actually doesnothing. What percent o the time will your experimentwrongly nd a signicant result? No more than ve percent,right? Maybe six percent, in light o the preceding analysis?

    How Not to Run an A/B TestBy EVAN MILLER

    http://news.ycombinator.com/item?id=1277004http://news.ycombinator.com/item?id=1277004
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    31/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    32/4032 STARTUP

    Im Ahuge an o the 37Signalsmantra o scratch your own itch.

    Inspired by their book or GettingReal which Ive read at least twice,and Rework which Im reading now,I decided to write a small web applica-tion to scratch an itch around customerdevelopment emails.

    Do note though, 37Signals mantrahere probably roots back to a saying myDad, also an entrepreneur, has alwayssaid to me: Necessity is the mothero invention.

    Either way, heres the problem I

    solved with Tout: as Ive been rampingup customer development or Brain-trust, I realized that typing, copying,pasting, re-typing all these emails wasbecoming a huge pain. Even worse, itbecame even harder to keep track oall these emails.

    There had to be a better way! and while there are tons o CRMs outthere, the simple get in, get out typeo solution didnt exist. So, I decidedto create one.

    Introducing Tout the simplest wayto templatize and track (like you do orwebsites) your customer developmentemails. It helps me create e-mail tem-plates, send emails quickly, and trackwhen someones viewed my email, andwhether they clicked on my link. It alsolet me track whether my overall emailwas a success or not.

    It took me about 1 day to get the

    app working to t my own need. Aterrealizing this could probably help other

    people, it took me another 2 days toget it production ready. WOW!

    I think were at amazing times rightnow. With all the dierent commonservices startups cropping up, building,releasing and opening up shop or aweb application has never been easier.

    Here are the common services/tech-nologies I leveraged to take Tout tomarket in 3 days:

    Heroku

    All o my development is on Rails, andHeroku puts Rails on steroids. Thanksto their amazing cloud inrastructure,I had to do ZERO sysadmin stu andwas able to get my app online in liter-ally 3 commands. More importantly,setting up DNS, E-Mailing, and SSl wasall done through the web UI as well.I highly recommend them or starterapplications, especially ones that arestill testing out the market.

    The only downside or Heroku isthat they have no way to support real-time applications (i.e. run an XMPP orNodeJS server to push out real-timeupdates) can you guys start work-ing on this?

    SendgridEven though the biggest eature omy web-app is sending emails, I hadto write next to no code or actually

    sending out emails or even conguringe-mail servers. All o this got taken care

    o by Sendgrid.They were also very diligent about

    validating my site and making sure Iwas compliant with CAN-SPAM lawsand ensuring this doesnt turn intoanother spamming machine.

    ChargiyTout has a premium eature, andcharges credit cards, handles recurringbilling and even sends out invoices.However, I didnt have to write more

    than about 50 lines o billing code.Chargiy takes care o all o this allI have to do is build out hooks to keepthe subscription level o the customerup to date.

    The reality is, it has become so ridic-ulous easy to take web applications tomarket now that I dont have to spendtime working on plumbing instead,all o my time and energy goes towardthe creative aspect o the product which is the way it should be.n

    TK is the Founder and CEO o Braintrust

    (http://braintrusthq.com), a webapp that

    helps organize your team's conversations.

    He also blogs bout his journey as a single

    ounder or a bootstrapped company at

    http://tawheedkader.com. Prior to Brain-

    trust, TK co-ounded HipCal,which was sold

    to Plaxo in 2006.

    How I Took My Web-App toMarket in 3 Days

    STARTUP

    By TAWHEED KADER

    Reprinted with permission o the original author.First appeared in www.tawheedkader.com/2010/04/how-i-used-heroku-chargiy-and-sendgrid-to-take-my-web-app-to-market-in-3-days/.

    http://news.ycombinator.com/item?id=1275371http://braintrust.io/http://www.tawheedkader.com/http://news.ycombinator.com/item?id=1275371http://news.ycombinator.com/item?id=1275371http://www.tawheedkader.com/2010/04/how-i-used-heroku-chargify-and-sendgrid-to-take-my-web-app-to-market-in-3-days/http://www.tawheedkader.com/2010/04/how-i-used-heroku-chargify-and-sendgrid-to-take-my-web-app-to-market-in-3-days/http://www.tawheedkader.com/http://braintrust.io/http://news.ycombinator.com/item?id=1275371http://news.ycombinator.com/item?id=1275371
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    33/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    34/40

  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    35/40 35

    o a startup idea. And in act, it wasnt initially astartup idea. When Mark spoke at a YC dinnerthis winter he said he wasnt trying to start acompany when he wrote the rst version o Face-book. It was just a project. So was the Apple Iwhen Woz rst started working on it. He didnt

    think he was starting a company. I these guyshad thought they were starting companies, theymight have been tempted to do something moreserious, and that would have been a mistake.

    Soifyouwant to come up with organic startupideas, Id encourage you to ocus more on theidea part and less on the startup part. Just xthings that seem broken, regardless o whetherit seems like the problem is important enough tobuild a company on. I you keep pursuing suchthreads it would be hard not to end up makingsomething o value to a lot o people, and when

    you do, surprise, youve got a company. 3

    Dont be discouraged i what you produceinitially is something other people dismiss as atoy. In act, thats a good sign. Thats probablywhy everyone else has been overlooking the idea.The rst microcomputers were dismissed as toys.And the rst planes, and the rst cars. At thispoint, when someone comes to us with somethingthat users like but that we could envision orumtrolls dismissing as a toy, it makes us especiallylikely to invest.

    While young ounders are at a disadvantage

    when coming up with made-up ideas, theyrethe best source o organic ones, because theyreat the oreront o technology. They use the lateststu. They only just decided what to use, so whywouldnt they? And because they use the latest

    stu, theyre in a position to discover valuabletypes o xable brokenness rst.

    Theres nothing more valuable than an unmetneed that is just becoming xable. I you ndsomething broken that you can x or a lot opeople, youve ound a gold mine. As with an

    actual gold mine, you still have to work hard toget the gold out o it. But at least you know wherethe seam is, and thats the hard part. n

    Notes1. This suggests a way to predict areas whereApple will be weak: things Steve Jobs doesntuse. E.g. I doubt he is much into gaming.2. In retrospect, we should have become directmarketers. I I were doing Viaweb again, Id openour own online store. I we had, wed have under-stood users a lot better. Id encourage anyonestarting a startup to become one o its users,

    however unnatural it seems.3. Possible exception: Its hard to compete directlywith open source sotware. You can build thingsor programmers, but there has to be some partyou can charge or.

    Paul Graham is an essayist, programmer, and pro-

    gramming language designer. In 1995 he developed

    with Robert Morris the frst web-based application,

    Viaweb, which was acquired by Yahoo in 1998. In 2002

    he described a simple statistical spam flter that inspired

    a new generation o lters. Hes currently working on

    a new programming language called Arc, a new bookon startups, and is one o the partners in Y Combinator.

    Just fx things that seem broken, regardless owhether it seems like the problem is importantenough to build a company on.

    Reprinted with permission o the original author. First appeared inwww.paulgraham.com/organic.html.

    http://news.ycombinator.com/item?id=1266627http://www.paulgraham.com/organic.htmlhttp://www.paulgraham.com/organic.htmlhttp://www.paulgraham.com/organic.htmlhttp://news.ycombinator.com/item?id=1266627
  • 8/7/2019 Mashable - Hacker Monthly Issue 1 - For embedding

    36/4036 STARTUP

    I

    rememberdisruptivewhenit wascalled paradigm shit. That phrasedied during the tech-bubble along

    with portal and think outside thebox, yet the concept has returned.Dont ollow along.

    When I get pitched usually bysomeone raising money that theyhave something disruptive, a littlepart o me dies. You should be wor-rying about making something useul,not how disruptive you can be.

    Disruptive is the in-vogue word orthe opposite o incremental improve-ment. A disruptive product causessuch a large market shit that entire

    companies collapse (the ones whodont get it) and new markets appear.

    Disruptive is ascinating, disruptivechanges the world, disruptive makesus think. Disruptive also sometimesgenerates billions o dollars, which iswhy venture capitalists have alwaysloved it and always will.

    But disruptive is rare and usuallyexpensive. Its hard to think o dis-ruptive technologies or products thatdidnt take many millions o dollars

    to implement. Most o us dont haveaccess to those resources, and manyo us dont care, because wed ratherwork on an idea we actually under-stand and can build ourselves, an ideathat might make us a living and beuseul to people.

    Theres nothing wrong with incre-mental improvement. Whats wrongwith doing something interesting,useul, new, but not transcendental?Whats wrong with taking a known

    problem with a known market and justdoing it better or with a resh perspec-tive or with a modern approach? Do

    you have you create a new market andturn everyones assumptions upsidedown to be successul? Should you?

    Im not so sure. Heres my argument:

    Its hard to explain thebenefts o disruption.

    Have you tried to explain Twittersomeone? Not the 140 characterspart the part about why its a un-damental shit in how you meet andinteract with people?

    Hasnt the listener always responded

    by saying, I dont need to know whateveryone had or lunch. Who cares?Whats next, Im taking a dump?They dont get it, right? But its hardto explain.

    There are ways to elucidate the util-ity o Twitter, but even the good onesare lengthy and require listeners withpatience and open minds two attri-butes in short supply.

    Its hard to explain sho