You're not the CEO - You're the Fucking Janitor - <AUTHOR> http://www.zachbruhnke.com/youre-not-the-ceo-youre-the-fucking-janitor <comment><USER2> Seems appropriate to quote an old HN comment (<http://news.ycombinator.com/item?id=3905794>):

"After the first night of the 2008 SciFoo conference at Google, @gnat Torkington's twitter stream contained a gem: 'At SciFoo opening session. 300 people standing around networking. Meanwhile, Larry Page is quietly unpacking chairs at the back of the room.' (from memory, not exact)"

The CEO (or any leader)'s job is to make sure that whatever needs to be done, gets done. Sometimes, that means unpacking the chairs.

<comment><USER3> I'll share a story an interaction with a company that I worked heavily with while we were launching (this is a startup in a fairly niche, non-technical space. A smallish company with around 200 employees):

The "CEO": This guy had a large stake in the company. It was his baby, and while the "CEO" title (which I think gets _way_ over applied) fits him, his official title is "managing partner". While we were in the process of build->launch, he was _heavily_ involved in literally every single department. Not in a micro-managing way, in an "this needs to be done and here, I am going to help" way.

It would absolutely not have seemed strange to me, or anybody else, to see him out on a scissor lift with a hammer drill and some cables mounting something to the wall, if that's what was needed. When we _did_ launch, some things went...wrong.

The night before we opened, he, as well as some of his _friends_ , not even people employed by us, spent until almost-down doing "grunt" work. Dirty, tedious work moving huge heavy things around, and walking all over the place to get them.

That night he slept here (so did I)

The months leading up until that launch, and the months following it, he was here until well after dark because a lot of the people who had been hired were "green", and had no idea how to do their job yet. We were _all_ figuring it out as we went.

The culture here at that time was addictive (and I wish we could get that feeling back of "making it up as we go". We've got everything pretty well dialed now). People throw the cliche of "we were a family" around pretty liberally, and I'm going to throw it around too.

We were a family.

We ate together, we drank together, and the "core" group always left together, meaning that nobody left until _everybody's_ work was done. (including the managing partner, who absolutely didn't need to be, and was the one setting the example).

This has been an absolutely _amazing_ company to work for. The culture here was, or is amazing.

The sad bit is that a lot of the culture that I fell in love with has faded. Yes, we're growing (rapidly! Awesome!), but we've more-or-less all hit our grooves. I know what I'm doing, the "CEO" does to, and there aren't really any scissors lifts or hammer drills left.

\---

I guess I'll end the story with a question: how do I/we get back to that?

<comment><USER4> _how do I/we get back to that?_

If I am reading this correctly, you currently have around 200 employees and presumably started with less than that. If that is correct, break it up into two separate groups smaller than 150. Any time any part of the company grows beyond about 150 people, repeat. (Read "The tipping point" for longish explanation why. Short version: The typical human brain is designed for a "tribe" size of about 150.)

<comment><USER5> It's called the Dunbar number, and it varies:

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

<comment><USER4> Thank you. That is why I said things like _typical_ human brain and _about_ 150.

As I understand it, Napoleon inspired such loyalty in spite of how he treated his people because he could greet everyone by name and ask how their wife Elaine was doing, etc. It made everyone feel he caredabout them personally. I had similar talents when I was younger but never really knew what to do with it as I was a homemaker, but I am familiar firsthand with the types of emotional responses it inspires from people.

<comment><USER6> My grandfather co-founded an engineering company. One of the things he had to do was sales. His trick was that the first time he visited the company, he'd ask to get a company directory. The second time, he'd review that directory (which in those days typically had pictures), and when he walked in he'd greet everyone by name.

He was a very effective salesman.

(BTW the company still exists, <http://cmtengr.com/> is their website. My grandfather was Ray Tilly.)

<comment><USER7> I was talking to a friend of mine a bit ago; I was saying that I wanted some sort of wearable computer rig to do facial recognition for me; I thought that was one of the things holding me back as a bizdev guy. I'm bad with both faces and names.

My friend told me that he could remember faces well, but that more often than not it contributed to awkwardness when he could remember the other person's name, but the other person couldn't remember his.

<comment><USER4> My oldest son and ex husband are both really terrible with faces. I have gotten pretty bad at faces in recent years, but the evidence is that as my health issues resolve, _some_ of my lost abilities are returning. I feel really weirded out when people talk to me like they clearly know who I am but I don't recall having seen them before. I try to not let it show and I try to interact in manner which honors their apparent assumption that we are acquainted. I also just tell people I have a medical condition/crappy eyesight/am terrible with names and faces, etc. I ask "What was your name again?" People seem to appreciate that I am interested and don't seem to hold it against me that I am handicapped.

My ex was career military. He relied on nametags. My son has done some reading on faceblindness. Faceblind people often identify people by voice or some other trait instead of by face. Sometimes it goes largely unnoticed because they find another means to recognize most people reasonably quickly.

<comment><USER7> I dono. The times I've played along were always really awkward. It's usually easier if I say something like "who the hell are you?" (I mean, in a joking way; and with a "I'm horrible at faces" and story about how I was calling the new guy at one of my jobs "David" for 6 months before someone else pulled me aside and told me he was really "dennis" - see, our email standard was first initial lastname, and I remembered people by email aliases. I then mention my desire for some kind of wearable facial recognition rig.) I mean, I cultivate something of a coarse image, and I think I can usually pull that off in a friendly and self-deprecating kinda way.

In general, the sooner I get it out there, the better off the conversation goes. The worst is when I get their name and I still don't remember context. I mean, an ordinary wearable rig with a twiddler and an email lookup would take care of that.

<comment><USER4> I am in a different social setting than you and I seem to have a different skill set. It wasn't exactly intended as advice. I am not fond of advice.

For me, getting to be on the other side of the equation has been a growth experience. People with the kind of innate abilities I had frequently become what I view as con artists and master manipulators. I think they don't necessarily intend for it to be that way. They just don't necessarily understand what it is like to be at the disadvantage. I hope more of my innate abilities return. But I cherish the lessons learned from walking a mile in their shoes. It has made me a better person.

Peace and best of luck.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> "In reality, there is, perhaps, no one of our natural passions so hard to subdue as pride. Disguise it, struggle with it, beat it down, stifle it, mortify it as much as one pleases, it is still alive, and will every now and then peep out and show itself; you will see it, perhaps, often in this history; _for, even if I could conceive that I had completely overcome it, I should probably be proud of my humility._ " Benjamin Franklin (emphasis mine, and added only semi-seriously: how do I discuss the humility I take pride in?).

<comment><USER9> Humility isn't thinking poorly of yourself, humility is not thinking of yourself at all.

<comment><USER10> Yes. More from Mr. Lewis:

". . . . a man is not usually called upon to have an opinion of his own talents at all, since he can very well go on improving them to the best of his ability without deciding his own precise niche in the temple of Fame."

<comment><USER11> Until or she has to write a C.V. It's the worst thing in the world. I hate it. "I achieved the following..." well yeah, but with quite a bit of help from the people around me.

</comment></comment></comment></comment><comment><USER12> It's important to remember that the CEO/founder role is where the buck stops. You're ultimately responsible for every mistake and fixing it. He's right that it's not glamorous. I think that if you're a sole founder you figure this out pretty quickly though. And as a rule of thumb: Always ignore Silicon Valley hype.

By the way: writing words in ALL CAPS, _italicizing lots of things_ , and saying 'fucking' a lot made it painful to read that blog entry.

<comment><AUTHOR> Thanks for the feedback.

I typically italicize and bold things in an effort to break up the black/white monotony of my site but I'll keep the advice in mind and maybe go back and make some edits.

As for the 'fucking' I agree, it was actually pretty hard to write too. I grew up in a middle class family in the South most of whom would be appalled by the way this post was written(the language) but I thought it put some fire to the post, and the title as well.

<comment><USER13> My reaction to your use of "fucking" wasn't that it appalled me in some moralistic or linguistic sense. Rather, I felt like it (partially) undermined the point of your post.

The post is about how being CEO isn't all glamor, and includes doing dirty work as well. And you make clear that you feel the janitor, unlike a figurehead who merely signs documents, contributes something useful and necessary to the enterprise.

Unfortunately, denigrating the janitor by tagging the role as "fucking" just buys into the CEO-as-glamorous-leader mindset that the post argues against. It transforms the title from a correction ("You think you are the CEO, but in reality you are in charge of the dirty work") into a put-down ("You think you are the CEO, but in reality you are the lowest of the low.")

Yes, it sounds stronger-- but, in my mind, it shades your meaning in ways you probably don't intend.

<comment><USER14> The fuck.

What is up with this opinion? Fuck means sex. Why do we call these words obscene? Do you honestly think those words entered daily use? "Grab the fucking milk" said without any emotional meaning. People would actually reason more.

It's a prohibition on words, that makes them mean more artificially while contributing no logic to the discussion.

How dare ye try to elate an emotion in me! How dare ye!

Edit:I'm an idiot and wrote an argument to something you didn't say, but I'll leave it here cause it took me 5 minutes to write on the phone keyboard.

<comment><USER15> > Edit:I'm an idiot and wrote an argument to something you didn't say, but > I'll leave it here cause it took me 5 minutes to write on the phone > keyboard.

[http://en.wikipedia.org/wiki/Sunk_costs#Loss_aversion_and_th...](http://en.wikipedia.org/wiki/Sunk_costs#Loss_aversion_and_the_sunk_cost_fallacy)

EDIT: In other words, it's even more idiotic to leave it here after you've determined it was a mu post.

<comment><USER14> Hey I'm happy to live in a world of honest assholes.

<comment><USER16> Yeah, its the dishonest ones that fuck it up for everyone else.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Seriously, does anyone take anyone seriously who calls themselves CEO, CTO or CFO of a 5 man company? How about owner or founder. Maybe it's a cultural thing but here in the UK we'd definitely laugh at someone calling themselves that unless it was a company of a considerable size.

<comment><USER18> My boss (at a 3 person company) calls himself the president. I laugh at him for it, but ultimately I can't really criticize. Solo founder is a hard job, and if you're doing it why shouldnt you be able to call yourself whatever the hell you want? It's not like there are a whole lot of other perks, and what's the harm?

<comment><USER19> The harm is it often comes with a bad attitude, whether on purpose or not.

</comment></comment></comment><comment><USER20> A friend of mine is a multi-millionaire from running her own chain of nail salons. She is always going from store to store, checking on each store and if the store is busy, she'll be the first one taking the used foot water used for pedicures, sweeping, etc, doing whatever it takes to make sure the nail salonists can do their job, and also so that the customer is happy.

She deserves every penny of her wealth.

</comment><comment><USER21> I heard an anecdote a while back. One day, the employees of a small company arrive at work to discover that someone has taken a shit on the floor. Who's going to clean it? The owner of course. He didn't hire anyone whose job is to clean shit up, he can't reasonably expect any of them to do it, so he has to do it.

<comment><USER22> At the last small company I worked for, I came in one morning to find the CFO plunging the toilet and mopping the floor where it had overflowed. I laughed and made some comment about dedication to the company, he laughed and said well we don't have a cleaning staff so someone's gotta do it.

<comment><USER23> My dad owns a janitorial company of about 15 employees who service one local area of commercial offices. The janitorial service of the warehouse is paid separately to the employee who handles it. I always thought this was funny, but I appreciate the fairness.

</comment></comment></comment><comment><USER24> If you can make a definite judgement of someone based on their job title alone ('Intern'), you're already lost.

<comment><AUTHOR> Could not agree more Max

</comment></comment><comment><USER25> This is also a famous quote from Steve Jobs[1]:

 _Steve Jobs: (what the CEO does) I don't know. Head janitor?_

[1] [http://hot-facts.blogspot.com/2011/10/facts-about-steve- jobs...](http://hot-facts.blogspot.com/2011/10/facts-about-steve-jobs-apple- co-founder.html)

<comment><USER26> Actually, Steve Jobs' most famous janitor analogy takes it in completely the opposite direction - CEOs aren't like janitors, he says, because janitors are allowed to have excuses when things fail, and CEOs aren't.

[http://articles.businessinsider.com/2011-05-07/tech/30043798...](http://articles.businessinsider.com/2011-05-07/tech/30043798_1_janitor- steve-jobs-excuse)

</comment></comment><comment><USER27> I work with a small pharmacy that only has 5-6 employees. Every time I go there to meet with the owner hes on his hands and knees vacuuming or cleaning something. The last time I saw him there he was calking a chair back together. His exact words were, "Back to basics."

</comment><comment><USER28> In the UK we tend not to use CEO, we tend to use the term director or managing director.

In my day job I'm the technical director at Mandalorian. It's a cool job, but I'm generally pretty overloaded and usually underpaid. I don't do it for the cash or free time, that's for sure, but I do love making a difference for our customers. In a strange way I took this approach to 44Con. Everything I do at 44Con is about making sure the delegates have a good time and learn something. If we need to put leaflets on seats, I'm out there. If a delegate has a problem, I want to know so I can fix it.

A large part of startup success seems to be sales, but we shouldn't undersell the delivery and relationship aspects. If your customer is struggling to deal with you, then you're doing it wrong. If your customer has problems that you just can't fix, you're doing it wrong.

I'll be the first to admit I've failed on both parts on occasion, sometimes simultaneously, but it's our ability to learn from these things that sets the smaller guys apart from the bigger.

I'm the equivalent of a CEO at Mandalorian, but I'll proudly clean toilets if it makes for a better experience.

</comment><comment><USER29> There was a startup I did some work for a few years back.

The CEO attempted to remove himself from the washing up rota in the kitchen when a new employee came on board.

At this point I knew the company was doomed :-)

</comment><comment><USER30> My Wife owns a cafe underneath some flats.

Occassionally the flat sewerage backs up and effluent pours into the cafe basement.

My Wife as the owner is the one there ungumming the pipes until a plumber can be hailed.

</comment><comment><USER31> _"You're not the CEO - You're the Janitor"_ Would have been a perfectly fitting title. The use of the metaphor 'Janitor' was enough. Honestly does the profanity really add to the impact of the message?

</comment><comment><USER28> In the UK we tend not to use CEO, we tend to use the term director or managing director.

In my day job I'm the technical director at Mandalorian. It's a cool job, but I'm generally pretty overloaded and usually underpaid. I don't do it for the cash or free time that's for sure, but I do love making a difference for our customers. In a strange way I took this approach to my other thing, 44Con. Everything I do at 44Con is about making sure the delegates have a good time and learn something. If we need to put leaflets on seats, I'm out there. If a delegate has a problem, I want to know so I can fix it.

A large part of startup success seems to be sales, but we shouldn't undersell the delivery and relationship aspects. If your customer is struggling to deal with you, then you're doing it wrong. If your customer has problems that you just can't fix, you're doing it wrong. If you're sat in an ivory tower and refuse to get out and fix it when these things happen then you're doing it wrong.

I'll be the first to admit I've failed on all parts on occasion, sometimes simultaneously, but it's our ability to learn from these things that sets the smaller guys apart from the bigger ones. Startups can make small mistakes, the established companies make far bigger ones without noticing.

I'm the equivalent of a CEO at Mandalorian, but I'll proudly clean toilets if it makes for a better experience for our customers. Hoops? I live to jump through them, and I expect that from everyone I work with.

</comment><comment><USER32> My company went through TechStars this Spring and on Friday closed a respectable seed round. On Sunday I was scrubbing the floor in our office.

Being a startup CEO is glamorous only in the movies or in overly hyped bits and pieces. It doesn't completely suck, it's awesome at times and on average is more interesting than anything else I've done. But worthy of sharing intimate details as if I'm some amazingly interesting creature to be worshiped and followed? Please.

Customers make a successful company, not CEOs.

</comment><comment><USER33> Good post Zach. In fact, even though the CEO is company leader and the vision, if you got a startup of five I'd say everybody's the janitor! Titles mean very little in the early days when you're trying to launch a product. Everybody needs to be marketing, sales, product development, finance and legal - and of course the janitor crew. btw, good content outweighs format any day...

</comment><comment><USER34> Enough with the articles with curse words in the title. Grow up, little boys.

<comment><USER35> I find it ironic that you have a problem with curse words as they represent immaturity, but you're fine with throwing demeaning insults at people.

<comment><USER34> No irony in called a spade a spade. In my opinion, it the sign of a weak mind to need to use profanity to express strong emotion, of trying to 'write with fire' but failing utterly. A great writer never will need to resort to that so frequently, and then, when used super rarely, it is powerful. Used a lot, just meh -- and weak. Like an unrefined learner, a boy.

<comment><USER36> Only a child responds strongly to the world fuck. Most teenagers go through a phase of using it every third word. But, most adults I know only revert to peppering there language with it when they feel a type of mild annoyance. Normal speech and strong emotions evoke their own unique responses, but dealing with self absorbed idiots for to long and you think they might have Tourette syndrome while they unwind.

</comment></comment></comment></comment><comment><USER37> I almost completely agree with this post.

However, if you spend a _huge chunk_ of your time as a CEO (or founder/owner/whatever) performing a single task (or multiple rudimentary tasks) that could be performed better and more efficiently by a hired employee instead of using your experience to grow and propel the company, then you're doing something wrong.

</comment><comment><USER38> This article reminds me a bit of 'the parable of the silver bowls:' <http://www.youtube.com/watch?v=VjzqO6UOPFQ> \-- regardless of the size of the organization, its leaders are the ones who _must_ deal with the stuff no one else can or wants to tackle.

</comment><comment><USER39> Working in a cubicle isn't glamorous either.

At my last job I took out the trash when it needed to be taken out and I was a software engineer, that's just common courtesy.

Being a CEO would be an upgrade for me in every way no matter how many articles swear that it's the worst thing in the world.

</comment><comment><USER40> The problem doesn't just exist with small companies and startups. I've worked with C-level people from established companies who are no more self-aware; they feel the job title makes them important rather than responsible. They feel the job title means they work less rather than work more. In both cases the latter is true.

I'd take someone seriously as a CEO if they behaved like one and that includes involving your colleagues in what you do, be they the board of a fortune 500 company or a few interns for a bootstrapping startup. The arrogance that you are the only person who has good ideas is what kills companies and that goes double for startups of any ilk.

</comment><comment><USER41> I just saw this at my job last week - literally.

Walked into the bathroom and the CEO was in action with a mop in his hand. He looked up and said "Oh hey I'll be out of the way in a few seconds, sometimes the toilet in here leaks."

</comment><comment><USER42> This really struck a chord with me. My Job title on my public facebook page has been CEO/Janitor for about a year now. It started off as a joke, but eventually I came to realize the truth behind it.

</comment><comment><USER43> I love this post. We romanticize startups too much and I've seen too many people drunk on cheap venture capital and a C-level title on their business card.

Some of it is inevitable because if we saw what being a CEO really is then less people would try it. Being a CEO is always hands on. You can't just manage from behind with a small team. Dave McClure recently said something like, "if you're the CEO and can't code, market, sell, or design then fire yourself now or we will."

</comment><comment><USER44> What's wrong with being a janitor?

<comment><AUTHOR> Nothing at all. That's something I think I did not portray clearly enough in this post. There is nothing wrong with being a janitor. Someone has to do it, the point was really to display that you have to do anything and everything necessary to make your company successful. Titles are bullshit and egos should be checked at the door.

<comment><USER44> In that case it would be nice if people would stop bashing janitors.

<comment><USER45> Who is bashing janitors?

</comment></comment></comment></comment><comment><USER46> In my opinion CEO title should almost never be applied in a startup environment. It just shows how small you really are when you talk to people. I remember was working for one startup where we had CEO, CTO and me. How ridiculous it was before I came when the company consisted of exactly 2 people - CEO and CTO?

</comment><comment><USER47> With all due respect, when you submit _your own blog post_ to HN, you could at least have the courtesy to take 5 minutes to proofread it. And when you don't, it comes across as unprofessional and undermines any ethos you may have had, and I am very unlikely to read past the second paragraph.

</comment><comment><USER48> Really great post. The only thing I was expecting that wasn't there was something about having to be the janitor when it came to cleaning up other messes, like having to let people go, and then having to keep yourself from getting jaded and not taking firing someone seriously enough later.

</comment><comment><USER49> Your point would be more clear if the article wasn't troubled with spelling and grammatical errors. Just like a programming language, English has a syntactical and grammatical form for a reason: it makes it less likely to be interpreted incorrectly.

</comment><comment><USER50> Not a fan of the title.The post doesn't even go on to argue that "you're" not the CEO, just that "you're" ALSO the janitor. So "You're the CEO - but You're Also the Fucking Janitor" would be more accurate.

<comment><AUTHOR> OP here: Sorry about that, really what the post was meant to say is that if you think of yourself as the CEO there is already a problem, but if you think of yourself as the Janitor you're probably in the right mindset for success.

Did not really expect the post to trend up HN so fast, but thanks for reading and for the feedback!

</comment></comment><comment><USER51> When you finished being the janitor, you could be the web developer for a moment and fix the navigation which floats _above_ the text of the article on my Android phone when zoomed in via double tap.

<comment><USER52> Second that. Was pretty annoying during my commute.

</comment></comment><comment><USER53> Starting off with a strawman is a good way to write a bad blog post.

</comment><comment><USER54> I was impressed a while ago when a CEO actually named himself the "janitor" Check out:

<http://www.thenoteboard.net/faq.html>

Scroll to the bottom

</comment><comment> g-garron when I started my company (telecom supplier). I was the CEO (company of 5 at that time). I was also the sales guy, and very often the technician who was installing what was sold.

If you really want to succeed you really need to do anything, once your company grows, you will have other people doing those tasks for you. Not because it is not good for you to do them, simply because you will have no time anymore.

As an engineer, I still miss installing what we sell now a days.

</comment><comment><USER55> Great post, fun read. It's great to have a team where everyone contributes even if it includes cleaning up the office space and throwing out the trash.

</comment><comment> g-garron :( another Wordpress site not ready for prime time. :(

</comment><comment><USER56> Ichiro Lambe of Dejobaan Games actually goes by the title "CEO & Janitor", which I've always liked a lot.

</comment><comment><USER57> all this talk about pride is hilarious. if you're the CEO of a startup or small company, you're not working for a paycheck - you're working for a payout of millions of dollars.

I'll do the dishes if it leads indirectly to a $1.2bn exit. I'd do them twice.

</comment><comment><USER58> I completely agree which is why I always refer to myself as the monkey and not the CEO.

</comment><comment><USER59> Anybody else think this guy seriously needs to pipe down? He sounds like 37signals minus the success. Every pleb thinks they can do a better job than the king. Nero thought that too...

<comment><AUTHOR> Did not realize we were comparing successes. But just for your information I am 25. I had a seven figure exit before I could legally buy beer. I am a ycombinator alumni and I am building another startup right now that I hope will have it's own unique impact.

So maybe I'm not DHH but I am certainly not just some guy with a big mouth and no track record

<comment><USER59> We weren't. I also didn't think we were parading our medals though clearly I was wrong in that regard. Is it janitors I'm thinking of that arrogantly brag about successes? After all, you seem to be the expert on them ;) I have no desire to take shots at you, so please don't make it so goddamn easy.

37Signals is just a metaphor for any established company. Since you clearly know of them, you also know they take a lot of shit for claims they make. The only reason I would so much as give them a second thought is because of their track record, which, as you noted, isn't yours. In retrospect DHH is far from the idealistic person to ask this which by pure luck, supports my argument even better. Don't take it personally as some sort of attack: I'm just making the observation that there are people who fly around in jets and you are not one of them. Quite simply, this means your really not in the position to make assertations about them.

You're giving marriage advice without ever being married. Any ideal is meaningless until it is thoroughly tested. Your post seems as childish as when people claim: "I will never steal". I call bullshit. Morality is nice and all but until you hold it up when you're fucking starving and have reason to steal, everything you said before is just words on a page.

</comment></comment></comment><comment><USER60> Empathy points for the average janitor: zero.

</comment><comment><USER61> Is it possible to brag about humility?

</comment><comment><USER62> At my previous company (where I stayed for 7 years), I remember seeing our CTO doing the dishes in the kitchen/break room once. This wasn't just in the first year, but about 5 years in. It didn't surprise me, it was more of a confirmation of what I already knew about him. The company is pretty successful today.

</comment><comment><USER63> That was a great read and thank you! BTW - I recently made some new biz cards and switched "owner" to "CEO" (because I had my QR code printed on them :) and I still clean toilets and whack weeds...

I think it is all in the mindset. I've met CEO's that think they can walk on water "Oh, Calgon - take it away..." And I've met CEO's who actually still do the grunt work. I prefer the latter because you should never forget where you began...</comment>


Is Believing in Meritocracy Bad for You? - <AUTHOR> https://www.fastcompany.com/40510522/meritocracy-doesnt-exist-and-believing-it-does-is-bad-for-you <comment><USER2> I have to wholly disagree with this. A meritocracy is extremely important in the software development community. (especially in Open Source). If sub-par code were accepted out of the spirit of "acceptance" and "diversity", then the project would be seriously affected (this does happen still). People wouldn't tolerate that mentality when engineering bridges or building automobiles.

<comment><USER3> You don't get the point.

The article talks about the believe in meritocracy, because true meritocracy doesn't exist.

For example, the gnome team had tons of good contributors over time. But nobody have time to keep going back to work they have already done. Then a new designer leader show up, with lots of free time, and start to churn out bad design on top of bad design, all to make gnome a mac clone.

Now, in your rosy vision of the world of open source meritocracy, who would judge merit? in real life, nobody did, and since the new designer had more free time than anybody else (is free time merit?) the awful designs moved on and people adopted the new osx-clone vision, and the community voice was mostly shunned away as not having enough merit to complain.

> People wouldn't tolerate that mentality when engineering bridges or building > automobiles

you would be surprised how contracts for urban infrastructure are selected. In most places of the world there is a bribe mafia. And cars are mostly marketing for stagnant design (e.g. dashboard and bodywork design is lead by clay sculptor on every single company. Why do you think most dashboard designs are useless-ly round and fluid? because people want that or because the clay sculptors like to design it that way?)

</comment></comment><comment><USER4> If we abandon being judged on the merit of our action, what is left? Popularity? Arbitrary rule? This anti-merit philosophy is just Despotism is new clothes.</comment>


Ask HN:  How to gracefully exit Facebook? - <AUTHOR>

As we left the Social Network movie last night, we hadn't even made it to the car when the wife said "Well, FB has crested."  I would like to take down my page and get out, but I don't want to just disappear.<p>Has anyone here made a graceful Facebook exit?  What did you do?  What did you wish you had done? <comment><USER3> Do you have to completely delete your account right away? Why don't you try gradually reducing your Facebook presence by following these steps:

1\. Stop posting any content yourself. Stop using/playing all apps/games. If you need to contact someone, do it via phone, email, or some other non- Facebook medium. Disable Facebook chat so they can't message you on there, and reply to their messages/wall posts in person or over the phone (replying with another internet-based medium might raise some red flags, but using an entirely different form of communication won't).

2\. Delete content you've posted in the past. Remove apps/games you have installed and remove yourself from the groups you're in. Remove information from your profile. Untag yourself from pictures others have posted.

3\. Delete friends that you haven't talked to in a long time.

4\. Contact your remaining friends and give them your contact info.

5\. Delete your account.

<comment><USER4> I did this 6 months ago. I'm still alive and social. This is the five-step program, folks.

</comment></comment><comment><USER5> My friends already had my contact info. They're my friends, after all.

So I just told them all I was leaving, deleted every post and picture, and removed every friend-link.

It isn't really that hard.

<comment><AUTHOR> It's more the outer circle of friends that I am concerned about; the close friends already know I am not a facebook person anymore.

<comment><USER6> Does your outer circle of friends have an expectation of a certain level of knowledge about your life? Would it be considered rude of you to remove all your information and leave a note (in your information) simply saying "I no longer use Facebook, please contact me via email"?

</comment></comment></comment><comment><USER7> In Germany, StudiVZ (a German facebook clone) was quite notorious for being privacy-challenged, to the point where people started calling it StasiVZ (after the former secret police of the GDR).

What happened was that people removed all identifying information from their profiles and changed their names to something that was not recognizable for anyone to search (i.e., either you had them already in the contact list, or you couldn't find their profile without asking them).

AFAIK, Facebook wants you to have your real name on your profile (as per TOS), but a friend with a stalker problem didn't have any problem to get it set to something non-namelike.

IMO, a combination of a non-searchable name and restricted privacy settings for things like "who can tag you in pictures" and "who can see my posts" should solve the bulk of the issue.

Extra points for blocking third-party inclusion of facebook.com scripts or images in your ad blocker (which also blocks the "sign in via facebook" javascript code, like-buttons etc. - these are probably the biggest privacy issues outside facebook itself).

</comment><comment><USER8> I "parked" my profile for a month and it really helped break my manic feelings of checking it all the time, then stopping for three days out of guilt, etc.

Ultimately those are the feelings I'm trying to rid myself of, but there are pros to having it around. After a month off, I barely cared to login, but I'm glad it still exists for the random PM or funny news feed. I'm back to checking it every couple of days and I'm happy I didn't delete all my friends, etc.

Your experience may vary though, I doubt most people noticed I was gone.

<comment><USER9> I did. Missed you, buddy.

What was your name again?

</comment></comment><comment><USER10> I feel like this is just another thinly disguised "Look at me, I'm deleting Facebook!" post. Do you really need our advice on how to remove yourself from a website? Just delete it, or delete all your data.

</comment><comment><USER11> Just delete the account and move on. If you attempt to make a "Why I'm too cool/smart to use Facebook anymore" sort of post you're just going to come off as an elitist.

<comment><USER12> If you're on Hacker News, you probably are.

</comment></comment><comment><USER13> I have facebook and don't really care for my account I am too busy to use facebook and don't have time to read about my friends status updates.

Honestly if you are a serious business man you don't have time for facebook.

</comment><comment><USER14> I think while you're definitely free to leave, just keep in mind that the movie is very exaggerated and the truth is really not anywhere as bad as it seems. I think Lawrence Lessig had some great commentary on this the other day:

[http://www.tnr.com/article/books-and-arts/78081/sorkin- zucke...](http://www.tnr.com/article/books-and-arts/78081/sorkin-zuckerberg- the-social-network)

Aaron Sorkin is a great writer, but he's writing for dramatic effect, not truth. Don't let the film factor in to your escape.

<comment><USER15> I just skimmed the article and saw Lessig say he thought the three UConnect people didn't deserve anything and that they were being ridiculous along with our system that is awarding them money.

The UConnect guys were led on for two months. Then they see Zuckerberg release thefacebook.com with the main feature they had - exclusivity because of college. I don't see how that doesn't warrant something in the range of 1% of Facebook. Don't get me wrong though, I don't think any of the UConnect guys would've done anything with UConnect on their own, but in these circumstances they do seem to deserve the settlement.

</comment></comment><comment><USER16> Many of the 'friends' you have on Facebook are anything but. They're all superficial and mainly virtual relationships you have with others you will most likely never meet let alone contact offline. I quit Facebook several months ago and haven't felt a thing. You'll soon realize that those you really cared for and whose relationships mean anything were those who you already kept in contact with outside of the service. I didn't bother leaving a going away message. Unless your friends are part of very small circles, your absence will go unnoticed. Facebook is great at making people think they're getting a lot more attention than they really are, and so people tend to think that leaving will create a void that friends will cry over. While the reason to quit here isn't really a valid one, I really would recommend deleting your Facebook page to anyone, unless the survival of your circle depends on it or you need it for familial purposes. It's a huge time sink and for something so shallow.

In short, if you really want to leave, just do it. Don't bother with being graceful; no one will notice or care for more than a minute.

<comment><USER17> >Many of the 'friends' you have on Facebook are anything but. They're all superficial and mainly virtual relationships you have with others you will most likely never meet let alone contact offline.

Seriously? I have in the ballpark of 180 friends on Facebook, and maybe a dozen of those are people I haven't met in person. The vast majority are either friends from real life or people from my social circle I interact with occasionally anyway. Then again, I've always treated Facebook as a fairly personal medium, and I don't friend people I don't know or don't like.

I mean, yeah, if you treat Facebook friends like pokemon, it's not going to have a lot of value for you, but if you abuse _any_ social tool, it's not going to have a lot of value for you.

Earlier today, I found out that an old friend of mine that I grew up with is going to be in town in a couple of weeks and made plans to grab lunch while he's here. I haven't seen him in 7 or 8 years. Things like that are incredibly cool to me, and the entire reason I use social networking sites. They facilitate me interacting with people I care about; they're not a substitution for actual interaction, but they make it possible in the first place.

</comment></comment><comment><USER18> Facebook is an excellent tool, despite its many privacy concerns.

I hear people talking about leaving facebook entirely and that seems a bit short-sighted and draconian in measure. Little do I hear discussed changing the way that we use Facebook.

Last month, I went from 250+ friends to 40. Instead of using Facebook as a mean to accumulate every acquaintance I've ever made, I decided to only keep the friends to which I am close and comfortable sharing parts of my life. I changed most of my privacy settings to the most restrictive possible.

Yes, Facebook may change its privacy settings again. If the privacy becomes such an issue to warrant me leaving, I will leave. However, keeping up with the privacy changes and settings is a price I am willing to pay. Facebook is not free.

Being an entrepreneur, I do want an easy way to announce things I do. I want a way to keep in touch with those closest to me. That number of people is 40 right now, and still seems a bit high. Still, since I have cut most of my friends I have found myself more open and willing to use Facebook.

</comment><comment><USER19> I haven't deleted my account, but I just post status & a message board message saying I don't log in often and where to contact me - which is my web page. You could just leave an email address there.

For me, Facebook is a giant phone book. It is a way to look people up and for people to find you. I like it for that, beyond that - email me.

</comment><comment><USER20> It seems pretty simple. Just put your desired contact info in your FB profile, stop going there, and stay logged out.

</comment><comment><USER21> I deleted my account. They still store your data and your photos on their server for 14 days. They say 'in case you reactivate it'. Just tell your CORE friends/family you are leaving for greener pastures. Just leave a status for everyone else, if they care, they care. If they don't, who cares.

</comment><comment><USER22> I try to keep only 50 friends max. I use to have like 300+ friends which was totally useless and definitely not good for me because I was always checking every pages, answering comments, chatting etc. but I wasn't "that" connected to my true friends.

</comment><comment><USER23> Just as Google has gone into markets that are far beyond search engines (like phones), Facebook will. I think there is a high likelyhood that five years from now people will look back at this time and realize now was just the beginning for Facebook.

<comment><USER24> yeah agreed, they have a subscriber base of 500 million. there are plenty of ways to monetize that with products.

i.e. the rumored facebook phone

</comment></comment><comment><USER25> it's easy.

post "i'm deleting my facebook account"

deactivate your account

stop using it for 14 days

you're gone.

</comment><comment><USER26> I rarely visit the Facebook site, and only then via a different browser than my main browser, which isn't logged in to Facebook, so it doesn't have the cookies etc. It is also ad-blocking the Facebook domains.

To get notified of interesting things happening, I subscribe to Facebook RSS feeds. JWZ made a listing of some of them here: <http://jwz.livejournal.com/1144527.html> About the only thing it doesn't include is photo updates.

With this setup, I visit Facebook perhaps once a week.

</comment><comment><USER27> Do you have a website? If you do, this would be a lot easier. If not - <USER2> you can always message everyone a copy of your email address one week before you disappear.

In my experience it's not that hard to get out of Facebook - the friends who do want to find you will either Google for you or ask people they know are your friends for contact information. And that's for the really urgent stuff. Just make sure you have a Google-able presence (maybe a Google profile?), an email that's easy to find and you're good to go.

Good luck with the move! :)

</comment><comment><USER28> Tell your actual friends you're leaving Facebook.

As for your "Facebook Friends", remove all of your content, lock down your privacy settings, and leave a note on your profile page that says the account is no longer being used. That way, when people find you on Facebook they will know what's going on.

</comment><comment><USER29> Just delete your account, done.

Real friends will contact you anyway. You might miss a few stupid pictures or something, but you can spent your time with more useful things anyway. It is no big deal, delete your account and forget about it. One time sucker less. It is really no big deal!

</comment><comment><USER30> Facebook is just kind of a shitty website. There's not much to making a graceful exit -- I gave all my friends advance warning that I was deleting my account, and then did so. For the vast majority of people, anyone you want to talk to has ways of doing so outside of FB.

</comment><comment><USER31> I think my favorite departure comes from Half Baked: "Fuck you, fuck you, fuck you, you're cool, and fuck you, I'm out!"

That said, you can keep an account without ever visiting the site, for those not-that-close friends.

</comment><comment><USER32> i'd like to understand the thinking behind "fb has crested" and wanting to take down your page and get out. i haven't seen the movie, so maybe i'm missing something.

to the point of still being findable, use <http://about.me> or <http://extendr.com/> to avoid disappearing.

and strangely enough, the SERP for "matt albiniak" on DDG has twitter first, linkedin second, and facebook third.

</comment><comment><USER33> You can't fully leave Facebook. People can still tag you on photos they take even when you don't have an account. (Just a text tag, but it could still be incriminating...)

<comment><USER34> But this is true even if you never had an account. That's like saying you can't leave the internet, because people can still talk about you online.

<comment><USER33> True. But I guess as a social utility the internet and facebook are more evasive than people assume. I think, facebook more so, because if you know anybody that uses it, you lose more 'privacy'.

</comment></comment></comment><comment><USER35> Who cares if fb has "crested?" If you have some reason of privacy, I can understand, however just deleting your account because it's not the cool thing anymore seems rather petty. Clearly if it's how your friends find you, it still serves a function in your life. Delete your friendster account, yes. I don't understand this compulsion to leave facebook.

<comment><AUTHOR> I don't care that it has crested (though it has) -- I care about the privacy concerns, and I don't want my high school friends finding my dad and my current grad school social circle all on the same page (yuck!).

<comment><USER36> Start removing friends. I do it every once in a while.

If you no longer want to be in the lives of your high school friends or vice versa, even online, cut the cord. You'll find that people are usually apathetic and none the wiser.

</comment></comment></comment><comment><USER37> Working on it. My suggestion is send your friends some contact info, like email address and or phone number (depending on whether they are really friends) and let them know you're shutting down your facebook account. Don't really need to give any explanation, just say you're closing it down. If pressed, maybe just say it is a distraction, or whatever.

Facebook won't actually close your account, though. That's the hard part. You have to go thru and delete all your information manually. IF you look on your feed / wall, you can see everything you've done, and you can go and click on it, and delete it. It is a long slow tedious process, and it takes me about 2 hours to do a year.

The normal "cancel my facebook account" procedure that facebook does is to just suspend your account. IT is all there and if you ever log in again, it comes right back. While it is suspended you won't show up on your friends lists, etc, but all your activity is still there.

This makes it really easy & tempting--in the days where just about every webpage has a facebook like button that if you accidentally press will cause you to see the facebook login screen-- to bring your account back.

I went around and around with them over a year ago about this, and their policy is that there is no such thing as "canceling" a facebook account. They keep it ready and waiting for you "for when you want to come back." Thus they will only allow you to "suspend" it. (this policy may have changed given all the high profile facebook quitting in the last year.)

I'm deleting all of the info, when that is done, I'm going to change the real name on the account to asdsrqwer sadfvcawer and then the password to something random and then "Suspend it".

<comment><USER38> You could try the Web 2.0 suicide machine. It automates what you are trying to..

<http://www.suicidemachine.org>

<comment><USER38> That is when it works and is up...</comment></comment></comment>


Why doesn't iPhone/iPod touch have wi-fi timeout to increase battery life? - <AUTHOR>

Turning it on and off manually is really annoying. <comment><USER2> jailbreak then get sbsettings from cydia, with this you can slide your finger across the status bar and access a bunch of customizable toggle switches.

I use the Toggles: wi-fi, 3g, ipod, processes, volume, brightness, ssh, and auto-lock. It is a very useful jailbreak app.

Note: when you lock the phone it disconnects from wireless...

</comment><comment><USER3> because having to reconnect it would be as equally annoying?

<comment><AUTHOR> It should reconnect automatically when an app attempts network access.</comment></comment>


JavaSnap: Snapchat API Client for Java/Android - <AUTHOR> https://github.com/hatboysam/JavaSnap

<comment><AUTHOR> Work in progress, contributions welcome! Having a lot of trouble getting the server not to 500 on file uploads ... can't decide if it's something with UniRest or if it's my fault.</comment>


One-third of Puerto Rico still doesn't have power - <AUTHOR> https://www.axios.com/one-third-of-puerto-rico-still-doesnt-have-power-2517387003.html?utm_source=twitter&utm_medium=social&utm_campaign=organic&utm_content=1100&utm_term=politics <comment><USER2> I am in Massachusetts and recently needed to purchase a generator for a DIY project. It was amazing how difficult it was to get one from any store—it took two weeks of restock tracking. According to the retail employees they're still being bought (in Massachusetts!) and shipped to Puerto Rico ASAP after they're stocked.

</comment><comment><USER3> There seems to be quite a contrast between how Cuba and Puerto Rico recovered from hurricanes this season.

<comment><USER4> Cuba is lousy at a bunch of things, but it does quite well at disaster preparedness, diaster response, public health - generally anything where the main criterion is organizing people to do things.

Source: I worked with an NGO there for most of a year

</comment></comment><comment><USER5> Why did they fire that consulting company that was doing work? Was it purely for political reasons?

<comment><USER6> I'm not even sure why they were given the contract in the first place. But it might have been "political". [https://www.cnn.com/2017/10/30/politics/whitefish-energy- hol...](https://www.cnn.com/2017/10/30/politics/whitefish-energy-holdings- contract-fbi/index.html) FEMA says they wouldn't support it. The FBI launched an investigation, and the PR governor wanted the contract to be cancelled because the investigation was a distraction. [http://money.cnn.com/2017/11/14/news/economy/prepa- whitefish...](http://money.cnn.com/2017/11/14/news/economy/prepa-whitefish- congress-hearings/index.html) Whitefish claims they quit because PR was $86 million behind in payments. [https://www.cnn.com/2017/11/20/us/puerto-rico- power-whitefis...](https://www.cnn.com/2017/11/20/us/puerto-rico-power- whitefish-halts-work/index.html)

Edit: They're not a consulting company, they were supposed to be (hiring subcontractors to) get actual work done. [https://en.wikipedia.org/wiki/Whitefish_Energy](https://en.wikipedia.org/wiki/Whitefish_Energy)

<comment><USER7> As a full-life Puerto Rican, living here and having been here for Maria and Whitefish...

Whitefish was doing its job. There were lots of trucks, lots of crew, going around actually repairing the grid.

Was it a contract vs no-contract? Was Whitefish overcharging? Is Whitefish a consultancy versus contractors? Was it too much money?

IDGAF!! They were doing it. Actually fixing the system. Yet for whatever set of reasons, they no longer are.

We are super thankful to the New York Power Authority, thankful for ConEd, thankful for the Georgia people, the Florida people, the crews from other beautiful States of the Union. Super thankful.

Yet Whitefish was _actually_ working.

I don't know if it's all ex-colonies in Latin America, yet it's always the same thing. Lets destroy what those guys are doing because they're not us.

And I had generators all the time and grid-power has been restored to my house! Imagine if I didn't have power yet! How would this post go about?

<comment><USER8> > Was it a contract vs no-contract? Was Whitefish overcharging? Is Whitefish a > consultancy versus contractors? Was it too much money? IDGAF!!

Not very productive for your long term self interest. Something is better than nothing, but that's a truly low bar.

> Yet for whatever set of reasons, they no longer are.

This information is widely available on the internet and even within the comments of this post.

</comment></comment></comment></comment><comment><USER9> A two line article with one picture? Wow, talk about low effort.

<comment><USER6> Yes, the real article is at [https://www.bloomberg.com/news/features/2017-12-14/how-to- re...](https://www.bloomberg.com/news/features/2017-12-14/how-to-rebuild- puerto-rico)

<comment><USER9> So make that the link, why the blogspam?

</comment></comment></comment><comment><USER10> The Flint, Michigan water crisis has been ongoing since April 2014...

<comment><USER11> I don't mean to downplay that issue but what does that have to do with Puerto Rico? It seems like any article we have about Important Issue A there's always at least one (usually several) comments that are something along the lines of "yeah well Important Issue B is also important/worse/better/something!"

<comment><USER12> It's relevant because it (further) demonstrates our remarkable collective ability to ignore really big and dangerous problems.

</comment></comment></comment><comment><USER13> In other news:

Puerto Rico gives out $100 million in bonuses after pleading for $94 billion in hurricane relief

[https://www.washingtontimes.com/news/2017/dec/3/puerto- rico-...](https://www.washingtontimes.com/news/2017/dec/3/puerto-rico-gives- christmas-bonuses-after-asking-h/)

<comment><USER14> Or to paraphrase, "Puerto Rico pays average of $600 bonus to government workers (who make $20-40K) as required by law."

 _" This year the payments will total $113 million, the government told Bloomberg News. Some 250,000 people get bonuses, with current workers averaging $600 bonus and retirees getting about $200, Bloomberg reported.

For the majority of government employees who make between $20,000 and $40,000 it's an important boost, said Carlos Mercader, who leads Puerto Rico's office in Washington, D.C. He said the governor, in making the payments, is following the law.

And he said members of Congress who are pondering the territory's massive relief request should be aware of how much the governor has already done to control the budget, such as a 20 percent reduction in political appointees in the government and a 15 percent cut in the operating budget.

"I would challenge whoever argues that the government hasn't been austere in this whole process. The government has been saving money from the get-go," Mr. Mercader said."_</comment></comment>


JSCaml: A compile-time transformation from JavaScript to OCaml - <AUTHOR> https://github.com/facebookexperimental/JSCaml <comment><USER3> Nice to see FB investing so much in OCaml, hope it is not just a phase like how they did with D

And I sure hope Parallel OCaml gets done

I believe I saw a video for Yaron Minsky (jane street, real world ocaml), where he said that two areas where ocaml can improve is parallelism and having a nice GUI Library

<comment><USER4> When did FB invest in D?

<comment><USER5> [http://firstname.lastname@example.com](http://firstname.lastname@example.com)

Not sure of the full time line but they hired Andrei Alexandrescu after he started working on D, and he was pretty open about using D at Facebook.

</comment></comment></comment><comment><USER6> Pretty sweet if I understand that this is a front-end for the OCaml compiler! This means you could run your typed JS on OCaml's runtime instead of Node.js. Granted, the availability of npm packages will be small since most of them aren't typed by Flow but in theory you could use OCaml libraries?

Or you could just write Reason I suppose. :) There's a crazy permutation of ways to write code that can run in a browser or server run time these days!

<comment><USER7> > There's a crazy permutation of ways to write code that can run in a browser > or server run time these days!

Unfortunately the state of tooling and runtime support is far behind the idealized closure of the transpilation graph.

</comment></comment><comment><USER8> They give two reasons to use this, but I guess another would be that you want to run the same Javascript code both on the client and the server, and your server is running OCaml.

Would they support this scenario?

<comment><USER9> In my fever dreams, it means all the world's javascript will become OCaml instead, running on the server and the browser

praise science.

<comment><USER10> To be honest, as much as I like Ocaml I think half of programmers won't be able to learn it. At least not to its full extent (monads, functors, GADTs). There's a reason functional programming never took off in the mainstream.

<comment><USER11> Any programmer who can put a loop together can learn OCaml and Haskell and Idris and Agda and APL. It is just that it takes time and effort.

It won't be a cakewalk like when we first began to learn imperative programming - learn through osmosis and unstructured play.

It would be more like learning maths, or playing an instrument from the very basics. You have to work through basic problems, read a lot, practice a lot, and slowly build up your intuition. Over time a -> b -> c will feel natural to you, you'll be able to write pattern match expressions without thinking about it, and will be astounded by your own cleverness when you're able to express things elegantly using types.

I've been trying to learn Typed FP for the last six months, and it is opening up slowly but surely. I'd recommend this path to anyone who's been programming for a while (I've been at it for 10 years now), and wondered whether this was all there was to it. Beyond these ever-changing APIs and fads and thought- leaderships, there is a whole new world of programming out there in the Typed FP community.

You should check it out. It'll make you confident to tackle larger and harder problems and maybe bring the fun back into programming. OCaml and Reason and BuckleScript is a great starting point - the community is nice and welcoming. Real World OCaml by Minsky, Madhavapeddy, and Hickey is a text with a lot of insights. You can also go straight to Haskell, but its web-browser story is not as good as OCaml's (thanks to BuckleScript). Or there is PureScript - <USER2> which IMHO you'd probably need to already know some Haskell.

(Wrote this and realized I was talking to people who'd think that OCaml is hard, not the parent)

<comment><USER12> > Any programmer who can put a loop together can learn OCaml and Haskell and > Idris and Agda and APL.

> I've been trying to learn Typed FP for the last six months, and it is > opening up slowly but surely.

Yes, exactly. Every kind of programming is just programming and if you already succeeded in learning one kind you should be able to learn any other kind of programming with enough effort.

The problem is in convincing enough people that a) the effort required is not that great or b) that the particular kind of programming is worth knowing despite the effort required or both.

</comment></comment></comment></comment></comment><comment><USER7> Usually compilers are going from something nicer like OCaml to something janker like JS or C. Interesting to see the other way around for a change.

</comment><comment><USER13> Does this mean the new React fiber which is written in flowtype could be compiled to OCaml? Could be useful for a native React Reason.

</comment><comment><USER14> Pretty neat project. I for one am happy to see more OCaml in the wild. Minor nit: they mispelled jscaml as "jcaml" here [https://github.com/facebookexperimental/JSCaml/blob/master/R...](https://github.com/facebookexperimental/JSCaml/blob/master/README.md)

</comment><comment><USER15> Hi I'm Jordan and I work on Reason([http://facebook.github.io/reason](http://facebook.github.io/reason)), and previously worked on ReactJS([https://facebook.github.io/react/](https://facebook.github.io/react/)), so this touches on a lot of things that are of interest to me. We currently use the OCaml language with the Reason frontend, for UI development, and use BuckleScript for compiling it to JavaScript. To some it might seem like this JSCaml project might be "backwards" in that it compiles _from_ JS to OCaml, instead of the other way around, but both of these share one important / valuable thing in common - they use exactly one memory system, allocator, collector between two different languages. This is very different than embedding a separate VM/language/allocator as a library inside of another language runtime. If you've ever tried to bridge two completely different memory systems together without introducing leaks, you'll quickly realize why JSCaml gets the most important thing right, even if it is missing some JS language features - those missing features can be added over time, whereas unifying two inherently incompatible memory systems can be bankruptingly expensive.

Seamless memory lifetime interop without leaked cycles is essential for incrementally moving a code base from one language to the other. In browsers, that means your only hope is to target semi-idiomatic JavaScript if you want to incrementally move a large JavaScript system to another language. Wasm is currently great for whole-program rewrites from scratch, not incrementally moving over. That's why BuckleScript has been so helpful.

When not running in the browser, you have many more options, and if given the choice between running Reason/OCaml in a JavaScript VM, vs. running JavaScript in an ocamlopt runtime, the later offers many compelling advantages.

1\. The ocamlopt runtime allows languages with sound static guarantees to take advantage of those guarantees to emit more efficient machine code, reaching the language's full potential. JavaScript will have to go through all the same dynamic (costly) checks due to its language complexity - at least for object property/method dispatch, but why should that mean that OCaml should have to as well? By running inside of the ocamlopt runtime, it can share one memory system without being limited by an unrelated dynamic language's weaknesses.

2\. Depending on the approach, the emitted JavaScript might be able to take advantage of many of ocamlopt's ahead of time optimizations to reduce allocations, and inline function calls (F-lambda for example) without having to wait for the JIT to reach many of the same conclusions (which slows down startup time).

3\. Even if the JavaScript compiled to ocamlopt runtime doesn't demonstrate as much throughput as it would with a JIT (once you wait for it to warm up of course), the approach of JSCaml allows you to seamlessly break off bottlenecks and write them in Reason/OCaml which could end up running even faster than JS with a JIT once warmed up (and without having to wait for the slow JS VM's startup initialization).

I'm sure there's a ton of work left on JSCaml until you can one-click deploy your JS programs and see performance wins, but I'm very interested in this general direction, as it has many uniquely compelling advantages that stand to help move the JavaScript ecosystem forward.

<comment><USER16> Very interesting! Where can I more details in building UI with Reason?

<comment><USER17> It's all quite in early stage, but this is an example (UI in React) that speaks pretty much for itself:

[https://github.com/chenglou/reason-react- example/tree/master...](https://github.com/chenglou/reason-react- example/tree/master/src/todomvc)

This code is both very pretty and very terse, in my eyes.

</comment></comment></comment><comment><USER18> Not to demotivate anyone / anything, but this sounds like the least useful parts of both worlds; programming JS (and having to deal with typing and correctness with other tools) to run on the OCaml runtime (which as noted, is really only better on a small subset of devices).

On the other hand, cool to see the investment in OCaml, and such a popular language able to run on its runtime! I hope that with all this newfound interest from the industry and the community more OCaml resources and more development in the compiler start to happen!

<comment><USER19> But how else is Facebook going to cross the extra mile to get on your baby monitor and keep track of truly everything you do?

</comment></comment><comment><USER20> > if you are interested in running benchmarks, you'll probably find that > existing JavaScript JIT compilers are more than a match for the OCaml code > produced by JSCaml.

> So why would you use JCaml at all? Two reasons come to mind:"

> You want to run your JavaScript code on small devices where JIT compilers > are not available or do a bad job. > If you are actually writing your code > in Reason but you want to make use of JavaScript libraries and you also want > to run on small devices.

So is this aimed at use in react native? Or IOT?

</comment><comment><USER21> Be interesting to see the JS to OCaml output put back through an OCaml to JS compiler just to compare it to the original.

</comment><comment><USER22> Seems like it would make more sense to go the other way around... who voluntarily writes in JS to compile to some other language, as opposed to writing in any of however many dozens of other less horrible languages (but maybe typed JS is better? never tried it) to compile to JS?

<comment><USER23> I think the target use case is an existing JS library that you want to use from an OCaml/Reason program but don't want to port... OK maybe this is a very narrow use case.

<comment><USER22> Actually that makes a lot of sense now that you mention it---given the huge number of JS libraries, and the fact that unlike other languages with massive library ecosystems (cough cough Python) JS libraries are all written in JS, that does seem like a nice cheap way to expand the set of libraries available to a nice language...

</comment></comment></comment><comment><USER24> JavaScript, OCaml, Reason, BuckleScript – such a language ouroborus!

It's amazing how this kind of language interoperability can enable new development and deployment approaches.

</comment><comment><USER25> Just wait until you see my Java implementation called jocaml. It's smokin'

<comment><USER26> Please pick another name, as JoCaml[0] already exists, it is an OCaml with join calculus.

[0]: [http://jocaml.inria.fr/](http://jocaml.inria.fr/)</comment></comment>


Does AMP Counter an Existential Threat to Google? - <AUTHOR> http://highscalability.com/blog/2015/12/14/does-amp-counter-an-existential-threat-to-google.html <comment><USER2> Yes it does, but it's one of many counters to it. Google is also crawling deep-linked native mobile content through App Indexing [1]. They own one of the dominant mobile advertising platforms [2]. They also own the dominant mobile operating system [3], and make money directly off selling apps on it [4].

It's a very Larry-Page style strategy: when faced with an existential threat, solve it on every possible level. He did the same thing when faced with the possibility that Microsoft would build search into Internet Explorer: build Google Toolbar, and Google Chrome, and get OEM distribution deals for both, and Chrome Frame so you could use IE inside of Chrome, and Android just in case there was a chance to make the desktop market _irrelevant_ , and Chromebooks as another way to make the desktop market irrelevant. Interestingly, Sundar Pichai was involved in basically all of these, which may be why he's now CEO of Google.

[1] [https://developers.google.com/app- indexing/?hl=en](https://developers.google.com/app-indexing/?hl=en)

[2] [https://www.google.com/admob/](https://www.google.com/admob/)

[3] [https://www.android.com/](https://www.android.com/)

[4] [https://play.google.com/store/apps?hl=en](https://play.google.com/store/apps?hl=en)

</comment><comment><USER3> Does anyone know why people write sentences like this?

> Pinterest found AMP pages load four times faster and use eight times less > data than traditional mobile-optimized pages.

Does "Eight times less data" seem insane to anyone else? Shouldn't it be "one eighth the data" or "twelve and a half percent of the data"

I feel like I'm taking crazy pills, because I always see things written like the article and it seems to make ~zero~ sense.

<comment><USER4> Nope, not just you. I suspect it's because most readers are afraid of fractions.

<comment><USER2> It's because of parallelism. Not the computing kind, but the writing kind. Sentence constructions like "AMP pages load four times faster and use one- eighth the data" or "AMP pages have one fourth the latency and eight times better data compression" read awkwardly; try reading them aloud, vs. the original sentence. You're taught in writing class to use equivalent constructions for all clauses within a sentence. It's much like the stylistic rule in programming languages to not mix camelCase and snake_case in the same file.

<comment><USER4> I get what you're saying, but FWIW I honestly have no problem with the non- parallel sentence constructions in your example. It's a technical article. I want a high amount of information in a concise and clear package.

</comment></comment></comment></comment><comment><USER5> > "Does AMP work? Pinterest found AMP pages load four times faster and use > eight times less data than traditional mobile-optimized pages."

A better question is: how much faster is it than ad-blocked webpages?

I think it's more about ad-blocking than "making the web faster". Also, it looks like it framejacks web pages so that you just visit sites as a side journey from Google.com, with Google's toolbar on top:

[http://searchenginewatch.com/sew/opinion/2430844/google-s- am...](http://searchenginewatch.com/sew/opinion/2430844/google-s-amp-project- what-will-be-the-impact-on-publishers)

"From the search engine results page, users can click through to a list of AMP-compliant partner sites. Doing so will load that content almost instantaneously, as Google will also pre-render content above the fold for AMP listings. Once a user clicks through, there is a persistent blue bar at the top with a call to action to return to the Google SERP."

Do publishers really want a "go back to Google.com" toolbar on the top of their webpages? I'd rather encourage users to stay on my own sites.

<comment><USER6> > how much faster is it than ad-blocked webpages?

Poke at it out yourself to get a feel for the answer. Find any recent article on any site of one of these publishers that have enabled AMP pages. You can find a list on [https://www.ampproject.org/](https://www.ampproject.org/) or any AMP-enabled site you find. Once you've found an article/web page, view source. Look for a line in the html that reads:

<link rel="amphtml" href="AMP URL HERE">

If you don't find that tag, the article is not AMP enabled, so find another article that is.

Now, grab the URL at that href attribute and compare it to the original non- AMP URL you started at. Turn on/off ad-blockers, use a cold cache / hot cache, have fun. Don't forget that this comparison is not including the additional speedup gained from using the AMP Project (Google's) CDN.

<comment><USER5> I wouldn't consider that a benefit, since I don't want every site I visit to ping Google's servers.

I haven't researched it in depth, but it seems like an attempt to appify the Web even more and bring it under Google's control. A "webpage" just becomes a brief side trip from the Google homepage, with a giant back button to send your traffic back to Google rather than deeper into your site.

The fox (any single, large company with an interest in replacing the WWW with itself) should not be guarding the henhouse (the WWW). I mean that in reference to Chrome, appification, and things like AMP. It isn't good for publishers or for the future of the open Web.

It seems absurd for sites to put code on their pages that adds a giant "go back to Google.com" banner on top of their pages, if that's what it does.

<comment><USER6> The <link> tag is similar in browsers to a meta tag, it doesn't cause browsers to take any behavior, so this doesn't cause a ping to any server. The AMP HTML version of a page does require a javascript src to make these transformations, but that's cached, so you aren't going to send a ping to request it on every page load.

The AMP version of a page doesn't add any banner or other visual style, the author has full control there. Here's an example, just pulled at random:

Original: [http://www.nytimes.com/2015/12/17/theater/broadway-is- gettin...](http://www.nytimes.com/2015/12/17/theater/broadway-is-getting- another-theater-its-41st.html)

HTML Mobile: [http://mobile.nytimes.com/2015/12/17/theater/broadway-is- get...](http://mobile.nytimes.com/2015/12/17/theater/broadway-is-getting- another-theater-its-41st.html)

AMP: [http://mobile.nytimes.com/2015/12/17/theater/broadway-is- get...](http://mobile.nytimes.com/2015/12/17/theater/broadway-is-getting- another-theater-its-41st.amp.html)

<comment><USER5> I thought a link tag sends a request to get the contents of the href attribute, and then the server sends back the file or a 304 header, if it's cached. That seems to indicate that the server is getting a request from the browser. Also, isn't Google caching AMP pages on their own domains? I've read that Google doesn't send people to your site, but just to a copy on their own site.

When I try the demo for the NY Times, I see a banner there that takes me back to the search results. Did NY Times decide that they want to use that above- the-fold real estate to send people back to Google.com?

What specific code enables or disables this giant back button on an AMP webpage: [http://imgur.com/GpBqgnx](http://imgur.com/GpBqgnx)

AMP is a somewhat-forced restriction on what people can publish on their sites. Providing guidelines on how to make mobile pages faster would be a more reasonable solution. One could argue that no one is "forced" to use AMP, but if AMP pages appear at the top of the SERPs then that is a form of coercion, since fewer people will scroll beneath the fold.

</comment></comment></comment></comment></comment><comment><USER7> I've been told that google has intraday downloads of their doubleclick logs "on their roadmap". For me in adtech, a lot of the pain I feel in having to add more tagging would be reduced if google had this stuff streaming in realtime. Their lack of this functionality has fed the thirst for other tags (adobe, bluekai, etc.), since we can't build really fast behavioural reactions on their data. They've told me the solution is to use Google Analytics Premium, and upload our behavioural reaction rules into there. Just like everyone else, that is a black box, and I then have to adhere to the functionality they have built. Businesses will always ask for a custom tweak that any black box can't deliver, and that also leads to more tagging. ;)

Truly open up your platforms!!! Currently it feels like a mexican stand-off, where the first company to open up loses control of their data asset, while all others win.

</comment><comment><USER8> Betteridge's law</comment>


Fighting Back After Hacker News Took Down My Site - <AUTHOR> http://www.plainlystated.com/2011/07/fighting-back-after-hacker-news-took-down-my-site/ <comment><USER2> I cringed a little bit when I read this: "...none get enough traffic for me to have made caching or performance tuning a huge priority".

I don't mean to level criticism solely against the post author for this, because he is not alone, but I find this mentality inexcusable. This is especially true if you're using WordPress, for which there are a multitude of caching plug-ins. All of which will offer orders of magnitude better performance than allowing the blogging engine to build the page from scratch every time.

In other words, caching is _always_ a priority. It's not an add-on or an after-thought, it should be part of your design.

Consider a scenario where someone asks you to add up three arbitrary numbers:

123 + 456 + 789

Now, imagine you type those in to a calculator to add them up. It takes you a few seconds. The output is 1368. You can easily remember this number, so the next time someone asks you what the result of 123 + 456 + 789 is, you can just say 1368. Not caching is like keying the numbers in to a calculator every time, rather than just relying on your memory.

I know this is a rudimentary example, and I know that most people running a WP blog probably know how caching works, but even if you don't "need" it today, why would you leave your blog set up so that it's constantly re-building content that can be cached by simply installing a WP plug-in?

I implore you. Make caching the second thing you do (after security) when setting up or building your web app.

<comment><USER3> I agree with you when you're taking about web apps, but what about personal blogs?

If I just want to set up a personal blog that I don't plan on promoting or spending a lot of time on I wouldn't want to spend any extra time setting up things that don't help me with my primary goal, writing blog posts.

<comment><USER2> I totally get that. I'm beyond the phase in my life where I enjoy tinkering with blogging software settings. I'm far more interested in engaging in the conversation. But here's the counter argument: it takes a sum total of 60 seconds to implement. If you're using WordPress to host your blog, installing caching is beneath trivial. You click "Add New" under the Plugins menu, then search for WP Super Cache and click install. The only thing remaining is to turn it on.

If you're not using WP, you might use something like Tumblr or Posterous. In that case, caching isn't your problem. If you rolled your own blogging software, well, you already violated the principle that blogging is your primary goal.

<comment><USER4> It's only trivial if I know that such plugins exist. And if I don't consider how to improve performance because at the moment I don't care, then it doesn't matter how trivial it is.

<comment><USER2> Hrm. That's a really good point. It's hard for me to see outside the fact that I've set up what seems like a hundred WP blogs in my lifetime. That adds a solid 5 minutes of Googling, which I still think is a pretty minimal commitment.

<comment><USER4> But you don't know it's 5 minutes of Googling until you do it. Before you start, it's an unbounded task.

</comment></comment></comment></comment></comment></comment><comment><USER5> What a strange headline. Who is he fighting back against - Hacker News? Traitorous Wordpress? Himself? If I needed a plumber I wouldn't want one that talked about fighting back against the water. Nor would I want an architect that talked of fighting back against gravity. The language of confrontation is inappropriate here, since the problem as described stems from a failure to spend time learning or configuring Apache. This might seem trivial, but to me it suggests fundamental flaw in the approach to the problem, which probably increased the time needed to fix it.

</comment><comment><USER6> [http://www.google.com/search?q=site:news.ycombinator.com+pat...](http://www.google.com/search?q=site:news.ycombinator.com+patio11+keepalive)

I will also quote myself: "I first learned to disable Apache KeepAlives in 1998. Yes, 1998. It's disheartening that Apache still ships with it enabled by default. It has always allowed a relatively small number of lingering clients to completely DoS your server."

<comment><USER7> This is the most critical bit. We run our website (totally disconnected from our webservices, naturally) on a 256 MB VPS and frequently handle top HN stories on our wordpress blog (which runs on a host with several of our other PHP / static subsites).

Key points:

• Make sure that wordpress supercaching is on. You can verify this by looking at the last line of the HTML that comes back which has a timestamp for when it was generated.

• Turn off KeepAlives.

• Set MaxClients to 8.

• Use monit to check to make sure it can connect and restart apache with a kill -9 if it can't. (This is optional, but helps if you have some random thing that ends up taking a very long time to execute and eats up connections.)

With that in place even a much smaller server can easily handle a HN top story without breaking a sweat.

<comment><USER8> > Set MaxClients to 8.

LOL what? what's your mpm? did you enable this to keep the backend from blowing up from too many queries? surely you can handle more than 8 connections at a time. is this the proxy layer, and if so are you using web caching on top of wordpress caching?

if monit is restarting apache every time it can't connect (i hope you have a long timeout) you're denying service to a lot of people. connections are supposed to queue so they don't get dropped.

<comment><USER7> As mentioned, this is on a single VPS with 256 MB of RAM. Each Apache process needs about 25 MB of (non-shared) RAM, so actually 8 is pushing it. We're using mpm_prefork. There's no additional proxy nor cache.

My point, specifically, was how low you can go with a cheapo VPS. We hold up fine during an HN spike. (We're B2B and not a destination site, so our usual load is trivial.) Even during an HN spike you're getting tops of 2-3 visitors per second, which can be dished out reasonably well with 8 workers.

The monit thing kicks in after a 30 second timeout. With the configuration above, we don't get that because of load, but rather when something else has gone wrong (specifically there's a wordpress plugin that our internal status blog uses that sometimes hangs). But given the original poster's issue of apache getting so out of control that it took him several minutes to get a live SSH connection and a system load of 60, having monit kill things (and restart them) is a preferable stop-gap.

(Note: Our actual customer facing stuff is quite different; there we're using multiple servers behind an nginx proxy and using a combination of Rails, Sinatra and Java services. The basic web stuff is segregated off from those primarily for security reasons.)

<comment><USER8> Ah. It's kind of scary that private RSS of each process would be 25MB, but it's certainly possible. I assume you've disabled every module you don't need?

If you have some free time try deploying your LAMP stack with Buildroot and uClibc. The application size ends up being around an order of magnitude smaller, but i've never bothered checking if private RSS on clunky apps like PHP or Perl is minimized at all.

 _edit_ Also for prefork we used to have some scripts that would monitor processes to see if they 'went crazy' and wouldn't ever return, and reap those processes so Apache would fork a new one so we didn't have to restart the whole server. When you're under peak load and you restart a server and it sends all those clients to all your other servers which are already almost at their peak things get very nasty very quickly. I know you only have the one VPS here but for applications with many servers it can be handy.

</comment></comment></comment></comment></comment><comment><USER9> Nginx has proved extremely useful and capable especially in memory constrained virtual environment. It effectively gives an easy way to move from a synchronous web server to an asynchronous one.

</comment><comment><USER10> An important point that was missed is how was he running the php and rails apps? mod_php? mod_rack? cgi? fastcgi? Proxying to an application server? The answer to that is going to greatly affect how well Apache scales when you're memory-constrained.

<comment><AUTHOR> apache: rails & sinatra were on passenger. php was mod_php. nodejs was proxied.

nginx: rails & sinatra are on passenger. php is php-fpm. nodejs is proxied

<comment><USER11> thanks for this, useful. probably worth amending in the original post :)

</comment></comment></comment><comment><USER12> Who run WordPress without a page cache these days?

Just look at the query count even without plugins.

Add a few plugins and it's a total mess.

</comment><comment><USER13> What about isolating the popular URL and temporarily serving a static version of the page?

<comment><AUTHOR> That's what the page caching plugin does. It puts a static file in nginx/apache's search path, so it never hits PHP

<comment><USER13> Which plugin did you use? WP Super Cache? I'd like to take a look through the code.

<comment><AUTHOR> I used W3 Total Cache. It generates a static file and puts it in apache's search path, so it never hits PHP

</comment></comment></comment></comment><comment><USER14> BETTER SOLUTION: Get on the cloud. 15 minutes to upgrade your server when load gets high and billed by the hour at the ram level you're 'using. Theres very little reason to stay on traditional hosting if you're running anything close to a serious startup.

<comment><AUTHOR> While the cloud does enable you to scale your resources on demand, you still have to address the same issues I had to deal with (how to efficiently use those resources). Plus, moving to a mutli-server setup involves additional complexity in the architecture of the system, which I'd rather not mess with unless I have to :)

<comment><USER14> Multi-server? Nope, single. Same as you have now, just with added flexibility on ram with 2 clicks I can handle a huge server load with ease, then drop back when done. That way I don't waste time on low level optimization tasks and can keep to what I do best. Building things.

Seriously, there's no reason to stay on a traditional style server setup and you'll never go back once you've tried it. It can be pricey once you ramp up, but give it a shot as you can literally pay by the hour while you play.

<comment><USER11> which service are you on that increases ram without taking the box down?

<comment><USER14> -8 in downvotes with no explanation? really guys? Sorry for trying to help, i'm out.

<comment><USER15> I was on EC2+apache+wordpress+mysql and had my blog go down as well after being featured on HN. In my case, simply rebooting the cloud instance fixed the problem (I had lots of other old projects running on the same instance). However, I did do some research into figuring out what I could have done as my blog kept getting more traffic ... had I used RDS, I could have gone to a bigger instance with little downtime. Unfortunately, my understanding is that there would be no way to go back down to a smaller RDS instance.

P.S. I upvoted you. I also don't get why people downvoted you.</comment></comment></comment></comment></comment></comment>