Do things, write about it - <AUTHOR> http://mdswanson.com/blog/2013/08/11/write-things-tell-people.html <comment><USER2> I recently bought Shaun Inman's book "Lift Off", which was essentially his development journal for an awesome iOS game he created called The Last Rocket. Although the journal wasn't public while he was writing it, he bundled it up later started selling it for $10. When a couple friends and I started talking about creating an iOS game, I bought the book and read it in a weekend. It was worth every penny.

The thing that impressed me the most was that he wrote, and made some progress, almost everyday. Also, it wasn't polished or article-y at all. It was just candid journaling.

I found it so motivating that when I recently started working on a new product myself ([http://churnbuster.io/](http://churnbuster.io/)) I decided to do the same thing. I'm keeping a journal ([http://productquest.andrewculver.org/](http://productquest.andrewculver.org/)) totally separate from the product blog, product mailing list, etc. that conveys my experience as I build a product, rather than trying to market the product itself.

The journal serves a couple purposes: It keeps me accountable to keep development coming along regularly. Also, it helps me connect with other product people or people who want to get into creating products. (They're more likely than the average person to be a potential customer for the product.) Also, any audience the development journal may gain can help amplify the announcement when the product is ready to launch.

<comment><USER3> I think you'll quickly find another benefit of journalling: It forces you to justify your decisions. Even if you only write for yourself, many ideas "sound smart" in your head, but don't seem all that bright when they've been put in writing and you re-read them.

You also get invaluable documentation of justifications for what you do.

And the effect multiplies when you decide to publish it.

I keep sporadically working on a series about writing a compiler in Ruby, which morphed into writing a Ruby compiler in Ruby, and it's a slow going slog (I just ended a two year "break"), and writing about it quickly started changing my approach. It's like when your maths teacher insist you show your working rather than just giving the results - you can't skip steps just because you know (or think you know) how to go straight from A to B any more. Of course when writing a journal, nobody is forcing you to not take shortcuts, but I find I am more likely to be disciplined about verifying assumptions an testing changes anyway.

</comment></comment><comment><USER4> I recently bit the bullet and created a personal site for myself so that I could do the "tell people about it" half of this advice. I'm so glad that I did.

I'm pretty happy with the technical aspects of what I ended up with, in terms of simplicity, how easy it is to add content, and how little I have to do admin on the server.

I use S3 static website hosting and a dead-simple node.js script to generate the page, and then use s3cmd, a wonderful little tool that is in my distro's package manager.

So the cool thing is that I pay approximately 3 cents per month for the hosting, I can take any amount of traffic no problem, and server crashes are out of the question. On top of that I can preview perfectly what I will see before I publish by viewing what I am about to push with the file:/// protocol.

Result: [http://andrewkelley.me/](http://andrewkelley.me/)

It's open source: [https://github.com/superjoe30/andrewkelley.me](https://github.com/superjoe30/andrewkelley.me)

<comment><USER5> Just wanted to say you've some awesome projects on github!

<comment><USER4> hey thanks :)

</comment></comment></comment><comment><USER6> I think creative people always do fun projects. I think it depends where you are in your career whether it will give you material gains.

In my opinion these projects, and generally building a network amongst developers can help you if you are a beginner, looking for entry-level jobs.

But in my experience after a point the job offers you get this way might not be the best amongst the offers you get. For example at 1998 I wrote a real- time ray tracer, and because of it a game-engine company offeed me a job as a script writer. They said I am not experienced enough to join their core engine team. Nowadays, it is even worse: I get the best opportunities from people who are not even technical. The best job/contracting opportunities come from people who are good businessmen, but not technical. They cannot evaluate me based on my fun projects, they evaluate me based on some relatively boring previous jobs/works in their industry. I do my fun projects for myself, or because I want to create paying products of them. I occasionally tell about them to fellow hackers; not because I want to get yet another low paying entry-level job, but because it is fun to speak about a fun project.

<comment><USER7> We must define fun, first. In my experience you can have fun in any kind of genre of work. I do both design and code and I found coding pleasant too.

Creativity will blow, of course, when you're doing side projects but when you're working for a client or your company most of the things will be defined before the first line of code or the first illustrator vector is drawn. So the creativity limits in those situations may be shorter than anyone expects.

</comment></comment><comment><USER8> Previous to Carl Lange's post, this was described in "How to Increase Your Luck Surface Area" \- [http://www.codusoperandi.com/posts/increasing-your- luck-surf...](http://www.codusoperandi.com/posts/increasing-your-luck-surface- area)

Apparently, Carl was unaware of it as well despite the post and subsequent discussion receiving a fair amount of attention on HN at different times.

Disclaimer: I wrote it.

<comment><AUTHOR> Don't worry Jason - I was pimping luck surface area last month: [http://mdswanson.com/blog/2013/07/19/getting-traction-for- yo...](http://mdswanson.com/blog/2013/07/19/getting-traction-for-your-open- source-project.html) ;-)

<comment><USER8> Cool! Thanks. ;)

</comment></comment></comment><comment><USER9> What's a reasonable place to put up a development blog for a side project, if I want to spent as close to zero time as possible messing with configuration?

Don't say "install this blog software on your web server"; my side project doesn't need a side project, thanks. :)

<comment><USER10> That's actually a tough question. I haven't found a place yet to put up a development blog. Code snippet are always screwed up or you don't have analytics, etc.

I took the extra mile on my blog and installed Wordpress on my server. I thought I liked it but now, I'm looking for another solution. I have yet to find what I want.

<comment><USER9> Good point, I didn't think about code snippet formatting.

<comment><USER11> If you can live without great code formatting support and you don't mind paying for it, then I really can't recommend Squarespace highly enough.

I fancied blogging, but I already have so many god-damn side projects on the go (my eternal problem is too much started - too little finished) that the last thing I want to do is keep a linux vps and a Wordpress installation up- to-date and configured securely.

With squarespace I think I pay $16 a month (less actually as discount codes are in healthy supply online) instead of $5 for, say, a vps on DigitalOcean, but I get my pick from a set of nice responsive template designs, unlimited traffic (in case I ever write something that gets HN'd) and a drag and drop interface that most of the time exactly meets my needs. They do all the updating of the back end for me and I can just write. I can inject code and other stuff onto the page if I need to, but I've kind of come to the realisation that I don't need most of that bumf anyway.

I did just have a look at the in-post code writing tool out of interest: It has HTML, CSS and Javascript formatting, which isn't much help if you do most of your work in c# like I do, but then I'm sure I'll survive. Their customer service is why I'm so damn enthusiastic about them, so no doubt if I REALLY feel I need it I could just email them and request it.

Reading this back sounds like I work in their marketing department. I promise I don't, I just really think you should check them out.

<comment><USER12> I can second this, I moved over from WordPress because it was so buggy (add on's didn't always work as promised). No regrets with squarespace - the site looks professional and I don't have to spend any time updating/maintaining it. Of course, this comes at the cost of learning but...

</comment></comment></comment></comment></comment><comment><USER13> This is a very good advice. You can do all sorts of incredible things, but if you don't know how to tell other people about it, it will simply fade into deep folder on your hard drive.

It's been a personal goal of mine this year to blog more and more. The few times where I really put effort into it, I found huge rewards. A simple (but lengthy) article about how to write canvas games ended up being published in the Game Developer Magazine, and I made some money off it. All because the editor saw it, liked it, and emailed me about it.

<comment><USER14> I find that the weekend coding project can become very good fodder for a blog. [http://www.dynamicalsoftware.com/analytics/oss](http://www.dynamicalsoftware.com/analytics/oss) is such an example of some hands on exploration of map reduce and is currently my top blog post.

</comment></comment><comment><USER15> This is great advice. I have a long list of projects I wish I'd done with the intent of accomplishing and then telling people about, as it would force me to get them done and make them into contributions.

Many are small, others would have made me wealthier.

In all cases, I didn't engage them because I didn't feel they were significant "enough" or lacked the confidence to simply dive and do them, and missed an opportunity as a result.

Almost all of them would have been accomplish-able in a weekend or afternoon, with another half-hour spent writing a blog about it. You don't need much detail, but it takes some mental work to distill the project to a simple statement that people will enjoy reading.

Regrets? Sometimes. More so for having failed to cultivate in myself a culture of getting stuff done and pushing it away from my desk into the world at large, so others can build on it.

"I could have done more" is the statement of someone who realizes in retrospect the value of his time.

</comment><comment><USER16> I've been blogging about my chosen field for about a year now and I've seen similar rewards from it.

Most recently: \- I was asked to provide an article to go into a sidebar of someone's book. \- Someone I met for the first time at a meetup mentioned that they knew who I was as my articles kept appearing at the top of their Google searches for particular topics. \- Microsoft suggested a resolution to a problem ticket I had raised with them by copying and pasting my own blog into a Word document and sending it to me - complete with Screenshots.

I've also learnt a lot by researching "that extra little bit" for the blog content and from other people leaving really great comments.

</comment><comment><USER17> I wish people would stop suggesting that everyone blog. It just creates so much bulk. Only really creative and thoughtful people (like me) should blog. All of YOU blogging clutters things and makes it harder for people to find MY work.

</comment><comment><USER18> I'm struggling towards this end myself.

I have [http://www.mikadosoftware.com](http://www.mikadosoftware.com), which is the main supposedly commercial site. Its self hosted on rackspace for various reasons.

For documenting side projects I use readthedocs.org and CNAMEs to put up any and every github project - so I get [http://pyholodeck.mikadosoftware.com](http://pyholodeck.mikadosoftware.com), generated straight out of docs in the github project. Good syntax highlighting is a breeze, look at `literal-include` in sphinx for an idea. I have maybe twenty CNAMEs like this.

And [http://blog.mikadosoftware.com](http://blog.mikadosoftware.com) is a wordpress site, I pay about 5 bucks a month for, mostly because I did not want to write my own blogging software for the 3rd time.

I know it sounds a mess but the theory is I used to have "ideas" and would mail myself with a sentence or two thnking "one day" I would write it up into that world changing post it deserved. Well now I just open the Wordpress app and put those sentences, plus a couple more because I am publishing and I have a "thought" out there. Basically every random thought that used to languish on my inbox is tarted up with an extra 30 seconds work and actually contributes to my capital.

I have no idea if it is SEO good or bad, or frankly if anyone actually reads this stuff. But I am glad I am slowly building up my online capital. If any of the blog posts actually get attention, I guess I will tart it up a bit and republish it on www.

(As an example, I often bang on about software as new forms of capital here, but this link ([http://blog.mikadosoftware.com/2013/08/06/software- capital/](http://blog.mikadosoftware.com/2013/08/06/software-capital/)) is an example of me putting a quick thought into existence. I would not actually consider that an acceptable docstring for production code, but its OK to throw out there.

Anyway - I agree with the main thrust - and for less than 50 bucks I have blogs, code documentation, and proper length articles from ReSt (a python form of markdown)

<comment><USER18> This was edited to add in links for ease, but now looks more like spam. My apologies, mail already winging its way to info@

Ignoring that however, the setup has taken a while to arrive at a sensible level and might be useful to the OP.

</comment></comment><comment><USER19> I have time lots of it and I am trying to learn different stuff. My problem is I rarely have "new cool original project" idea, which is bad for me, because as a freelancer personal reputation goes long way.

I recently redesigned my website [http://www.mohitranka.com](http://www.mohitranka.com), and looking to build a text analytics api side project (yes, I know not original) [http://analytex.net](http://analytex.net).

How do I generate "original and interesting" ideas, worth showcasing/talking about?

<comment><USER20> If you're learning things and you either run into a snag that you personally overcome or encounter a poorly-documented/explained subject, you could write a tutorial about it. It doesn't require finding an innovative business idea and it a) shows potential employers that you know a skill, b) shows potential employers that you know how to write, and c) gets you emails asking for help that may lead to consulting work if you play your cards right.

</comment></comment><comment><USER21> How do you successfully build an audience? Posting to reddit and HN is nice and all, but one or two popular posts rarely builds a ton of repeat users in my experience.

<comment><AUTHOR> > How do you successfully build an audience?

Just keep writing. Don't worry about building an audience, focus on improving your own writing ability and finding your voice. I wouldn't even really say I have much of an audience - but it has grown from only co-workers and friends to local developers to occasional HN/Reddit success.

When you think about bloggers that have a real, influential audience (PG, Joel Spolsky, etc) just remember how many years and hundreds (or thousands) of posts they've written.

</comment></comment><comment><USER22> I like that. For me it was always "Put yourself out there". Even if it's something you are not good at, perhaps especially if it's not something you are good at.

I never felt comfortable with writing for public consumption. Nor did I feel I had code to contribute, that wasn't proprietary of a client.

I've started slowly and enjoy the practice even if it's just practice for myself for the time being.

</comment><comment><USER23> I have a slightly different approach. I mostly find out about new software through GitHub. So rather than _talk about it_ I put my stuff on GitHub and possibly NPM. If any of those repos generate enough traction on their own, I would work on them more/make them better etc. If they don't and the work is useless to others, there is no point in talking about them.

<comment><USER24> why not combine telling the people about it and linking to your github / npm projects? It will definitely gain much more attraction and you can showcase already the effects of said code with a neat demo.

<comment><USER23> I am thinking the repo's README.md should be enough as I do not have anything more to say than what is there: "Thing X does Y, here is a quick start". Usually I put a picture up there or _even_ a link to an online demo.

</comment></comment></comment><comment><USER25> If you are in the mode to tell a good story, have a try on our visual story telling platform: [http://www.visual-marks.com](http://www.visual-marks.com).

It provides round-trip markdown/HTML editing to let you focus on writing and easily layout the page.

</comment><comment><USER26> Good advice, but

        "This past month I set a goal to write 20,000 words"

Setting writing goals in terms of number of words looks terribly wrong to me.

<comment><AUTHOR> Yeah - the intention was to write a little bit every day or so, but I needed to quantify it to keep myself honest and track progress. I guess I could have said "write 20 things this month" or something similar.

<comment><USER27> (First, thank you so much for the Beeminder plug! This is a big day for us, thanks to you!)

I like just forcing blog posts to happen on a reasonable schedule. Like tomorrow is an "emergency blog post day" for us on [http://blog.beeminder.com](http://blog.beeminder.com)

I also think having the thumbnail in the sidebar like that makes for a nice "ETA till next post" for your readers. And there are a couple ways to automate sending the +1 to Beeminder each time you write a post.

PS: Another more explicit example of the "ETA To Next Post" thing: [http://daily.muflax.com/](http://daily.muflax.com/) (Looks like they burned out on blogging there for a while but are committing to get a post out 20 days from now...)

</comment></comment></comment><comment><USER28> What do I do if I can't make anything cool? I mean, I can write code, but it seems like I'm incapable of an original thought.

<comment><USER29> A lot of designers have this issue. The hardest person to develop/design for is yourself since you're your worst critic.

Ask yourself "What if?" Take something you're interested in and modify it slightly versus trying to think of a whole new original concept. What if I made a to do list specifically for teachers? What if I created a workout app only for developers? etc.

This could help spark your imagination into something more grandiose.

<comment><USER28> that is kind of hard. i don't know many people.

</comment></comment></comment><comment><USER30> swanson - very great post. I happen to like this "do things, tell people" so much that its been my personal website's tagline for sometime. Thanks for writing and sharing with us HNer's

</comment><comment><USER31> Self promotion works great :)

</comment><comment><USER32> I hate blogs that don't have comments enabled. What's the point?

<comment><AUTHOR> My personal stance is that my blog is MY space on the internet. It is for my thoughts - if you want to share your thoughts, that's great, but please do it on your own space (or a common space like HN/reddit).</comment></comment>


C++11 Concurrency Series: 9. Condition Variables and Message Passing  - <AUTHOR> http://www.corensic.com/Learn/Resources/ConcurrencyTutorialPartNine.aspx

<comment><USER2> That was nice. Everything seemed to come together to make a nice clean message queue class. Which I think is due, in part, by the new C++11 features. Hello closures!

The guy's typing speed was killing me though...

</comment><comment> X-Istence I am always looking for new things to learn, and I love video as it helps me both learn using auditory and visual, however the guys speech in this video is simply too slow and made me fall asleep half way through the video, and it is only 30 minutes long.

</comment><comment><USER3> Better: <http://golang.org/doc/effective_go.html#concurrency></comment>


Stan Lee, Superhero of Marvel Comics, Dies at 95 - <AUTHOR> https://www.nytimes.com/2018/11/12/obituaries/stan-lee-dead.html <comment><USER2> Do news outlets have these sorts of articles queued up when someone starts getting old? Or do the journalists just scramble and get a story together in a matter of hours?

<comment><USER3> They have them queued. There has been a few were they went out too quick. But in this case, fuck. Knew it was going to happen one day, but still... fuck...

<comment><USER4> This is correct. They write them, often years, in advance.</comment></comment></comment>


Tell HN: AMAFeed spamming HN users - <AUTHOR> I am receiving unsolicited e-mail from "AMAFeed". The post they are referencing simply says "Nothin has changed..." (https://news.ycombinator.com/item?id=15919367)
Here is the e-mail:
https://imgur.com/a/jw4nj <comment><USER2> I used to work with somebody, who's side-job was to ask question in forums (paid). Entirely possible that most of the questions are from only few users. I mean this user [https://authorsama.com/user/34519/comments/](https://authorsama.com/user/34519/comments/) often manages to write one question per minute for 10 minutes in a row. No way.</comment>


Elon Musk Raised $3.5M in 24 Hours by Selling Flamethrowers - <AUTHOR> https://www.inc.com/minda-zetlin/elon-musk-raised-35-million-in-24-hours-by-selling-flamethrowers-and-what-you-can-learn-from-him.html?cid=nl029week05day30 <comment><USER2> i simply dont understand the motivation behind starting selling these Flamethrowers</comment>


What's it like working at a large tech company? - <AUTHOR> I've been working at startups or building my own startups and I'm just trying to get a realistic picture of if the grass is really greener. Is job security at a larger company real? What's the pace like, I understand it depends on the team, but is it long hours and as crazy as a startup? Is there really that big of a salary difference (funded startups these days have pretty competitive offers). Is there really a lot of process that get in your way? Are your peers generally competitive or supportive? Thank you HN community for your thoughts and experiences <comment><USER2> I can't speak to the actual work yet as I haven't started, but I just accepted an offer as a senior / staff level engineer at one of the smaller public tech companies (think Dropbox, Lyft, Pinterest, Snap, etc) after 10+ years of being self-employed. I had two startups offer me $170k plus some (probably worthless) options. When the offer I ultimately accepted came in, I had several more startup interviews lined up and likely could have gotten closer to $180k - 200k from the startups.

Now, $200k isn't bad. But the offer I accepted from the public tech company is for $420k the first year, and will likely go up from there, especially if the stock does well. It's not crazy to think I could be making $600k - 800k within a few years. And to be honest, I think it's on the low end for the big tech companies at my level. And it doesn't come with some crazy grind as far as I can tell. People seem to _actually_ work 40 hours, the PTO policy is flexible and people take 20-25 days a year off, people work from home when they need to, the benefits are solid, etc.

After this experience and seeing the huge disparity in pay, I would _never_ go work at some random startup unless I was founder level or deeply, deeply believed in their mission.

Check out [https://levels.fyi](https://levels.fyi) ...from everything I've seen, it's pretty accurate. The numbers there for my company and level were almost $70k _lower_ than what I ultimately accepted.

<comment><USER3> That is a lot of money.

But it is not unreasonable, as you have to think of how much the large publicly traded tech companies pay for talent which is in the same level as a startup founder.

Also that work life balance seems decent. Are you worried that you will find enough of a challenge at the position?

<comment><USER2> I'm not really worried. I'm both bored with self-employment and a little burned out. I think this will be a different kind of challenge but I also want a bit of a rest tbh. I'm also interested in transitioning to engineering management, which would be a whole new world for me.

</comment></comment></comment><comment><USER4> > Is job security at a larger company real?

It varies greatly from company to company. At Google (where I work) yes. At Facebook no.

> What's the pace like

I often work less than 40 hours a week and nobody even mentions it, but if I work more they tell me to work less.

> Is there really a lot of process that get in your way?

This depends entirely on what you want to do. Do you want to redesign GMail? Do you want to rewrite the codebase in Haskell? Do you want to move your data storage to mongo db? Then yes, there will be a lot of process in your way. Risky things like user facing changes and introducing new unsanctioned technologies will force you to go through a lot of bureaucracy.

But on the other hand if you just want to build and improve infrastructure using company sanctioned tools then there isn't that much process at all, just get a code reviewer and you are done. I haven't been blocked by process for years, I just decide I want to implement a feature, I write the code and send it and the feature is in an hour later.

> Are your peers generally competitive or supportive?

Peers evaluate each other so you don't see much toxic competition. However most of your peers will be relatively ambitious people so they will strive to look better than you, so you could say that they are competitive even though in this competition supporting peers looks good.

<comment><AUTHOR> Thanks for a real insight into this, this all sounds wonderful and all, can I ask what you would honestly miss if you were working at a smaller company or a high growth startup?

Why are there people working at large tech companies looking to leave their positions? Is it because it's so boring? Is it because they're not getting promoted fast enough? Do they not like the people they're working with? Can you transfer to another team easily?

</comment></comment><comment><USER5> Is the grass greener? Yes and no.

Startups and big tech are two very different environments. The environment that is best for you depends on many things. Suffice to say, it's best to understand your goals and motivations for the next 5 to 10 years.

You can learn a lot at either big tech or a startip if you surround yourself with the right people. Big tech has more people, which means your chances of finding excellent mentors is higher, but the risk of having toxic people around you is also high.

Compensation is usually good at big tech, after the stock vesting starts to kick in ( Which can take a couple years). If you look at the base salary that isn't stock based, then it's not that different from a startup. However, this is also something that is highly depemdemt on what you are doing and who you are working for.

Is the grass greener? I think we are biased humans who are always looking for something better. It's human nature. So yes, the grass is probably greener on the other side. But how's the grass where you are currently standing?

<comment><AUTHOR> Thanks for this, I think I have to do a bit of soul searching and figure out what I want to do for the next 5-10 years and have that figured out more clearly.

As for mentors, working at startups I've had some pretty good success finding mentors who were essentially advisors and at larger companies or retired seasoned vets for the therapy, professional growth, and debugging strategies/technical problems. I think that would be the same because you'd have to make an effort to get something out of that mentorship - I don't believe mentorship is bought or falls into your lap, it usually happens because of good chemistry (being in both sides of this).

As for stock compensation, from my understanding it's usually options? Where the company has to grow correct? If it stays flat, it's basically nothing? (Please correct next if I'm wrong, I'm a bit oblivious to this). Also from tax perspective it also eats into this? Just want the post tax perspective and assess the risk/rewards. Understandably, startups the stock is 99.9% worthless.

</comment></comment><comment><USER6> Startups are very difficult but if the business idea is good then you can earn a lot of money and grow your business. You just have to do the right thing first by registering your business under the startup company registration [https://www.taxolawgy.com/startup- registration/](https://www.taxolawgy.com/startup-registration/). You can know more from the link.</comment>


DNA studies topple the ladder of complexity (2014) - <AUTHOR> http://nautil.us/issue/9/time/evolution-youre-drunk?utm_source=tss&utm_medium=desktop&utm_campaign=linkfrom

<comment><USER2> This should be obvious? Complexity isn't an adaptation if it does not prove enough of an advantage to justify the increased maintenance and construction costs.

</comment><comment><USER3> Biologist here : This belief of increasing complexity is just a relic of the times when we thought humans were the pinnacle of evolution.

It is a basic misunderstanding of evolution. The single-celled organisms of today have evolved longer. Their DNA has been mutating, adapting for 10-times longer than ours (as a species) has been.

There is no reason to think that they would be any more simpler than us. They are just adapted to different environments than us.

</comment><comment><USER4> According to Darwin's theory, don't organisms evolve simply in order to adapt (by natural selection) to their environment? Where did this belief in growing complexity come from? (Could it be perhaps just a crude reflection of the progressivist ethos of Modernity?)

<comment><USER5> at least 2 forces come to mind - 1\. Humans want to believe they are special in some way 2\. Theory of evolution is under "selective pressure" to explain complexity since the watchmaker analogy

</comment></comment><comment><USER5> Interesting that Wolfram predicted this in 2002, was mocked by Cosma Shalizi as having "absolutely no understanding of evolution"</comment>


Ask HN: Should I ask my students to implement a HN-like webapp? - <AUTHOR> <comment><USER2> I think it's a perfectly reasonable task. It rather depends on the experience and goals of the students, yes? Random HN commenters can't provide input on that.

A wiki would be another option.

</comment><comment><USER3> What are you trying to teach them? I went through a coding school called Founders & Coders, one of our one week projects was to make a stack overflow clone. We really enjoyed it.

</comment><comment><USER4> I think it would be cool to ask them to create a web app for a non-profit, which you could then open-source.

<comment><USER2> Who do you think will maintain that app?

</comment></comment><comment><USER5> I would embed it in an iframe and be done with it</comment>


Language Learning Difficulty for English Speakers - <AUTHOR> https://en.wikibooks.org/wiki/Wikibooks:Language_Learning_Difficulty_for_English_Speakers <comment><AUTHOR> Previous discussion: [https://news.ycombinator.com/item?id=963220](https://news.ycombinator.com/item?id=963220)</comment>


Ask HN: How to fire your co-founder? - <AUTHOR> So I just read this HN posted article (The 7 Habits of Highly Overrated People - https://news.ycombinator.com/item?id=6965295) and thought a lot about my co-founder who is doing jack shit in the company. I already talked to him about lowering his share options (which he currently holds  about 40%, (same as me, after seed round dilution)), but with no avail. He actually threatens the company's success if I ever try to "sneak a move" on him when in reality his contributions are near 0 for product development as well as S&M.<p>If I talk with my boards on his misbehaviour it will get them stressed and stop believing on the company. Is there really no way to fire him and the only way is to actually quit ? <comment><USER5> _If I talk with my boards on his misbehaviour it will get them stressed and stop believing on the company_

Sorry dude, looks like that is precisely what you are going to have to do. Don't worry about the board stressing; they can handle it. That's their job.

Focus on YOUR job: the success of the company. The board will stop believing you when you prolong this longer than you should have, _actually_ making the situation much worse.

When you go to the board, GO PREPARED. Assume the board does not know anything. And treat it almost like a trial where you will get to present your side, and at some point, your co-founder will get to present his. In these cases, I like to open up a document and put down the facts in bullet points. When presenting, remain calm and stick to the facts, which when evaluated by a sensible party(your board), should have them arrive at the same conclusion as you.

<comment><AUTHOR> Thanks for the advice. I might go with this one after holiday ends. The only problem I see here is that he has more rapport with them (since I'm more product oriented and he's money oriented).

It's going to get real messy, especially since he holds all money, bank, passwords info (now I understand why he wanted to take control of those stuff in the beginning). Firing him will be so messy, and the 3 employees we have today respect him a lot especially since he's an expert following those rules in the article I stated in the original post (he's even deceived me lot's of times!)

shit.. Sometimes I think I need a new startup problem to solve to leave the company because this is not letting me sleep at night (and it's no longer the first thought when waking up in the morning).

<comment><USER6> "the 3 employees we have today respect him a lot"

This is a big red flag. Who hired those people? Why did you agree to hire them if you don't respect their judgement? Or is your co-founder also doing all the hiring as well as taking care of everything else?

Starting to sound like you should be asking yourself what you contribute.

<comment><USER7> I am seeing this red flag here too. This is sounding a bit ridiculous. It seems to me if the other guy is the money guy and OP is the product guy, and the employees, board, logistics are all in the hand of the money guy, then he is doing precisely his job.

What does OP really want his cofounder to do, maybe its time he explains why is he an 'overrated' person.

</comment></comment></comment></comment><comment><USER8> I would certainly not take such drastic action based on pattern recognition built out of some HN article.

Would you file for divorce based on an HN article about overrated spouses?

As others have pointed out, it sounds like he does do a fair bit for this company but you're blind to it. The one trick he's clearly missed is getting to this level of distrust with his cofounder. For that, though, it is not clear that you should fire him. Maybe he should fire you...

<comment><USER9> Could not agree more. You are not thinking of firing your co-founder, you are thinking of divorcing him.

No matter what its going to be messy, and you need to be absolutely sure its worth going down that road before you do it.

</comment></comment><comment><USER10> I'm in the uncommon position of having actually had to do this. It wasn't a "firing" per se as much as a parting of ways which I initiated, but here's what I learned:

• Discuss it very frankly with at least one board member you trust. Depending on their involvement with the business they may already suspect that something is wrong. Outline to this board member your concerns that Co-Founder is going to take this the wrong way and derail the business.

• Discuss with Co-Founder the specific areas you feel Co-Founder isn't pulling his weight (it isn't okay, even if it's the truth, to say "he isn't doing anything"). Make an irreducible list: start with what are obviously his strengths, and then list the ways in which he is not playing to them. Make it inarguable and prevent it from turning into a personal matter.

• Keep the focus on company not him. For the company to succeed, you need to accomplish XYZ.

• Explain very clearly what his options are. You are not trying to screw him, but you are displeased with his input. You would like to amicably resolve this so that the board doesn't have to be involved, but failing that you will take it to the board and ask them to do their job by sorting it out. He can accept reduced equity and no day-to-day involvement, or he can kick up a fuss and you will move him on. Either way he should accept the reality that his involvement is coming to an end and that his decision now is how it ends.

Your board, if they have any kind of experience in running a business whatsoever, will know that this is one of a billion things which will go "wrong" over the four or five years it will take to make or break your biz. You can influence a lot in the way you communicate this event to them. It sounds to me like it's not truly a crisis but a significant opportunity for you to offload someone who is not contributing and reallocate capital to someone who will put in the hours.

My overriding advice is that you should not worry about this. Next time you start a company be sure to finalise your divorce before you finalise your marriage (i.e. very clearly delineate duties for founders and establish what success for your roles looks like), but other than running out of capital or not growing, very few things are disastrous for a startup.

</comment><comment><USER11> I'm sorry to hear about this.

Elad Gil[1] has written about this in depth about 12 months ago: [http://blog.eladgil.com/2013/01/how-to-fire-co- founder.html](http://blog.eladgil.com/2013/01/how-to-fire-co-founder.html)

[1] [https://angel.co/eladgil](https://angel.co/eladgil)

</comment><comment><USER12> "when in reality his contributions are near 0 for product development as well as S&M."

What, he won't even hold the whip? ;)

I'm pretty sure that "S&M" above actually refers to "Sales & Marketing", for anybody else who was... confused on a first read.

<comment><USER13> It's actually BDSM, Business Development, Sales & Marketing.

<comment><USER14> You might want to put those in a different order to not get confused with the _other_ BDSM.

<comment><USER15> They actually refer to the same thing.

<comment><USER16> What's fun about business development, sales, or marketing?

</comment></comment></comment></comment></comment><comment><USER17> My take here differs a bit from that of the rest of the thread.

How about this OP - who are you to fire your coworker after he got a cosy relationship with a board?

This is literally no better than firing an 'idea man' after they did nothing, except just bring an idea, set up a company around it, and code the first version.

Who are you to do that? If you were good enough to found and run a company by yourself, including raising money, you would be doing that. Where are all the companies you founded and ran by yourself in the years and decades you didn't have your current cofounder? Even if he showed up to work three days: one day when he talked with you and then brought a huge investment from a board that you couldn't bring, then 18 months later to sign some Series A papers with you after discussing them by email, and the third day he to sign the IPO documents before quitting, you should still STFU and thank your lucky stars you're allowed to get 40% of an actual company that he actually orchestrated for/with you, in exchange for nothing more than working there, much as you might for whatever salary "S&M" or "product design" is worth.

It's not your co-founder's job to work for you. Who do you think you are anyway? Go design a product or do sales at a big conglomerate if you want pay grades, or go found a company by yourself if you don't need the things you've already listed your cofounder as bringing, including a cozy relationship with a board.

If you can found a company and raise money for it by yourself, go ahead and give yourself a 2.5x equity raise up to 100% by getting the fuck out and doing so. enjoy 100% of what you feel is 100%, since you feel your cofounder didn't add shit to the mix, in your extremely personally centered opinion.

Everyone else here has it 100% wrong, IMO.

<comment><USER18> I was about to write something similar to this.

So someone with 40% of the company thinks the other guy with equivalent ownership isn't worth his share? What if that guy thinks the same thing about you?

The other guy apparently has employee loyalty, funding, and administrative controls on his side...

I am not at all convinced that the OP deserves sympathy for wanting to screw his business partner, and publicly soliciting strangers' advice on how to go about doing it.

If I were the other guy, I'd put this HN comment thread in the hands of my attorney and take my own case to the board. Sounds like the jig is up for this partnership, take it out back and put it down.

</comment></comment><comment><USER19> Keep in mind that sometimes people misperceive each others' real contributions, because of differing competencies and priorities. But, assuming your estimation is correct:

Is an employee agreement and vesting schedule in place?

Who reports to whom? You haven't mentioned formal titles/roles, but unless you're already final-say CEO, you'll probably need the board's support to oust him. You'll definitely _want_ their support and advice, especially if adversarial steps to adjust equity or reorganize are necessary.

Talk to older mentors/lawyers who've seen similar situations.

Look up 'shotgun clause'; even if one doesn't already exist, a 'him-or-me' game of chicken might be resolvable with minimal damage/legal-risk using some sort of similar bidding/step-up-or-leave arrangement.

</comment><comment><USER20> This is why you have a board. And hopefully some decent legal documentation in place. Talk to them, lay out facts and the action you want to take, and just follow the documented process for things like board votes and such (again I hope you have legal docs in place, otherwise be prepared to get a lawyer and slog it out…). Sounds like you think the success of your company might depend on you getting rid of him, so just treat it like what it is: business, not personal.

<comment><USER21> Majority shareholders can't just vote to take away equity from minority holders. There are laws about minority shareholder rights. The OP better have some really specific agreements in place.

<comment><USER20> Well generally with more or less standard docs in place, the board can vote to remove the offending person from the company. And then it's just a matter of the vesting schedule as to the leaving person's remaining stake (this is why founders should have vesting). Not saying there won't be something of a legal battle, but certainly there's no special provisions necessary which you wouldn't expect in standard startup articles of incorporation.

</comment></comment></comment><comment><USER22> Let's see. He's the expert. He controls the money. He has the rapport with the board. Maybe he helped get a lot of the funding? Sounds like he's pulled a lot of weight so far.

Maybe he's not pulling the weight, but like a movie the other day, a Washing Machine works hard, so what.

Think through if he's benefitting the company in his total contribution. If you want more from him, ask. If he won't do it, explain it's unacceptable and go to the board.

Like badclient states, it's going to come down to perception based on asserted facts. Those facts will be interpreted through the lens of relationships.

I have been through this before, I can help if you want someone to bounce things off of real time.

<comment><USER23> "Those facts will be interpreted through the lens of relationships."

This is the key point for everyone advising him to go to the board or quit and start anew with the employees. It's unlikely the board meeting will go well unless the other cofounder has done something seriously wrong. Trying to work out goals with him, as suggested, has a better chance of being productive compared to asking him to reduce his equity.

</comment></comment><comment><USER24> I apologize in advance, but since nobody else seems to have taken the initiative I will opt for being the ass_ole in this situation.

Before you go to the board (you ethically should) let ascertain a few things.

Are you sure he's an overrate person or is it just that you don't see the value in his input?

Some where in the thread you mentioned:

 _> It's going to get real messy, especially since he holds all money, bank, passwords info_

Some credit needs to go to an individual who has taken ownership for responsibility of finances, considering the amount of onus that falls on the need to maintain finances optimally for a start-up, this can also be really stressful. If he has mismanaged finances, that's another story.

If he has not mismanaged the finances and has taken ownership/charge of these affairs you need to reflect on why you did not opt to share the burden.

Some people don't like managing finances, nothing wrong with that, but they do need people who'd do it for them, even better if there is a mutual need to succeed. Anyone can be the best money manager in hindsight.

 _> the 3 employees we have today respect him a lot especially since he's an expert_

Respect is very important. Sure, the article says that the Overrated person can establish themselves as an expert, but believing this without a doubt also means that you don't trust the judgement of your first three employees.

Not saying you're wrong, but there is a possibility that you need to delve a little deeper on why they think your co-founder is an "expert".

 _> following those rules in the article_

Not all rules apply all the time. Also these are not really rules but situational observations.

 _> The only problem I see here is that he has more rapport with them (the board)._

Was he instrumental in helping you raise funds? Could you have raised the funds with a 100% surety without him if you were a single founder? Would this rapport help keep the faith of the stakeholders in the prospect of your success?

Maintaining and managing peoples belief in an idea or the people executing an idea is no easy task. Are you sure he has a zero percent contribution in any of these? And again are you sure you could have achieved a 100% of past results without him?

 _> He actually threatens the company's success if I ever try to "sneak a move" on him_

Why would you try to sneak a move past anyone who has as much to loose as you, or even if it was a fraction thereof?

How does he threaten the company?

Does he threaten to leave? If you want him to leave, this solves your problem. But, if his leaving threatens the company, you should probably reconsider firing him.

<comment><USER25> This is important

If you want to (you should and must) get to the board and present your concerns, they are going to need those questions answered

It will only help your case

If your cofounder is as bad as I'm imagining, you should do your homework: get emails, recordings, etc which is strongly hinted by his threat (make sure you get him on that, record with your cell phone - hidden - or something)

But there's also a possibility things are merely like this: "some credit needs to go to an individual who has taken ownership for responsibility of finances, considering the amount of onus that falls on the need to maintain finances optimally for a start-up, this can also be really stressful."

You need to work a very clear and ironed out case for the Board. And remember, to them everything is still ok, and they hold him (and you) in consideration, so you'll have to work the case real slowly, be tolerant of their questions, as dumb as they are (it's a dumb question to you, not to them)

And talk to your lawyer, of course. And make sure he doesn't know about this.

<comment><USER26> >make sure you get him on that, record with your cell phone - hidden - <USER4> something

Be _incredibly_ careful: this could be a violation of state privacy/wiretapping laws.

<comment><USER27> Yes, what you need to check is whether your country/state requires one party, or two- (all-) parties consent. See this: [https://en.wikipedia.org/wiki/Telephone_recording_laws](https://en.wikipedia.org/wiki/Telephone_recording_laws)

</comment></comment></comment></comment><comment><USER28> 1\. Watch Startup.com.

2\. Talk to him. Offer him something in return for his shares (such as a large amount of debt which is only triggered if/when the company sees a liquidation event of suitable magnitude).

There hopefully will not be a step 3.

<comment><USER29> Watch what? The site you're plugging may as well be a parked domain.

<comment><USER30> [http://www.imdb.com/title/tt0256408/](http://www.imdb.com/title/tt0256408/)

<comment><USER29> Thanks for that guys. I had no idea this was actually referencing a movie.

</comment></comment></comment></comment><comment><USER31> I was in a similar position with my first company, but waited too long because we were such close friends. I view failing to fire him as my biggest mistake/failing as CEO of my first co.

If you want to talk, drop me a line here and we can hop on the phone. I have a strong opinion on this topic: [http://mattmireles.com/contact/](http://mattmireles.com/contact/)

</comment><comment><USER32> At the early stage of a company, equity is very important to keep people's incentives aligned to work really hard in the best interest of the growing the company. This generally initially expresses itself in the founders, who have a lot of equity and little or no salary, and then continues on with early employees. So just from this perspective, spending a ton of equity on somebody who isn't contributing is a massive opportunity cost.

Additionally, there is a reason successful solo founders are rare. It is hard to found a company, especially without somebody who is 100% aligned with you (at least economically) the whole journey. I'd imagine that a situation where you start with 2 founders and go down to 1* makes it even harder, because you are like a single founder but with all of this stress you are accumulating right now on things that aren't related to making a great product.

Now this isn't to say that founder strife is something that doesn't happen in successful companies. It does. It is just the magnitude and early-ness of your strife seems pretty large. Making a successful company is really really hard, and you really want to put yourself in the best position to succeed. If you aren't in a good situation, and getting to a good situation doesn't seem likely, then just leaving and starting something else might be your best available option.

Note: I have no idea how large your company is, so this post is assuming your company is 2 or 3 people and is very early stage. If your company is doing really well or is much larger, this advice basically doesn't apply at all, because then "sticking with it" starts to look like a good option.

*: I'm extrapolating that you had 2 founders based on your post. If for instance you had 4 founders and were going down to 3 I don't think it would be as big a deal.

</comment><comment><USER33> Don't forget that just because he is a shareholder doesn't mean he has an automatic right to be a Director (or employee). Hold a vote of no confidence in his abilities to add value to the company and fire him as a Director - <USER3> can't take away his shares though, unless you can convince him to sell.

Your first and only duty is to the welfare of your company.

<comment><USER34> Typically (hopefully!) shares are vested based on work as an employee, in which case you can get back the unvested shares at least.

</comment></comment><comment><USER35> The best way to do it, is to not have to. The second best way, is to fail fast. I waited too long in my last startup and wasted too much time waiting for someone to carry their weight. It never gets better.

I recommend reading "The Founder's Dilemma's" to cover the other things you'll need to consider later as well prevent other, BIGGER, issues.

</comment><comment><USER36> Perhaps what you have _is_ worth fighting for, and you will therefore be willing to incur significant costs (in time, energy, opportunity and likely money) battling your co-founder. But I think you should consider the facts you have presented in your question and responses to other comments:

1\. Your co-founder has the same level of ownership as you.

2\. He controls the company bank account, passwords, etc.

3\. His relationship with the board is stronger than yours.

4\. Your employees like him.

5\. He is aware of your desires and has made it clear he is willing to fight your efforts, apparently even if it means sabotaging the company.

Given these facts, I think it would be wise for you to consider what you can _realistically_ achieve even if you are successful in removing your co- founder. You may find that the question, "How do I fire my co-founder?" is not the first one you should be asking yourself.

</comment><comment><USER37> "He actually threatens the company's success if I ever try to "sneak a move" on him when in reality his contributions are near 0 for product development as well as S&M."

1) S&M? Sales and Marketing? At some point in the comments you mentioned that he's the financial guy in your team. I assume because you're writing this on hacker news you're the product guy. So I assume you're comparing his tasks with what you do day in day out.

I started a company with three other founders 6 years ago in Berlin. We had depressing times, but also great times. I left the company a year ago to join one of our VC and after 5 years I was the first to leave.

During those 5 years, I had moments were my co-founders didn't live up to my expectations. And the other way around with me. In retrospect I even think that two of us had a burn-out during the time (which results in exactly the behavior, described in the article you've mentioned) and because we had constantly re-invent our jobs.

And during the time were we re-invent our jobs, we're not that productive - <USER4> appear not productive - for some time. Give him that time, you'll need it at some point too.

2) You've started that company with him and you've raised funds. Congratulations, because at least your investors are thinking that you are a strong team - otherwise they wouldn't have invested in the first place.

From your ask and comments it sounds like your relation with your co-founder seams to be already hostile. For the sake of your company, you have to put aside feelings and put the interest of the company in front of everything. Which means your _ego_.

get some consultancy and figure out how to communicate on a professional level.

Someone mentioned to put up goals. I assume you have some, so try to reach them. If you don't need them then there is always the option to get another co-founder - maybe a more senior person - into your company.

Good luck.

</comment><comment><USER38> To look at it the opposite way...

Could you quit and re-start? If you have employees, maybe they quit and follow you? Perhaps your investors would go with you too.

<comment><USER39> He likely has a clause in the employment agreement preventing him from competing in any way. Pretty standard

<comment><USER38> Well, yes. Except, with his leaving, and assuming all the important people, etc went with him, what would the remaining co-founder have left to be competing with?

Then what resources would the remaining co-founder have to go through the US court system?

Lastly, leaving and re-starting doesn't have to mean the exact same product.

I know what you are saying, but Im pretty sure it could be side stepped with some creative thinking.

<comment><USER21> >Then what resources would the remaining co-founder have to go through the US court system?

To bet on this would be to bet on the new company being a failure.

Because if it ever _does_ become successful, plenty of lawyers would be willing to work on behalf of the ousted cofounder on contingency.

</comment></comment></comment></comment><comment><USER40> I was in a similar situation exactly two months ago. As others have stated here, COMMUNICATE with your cofounder. Express what you are thinking and how you view the situation. My cofounder didn't. He immediately tried to push me away from the company and eventually removed me 'without cause'. We are in a legal battle right now. Even to this day I still don't know what or why he did what he did.

Communication is key in any relationship. If you can't manup and talk to them, you are part of the problem.

If after you two talk and there is no movement, then seek out other alternatives. But always try to keep an open line of communication. Sometimes the alternative is way too costly.

</comment><comment><USER41> I'll reiterate what others have said here, keep notes and keep it all about the company. It isn't about how effective or overrated your co-founder is, it isn't about your relative "worth" to the company, it is all about making the company successful. Stay laser focused on that issue.

Don't talk to board about firing the co-founder, talk to the board about making the company successful. If that requires replacing the co-founder they are perfectly capable of figuring that out.

</comment><comment><USER42> Lots of good advice. There are people who might say, "This is why you have think things through better in advance" but your situation is what it is. I'd also seriously consider whether his bad points could still be good for the company. (Zuckerberg clearly had an ego.) Also remember there is a cost for the divorce. If your contribution is 70/30, but you split the money evenly, the damage from the divorce may still be more than the benefit of finding a more equitable partner. (He may leave with all his equity, and perhaps some folks leave with him.)

All that said, here's my advice:

1) You have to be mentally prepared to walk, and go do something else, because there is a good chance you won't be able to work with this person again. You also should be prepared to rebuild the company from scratch.

2) If you have a good enough relationship with your co-founder (and one that's worth preserving) you have to go to them and say, "I think this isn't working. Can we figure an equitable way out of this?" You may have to be the one that leaves. You have to be prepared to let him have a large chunk of equity. If you skip this step, you will have an enemy for life. (You should only skip it if you already have an enemy for life)

3) After step 2, you should contact the board member that's closest to you and tell them, "I'm considering moving on. Can we talk?" They will be savvy to know that something is up, and they can help make the call for which of you two will stay.

4) No matter what the outcome, conduct yourself professionally at all times.

In the end, the code/passwords/money won't disappear. If your co-founder does something crazy when there are outside investors, his career is doomed. He may get angry, and you may get fired, but he won't so overtly steal.

Good luck and let us know how it goes.

</comment><comment><USER43> (Sort of disclaimer, this may or may not be terrible advice from a legal perspective, IANAL)

So first off all, get someone to talk this through. Ideally someone who can give you an honest opinion, but any second opinion is better than none.

And second, after you decided to use the nuclear option, shelf it as a plan B. The nice thing is, almost everything is better than that. So you can plan with a lot more freedom, and you can play with a lot of risk. If it does not work out, then you just push the button and go nuclear. In your case, when you decided that there is only one of you left when the dust has settled, then you don't need to worry how you can work together in the future. One way to exploit this, you can be brutally honest. Perhaps you find a common basis again, or you go to your board.

</comment><comment><USER44> Having gone through this, I would immediately read through your operating agreement, and any other operating documents. I went through same process, having numerous well documented discussions with cofounder.

If you wait to long, and your cofounder feels a threat, they may beat you to the punch.

After doing more than a million in revenue in our first 3 quarters and hiring a team of 15+, I was fired. A clause in our operating agreement allowed for this to happen, even with equal equity.

I encourage you to act quickly and very accurately in order to alleviate any risk of your partner taking action against you.

Good luck. I sincerely wish you the best. As messy as it gets, stay honest, stick to the points, and don't overreact in your defense. It will all work out as long as you diligently work to resolve the issue.

</comment><comment><USER45> sorry to be late to the party but this is typically the kind of situation that requires you to "manage up" your board. DO NOT wait for the board meeting to address all this. Talk individually to your board members before the board meeting; present the solutions that you are envisioning and next steps. Ask for their input - that's how you're gonna make them feel better and confident that you're on top of the situation. If you go to the board meeting and present the situation then, there is absolutely no way this results in a healthy conversation. Everybody will look at you in a wtf-way and it's going to be very awkward. Prepare your board - so when you get there it's more of a follow up conversation.

</comment><comment><USER46> You are trying to throw your cofounder under the bus without going directly to him first? Tell him whats on your mind. At least you owe him that. At one point you picked him to be your cofounder and now maybe things are not working out, it might be his fault, maybe he is having issues or doesn't know he is not collaborating as much, but you owe him at least a direct conversation man to man. He will appreciate this more than being thrown under the bus.

again, I don't know the full details of your situation but there is two sides to a story. Whatever you end up doing won't be pretty but talking is and discussing things hombre a hombre is the best approach.

</comment><comment><USER47> funny. i was in this position many moons ago with 50/50 ownership between me and my partner.

it blows and there is never an easy way to dissolve such relationships. i had to threaten 'going nuclear', i.e. closing the business, to get him to leave.

</comment><comment><USER48> Hustlers gonna hustle... welcome to business 101. Keep documentation. Set boundaries. Plan! If it's his prerogative to threaten the company's success, he is effectively diminishing his own returns. If mechanisms exist to oust him -effectively- in relation to what the company needs, those need to be implemented. This is why hiring decisions are important. Speak plainly. "Sneak a move" is unacceptable business language. Also, the marketing guy can't work with an unfinished product (just to make a point for his behalf).

</comment><comment><USER49> Note to future startup founders: Make sure a vesting schedule is setup. (Pretty) please!

With a vesting schedule in place, parting with a co-founder (voluntarily and involuntarily) is much cleaner.

</comment><comment><USER50> Wait until he leaves the office and then do a poo on his desk.

</comment><comment><USER51> Talk to someone with experience who is both objective and tough, who can first tell you if you are in the wrong.

If you convince them of your case, seek their guidance in approaching your board and other influencers. You should also seek advice from the company's legal counsel, he is obligated to protect your confidentiality. Also quitting or firing are not the only two options here, but I'm sure your legal counsel should know about this type of stuff.

</comment><comment><USER52> That sounds brutal. Do you have anyone that you both trust, like an older advisor, college professor, etc. that could maybe sit down with both of you and mediate?

</comment><comment><USER53> Wow! What a shitty situation. If you can't buy him out you're going to have to get the Board involved so they can act collectively. Get you're shit together and "build your case" against them so it doesn't blow up in your face. Good luck!

</comment><comment><USER54> I had to let go of my full-time assistant today. The holidays are over; do what you have to do.

<comment><USER55> livin' the dream, brah!

</comment></comment><comment><USER56> Hey - I've been in exactly this position last October, with a fairly messy end. We had to give up on the company.

More than happy to talk it through with you and let you know what worked well/didn't for us. Twitter: @MackMackTweet

</comment><comment><USER57> Out of curiosity, are you both technical cofounders doing programming or are you both overlapping and trying to do sales and marketing? What is that situation like?

</comment><comment><USER58> Here is one way you could structure this. Create goals for him to reach. If he repeatedly fails to reach them, then you can ask him for compromises such as giving up equity, etc. If you do it in the right way (that is a win-win, helping him to make more contribution), then it can be worked out. If he repeatedly fails, then you can involve your board and work out a solution that is best for the startup.

<comment><USER59> I agree except that since it's apparently been going on for a while, there's no time _now_ to allow him to "repeatedly" fail. Ideally, this improvement plan would have already been attempted and the results of that (assuming there were repeated failures) could be included in the info provided to the Board.

At this point, he should just go directly to the Board and include his _proposed_ improvement plan in his presentation. The co-founder has already indicated an unwillingness to change or leave; the Board should be able to force it.

</comment></comment><comment><USER60> How long till the guy (your co-founder) found out about this post?

</comment><comment><USER61> Email me there are some things that people can't tell you publicly on how to deal with this type of situation.

</comment><comment><USER62> > I already talked to him about lowering his share options (which he currently holds about 40%, (same as me, after seed round dilution))

if you're a co-founder and all you have is options and not a significant chunk of real equity, i'd say the problem is not that he isn't pulling his weight, but you (that's you, not him) got short-changed for the amount of work you are doing. and you are probably upset about that.

if he's a CFO/money type that's been charged with fund raising, money management, records, dealing with vendors and HR, etc, his compensation (no actual equity?) is probably correct, or even under-valued.

in which case, if you go to the board, you are going to be forced into a position of justifying why you want an increase in compensation for your work, instead of lowering his compensation for the work he's doing.

these are the kinds of things you learn so that your 2nd and 3rd time around are easier.

</comment><comment><USER63> Just tell him, plain and square:

"When we started on this endeavour I was expecting you to behave/provide/take care of X and you are not doing those things that we agreed on (or the results you are delivering are WAY OFF the expectations that the company had on you). You cannot be part of this if you are not helping it getting better. I'm sorry but I don't want to continue with our business relationship."

Be honest (with him and with yourself), you DON'T WANT HIM and there's nothing wrong with it. The more transparent you are here, the better you'll come out of 'the negotiation'.

The negotiation: Wether you want it or not, he owns some part of the company, even if he had just been doing jack shit the fact that you invited him to your endeavour and you are still referring him as a co-founder means that he's ethically entitled to 'something'. Now, it's up to you to decide what is that 'something' that he deserves'; again, just be honest and talk about what would be fair for him to take.

Be honest! That's the only rule here and if he co-founded this thing with you (even though you knew he wasn't worth it, or didn't knew at all) chances are that you may be real-life pals; if that's the case, just solve it like pals, after all it's always better to have a friend than a dollar.</comment>


Welcome to Брайтон Бич, Brooklyn - <AUTHOR> https://www.nytimes.com/2018/12/14/nyregion/brighton-beach-photo-essay.html <comment><USER2> I've been there about 10 or so years ago. It has that atmosphere that I remember from old Soviet movies. Those sorts of olden vibes don't exist on the post Soviet territory anymore. BB was a culture shock for me because it was like stepping 40 or so years straight back in time to Soviet Union of the 70s or so even though I never saw those times. Places like this (another one I know is Russian West Hollywood) is made up of people who only watch Russian TV and films, only eat at Russian restaurants and shops, only socialize with other Russian speakers (preferably those born and raised in the former Soviet Union) and never bother to learn the local language. I met some people who've been living for 30+ years in the states and still don't speak English whatsoever.

I just started reading a novel called Vita Nostra (found it among the SciFi recommendations of 2018) the other day and it strongly reminds me of Brighton Beach.</comment>


MongoDB's Write Lock - <AUTHOR> http://blog.pythonisito.com/2011/12/mongodbs-write-lock.html <comment><USER2> > MongoDB, as some of you may know, has a process-wide write lock.

I've never taken time to see what MogoDB db is, but thanks to this opening sentence, now I know everything I ever wanted to know about this system. Having worked for 13 years on database system design I am pretty confident that a system not designed with concurrency in mind cannot be retrofitted with any decent concurrency later.

Thank you Rick for saving me the time.

<comment><USER3> There was a poxy operating system a few years ago. It only ran on one 32 bit architecture, didn't have multi-processing, had limited device support and a rather bizarre set of dev tools. Then they tidied things up a bit. But when they added multi-processing these morons just used a single big kernel lock. What a bunch of idiots. Obviously anyone using that operating system was blind and stupid and there were far better solutions.

That operating system is Linux. It started out very simple and was good enough for many people and then kept evolving. Nowadays the alternatives are mainly footnotes in history.

MongoDB is also simple. Its locking approach does not give wrong answers. Its users are happy. Your assertion that the locking can't evolve is bollocks because you have no clue how the database works. While your statement has many elements of truth for a relational database, it is meaningless for the current generation of schemaless/NoSQL databases. Did you know that MongoDB has auto- sharding and replication, and doesn't need locks for that either?

<comment><USER2> I would argue Linux ended up with decent concurrency because both Sun and IBM poured huge heaps of dollars into making it so with their contributions, plus huge efforts from other contributors. If someone pours same amount of effort into MongoDB they might succeed with a retrofit/rewrite as well. It's relatively rare though.

</comment></comment></comment><comment><USER4> > If you are able to do this, it turns out that the global write lock really > doesn't affect you. Blocking reads for a few nanoseconds while a write > completes turns out to be a non-issue. (I have not measured this, but I > suspect that the acquisition of the global write lock takes significantly > longer than the actual write.)

Actually, it _does_ affect you. I have worked with mongodb in production in a high-write scenario with about 1000 clients and it slowed to a crawl. All data was in memory. The server was not breaking much of a sweat. mongostat showed upwards of 60 queued reads/writes at any given time.

The only solution was to shard, but I feel like an enormous server like the one we were using should be able to handle 1000 writing clients.

Keep in mind this was version 1.8. I no longer work at the company where this happened and cannot testify to the performance of 2.0, but 1.8 has abysmal write performance.

<comment><USER5> Were your writes changing the size of the documents so that mongo had to move them? I've had this happen and it'll cause mongo to grind to a halt.

<comment><USER4> Some of them were, but others were just updating a boolean or an integer value. For the most part we tried to pad our records, but I'm sure there was some moving along the way.

<comment><AUTHOR> I guess it depends on what % of your writes were simply updating a boolean or integer value. My benchmark shows that simple updates like that don't affect query performance much. Writes that take longer probably have different performance characteristics, YMMV, etc.

</comment></comment></comment></comment><comment><USER6> Why is everyone paying so much attention to MongoDB? It has been criticized a lot for its design and implementation problems, but still for some reason it's so popular.

To name a few,

* word-unaligned memory structures, which leads to incompatibility with virtually any non-x86 CPU architecture

* explicitly little-endian processing in the server, so there is no way to run the original code on any big-endian CPU architecture.

There has been a patchset which was tested on a SPARC CPU, but last time I asked the author, the 10gen team completely ignored this effort.

apart from that, there have been reports of data loss without any failure note

<comment><USER7> Yeah, how dare people like what you don't like?

> It has been criticized a lot [...] but still for some reason it's so popular

Since you provide no data or sources for "criticized a lot" it's no surprise that you don't provide the same for "so popular". I assume you mean "I've seen some headlines on Hacker News about it".

> incompatibility with virtually any non-x86 CPU architecture [...] no way to > run the original code on any big-endian CPU architecture

Huh. Maybe that's only a problem for people on non-x86 CPUs then?

Look I'm really not a fan of Mongo but "It has been criticized a lot [...] but still for some reason it's so popular" describes _every technology ever_. Get over it.

<comment><USER6> > Maybe that's only a problem for people on non-x86 CPUs then?

actually it's a problem for application developers. I cannot rely on a backend system with limitations like these. So I'll have to go back to the RDBMS backend or look for other nosql alternatives, but definitely mongoDB is off my list

<comment><USER8> The world runs on x86. You might have some legacy systems running SPARC or POWER, but those systems are unlikely to reside in MongoDB's target market anyway.

Arguing everyone else should ditch code that happens to not work on your pet architecture is a pretty self-centered worldview.

<comment><USER6> actually the number of ARM processors is growing, and not only in the mobile sector. There have been some efforts to bring ARM architecture into the server market. Also China is building its own MIPS-based supercomputer. Also the SPARC architecture is actually developing, although it's a pity to see it swallowed by Oracle. IBM is still shipping PowerPC servers.

besides, there are huge SPARC-only datacenters still running.

<comment><USER8> > _There have been some efforts to bring ARM architecture into the server > market._

None of which have really gone anywhere.

> _China is building its own MIPS-based supercomputer._

You think a lot of supercomputers are going to be running Web-targeted NoSQL datastores?

> _Also the SPARC architecture is actually developing_

So its partisans have insisted for the past decade. The real world doesn't much care. Sun/Oracle was less than 2% total market share for servers in 2010, by the way -- and that includes their x86 sales.

> _IBM is still shipping PowerPC servers._

How many? To whom? They had 13% market share in 2010, and they sell a lot more x86 servers than POWER.

> _besides, there are huge SPARC-only datacenters still running._

There won't be much longer, and the ones that are mostly run legacy infrastructure.

There's not even a convincing case for 10% of new servers running not-x86. Greenfield systems don't care about not-x86. It's just irrelevant to pretty much everybody. There's no reason for the MongoDB guys to make it any sort of priority.

<comment><USER6> a thoughtful software designer would build an endian-neutral and memory- aligned architecture in the first place. In case of Mongo, the designers don't seem to really understand how the computer hardware operates on the low level.

for the rest of your points, neither you nor me can tell what would be the most selling server architecture in 3 years. Do you intend to design software with unpredictable lifespan? I don't.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Why not just go take the write lock out of the db all together if it doesn't need to be journalled? It's obvious at that point that missing / mangled data is acceptable. It's not particularly amazing that not writing data to disk is faster than writing to disk. What IS amazing is that the geniuses at 10gen have some how managed to make not writing to disk thousands of times slower than writing to disk.

Who would design a database so shitty that journalling the data impacts performance. Typically you only need one spindle for a journal to support 100 to 200 data spindles. If you can't pull 80 to 90 mb/sec sustained write from a log drive something is seriously wrong.

48 iops now that's what I call "web scale". Let me just throw out my acid database that does 30000 iops on _Win2k3_ of all things, to get 48 iops with out journalling.

<comment><USER10> MongoDB's journal is another collection that only syncs to disk 10 times a second. It's not a true journal like a write-ahead log. You can force that collection to fsync, but... yeah, I get get stupendous performance using a cheap RAID controller on commodity hardware with an old and busted relational database. Hooray for 40 years of technology!

</comment></comment><comment><USER11> The thing is that you are still supposed to keep the whole working set in memory and use sharding if its larger than that. Which means that none of this is really relevant.

Except that now with that new graph showing such good performance on reads during paging people are going to get confused.

Anyway you can get 32GB of RAM for $232 or 48GB for $636. Which means that for 90% of applications, you actually don't need to shard. And if the journaling works (people with a vested interest in relational systems really have to hope that it doesn't), then I don't have to worry about my data disappearing, even if I only have one database server, which is also not a recommended design with MongoDB (or any database really).

I have years of experience with SQL Server, Oracle and MySQL. However, MongoDB is the most attractive database now because it makes the object-relational impedance mismatch go away. [http://en.wikipedia.org/wiki/Object- relational_impedance_mis...](http://en.wikipedia.org/wiki/Object- relational_impedance_mismatch)

If I can write code (in CoffeeScript using a library like Mongolian Deadbeef) like this

        posts.insert
          pageId: "hallo"
          title: "Hallo"
          body: "Welcome to my new blog!"
          created: new Date

        posts.findOne
          pageId: "hallo"
        , (err, post) ->

        posts.find().limit(5).sort(created: 1).toArray (err, array) ->

then whey would I want to deal with separate steps of setting up the relational database tables, creating stored procedures, creating a software layer to map my objects to my tables etc., or hiring a DBA?

I believe that most of the hate for MongoDB is fueled by a survival instinct. The popularity of databases like MongoDB threaten to make years of experience obsolete and threaten the existence of the DBA profession. Relational databases are great, but they were an optimization designed to solve certain problems that most people today just don't have, and now they have become an unfortunate institutionalized dogma.

<comment><USER12> From multiple years of NoSQL experience. The Object/Relational impedance mismatch stays right there where you leave it.

Using K/V stores will only help you write data. But the whole impedance nightmare is right there, waiting for you to try and make some sense of the data. Especially if you want to do relations.

And you are dead wrong about relational DB's. It is either due to habit or because of being a better fit that users demand representations of data that are best served from a relational source. So you better plan your data models wisely, because you WILL pump this data into a relational source, sooner or later. It would be wise do keep a schema around all the time.

In the end it is merely a question of data normalization and the use case at hand.

<comment><USER13> > The Object/Relational impedance mismatch stays right there where you leave > it.

Somewhat umbrella...but I do think that document-based storage does make a difference. It certainly doesn't erase it and, as you say, it varies based on the use-case at hand, but I think most people would consider the development experience to have less friction (and that's certainly been the overwhelming anecdotal evidence I've heard (and can give)).

<comment><USER14> I have to wonder whether that's because many devs started using schemaless databases for the first time over the last couple of years, and haven't yet really experienced the nightmare of data which was scribbled on by various forgotten buggy versions of the apps and never rigorously migrated (because they're self-selected to regard that as unimportant). I once worked on a Lotus Notes-based system with documents eventually reaching such nonsensical states that the dev team couldn't even say what app behavior would be appropriate, much less what the latest version of all our code would happen to do.

<comment><USER12> Exactly, I have done most of my work on legacy (think 10-15 years worth of data, millions of documents that were spawned in countless application versions, without any schema tracking whatsoever - everything is implicit in the document itself) Lotus Domino applications.

Since there is no explicit database schema in these types of databases, what you didn't do at write, you have to do at read. And usually you want to use the latest view or representation of data, what do you do with data that wasn't there ten versions ago. What do you do about data fields of wrong format? What do you do with data that is "orphaned" and cannot be referenced to other data. Yet it still is data and still is important.

Don't get me wrong, I Love NoSQL and I like to use it. I just have enough experience with it to know that it is definitely not a silver bullet.

By the way: If someone is looking to hire a guy who is not afraid of tackling this kind of issue, contact me. I have plenty of experience with coercion of non relational data into a form suitable for analysis.

</comment></comment></comment></comment></comment><comment><USER15> thank you for this. i don't understand why 10gen didn't put something out like this in the first place, it would definitely helpfully frame a lot of the more annoying discussions i've had.

<comment><AUTHOR> Glad to help! 10gen actually has a policy of never sharing benchmarks so that explains why they never said anything.

</comment></comment><comment><USER16> Does anyone know what the performance differences would be between MongoDB and SQL Server/Oracle if they all had enough RAM to hold the entire dataset in memory?

I'm only guessing but it seems to me that any database with their entire dataset in memory would be very fast, no?

<comment><USER17> There were some slides showing PostgreSQL with fsync turned off performed about the same as MongoDB. There is no MongoDB secret sauce that makes it any faster than well established relational dbs with a few configuration tweaks to make the comparison even.

</comment></comment><comment><USER18> I think Mongo is great for some use cases. There are some use cases where the flexible json data just makes sense. Regarding his benchmarks, he turned off journaling. Would love to see them with journaling turned on, see how much is relevant.

</comment><comment><USER8> > _In MongoDB version 2.0 and higher, this is addressed by detecting the > likelihood of a page fault and releasing the lock before faulting._

I'm assuming MongoDB tries to detect this with OS-specific syscalls. Has there been any attempt to determine whether it would be even faster and/or more portable to just unconditionally "read" the pages before acquiring the lock?

<comment><USER13> I forget who, but a fairly popular implementation of MongoDB once posted about their experience, and they mentioned that they always did a find before doing an update.

Every now and again you'll see this approach get suggested in the groups.

<comment><USER19> Sounds like a great extension of the benchmarks provided in the article.</comment></comment></comment>


Tell HN: YouTube have discontinued email notifications - <AUTHOR> I just logged on to my email to find no YouTube notifications for the past 12 hours, which is very rare/unusual.
It turns out that they have discontinued the feature, with little to no notice for users: https://support.google.com/youtube/thread/63269933?hl=en
As some one who relies on these emails and reads every single one, this is terrible...
Does anyone have any ideas for an alternative? RSS hardly seems ideal and is clunky for dozens of channel subscriptions. The YouTube front page also regularly misses stuff, especially from smaller channels. <comment><USER2> _The YouTube front page also regularly misses stuff, especially from smaller channels._

Changes to the level of service to delivering subscribed content are probably what is driving it. My "subscribed" feed has been flakey for the past month. Videos come and go and on mobile, there's no longer infinite scroll. Stuff has been falling off the end after about two weeks.

I suspect Google would rather have everyone turn on device notifications for each of their channels.

In fairness people are probably hammering Youtube due to the Pandemic and something besides adding infrastructure probably needed doing.

</comment><comment><AUTHOR> For those who've ended up here, my solution for now is to use Feedly.

<comment><USER3> How?

<comment><AUTHOR> Feedly lets you 'subscribe' to YT channels, so you can see all of the uploads in your Feedly feed.

Just search for a channel when adding a source. If it doesn't come up, paste in a direct link to the channel homepage and it'll find it.</comment></comment></comment>


Chinese manufacturers turn inward - <AUTHOR> https://www.technologyreview.com/2020/06/03/1002573/pandemic-us-china-trade-war-impact-on-manufacturers/ <comment><USER2> Why put the future of your livelihood on the whims of those weird foreigners, when you can supply the much larger local markets and have a better idea what local long-term demand will be like?

The whole of the West (5 eyes plus Europe) is a smaller market than just China.

I know which market I'd be choosing if I was Chinese.

<comment><USER3> Leaving the current situation aside, it has long been the view of many economists that the Chinese economy was imbalanced and too export-oriented, and that the next step of its development ought to be to develop domestic consumption.

Like you say, that also has the nice benefit of potentially providing a huge cushion for Chinese companies, and that's already somewhat the case. Cynically I'd say that's also partly why the US is trying to cut Huawei's supply chain: Banning them from the US will not hurt them that much, but cutting off their supply chain will.

<comment><USER2> Many Americans say "Who will buy from the Chinese if the US doesn't? We have them over a barrel."

That's a fallacy. The whole of the foreign export market is only about 20% of the Chinese economy. [https://data.worldbank.org/indicator/NE.EXP.GNFS.ZS?location...](https://data.worldbank.org/indicator/NE.EXP.GNFS.ZS?locations=CN)

The US only makes up about 20% of those exports. So, in fact, the US purchases make up merely (20% of 20%) or roughly 4% of the Chinese economy.

China could easily lose all of that without damage. Its GDP generally grows 4-6% per year. It might be slightly painful, but other growth in the economy would replace those losses within roughly 12-18 months.</comment></comment></comment>


Nomadic Entrepreneurs in Indigenous Markets - <AUTHOR> http://www.skmurphy.com/blog/2010/11/14/nomadic-entrepreneurs-in-indigenous-markets/

<comment><AUTHOR> This blog post explores the implications of this quote by David Mamet:

"It's the difference between a nomadic people and an indigenous people. The studio people are going to be there every year. They have a way things are done, and as long as they subscribe to the way things are traditionally done and please their superiors, they have a reasonable certainty of a secure life. On the other hand, a nomadic people--you could say Jews, you could say Gypsies, you could say artists--are going to come into a new situation where they aren't particularly welcome, assess the situation as quickly as they can and make something new out of it, make a new solution that hasn't occurred to the indigenous people because the indigenous people have been there too long."</comment>


What Is a Robot? - <AUTHOR> http://www.theatlantic.com/technology/print/2016/03/what-is-a-human/473166/?single_page=true <comment><USER2> > "Your washing machine is a robot. Your dishwasher is a robot.

I'd argue that most dishwashers and washing machines are not robots, because they follow a pre-set sequence rather than responding interactively to their environment. Some might have a degree of closed loop control (eg. temperature control, automatic load size selection) but nothing that you would really count as perceiving their environment.

As for what we will _call_ a robot, the trend seems more the opposite. Twenty years ago an autonomous car would absolutely have been called a robot, whereas now we carefully avoid the word when referring to anything but a robot arm.

<comment><USER3> Most of the robots in the manufacturing industry are following a pre-set sequence. Why do we call them a robot whereas most people would not call a dishwasher a robot?

I think what we (as a society) call a robot is a machine that has some degree of versatility: \- an industrial robot can be programmed to achieve a different task (even if the sequence is pre-set, it is easy to set a different sequence for a different need), and the same kind of robots can be used to achieve many different tasks \- a food processor can make many different recipes \- a Roomba can adapt its behavior to the room (it has some degree of versatility because it can adapt to the conditions)

... but a dishwasher has a single purpose, which is why we usually do not call it a robot (even if it has sensors, actuators, some algorithms, etc.). If the dishwasher was also capable of cooking dishes, it would be more versatile and we would call this a robot (think of a humanoid torso that could do the dishes but also cook your eggs).

And the most versatile robots like a fully-featured humanoid is probably what we all have in mind when talk about robots.

Overall, we could say that we have degrees of versatility and therefore degrees of 'roboticity'. The lower level is the dishwasher, the highest level is the humanoid.

<comment><USER2> Good point on the multi-function thing. Specifically the hardware has to be adaptable - if you can add new, different functionality outside of the original domain just by changing the software, then that's necessary (but not sufficient on its own) to be considered 'robotic'.

</comment></comment></comment><comment><USER4> robot = worker

If Čapek had been an English speaker, he would arguably have called his androids "workers".</comment>