Facebook - <AUTHOR> http://blog.whatsapp.com/index.php/2014/02/facebook/ <comment><USER3> I ask, cause I'm not sure- do anybody make real companies anymore?

<comment><USER4> No.

Most companies are conceived with an explicit exit strategy in mind from day one, and that strategy is usually:

      SELL OUT TO THE HIGHEST BIDDER AS FAST AS POSSIBLE, AND
      RETIRE EARLY, WHILE SOME OF US ARE STILL YOUNG ENOUGH TO
      ENJOY LIFE.

<comment><USER5> You might have a point if they hadn't previously turned down a $1billion bid from Google.

<comment><USER6> How does a rejection of a significantly smaller offer disprove the point?

<comment><USER7> $1B isn't a small offer, though.

<comment><USER8> It just means they were hungry. 1B is a relatively small offer in the world of IT IPOs nowadays.

</comment></comment></comment></comment></comment></comment><comment><USER9> Relevant article _Why Selling WhatsApp To Facebook Would Be The Biggest Mistake Of Jan Koum 's And Brian Acton's Lives_ (2012):

[http://www.forbes.com/sites/ericjackson/2012/12/03/why- selli...](http://www.forbes.com/sites/ericjackson/2012/12/03/why-selling- whatsapp-to-facebook-would-be-the-biggest-mistake-of-jan-koums-and-brian- actons-lives/)

<comment><USER10> It took FB 10 years to get to where it is today. Is that a process that WhatsApp wants to go through? I mean the finality usually ends in either an acquisition or an IPO; having shareholders on your mind constantly seems pretty stressful. I suppose they could've stayed private and seen what's possible.

Either way the Forbes website is visual chaos and I'm still nauseous and disoriented after reading that article.

<comment><USER11> Update for you! Hahaha, I love that you said that about Forbes.Com. Hate that site...

</comment></comment></comment><comment><USER12> Despide the fact that everybody got a strange feeling when reading the name "Facebook" in combination with WhatsApp:

Congrats to the team of WhatsApp to build such a successful product in five years with a team of 32 engineers (~ $500 million/engineer). Reminder: They nearly replaced the SMS service worldwide.

Let's hope that the words by Mark Zuckerberg will be the truth and WhatsApp will be kept as an independent product in the future.

<comment> k-mcgrady >> "a team of 32 engineers (~ $500 million/engineer)"

Only if you consider the other employees worth/value to be $0.

<comment><USER13> An article mentions that Whatsapp spent $0 on user acquisition and marketing. If that's true, then yes, it's around $500 million/engineer.

<comment><USER14> Even if the company had nonengineers, it doesn't affect the ratio between revenue and engineers. The statistic usually does not imply that engineering is solely responsible for the success. Further, it generally can be hard to determine what portion of revenue is due to engineering versus marketing/sales, since the functions work together in a dependent way to make money.

</comment></comment></comment></comment><comment><USER15> The fact about WhatsApp that blew me away is that they have 72% DAILY active users. I can't think of any other service with that kind of engagement. Even Facebook must be impressed at how often people come back to WhatsApp.

<comment><USER16> It's just the nature of the service. It's a text messaging app. When you get a text you open it. I bet gmail has a similar active user ratio.

<comment><USER15> Of course, but it's amazing that a start up with such basic features has gotten to the point where you can compare it to texting or email as far as engagement.

<comment><USER16> What do you mean? IT IS TEXTING! It's texting via a TCP connection and with the help of Apple's and Google's push messaging servers instead of going through the SMS channel of a GSM network. As a product it's the exact same as SMS/MMS. Just the technical implementation is different.

<comment><USER15> Well that different technical implementation made it much more attractive to millions of people worldwide. Sounds like a win.

Also I don't think they use Apple and Google's push servers since this also runs on J2ME devices, Windows phone, Symbian, etc.

<comment><USER16> Of course they're not using Apple's push servers on J2ME devices. They're using it on iOS. Of course they're not using Google's push servers on Windows Phone devices. They're using it on Android.... How else would you get notified?

Also I never said it wasn't attractive. I just tried to explain that conceptionally as a product it's the same as text messaging and should thus have similar Daily to Monthly User ratios.

</comment></comment></comment></comment></comment></comment><comment><USER17> ~$40/user. Skype, second time, sold for ~$15/user. Time Warner just sold for ~$4/user.

Good thing for FB bank account that "OTT messaging" is just a fad while the carriers get their acts together ; )

<comment><USER18> Is it even possible to monetize the app to such extent? I tried to use it a few times but never managed to see any hard money potential inside.

<comment><USER19> You "monetize an app like that" by selling it to FB or the stock market.

<comment><USER20> Aka bubble

</comment></comment></comment></comment><comment><USER21> Here's what will change for you, our users: nothing.

Here's what will change for us: [http://i.imgur.com/3Px9d9K.jpg](http://i.imgur.com/3Px9d9K.jpg)

<comment><USER22> That's what I don't get. If nothing will change for the users, then why did Facebook acquire them? Why did they bother? Just so that they can run statistics and include WhatsApps numbers in there as well because they now belong to the same organisation?

<comment><USER23> Diversification. Aquire as many relevant products as you can to stay, well, relevant. If Facebook.com is losing users then it makes sense for them to use the money they have now to buy a company that's gaining users.

<comment><USER24> Then why WhatsApp over thousands of other companies they could have acquired? No, there has to be another reason and there is no way WhatsApp is not going to change because of this. Their saying it won't change is like the like a corporate VP stepping down "to spend more time with his family".

</comment></comment></comment></comment><comment><USER25> Viber has 200M users as of May 7, 2013. Rakuten purchased them for $900M on Feb. 14, 2014.

Very similar apps. Although WhatsApp does ask for $0.99 after 1 year usage. Not sure that is worth the $18.1B difference in price?

<comment><USER26> WhatsApp is dominant player, and so they can leverage a higher ask. Not sure it's going to save Facebook in the end though.

</comment></comment><comment><USER27> "Almost five years ago we started WhatsApp with a simple mission: building a cool product used globally by everybody. Nothing else mattered to us.

Today we are announcing a partnership with Facebook that will allow us to continue on that simple mission."

Should be followed with this then:

"This is why we are not going to keep any money to ourselves and invest in our infrastructure and employees."

Hate CEO bullshit, just be frank.

</comment><comment><USER28> So much about not selling ads and collecting personal data then I suppose? I actually thought they meant it. [1]

Now I'm really excited about heml.is.

[1] [http://blog.whatsapp.com/index.php/2012/06/why-we-dont- sell-...](http://blog.whatsapp.com/index.php/2012/06/why-we-dont-sell-ads/)

</comment><comment> UVB-76 Assuming this is an acquisition, it's a poor one. Facebook undoubtedly paid too much for this.

</comment><comment><USER29> Aand there goes my 3 years advance payment for service to waste.. Just Deleted WhatsApp account

</comment><comment><USER30> "Almost five years ago we started WhatsApp with a simple mission: building a cool product used globally by everybody. Nothing else mattered to us."

That's probably a lie. That wasn't the first thing they thought before starting WhatsApp.

<comment><USER30> This blog post is pure bullshit. They built a new version of ICQ, luckly people joined and network effects made them big -- not their competence or the quality of the product. They shouldn't be proud of their work.

</comment></comment><comment><USER31> Ah yes, this reminds me of that old joke...

> Why did Facebook buy WhatsApp?

Because Snapchat isn't for sale.

<comment><USER32> Or because the daily messaging volume through Facebook-owned services now surpasses global SMS volume.

<comment><USER33> Was WhatsApp really that successful? I can't imagine it caught on with many young adults or older who have no trouble paying for SMS given the convenience. Is their demographic comprised of kids?

<comment><USER34> Not in US, but it's absolutely big in Asia.

[http://gigaom.com/2013/11/26/study-facebook-messenger- still-...](http://gigaom.com/2013/11/26/study-facebook-messenger-still-reigns- in-the-u-s-but-other-countries-look-to-whatsapp/)

</comment></comment></comment></comment><comment><USER35> Looking at Whatsapp's legal info some notable info, nothing too surprising:

* "You expressly acknowledge and agree that in order to provide the Service, WhatsApp may periodically access your contact list and/or address book on your mobile device [...] You hereby give your express consent to WhatsApp to access your contact list and/or address book for mobile phone numbers in order to provide and use the Service. We do not collect names, addresses or email addresses, just mobile phone numbers."

* Section 3C concerning not hacking them and giving a list of tools you definitely can't use under the agreement.

* "If you are under 16 years of age, you are not permitted to use the WhatsApp Service."

* "If another user has your mobile phone number stored in their mobile phone address book or contact list, they will be able see your status information unless you have chosen to block such user."

* "The WhatsApp Site and Service are hosted in the United States and are intended for and directed to users in the United States. If you are a user accessing the WhatsApp Site and Service from the European Union, Asia, or any other region [...] you are transferring your personal information to the United States and you expressly consent to that transfer and consent to be governed by California law for these purposes."

* "In the event that WhatsApp is acquired by or merged with a third party entity, we reserve the right to transfer or assign the information we have collected from our users as part of such merger, acquisition, sale, or other change of control." [they go on to say that they may not be able to control use of information in cases which include "reorganization"]

[http://www.whatsapp.com/legal/](http://www.whatsapp.com/legal/)

Reading between the lines it seems you can hack them with fiddler (or the like) and that the legal info is saying "your info is definitely being monitored by USA governmental groups"?

</comment><comment><USER36> What could be the purpose of this aquisition if nothing changes? I suspect WhatsApp won't change immediately but after some time they do small changes towards a facebook integration.

</comment><comment><USER37> 19bn, 16bn of which is inflated Facebook stock. Zuckerberg knows what he is doing, he's playing the AOL tactic, better use that stock to make some acquisitions before it tanks.

</comment><comment><USER38> Glad to see nothing will change, I hope that will be true on the long run.

<comment><USER39> Is it ever true, though, in these situations?

<comment><USER40> Instagram is pretty much the same.

</comment></comment></comment><comment><USER41> Today I started using Threema. Secure, group chat, picture stuff, and privacy seems alright.

<comment><USER42> If you really want secure , TextSecure is the best in that regard - <USER2> to crypto guys.

<comment><USER43> Telegam FTW!!!

</comment></comment></comment><comment><USER44> After this message they raise their glasses and make a toast

</comment><comment><USER45> That's splendid news!

I firmly believe that it is consumer apps, and consumer apps alone, that can give blazing home runs like this one.

Despite the risk, numerous deaths, blood and corpses all over the place. Somehow valley since last September had been running after enterprise junk but that's not where the gems lie (My opinion of course!). There is money in enterprise but no home run possible over there.

Edit: I like the way the edited title of this thread: Facebook (whatsapp.com).

<comment> k-mcgrady It depends what you consider a 'home run'. I consider building a sustainable business that will generate revenue and create products for the next 10/20/30 years a home run. I would consider building an app, having no business model (admittedly Whatsapp app was generating revenue although I doubt it was much), and being lucky enough to get acquired by a company willing to pay stupid amounts of money to kill a competitor and keep you away from other competitors the furthest thing from a home run.

<comment><USER19> > It depends what you consider a 'home run'. I consider building a sustainable > business that will generate revenue and create products for the next > 10/20/30 years a home run.

10/20/30 years? Look those aren't the days of Henry Ford or J.D.Rockefeller.. tech is changing ever-faster at an exponential rate. You wanna create products for 30 years, none of which will live on their own much longer than 3-4 years (if lucky/successful in their market) because everything is constantly changing? I agree: flipping a messenger toy to FB is a "lottery win", but "a sustainable business that will generate revenue" for 30 years, what is that supposed to be in today's environment? That's a bit of a pipe dream too, just the "nobler" one.

</comment></comment></comment><comment><USER46> Thats unfortunate.</comment>


George Wilson, The Man Who Walked His Life Away - <AUTHOR> https://deadspin.com/the-man-who-walked-his-life-away-1835620495 <comment><USER2> The culture of the past feels so unrelatably foreign that it really feels like a fictional world.

Can you imagine hearing that some dude is walking really far and going to see an improvised carnival with an entourage of "bodyguards" with whips keeping people away from some guy walking thousands of laps around a track?

<comment><USER3> > The culture of the past feels so unrelatably foreign that it really feels > like a fictional world.

One idea for teaching history is to emphasize that which you, as a time traveler, would find startlingly strange ("wait, WAT?!?").

A 1700's British officer, traveling with American militia, is utterly boggled... the American officer, he is _talking_ with his _men_ , asking _them_ what they _think_!?! A WWII American officer, with not-unfamiliar clothes, familiar language, many familiar ideas, and culture... and then he shares his commonplace views on negroes. A familiar city in the 1950's, with familiar still-there office buildings, in the summer... without any AC (so people sit by open windows to catch a breeze). Making arrangements to meet at highly specific locations and times (at noon under the clock at Grand Central)... because without cell phones, mobile incremental rendezvous is hard. The Sun goes down, so you stop working, because you can't see in the dark - it's been suggested that the greatest US technological triumph of the entire 20th Century was... rural electrification. Small-village farmers in Egypt, part of the Ottoman empire, using strikes and slowdowns to discipline local elites, who fear the attention of "what's wrong here and how do I fix it" imperial officials. Sales guy, eventually to head IBM, is said to have gone into stores with competitors' cash registers... and smashed them with a baseball bat. Fights and drawn knives on the floor of the US Senate. The opulence of Versailles... human excrement is cleaned off hallway floors not once, but _twice_ a day! And so on, and on...

<comment><USER4> One of my favourites: at the height of the British Empire, a private rises on merit to become Chief of the Imperial General Staff - rising from the lowest rank to the very highest.

The equivalent is impossible today.

Edit: Correction.

<comment><USER5> I heard a recent McDonald's CEO started at the fryer. No idea as to the accuracy.

<comment><USER6> I did a quick search, and that sounds like either Fred Turner [1], Michael Quinlan [2], or Charlie Bell [3].

[1] [https://en.wikipedia.org/wiki/Fred_L._Turner](https://en.wikipedia.org/wiki/Fred_L._Turner)

[2] [https://en.wikipedia.org/wiki/Michael_R._Quinlan](https://en.wikipedia.org/wiki/Michael_R._Quinlan)

[3] [https://en.wikipedia.org/wiki/Charlie_Bell_(businessman)](https://en.wikipedia.org/wiki/Charlie_Bell_\(businessman\))

</comment></comment></comment></comment></comment><comment><USER7> You see people like this sometimes. I met a guy who practically lives on his bike. Like the guy in the article, he's sort of an outcast. Yet when he's not riding, he's walking around with his helmet on his head. It's like he's a tool that can only do one job, but is fantastic at it. I wonder how many luminaries throughout history have been similarly specialized. It seems like a type of beneficial obsession.

<comment><USER8> We used to celebrate eccentricity in Britain, but these days sadly it's often under attack.

<comment><USER9> Is that really true?

<comment><USER10> Which of the two?

<comment><USER9> Celebrating eccentricity.

<comment><USER10> Given how they treated eg Alan Turing, I think you have a point :-)

(preventive anti-outrage disclaimer: I'm not suggesting that homosexuality is eccentric, I'm only suggesting that it might have been considered eccentric by many in mid-20th century UK)

</comment></comment></comment></comment></comment></comment><comment><USER11> This puts the challenge in Verne's Around the World in 80 Days into context. The story mimicked and exaggerated contemporary popular entertainment.

</comment><comment><USER12> That was an interesting read, but man oh man what a harsh life, and, what a dreadful family. Can you even imagine going through even a tiny bit of that without breaking?

<comment><USER13> This is just an observation more than an opinion - you know how it's common knowledge that women had no power not that long ago and were kept under the boot of men?

His wife not only cheated on him, when he found out she arranged to have him arrested and thrown in prison, and then was seeking to imprison him for life. As far as the article says, absolutely nothing has happened to her as a consequence of this.

<comment><USER14> How dare she have him arrested for domestic abuse..?

<comment><USER13> She didn't have him arrested for domestic abuse - she fabricated a fake unpaid debt charge through her brother.

</comment></comment></comment></comment><comment><USER15> Anyone who wants to learn more about the history of pedestrianism, long- distance walking and latterly ultrarunning should check out Davy Crockett's Ultra Running History website and podcast [1]. He covers George Wilson in a two-part episode about 1,000 mile attempts [2].

[1] - [http://ultrarunninghistory.com/](http://ultrarunninghistory.com/) [2] - [http://ultrarunninghistory.com/1000-milers-1/](http://ultrarunninghistory.com/1000-milers-1/)

</comment><comment><USER16> I suppose this is a nitpick, but what kind of timekeeping was available for this?

> He kept walking, one step at a time, and hit 50 miles with four minutes and > 43 seconds to spare.

My understanding of the time is that pocket watches very rarely had second hands, or maybe not even minute hands. And certainly wouldn't be expected to maintain such accuracy over a period of ten hours. What else would be available in a prison yard?

<comment><USER17> Watches were used for navigation. They also had both minute and second hands in those days; you can verify the latter by looking at them on ebay.

<comment><USER18> Just to add watches were extremely important for sailing. Maybe as important as a compass. You need an accurate clock to calculate longitude at sea. Here's a book I've been meaning to read about an eccentric guy who solved the problem[1].

[1][https://en.m.wikipedia.org/wiki/Longitude_(book)](https://en.m.wikipedia.org/wiki/Longitude_\(book\))

</comment></comment></comment><comment><USER19> > He would need to escape from poverty and free himself and his children from > strangling debt.

It seems like so many of the things we take for granted today couldn't be taken for granted to the same degree in the past.

Things like being able to declare bankruptcy and erase all your debts, the general liberty/protection provided by the state from having our freedom/autonomy being violated by others, etc.

<comment><USER20> One interesting distinction is that many of the modern protections that have in many ways shaped modern society, are not protections against other people - but protections against governments themselves. This is a recurring theme in the constitution. For instance the constitution does not grant you the right to free speech. It observes that you, by nature of being a human capable of speaking already _inherently_ have the right to free speech. The constitution simply stops the government from passing laws to take that right away from people.

 _Most_ of the bad acts people can commit against other people have been illegal for time immemorial. The revolution that started with the United States was the founders of a nation passing legislation to protect the people from the government itself. Things like debtor's prisons, as you mention, are of course state-driven institutions. There are also things now illegal that we can't even imagine. For instance the third amendment prevents the government from forcing you house soldiers which is so far away as to feel unimaginable. Other things we're constantly reminded of, but they have become so socially ingrained that we take them for granted. For instance protections against unreasonable search and seizure, protections against being forced to testify against yourself.

</comment></comment><comment><USER21> The fellow should be canonized. Walking is truly God's gift.</comment>


The origins of Objective-C at PPI/Stepstone and its evolution at NeXT - <AUTHOR> https://dl.acm.org/doi/10.1145/3386332 <comment><USER2> Good article, so glad to find it here. I wish, though, that the authors had talked a lot more about memory management in Objective-C, because this had a major impact, not only on the development of Objective-C, but also on Swift. As far as I can tell, the idea of (explicit) reference counting came from Next, when Blaine Garst and others were working on remote objects. When I joined Apple (and therefore had to learn Objective-C), the most important task was to understand reference counting and memory management. Yes, there was a lot more, like interfaces, properties and the many libraries, but understanding alloc/new/release/autorelease was crucial for shippable software. GC was introduced (and deprecated) during my time, but it was the realization (presumably by Lattner and his team) that the LLVM analyzer could do a better job than humans at managing reference counting that was huge. No more hours and hours hunting down memory leaks! And, of course, only one concept required in Swift, namely weak vs. strong references.

In summary, a terrific paper, but it is too bad that this crucial part of the story is missing.

<comment><USER3> > As far as I can tell, the idea of (explicit) reference counting came from > Next,

Maybe in objc, but in the general case I kinda doubt this. It's a very common pattern in kernel development as an example, haven't done any archeology here but I have seen it in codebases rooted in the 80s at latest, probably earlier. (Did original Unix reference count file objects in the FD table the same way a modern kernel would? Would not be surprised if yes.)

Autorelease is pretty unique though and clever.

<comment><USER4> I believe this is the first paper to describe reference counting:

George E. Collins. A method for overlapping and erasure of lists. Commun. ACM 3, 12 (Dec. 1960), 655–657. [https://doi.org/10.1145/367487.367501](https://doi.org/10.1145/367487.367501)

</comment></comment></comment><comment><USER5> This is a wonderful bit of history, really grateful to have it. I remember reading an interview with Steve Jobs in Wired magazine in the 90s where he talked about the future being all about Objects – "The Next Insanely Great Thing" [1]. I built my career on top of Objective-C. These days I really enjoy Swift, but I still have a space in my heart for the dynamic beauty of Objective-C.

1: [https://www.wired.com/1996/02/jobs-2/](https://www.wired.com/1996/02/jobs-2/)

<comment><USER6> Swift is great but is starting to suffer from feature bloat. I really loved the simplicity of objective-c. If you can get past the syntax you find a very thin wrapper on top of c that lets you do really fun things. I don't think I've ever seen another language where people followed the same patterns so consistently either.

<comment><USER7> > where people followed the same patterns so consistently

so true. This is one ecosystem where you could actually just include another persons code as if it was yours, and get a great understanding of how to use it from a header.

</comment></comment></comment><comment><USER8> In 1994 I was on a team that had one of the few uses of Objective C that had nothing to do with NeXTStep. The Swarm Simulation System[1], an agent based simulation toolkit. We used GNU's Objective C implementation and Tcl/Tk (via tclobjc) for the UI.

We picked ObjC because we knew we wanted something object oriented but C++ seemed too complicated and too static. ObjC was simple and appealingly dynamic and flexible in its type system. It worked pretty well for us other than the costs of being an oddball language no one knew. But it was simple enough to learn that a fair number of our target audience did.

In retrospect I wish we had the courage to use Smalltalk or a Lisp system but at the time that felt too risky. Java was also just beginning to be an option then, but it was still being shown as a toy for making applets and not a real programming language. Also very slow before JITs.

I really appreciated that the ObjC runtime was open source and very small. It was quite easy to get in deep and understand what was going on.

[1] [http://www.swarm.org](http://www.swarm.org)

<comment><USER9> I have fond memories of using Swarm in an undergrad course on agent based simulation ~20 years ago. Just tweaking the heatbugs example in various ways was already enlightening. Thanks for your work!

</comment></comment><comment><USER10> Wow. "Software-ICs." I remember that, and I thought it was a great concept. At the time, it was revolutionary.

Nowadays, it's how we do everything, but the term "Software-ICs" never climbed out of the bassinet.

<comment><USER11> Yes, and I still think it still is great concept. :-)

I also don't think it's really how we do everything, the original concept caught on only very partially, and appears to be more and more forgotten.

See _Software-ICs, Binary Compatibility, and Objective-Swift_

[https://blog.metaobject.com/2019/03/software-ics-binary- comp...](https://blog.metaobject.com/2019/03/software-ics-binary- compatibility-and.html)

<comment><USER12> IMO, the trouble with COM and its imitators is that they're prone to gross over-use. The best example I know is Gecko, which over-used XPCOM and then had to go through what Mozilla folks called deCOMtamination. [1] I think IE might have over-used COM to some extent as well, but that's only speculation based on what I saw on the outside. (Disclosure: I work at Microsoft, but I joined well after IE became Edge, and I was never on that team.)

Then Chrome landed like a piece of alien technology, and if we took a look inside, we found that it was one giant binary module (DLL, .framework, or executable, depending on the platform) that internally didn't use anything like COM, at all. It was also fairly well-known for its use of link-time optimization. I wonder how much these things contributed to Chrome's famous speed.

Of course, Chrome was only able to pull this off because the team had great engineering discipline, and later, a great build system (first GYP, then GN). I remember when I built Chromium for the first time and was awed at how it was made up of hundreds of modules, but they were all built as static libraries and then linked together into one monster binary module at the end. These days, newer statically compiled languages like Go, Rust, and others are bringing large-scale static linking of arbitrary modules within reach for the rest of us.

If I may stretch the IC metaphor, I'm guessing something similar happened with actual ICs; better EDA tools made it more feasible to combine more and more IP blocks onto a single chip, giving rise to the modern SoC.

[1]: The best post I can find that talks about deCOMtamination, and then goes on to describe how XPCOM continued to be over-used, is this: [https://brendaneich.com/2006/02/fresh-xpcom- thinking/](https://brendaneich.com/2006/02/fresh-xpcom-thinking/) Does anyone know of a definitive written history of this process?

<comment><USER13> > I remember when I built Chromium for the first time and was awed at how it > was made up of hundreds of modules, but they were all built as static > libraries and then linked together into one monster binary module at the > end.

This is how Gecko is built too—essentially everything ends up in libxul unless it has to be split out so that link.exe doesn't OOM on 32-bit (sadness). I believe it had been this way when the first version of Chrome was released, so this wasn't something Chrome introduced.

(Also, based on my experiences with Node and other Google projects like Skia, I wouldn't consider gyp a great build tool—it's always been a nightmare for me. gn is better, but Google projects still have a tendency to be difficult to build for those who aren't Google employees.)

<comment><USER12> > This is how Gecko is built too—essentially everything ends up in libxul > unless it has to be split out so that link.exe doesn't OOM on 32-bit > (sadness). I believe it had been this way when the first version of Chrome > was released, so this wasn't something Chrome introduced.

Touché. And I do remember seeing this in Firefox, or maybe even the old Mozilla suite, long before Chrome came out.

Still, I think static linking is a much more effective optimization in Chrome, because Chrome doesn't make heavy use of internal ABI boundaries (e.g. COM or XPCOM), so link-time optimization can be more aggressive. IIUC, Firefox and Thunderbird still use a fair amount of XPCOM internally, because they have lots of modules written in JavaScript, including all of the code behind the XUL-based UI. Chrome, on the other hand, uses a lot more C++.

<comment><USER13> Chrome has a lot of the frontend written in JS nowadays too. At this point XPCOM is mostly just a bindings layer between JS and C++ (that's what COM was supposed to be to begin with—a glue layer between languages). V8 has something similar.

I don't think you can really say static linking is more effective in Chrome or Firefox. Both browser architectures are broadly similar these days.

</comment></comment></comment></comment></comment></comment><comment><USER14> Objective-C was a very interesting language, in some ways much better than C++ while filling the same type of role. It's a shame that so much effort is being thrown away by Apple. I recommend anybody who has an Objective-C program that they don't wish to rewrite in Swift to look into GNUstep. I personally have two Objective-C projects which I will not be porting to Swift, instead I will port them from Cocoa to GNUstep.

<comment><USER15> I'm curious why you feel the need to port them at all? ObjC is pretty far from dead. Perhaps the ObjC runtime will be abandoned by Apple at some point, but I can't see even deprecation ( _not_ removal from their shipping systems) taking less than a decade.

In particular, note that Swift on Darwin platforms is _intimately_ tied to the ObjC runtime. I wouldn't be surprised if there are long-range aspirations to change that, but it's not feasible in any short term.

</comment></comment><comment><USER16> Very interesting paper. I was a bit puzzled, though, at the assertion related to the Stepstone graphics libraries that X11 was still "years away". The chronology of the paper is not 100% certain in that area, but my impression was that this assertion was set in something like 1987/88, and X11 was released in late 1987.

<comment><USER17> I guess it has more to do with the bare bones X capabilities and the alternatives like NeWS.

</comment></comment><comment><USER18> Eventually software industry revolution was brought by an open source movement and likes of NPM and PyPi repositories.

<comment><USER19> CPAN existed several years before.

</comment></comment><comment><USER20> Software ICs (Integrated Circuits)

</comment><comment><USER21> Glad it's going away, the syntax is a chore to read and understand. There's no valid reason for the use of brackets.

<comment><USER22> There's also no valid reason for the non-use of brackets, is there? They're just different. It didn't take long for them to feel natural to me when I started coding in ObjC, and the named method parameters that go with them make ObjC code (in my eyes) delightfully self-documenting.

<comment><USER23> > different. It didn't take long for them to feel natural to me when I started > coding in ObjC

definitely, and for people like me, who started coding when they were young (on mac/ios) there was no bias for or against such syntax (i also learned c++, and java at the same time and have no special love or hate for those syntaxes either)

i think alot of these "i hate this syntax" issues are people just not liking what they were not used to...</comment></comment></comment>


Google's former happiness guru's three-second brain exercise for finding joy - <AUTHOR> http://qz.com/818998/googles-former-happiness-guru-developed-a-three-second-brain-exercise-for-finding-joy/ <comment><USER2> I think being a multi-millionaire and being able to do whatever you want, including nothing, is the real key to being able to "find joy". I don't think it has anything to do with his "exercises". Take away his millions, have him struggle to pay for rising rents with kids to clothe and feed, and put him in a job that he can't afford to quit and where he has to struggle every day with a shitty boss and I guarantee his techniques won't work.

<comment><USER3> I guarantee there are people in that exact situation who are doing just fine. The same rain that drenches the dog rolls off the duck's back unnoticed.

That being said, probably not a good idea to become responsible for other people before you've got your own life figured out.

<comment><USER4> >That being said, probably not a good idea to become responsible for other people before you've got your own life figured out.

That seems rather offensive and narrow-minded. Sometimes life has its surprises that weren't expected. Life can also throw us curveballs. One day you might feel like everything is going well but then something changes. I'm sure some of the 300 or so people at Twitter who are about to lose their jobs probably thought they had things figured out.

<comment><USER5> I think he mis-phrased "before you've got your own life figured out". I think he wanted to say that before you tell other people how to deal with problems you should have gone through some challenges yourself. For example: somebody who has joined google early (which I attribute mainly to luck) and made a lot of money should be careful telling people who are getting laid off how to be happy.

<comment><USER3> I was referring to becoming a parent before you're ready. That's like an overweight person getting on a treadmill for the first time and cranking it to a 6 minute mile pace. Of course you're going to be miserable, it's your own fault, you were foolish.

<comment><USER5> How about: don't give parenting advice before you have raised a kid?

<comment><USER6> Perhaps they already do speak from experience.

As a parent, I'm not sure if there's ever a "ready" point, but I definitely feel like my life (and my kids') would have been tangibly more difficult had I decided to have them a decade earlier. Parenting is hard.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Something I do with my kids every night after bedtime stories: we each think back over the day and tell each other what the best part of our day was. I started doing that in a bid to get them in the habit of noticing good things through the day and it seems to be working. Also, they love it - more than stories or songs. We can miss stories and songs some nights if we're out late, but they won't go to bed until we talk about our day.

<comment><USER8> we started a practice ~1 month ago that a friend taught us. we now ask 3 questions of each other 1) How were you brave today? 2) How were you kind today? 3) How did you fail today? I've found it amazing how much conversation and learning it provokes.

<comment><USER7> I like the direction of this. I've been thinking lately about trying to inspire kids to greatness, similar to the way ancient Romans made their ancestors greatest achievements highly visible in their homes [1] to inspire and challenge their children. Your question about failing made me think about that - maybe there is room for a question like "What did you do to [change the world/help others/achieve your goal/etc] today?" The desire to have a good answer at the end of the day might be enough to inspire some big-picture thinking.

1\. Something I read somewhere, reference long gone now unfortunately.

</comment></comment></comment><comment><USER9> The article states "People seem to get better at savoring the moment as they age". As a father of four, I'd like to point out that young children do this constantly! It seems that it's an ability that we have, and then lose, and then (hopefully) regain.

<comment><USER7> I'd bet it's inversely proportional to the number of things we have available to worry about. Kids and older people don't typically have (as) much to worry about as middle age people who are raising kids, caring for elders, paying debts, and trying to hold down jobs.

<comment><USER10>
        > I'd bet it's inversely proportional to the number of things we have available to worry about.

When I was financially free I almost went crazy from lack of stress.

<comment><USER11> This is actually one of the roots of PTSD. A switch is turned on that can't be turned off, and it puts you in the strange situation of wishing you were back in the stressful situations of combat.

</comment></comment></comment></comment><comment><USER12> Here's my three-second mood improver: Think of a major positive event in your life. Imagine what your life would be like if it hadn't happened. Sounds silly but it works every time.

<comment><USER13> >Imagine what your life would be like if it hadn't happened. //

It doesn't sound sill it sounds to me like it would have the exact opposite effect. So I'm feeling low and I think "imagine if I'd not got my job, then I'd be feeling crap _and_ be hungry and possibly homeless .. basically I'm an incapable and worthless person .. might as well top myself now".

In contrast I practice enjoyment of those things which make my life better, like dwelling on their benefits drinking deeply of the contentment a moment of happiness can yield.

Glad you've found something that works for you; and I'm going to dwell on that rather than imagine you hadn't and instead had become morose!

<comment><USER12> Well thinking about a bad future can get you down, but thinking about a bad past/present that was avoided would cheer you up. Even if it's just to keep you from daydreaming about how much better your life could be, and feeling bad about how far "behind" you are.

</comment></comment></comment><comment><USER14> The trigger action reward loop was studied nicely in "The Power of Habit" but it's a lot harder than it sounds. I'm still not quite sure where the three second brain exercise comes from... Maybe I'm missing it because I'm not finding joy in the article?

<comment><USER3> For those reading this comment, I would honestly advise just picking up a psychology textbook that focuses on learning; the "Power of Habit" he refers to is just basic learning and behavior modification. The "Power of Habit" book is full of rambling anecdotes that do more to obfuscate the valuable content than emphasize it.

<comment><USER15> I too found the anecdotes rambling and in the way. On the other hand, some folks may find the stories to be parables or mind palaces [1] that enhance retention of key points. YMMV

1\. [https://en.wikipedia.org/wiki/Method_of_loci](https://en.wikipedia.org/wiki/Method_of_loci)

<comment><USER16> Active learning is usually more effective than passive learning , so reading a shorter focused book while building memory palaces should be more efective .

</comment></comment></comment></comment><comment><USER17> Holy crap, that stuff from silicon valley is real?!

<comment><USER18> Check out the New Yorker article[1] about how the series Silicon Valley nails Silicon Valley. My favourite paragraph:

>Teller ended the meeting by standing up in a huff, but his attempt at a dramatic exit was marred by the fact that he was wearing Rollerblades. He wobbled to the door in silence. "Then there was this awkward moment of him fumbling with his I.D. badge, trying to get the door to open," Kemper said. "It felt like it lasted an hour. We were all trying not to laugh. Even while it was happening, I knew we were all thinking the same thing: Can we use this?" In the end, the joke was deemed "too hacky to use on the show."

[1] [http://www.newyorker.com/culture/culture-desk/how-silicon- va...](http://www.newyorker.com/culture/culture-desk/how-silicon-valley-nails- silicon-valley)

</comment></comment><comment><USER19> I feel like this is artificial happiness, to a certain degree. I feel like something _for a reason_. If I feel unhappy it's more of a benefit to me to figure out what's making me unhappy and do things to remedy that, rather than spending time on a hack so I can continue to do things I don't enjoy, for example. It's treating the symptoms of the problem but ignoring the problem.

I also think that with myself (and possibly others), that it would lead to the habit of "Rather than setting aside time to do things I enjoy, or stepping away to do things I enjoy, I'll just do this exercise to be able to continue working my life away".

<comment><USER20> I don't know, there may be too many problems and sources of unhappiness in the world to take that approach depending on your perspective. I think this is actually one of the causes of some really bad biases (just world hypothesis) that people have: they tie their happiness to their projection of reality, and are then compelled to keep their projection of reality to be very positive to stay happy.

</comment></comment><comment><USER21> TLDR; "stop and smell the roses"

</comment><comment><USER3> The idea of savoring experiences is a good start. An even better technique is when your brain isn't otherwise occupied, actively look for things around you to appreciate or enjoy. Most miserable people's default behavior is to look for things to criticize, get angry over, be annoyed with, etc.

<comment><USER20> Most miserable people also exist in miserable conditions where there are not that many chances for them to enjoy something or access to a philosophy that allows them to do that.

Please have a bit more empathy for your fellow man, and remember that nobody tries to be miserable on purpose: something must have went really wrong along the way.

<comment><USER3> I have a great deal of empathy for my species. That doesn't mean that I always have to be gentle. Jesus was about as loving of a cat as you could imagine, but there were times he laid down the law when people were out of line.

The idea that only special things are worthy of being savored is at the root of the problem. A sunset, a flower, a slice of cheese pizza, whatever - it's beautiful, appreciate it.

<comment><USER20> Empathy is not about being gentle, it's about being able to understand the perspective, life situation, and mentality of another.

Sunsets, flowers, and good-tasting slices of cheese pizza are actually kind of special. Plenty of people don't have access to these things. They wake up before the sun is up, then they go work in some building away from trees and flowers and the sky, eat the only cheap, low quality food they can find, and then come back home when the sun is already down. And after living life like this for many years, their brain starts to forget the beauty of the flower or the sunset or the cheese, and when they finally see it, it doesn't look as bright and beautiful as it does to us.

[http://ivn.us/2014/05/23/the-psychological-effects-of- povert...](http://ivn.us/2014/05/23/the-psychological-effects-of-poverty/)

[http://pss.sagepub.com/content/early/2015/08/25/095679761559...](http://pss.sagepub.com/content/early/2015/08/25/0956797615597672)

<comment><USER3> I feel for people that are suffering. I've been homeless, I've been crushingly poor, I've spent time with poor people in third world countries, I've suffered through all kinds of nasty stuff - I know firsthand what it is like.

If your life situation is such that you don't have the ability to experience a sunrise/sunset/pretty flowers/cheese pizza/a variety of other equally common but amazing things, it is almost certainly because you put yourself in, and keep yourself in that situation. There's pretty much always a better option, if you really take a close look at things. I have limited empathy for self- imposed suffering, I feel that only reinforces bad choices.

The analogy I make for most people is that their unhappiness is like being in jail, only their cell door is unlocked, nobody is guarding the prison, and nobody is keeping track of who should and should not be there. You could literally walk out at any time and be free.

As for a hard life dulling your ability to feel pleasure, you are in control of how much you attend to your senses. It is exactly the thing my original comment was about - don't focus on how bad your life is and how much you suffer while you put this marvel of modern culinary magic in your mouth. Instead, quiet the mind, take a deep breath and inhale the aroma of the food. Really look at that beautiful slice of deliciousness, then take a bite, and roll it around on your tongue to truly feel the crispness of the crust and the spring of the cheese. Let the waves of flavor roll over you as the sauce and cheese intermingle in your mouth. When the food has been chewed to the point it is no longer pleasing, then swallow it and enjoy the feeling as it travels down into your stomach. You can literally do this for ANYTHING pleasant in your life, and it makes things _so_ much better.

<comment><USER20> It doesn't sound like you are feeling for people that are suffering. Unfortunately, that is not something one can take on faith. What it sounds like is that bad things happened to you, you internalized them and blamed yourself for it, then you got away from those bad things but never really learned to empathize with your own self or left the mentality of being at war with yourself. And when you got out of your bad situation, you decided that your approach was the main contributor and that it must work for everyone else.

You're not empathizing, you're projecting. And in your projection, you were in control of everything, even if in reality there were likely many perils that you simply didn't notice, and a lot of things occurred by accident.

The problem with this approach is that it results in a very serious warping of the concept of cause. All failures are attributed, but also all successes are attributed. What happens when one with such a belief is successful? It all goes straight to their head, no filter at all. This perception assumes that neither chance nor third party causes exist, which means it's effectively impossible to have any empathy whatsoever for someone who was unlucky, and one feels highly superior to them. Which seems to be exactly the case here.

Empathy is more than trying to recreate your own feelings in an event, transplanting it to someone else's vaguely similar situation, and saying that you now know how they feel. Assuming that other people are exactly like you, have the exact same brain, and will feel things the same way empathy decidedly isn't. Empathy includes actually being able to understand people who are not like you at all. It also leads to understanding that there's a whole world of perception you will never have access to, yet you seem to be completely and utterly sure that you have figured out every person on the planet.

<comment><USER3> You're right, I did try to understand how my actions resulted in my circumstances. Then I figured out what circumstances I wanted to be in, identified the actions that had a high probability of putting me there, and took them. Not every action worked as desired, but the majority did, and I didn't get discouraged at the occasional failure - I learned from them. I was literally at the bottom of society, with every disadvantage, and now I'm pretty far on the other side of the distribution. I'm not particularly gifted in any way, I just never quit striving, I thought carefully about my actions, and I learned from my mistakes. Almost anyone could do what I did, provided an example to work from.

I am happy to step forward and uplift people who encounter adversity, pick themselves back up, figure things out and keep striving. On the other hand, I'm not going to provide positive reinforcement to people with a negative attitude who think life comes down to luck/genetics/parents, and they are out of control. That attitude is a sickness, and acknowledging it is like giving a homeless drug addict money; you might think you're helping, but you're only fueling their downward spiral. I understand perfectly well that the addict feels substance abuse is the only way to numb the terrible pain and emptiness of their life - I know exactly how shitty they feel inside. Don't assume because I don't think coddling people with certain maladaptive life views is the best way to help them that I don't understand their suffering.

As for understanding people that are in no way like yourself, you haven't the faintest clue either - nobody does. That doesn't mean that when they are in circumstances similar to me, and they take actions that are self-defeating, I can't apply life lessons I've learned to them. Relativism taken to that extent is just foolishness.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> Go tell a poor mother in Syria that just watched her kid blown to pieces to savor her next drink of water because it is so refreshing. The real world is a tough place and simply sticking your head in the sand doesn't solve anything for anyone. Don't deny reality by trying to ignore it and help your fellow humans when you can.

</comment><comment><USER23> So if you ignore the gag-inducing clickbait title (small miracle I even clicked it) and start reading at "recognize thin slices of joy" in the third paragraph, this is actually a _really_ nice article :) Mindfulness in slightly different wording.</comment>


Ask HN: Great startups with affiliate programs? - <AUTHOR>

We're selling some ads on our blog but we don't want empty slots, so we're going to be using affiliate programs to fill any inventory we don't sell.  We want to promote companies we know and trust, so if you have a product you're proud of and an affiliate program, please let us know.<p>Note: The slots are 125x125, so ideally you either already have banners in that size or don't mind if we create one. <comment><USER2> We do. Email me stormpulse at gmail for details.</comment>


A New History of Arabia, Written in Stone - <AUTHOR> https://www.newyorker.com/culture/culture-desk/a-new-history-of-arabia-written-in-stone <comment><USER2> "He wrote to professors in Semitic studies around the country asking for guidance. They all replied, "Nobody starts with Akkadian—you need to learn Biblical Hebrew, classical Arabic, and Syriac first," he said. For two years, _he studied those languages on his own in the library_. After graduating, he was accepted into Harvard's doctoral program in Semitic philology."

wow he learned 3 languages on his own. Very impressive.</comment>


Memoirs from a Disgruntled MBA - <AUTHOR> http://rippleq.blogspot.com/ the rants of a Stanford social software entrepreneur <comment><USER2> Wow, I read this. Tried to forget it. But it annoyed me so much I had to respond...just so I can get it out of my mind and get back to work.

I tried to be as constructive as possible in my criticism...but reader beware...

\-----The Constructive Part</comment><comment>

Let me help you find your code monkeys.

First, stop spending any time at meetups and hackathons. That would only make sense if you were a technical person looking to recruit some talent. You're on the wrong side of the fence to get anywhere at those types of meetings.

Second, re-evaluate your value proposition to any potential developer you are thinking about recruiting. I bet you are either being incredibly cheap on the compensation package you are offering (a dollar saved is a dollar earned, right?!). Or your core business model is lame/flawed/weak/not interesting to whomever the developer is you're pitching it to.

Third, get creative. Dress up in a monkey costume and stand outside the Facebook/Zynga/Twitter/LinkedIn office with a sign that says something that will get a developer's attention. Go big. Go over the top. Do NOT underestimate the power of creativity. If you approached me with a boilerplate MBA pitch, I would immediately discount everything you say because I'd think you are full of shit. Now, if you were willing to humiliate yourself, make me laugh and look like you were having fun doing it, then you'd have my attention. Re-read the Obama-O's AirBNB story. Get creative.

Fourth, get busy building the product yourself. You don't need to be a developer to build out business requirements. If you came to me with flushed out wireframes and business requirements and very clear technical roadmap, I'd be WAY more interested than if you came to me with a killer 80 page Stanford business plan. I don't even know who Steve Blank is...neither does any other developer. Realize that anything non-technical (i.e. marketing plans, financial projections, org charts, etc) is all irrelevant to recruiting a developer. All of those items are vitally important for a successful startup, but they are all fluff. They don't (in the eyes of a developer) require much time, effort or thought. If that's all you brought to the table, you'd be seen as a Winklevi (i.e. I came up with this brilliant idea...here's 10 sentences on the product...now go build it code monkey...and here's 0.5% of the company).

\-----The Criticism Part-----

"Last week we had a big strategy and planning session, and I had to decide to hold off on signing up any new customers or channel partners because we don't have the bandwidth in product development to deliver let alone improve the platform."

So let me get this straight: you are so successful selling a real solution to a real customer problem that customers are willing and able to pay good money for (i.e. the hardest single thing to do in a startup) that you have to pull back your sales efforts, but you can't figure out how to recruit technical talent?!

I'm calling bullshit on that one.

More likely, it's a group of MBAs sitting around in their argyle sweater vests _thinking_ they are just killing it in sales, yet they are only able to sell a vague idea of a fictitious software product that they haven't even written business requirements for yet. The rubber isn't even close to meeting the road yet.

Why are you spending one second on a 'big strategy and planning session'?! Seriously. You're biggest problem is hiring developers. And you're a software product company. Huh?? Spend every waking hour finding technical talent. Stop the circle-jerk planning sessions already! Go buy a bunch of bananas and find your code monkeys!

Maybe I got a bit hot-headed, but I settled down and tried to offer some specific advice. Hope you were able to get something from it.

<comment><USER3> I have to chime in here and say that I know Lloyd personally and am intimate with some of the details of RippleQ, and the rubber has hit the road in a big way.

These guys have built out a solid product, that major companies are paying for, and are getting great feedback from their customers. I understand why you would be tempted to call bullshit, but it actually isn't anywhere near bullshit.

<comment><USER2> Thanks for the personal validation.

Good for Lloyd and RippleQ.

All that should make his job of finding technical talent much easier.

However, obviously something is askew if what you said is true and yet, he can't find any technical talent.

I'm actually meeting with him next week to see if we can figure it out.

</comment></comment></comment><comment><USER4> #1 makes no sense. Facebook/Google/Zynga/etc pay hires more because they can no longer offer hires significant equity, like an early startup can. A startup is never going to beat an established company on pay, it's going to beat it on equity. If an offer of significant equity doesn't convince a potential developer to come onboard, perhaps the problem is that the company isn't promising enough.

<comment><USER5> It sounds like this MBA is angry at the most basic law of economics: when the supply is less than demand, prices go up.

<comment><USER6> Seems more like he just didn't realize how much demand there was, and how little supply.

</comment></comment></comment><comment><USER7> I honestly can't comprehend someone writing #1 as anything but a joke. You're seriously upset that Google can afford to hire good talent and doesn't treat its employees like shit?

Also, "Shame on you for not squeezing salaries to cut your costs" is not a way to attract good developers.

<comment><USER8> I'm going to give the author the benefit of the doubt here, because sarcasm is notoriously hard to transmit through text. I think he's being tongue-in-cheek while complaining that hiring is difficult because Google/Facebook/etc have collectively raised the bar about what sort of compensation is expected to levels that are hard for him to match.

<comment><USER9> they supposedly teach that at business school:

<http://en.wikipedia.org/wiki/Supply_and_demand>

Have you ever heard a physicist whining at e=mc2?

</comment></comment></comment><comment><AUTHOR> You guys sure are tough, but I kind of expected it by putting 'MBA' in the title of my post. I can't blame many of you for disliking MBAs. MBA graduate programs are a vestigial product of the industrial era where an aristocratic group of elite were given the reins to control (a.k.a. manage) the workers and get them to do the work. That pisses me off as much as the next guy. Nonetheless, for those of us trying to build post-industrial open enterprises (check out www.Worldblu.org for a glimpse of what I'm talking about) it's also hard to argue against the fact that good management is an important part of any successful enterprise. Just as the stereotype of engineers as nerdy, socially awkward introverts is not true neither is that of the MBA stereotype. For example, I play squash not golf, and I wear penny loafers never argyle sweaters (read: this is a tongue and cheek comment, meaning it's not true but written solely for comic effect and perhaps -- if I'm going to be completely honest-- as a slight dig back at those of you who felt entitled to stereotype me unfairly). I read over my post and can totally understand some of your comments, particularly from readers who didn't catch the sarcasm. I don't actually think Google is evil for paying its engineer a lot. I have a ton of respect for Google: in fact I have a lot of friends working there and Eric Schmidt taught us at Stanford.) The important point in my blog was that we've done a good job to date boot-strapping rippleQ to identify a market need, to build a cool product (iterating a lot along the way) and, most recently, to sell to a number of enterprise customers. We're poised to raise a series A round now too. In other words, we're doing all the right things but struggle to find top web developers because the demand is already so high in the valley. It's obviously difficult for everybody (e.g. companies are advertising on road-side billboards now to attract engineers!). I've continued to receive great advice on how to reach out to recruit great engineers (and we're talking with a number of engineers now -- thank you to those who referred people!), but I thought I'd just rant a bit out loud, and I guess I thought (perhaps mistakenly) that out of my rants an awesome developer would fall out of the sky, contacting me interested in learning more about rippleQ. Some entrepreneurs wear monkey suits, I write disgruntled emails that poke fun at myself and MBAs!

</comment><comment><USER10> Can't wait to see this revolutionary implementation of social game mechanics that will improve capitalism for the benefit of all.

This person managed to get into the most selective and sought after MBA program on the planet so I want to give him the benefit of the doubt but, jesus...wtf?

</comment><comment><USER11> The real problem is not what you think. The real problem is that some employers (MBA's?) don't know how to recognise and employ technical talent. There's talent around, it's not too hard to employ. It's just that some employers have the wrong set of measures of people.

I spend all my time finding great people who are often knocked back after a set of selection criteria is applied that often filters out good people.

So Lloyd I am afraid that the problem is not the fault of Google or LinkedIn or job boards, it's that you're not recognising the great people because your assessment process is probably flawed.

How about you post here your technical interview questions and your requirements and the tests that you give people?

<comment><USER12> In my hunting for a job, the three most annoying things that some employers do to potential tech talent: \- Instant rejection for missing one of a laundry list of technologies. There's no desire to grow people into positions. \- Long competency tests that are really a test of your ability to recall or search for solutions/trivia. \- Zero feedback. Completely relying on the job-seeker to follow up.

</comment></comment><comment><USER13> _1\. Google and the other big boyz talk a big game about doing no evil, but giving out huge salaries and signing bonuses to attract the best talent is just plain evil from my vantage-point._

This is parody, right?

<comment><USER14> Yes, I think the tone is meant to be lighthearted. Though from the rest of the comments on hacker news, I think the author missed the mark.

<comment><AUTHOR> (yes, tried to be lighthearted and definitely missed the mark!)

</comment></comment></comment><comment><USER15> (cross-posted from the blog's comments - didn't realise they're hidden by default)

Just a few comments (from a developer/entrepreneur's perspective):

> I hate asking around for help.

We all do. Asking is hard. But if you're aiming to be a successful entrepreneur, you will have to do things that take you outside your comfort zone. That's the whole point. Bite the bullet, swallow your pride.

> There are so many job boards and most of them are useless.

Yep, that's exactly right. Don't use them. If you want to find great developers (and you're not Google), nine times out of ten you're going to have to do the legwork yourself.

> "I'm looking too. If I found a good software developer, I'd take him. > Sorry!" Not cool.

That sounds fair enough to me. Good developers are, as you've discovered, rare. If they're putting the work in, they deserve the payoff - why should they give up a potentially valuable employee just because you asked?

The common theme here seems to be that yes, building a company from the ground up is really hard, and it's a ton of (sometimes frustrating and thankless) work. If you have faith in your company's ability to succeed, you need to do whatever's necessary to get them there.

</comment><comment><USER16> Assume that he really cannot dole out a huge salary ... how much should he be offering in equity?

Assume that I'm a badass software developer who specializes in scalable web- based systems. In that case, you can also assume that a.) plenty of people approach me with their middling ideas all the time, wanting me to work for peanuts/equity, and b.) I already have a job.

What else could he offer that I might find motivating?

<comment><USER2> First, timing/serendipity is a huge factor and there's nothing anybody can do about that other than keep at it.

To answer your question: Offer a real chance of success.

Success is my personal financial success, not just company success and it has to be financial success.

How many POS startups are out there that will never amount to anything?! 50% of 0 is 0.

Prove that you (the hustler) have what it takes to make this opportunity succeed.

Prove that this opportunity WILL succeed.

Give me enough equity that will pay 3-5X my base salary with the low/conservative projections and 20X my base salary with the homerun projections. That's based on a 2-3 year commitment.

Give me the ability to do my thing (hacking) without you (the hustler) meddling in it.

It's pretty easy, if you're a really good hustler who's actually out there making it happen.

</comment></comment><comment><USER9> if i were looking, i'd not apply at his company after reading this as he just doesn't seem to be a good problem solver. A successful leader would post a solution (or at least reasonably constructive ways to approach the problem) instead of whining at the problem.

</comment><comment><USER17> How are MBA programs so behind? I mean, talented/successful entrepreneurs flock to the teaching positions at top MBA programs. Why do they remain to set in their ways?

A question for you all you disgruntled MBA's -- how do you make MBA programs more agile/nimble?

<comment><USER18> Let us inspect the definition of an MBA - nope. nothing there.

How about the sales pitch B-Schools make - nope they don't. $$ is the only promise.

Basically what we see here is that institutions are issuing certificates saying that they are capable of producing an individual who fits into _any_ leadership role in any org without any domain specific knowledge and can keep everything going smoothly.

After that analysis, the usual response I get from people is that MBAs are great at networking and blah blah. So navigating the communication hierarchy of an org takes 2 years of training ? And this is enough to produce "Da Boss" for an org ?

When you sign up for a 4 yr CS degree - you are guaranteed some exposure to a mixture of CS concepts, same for EE. A masters degree / PhD are also reasonably defined. Can anyone produce a similar intuitive definition for an MBA ?

</comment></comment><comment><USER19> My views on MBAs notwithstanding, anyone with a Stanford degree should know the difference between "haven" and "having."

<comment><USER20> It should also be je ne sais quoi not je ne sais pas. Actually that entire phrase should be deleted as it is unnecessary.

<comment><AUTHOR> now fixed. Thanks for pointing out the error.

</comment></comment></comment><comment><USER21> The use of 'haven' instead of 'having' made it impossible for me to complete this article. I would have expected a higher quality of writing from a Stanford graduate.

</comment><comment><USER22> Shame on the evil MBA for whining about market price.

</comment><comment><USER23> Wrong requirements..

He is searching for a co-founder but not giving the benefits of a co- founder..that is a sale he will never make..ever.</comment>


Video of Socialthing's first pitch - <AUTHOR> http://www.techstars.org/community/2008/08/sociaol-thing/

<comment><USER2> It was kind of boring -- not that the app isn't good or that it was a bad idea -- they didn't demo anything they just talked for three and a half minute about a pain that only needed 90 seconds. It was the same listless and disaffected speeches I would make back in high school classrooms.

<comment><USER3> Judging from this video, it seemed like kind of an iffy investment. They stated one competitive advantage over the few sites they mentioned like profilactic, which was that they would push content instead of just pulling.

In reality, though, a site like socialthing is limited by the APIs that they can access. They didn't build some novel technology like the folks at Dopplr for extracting interesting information from your social network data. They are using the same APIs that all of the other aggregation sites use, so they had no reason to believe at that point in time that their competitor sites wouldn't use the same APIs to push content as well.

I have a beta account at Socialthing and replying to Twitter posts is the only significant pushing ability that I've seen from them (correct me if I'm wrong) Those other aggregation sites do the same thing too (including profilactic), as was inevitable. Either way, congratulations are in order for such a quick exit. They were doing something right!</comment></comment>


The Dark Side of Hadoop - <AUTHOR> http://tech.backtype.com/the-dark-side-of-hadoop <comment><USER2> A few months ago I got my hadoop cluster stabilized (64 cores with 64 TB hdfs space). It wasn't a pleasant experience. The most memorable frustrating parts of the setup:

Searching for help online results in solutions for ancient versions or incomplete wiki pages ("we'll finish this soon!" from three years ago).

If Apple is one extreme end of the user friendly spectrum, hadoop is at the polar opposite end -- the error conditions and error messages can be downright hostile. The naming conventions are wonky too: _namenode_ and _secondary namenode_ , but the secondary isn't a backup, it's a copy. And don't get me started on _tasktracker_ versus _jobtracker_ (primarily because I can never remember the difference).

Restarting a tracker doesn't make it vanish in the namenode, so you have to restart the namenode too (at least in my CDH3 setup).

Everything is held together with duct tape shell scripts.

On the good side, I got everything hadoop related managed in puppet. All I need to do for a cluster upgrade is load a new CDH repo, reboot the cluster, then make sure nothing is borked.

If I didn't have to deal with isomorphic SQL<->hadoop queries, I'd start over using <http://discoproject.org/>

<comment><USER3> Disco looks incredible. Are you aware of any big production uses of it outside of nokia?

<comment><USER4> I work at Nokia and I'm not aware of any big production uses of it _inside_ Nokia. Most of the teams in my part of the company use Hadoop.

Oh well.

<comment><USER5> Actually the largest MapReduce cluster at Nokia runs Disco. Feel free to contact me at ville.h.tuulos at nokia dot com if you want to give it a try.

</comment></comment></comment></comment><comment><USER6> It's good to have critical reviews. But perhaps it could have been better if the tone were more respectful towards a _free and open source_ project.

The approach of Hadoop is not my cup of tea, but I praise them for giving for free a working product solving such a hard problem.

Playing Hadoop's side, where are the test cases, the patches or bug reports? Or even some missing documentation blurbs, like you mention.

<comment><USER2> We've become spoiled.

 _open source_ has different levels ranging from "made in basement and released to the world" (one maintainer, patches welcome) to "throw over the fence" (you can see the code, but nobody cares about patches) to "we're an open source corporation" (apache, patches welcome if you follow steps 1 to 22).

Hadoop falls under apache governance which means jira, contributor license agreements, and spending a week of your life trying to get your point across. It's much easier to complain like the spoiled developers we've become.

<comment><USER7> _It's much easier to complain like the spoiled developers we've become."_

By your own comments, that's not really fair. The Apache project has become a disaster area of bureaucracy, crappy code and crappier documentation. You have to spend weeks in the muck to get to the point where you can even properly understand the deficiencies of any given Apache subproject, and by that point, you're so bound up in the project that it's hard to move away. From the build system of the code to the structure of the community, not a single thing about Apache is what I would characterize as nimble or lightweight. Can you blame people for feeling helpless?

It's gotten to the point where I'll look _anywhere_ for a competing implementation of an idea before using Apache code to do something. It's just not worth the pain.

<comment><USER8> I feel exactly the same way about Apache projects, and even now it's very rare to meet a fellow traveler.

Years ago I had the same _emperor has no clothes_ realization that the ASF was an enormous BureaucraticBullshitFactoryFactory — that it was seemingly founded just to host enterprise middleware crap while trading on the name of httpd (without really developing it of course).

It took quite a while before I realized that the Apache Software Foundation was just the new IBM — and not just figuratively, if you actually looked at the active membership of the ASF, it was chock full of IBM employees contributing on company time.

</comment></comment></comment></comment><comment><USER9> > This means that the Hadoop process which was using 1GB will temporarily > "use" 2GB when it shells out.

This is exactly not what happens, the new process copies only the parents address mappings (now marked read-only), which represents vastly less than 1gb physical memory.

I think only a single 4kb page or two will ultimately be copied, representing a chunk of the calling thread's stack used to prepare the new child before finally calling execve() or similar.

<comment><USER10> As far as I understand it (I could be wrong as I've pieced this together from multiple sources), forking still reserves the same amount of memory that the parent process is using without actually copying the data (since it could very well use all that memory eventually).

The wrench is that Linux has a feature called memory overcommit (which I haven't been able to decipher completely). Supposedly it causes forking to not actually reserve that much space, but by default it's in a "heuristic" mode so it may or may not take effect.

These are the best resources I could find on what happens when you fork:

[http://developers.sun.com/solaris/articles/subprocess/subpro...](http://developers.sun.com/solaris/articles/subprocess/subprocess.html) [http://lxr.linux.no/linux/Documentation/vm/overcommit- accoun...](http://lxr.linux.no/linux/Documentation/vm/overcommit-accounting)

<comment><USER11> We got bitten by the same bug shelling out from the JVM. We ended up running socat in a separate process and bouncing all our external processes off it instead. But it's insane that you even have to think about this kind of thing.

<comment><USER12> Still, it does make you step back and wonder why they've put together Hadoop nodes and intentionally ran them without swap. The resulting OOM is not surprising.

</comment></comment></comment></comment><comment><USER13> I would be interested to hear why riak, disco etc aren't viable alternatives. I've seen very few good comparisons of the various options (the Mozilla data blog being the only one that comes to mind).

<comment><USER14> "Risking" a downvote for a basically "me-too" reply, I would also be very interested in such a comparison or even a simple blog post of the experience (good or bad) with alternatives, especially disco.

</comment></comment><comment><USER15> We've seen all of these issues, but the primary causes appear to be either problems in configuration of the cluster (which you typically don't see until you're doing serious work, or working with an overstressed cluster at scale) and problems with underlying code quality of the jobs (e.g., processes hanging due to tasks which don't terminate due to inability to handle unexpected input gracefully--infinite loops or non-terminal operations). If you're working with big data, particularly data that isn't the cleanest, you'll start to see some of these issues and others arise.

Despite those issues, the most remarkable thing about Hadoop is the out-of- the-box resilience to get the work done. The strategy of no side-effects and a write-only approach (with failed tasks discarding work in progress) ensures predictable results--even if the time it takes to get those results can't be guaranteed.

The documentation isn't the greatest, and it's very confusing sorting out the sedimentary nature of the APIs and configuration (knowing which APIs and config match up across various versions such as 0.15, 0.17, 0.20.2, 0.21, etc., not to mention various distributions from Cloudera, Apache and Yahoo branches), but things are starting to finally converge. You're probably better off starting with one of the later, curated releases (such as the recent Cloudera distribution) where some work has been done to cherry pick features and patches from the main branches.

</comment><comment><USER16> I've been using Hadoop in production for about 3 years on a small 48 node cluster. I've seen many issues, but none of the ones mentioned in the blog post.

My general theory is that if its an important tool for your business, you need at least 1 person to be an expert on it. The alternative is to pay Cloudera a significant amount per node for support. Another possible alternative is to use <http://www.MapR.com/>, they are in beta and claim to be api compatible with Hadoop, but they are not free.

</comment><comment><USER17> Memory; it's Java. Java is great, but is a memory hog. Doesn't matter so much these days (well it does, but what are you going to do... There isn't much OSS competition for Hadoop). The documentation is horrible though. I'm not sure if this is a 'new' OSS trend, but now that i'm working a lot with Rails and gems I notice that on that side of OSS it's pretty normal to produce no or completely horrible documentation; use the force read the source and that kind of hilarious tripe. Apache projects which are Hadoop related (Hadoop, Pig, Hbase) all suffer from this; you are hard pressed to find anything remotely helpful and not incredibly outdated. At least for rails you can find tons of examples (no docs though) of how to achieve things; for Hadoop/Hbase everything is outdated, not functional and requiring you to jump into tons of code to get stuff done.

Again; there is not so much competition for tasks you would accomplish with Hadoop (and Hbase) on the scale it has been tested (by Yahoo/Stumbleupon and many others).

</comment><comment><USER18> I never got the Hadoop craze. It performs terribly on memory and CPU, which is odd for something that prides itself on being HPC-oriented.

<comment><USER17> Alternatives?

Edit: Real alternatives I mean; something OSS (free is not so important, but no lock-in), able to manage huge amounts of data, actively developed, active projects built on top.

</comment></comment><comment><USER19> If you want general distributed process management, check out Mesos: <http://www.mesosproject.org/>

The guys working on it are over at Twitter nowadays.

</comment><comment><USER20> Shouldn't Hadoop users help to document it and contribute to it? Why isn't this happening?

<comment><USER21> A lot of users of Hadoop are companies with serious competition. If you took the time to figure all of this out, would you go post a howto for your competitors? No, might as well let them expend their own time and money to do what you did.

While that's not exactly the open source spirit, it is how plenty of people think and also happens to be the default, easiest thing to do. It would be nice if people could share to benefit themselves and each other.

</comment></comment><comment><USER22> I'd like to know what distribution they are running, and if they've tried others.

<comment><USER10> We used to use CDH3b2, but in the past month we switched to EMR. These and other issues existed in both distributions.

</comment></comment><comment><USER23> Yeah, hadoop is a bear to get working. One of the benefits of working at a more established company like quantcast, google, or presumably facebook is there are internal infrastructure teams to smooth all that over. I pretty much get to type submitJob and it more or less just works...

<comment><USER11> It would probably work better in a large company. We spent a couple weeks evaluating Hadoop in our small startup and came to the conclusion that we couldn't afford to have such an infrastructure team, and I imagine most startups considering Hadoop are in a similar boat.

<comment><USER24> We use hadoop at foursquare and it was set up and maintained by 1 person. It was a real bear of a job but he got it done.

<comment><USER17> It's definitely doable. It's just a lot of work.

</comment></comment></comment></comment><comment><USER25>
      Hadoop is so old school...
      Even Google moving away from Map/Reduce.
      Prepare for new shiny things,
      which will be better, faster and cheaper to operate!</comment>