Ask HN: Should I accept a CTO position without much experience? - <AUTHOR> I will get my Master's degree in Computer Science in March, and I was already looking for a stable job with a decent salary. But today I got a shocking offer from my boss.
I am currently working as a Software Engineer intern at a startup. This internship is like a final thesis for my Master's degree. And apparently, they saw my "enthusiasm" and want me to become the CTO of the startup, the problem is that I do not have that much experience, I have less than 2 years of professional experience (I am only 24 years old) and I only started coding 3 years ago! I really was looking for a stable job, just to get more experience, save some money and eventually become an entrepreneur and create my own company.
But this looks like a way too big jump for me. What if I fail? What if the startup fails because of me? Because basically every single engineer that I would hire would be smarter than me and would have more experience than me. However, none of them would be as motivated or enthusiast as me, I know that.
The other main problem would be my salary, which would basically be 0 $us until we get funded, which, according to my boss, could be in May 2016 or even before that.
This will be a life-changing decision for me, so please, I need your advice. <comment><USER2> I apologize if the following comes off as harsh, but it comes from experience, not malice.

Where can I find people like you who will work for free on the promise of future money dependent on a roll of the die which is funding? Please tell me. I'll take one CTO, 2 senior devs, and 4 junior devs.

Here's the deal. I don't know your situation, but you are basically saying that your time is worth $0. That might be true or it might not be. You have to be the one to decide that.

Additionally, if the company gets funded, the very first thing that will happen is you will be fired or otherwise relieved of your position and they will hire an experienced CTO who will be paid a lot of money. This is the smart money move for them and a pat on the back for a job well done is all you will be likely to get. By that time, you will have no solid programming experience, having played spreadsheet warrior for a year or two, and being at least one level abstracted away from the real work through which you would earn your bread once you leave this losing lottery ticket.

Finally, you have no experience. You might not even conceive of what this role requires. You are being asked to be a CTO during an internship. This is a glorious chance to fail. How strong are you emotionally, to face a humiliating failure? Your decisions will be picked apart and your current lack of experience will be laid bare for everyone to witness.

<comment><USER3> "Additionally, if the company gets funded, the very first thing that will happen is you will be fired or otherwise relieved of your position and they will hire an experienced CTO who will be paid a lot of money. This is the smart money move for them and a pat on the back for a job well done is all you will be likely to get."

If that was the situation (and I agree, potentially likely) - but yet still an option for him, I would have him attempt to write in to the contract that on funding, he would be back paid $x, up to a full amount or some portion thereof that he would have earned...

<comment><USER4> No. I try not to be so absolute online, but, No.

The contract can be ignored. How's he going to fight it? He's been working for free and he's broke. He has more important things to worry about like eating. So a crappy lawyer takes his case on a 30% contingency. It's still an uphill road until he might somehow get something.

Never work for free.

<comment><USER5> My last interns had a salary of 13€/hr gross (I´m based in Munich). Working 20 hrs a week is enough to pay the rent and buy beer. In the remaining 20 hrs you could still be the unpaid CTO/CFO/CEO of any startup.

<comment><USER6> Correction: 80 hrs/wk available for the unpaid CTO. You are thinking like an employee would by speaking of a 40 hour work week.

To the OP: choose the startup if it is your life, your mission, and you can directly build value. If you do not believe in the value-proposition, then find something else. There are plenty of startups, plenty of growing companies all over the planet. Find one solving a problem you personally care about that also has a requisite amount of upside for your personal risk preference.

</comment></comment></comment></comment></comment><comment><USER7> With all due respect, if this is a tech startup. How good can its odds of success be if they're actually considering converting an intern into the CTO?

I mean, for me personally if I were interviewing there for a staff engineering position and I found out that they'd taken somebody with very little professional experience as an engineer, along with zero executive/leadership experience (director, VP, GM, etc.), and then made them CTO... I'd wonder what was wrong with the rest of the company leadership.

For reasons not the least of which are... when you go seek funding any half- way legitimate investor is almost certainly going to look at the leadership team, its prior experience, its successes, its failures, etc. Unless the thing you guys are doing is the world's most amazing product that's hyper defensible and hyper differentiated, then a huge component of what the investors are evaluating isn't the business or the product... it's the team.

But all that said, you'd learn a whole crapload from the experience, so perhaps it's best just to have at it.

About the only other thing I can say is... if you're having to ask this question in a public forum on the internet to a bunch of strangers, then that's probably a pretty useful indicator of your actual preparedness in and of itself.

</comment><comment><USER8> Your goals and the goals of your boss are not aligned. You need an income, you need to gain experience from people that already have that experience and you need stability. To become CTO of an unfunded start-up means that you will be the most experienced person, you will not be making any money and in the slightly longer run the company will probably fail.

'Until we get funded' translates into 'unfunded', and 'could be in May 2016 or even before that' translates into 'possibly never'.

If you don't have money in the bank and if you can't sit this out for a year or more and walk away without any scratches then I would strongly advise against taking this position, but be sure to thank them for the compliment. Join a start-up that is already funded instead, maybe not as the CTO but at least in a position where you can pick up the skills that you need.

Also, if you do take the position consider the very real possibility that you'll be ditched as soon as they can afford someone more experienced than an intern.

</comment><comment><USER9> You were an intern there and there were no other engineers? Was it a paid internship or were you their free engineering labor? Now you are going to graduate and get a real job. Their free technical labor is leaving so they offer you a CTO position for no pay until funding? You are most likely getting screwed.

If for some reason you really believe in this company and team and are willing to go without pay, you need to be a cofounder with 10-20+ percent of the company (depending on the number of founders). You are the only technical person and they need you enough to make you CTO.

Anything less and you should run. If they do get funding, as others have said, expect to be replaced, possibly prior to vesting whatever stock you did get. You need a large percent ownership and a single trigger acceleration clause in your contract so you get your stock when they fire you for no reason. [1] Even then you can get diluted to nothing, but with a large percent ownership and accelerated vesting it will be more challenging.

You better really trust these people, believe in the mission, and get a large percent ownership with the right contract. Any hiccups or hesitation from them and you should walk, unless you want to learn first hand the dark side of startup bullshit where you gamble with no pay to make other people rich.

[1] [https://www.quora.com/What-is-the-difference-between- single-...](https://www.quora.com/What-is-the-difference-between-single- trigger-and-double-trigger-acceleration-of-vesting-in-connection-with-a- merger-acquisition-or-other-change-of-control)

</comment><comment><USER10> I wasn't in the exact same boat as you, but I did take a CTO role without much experience under my belt. I'm actually only a year older than you.

And yeah, we failed, like most startups do, and I had to quickly scuttle to find another source of income. That sucked. Truth be told, I'm still paying off a lot of debts I made from trying to survive sans-salary.

But I have no regrets whatsoever about what I did. It didn't make me a better programmer, but it did make me better at helping employees out, it made me better at understanding productivity, and it gave me an overall better perspective on how to build great products.

And don't worry about engineers being smarter than you. Doesn't matter, that's the ideal anyway. The important thing is to be the one who listens and makes things better for the engineers so they have what they need to build a great product.

The salary part sucks, yeah. I basically had to moonlight when I was working as a CTO. This is where I would really advise you put some serious thought as to whether or not you would really be committed to this startup, because in all likelihood you'll wind up with a full-time-plus job as an underpaid executive, and you'll have to moonlight on the side in order to make up for the remainder of the unpaid bills. You won't have a whole lot of time for side-projects, if any at all. Not for a while anyway.

But seriously, don't worry about failure. As long as you listen you should be okay. Even if you're not, you'll still learn something, and it'll be really valuable for the next phase of your life. Case in point: I'm building my own startup now, and I have more confidence going into it because of the lessons I learned.

Oh, and one more final takeaway. You'll have to do some fighting. Your job as CTO of is to lead the technical element of the company, but fellow executives, or your boss, may occasionally step on your toes. Sometimes they're right, sometimes they're wrong. When they're wrong, stand up for yourself, be diplomatic about it, but don't be a pushover about it, and back up your case with some evidence. You'll win some and lose some, just try not to lose too many crucial battles.

<comment><AUTHOR> Most useful reply so far. Thank you. I really needed a story of someone who lived kind of the same experience.

I know there are risks, and contrary to what people here seem to think, I am not easy to rip off. We haven't even started to negotiate with my boss, of course I will try to avoid loans and all that, I am not stupid. I haven't taken a decision yet, I need to think about it and talk to my boss and team for a couple of weeks.

Again, thanks!

<comment><USER11> I understand your position. But the negotiation part is crucial to your decision. If you "just" a CTO for the startup, then I would follow the more common advice around here to reject it. Even though the experience might be valid, without the funding you wouldn't even get that, like hiring and managing other engineers - and trust me, if the founder said May, it will probably come in August at most. And if the startup is successfull you won't get the financial reward you deserve. So good experience is your upside.

BUT... if you become a Founder, a proper one, reflected in serious equity, not a BS job title, then it is very different. According to YC, less than 10% (before any funding) they don't even consider you a founder. So I would negotiate participation between a minimum of 10% and a maximum of being equal any other founder.

My opinion would be: founder or nothing. But I don't think it is irrational if the decision is: accepting the CTO role, gambling with the funding and considering experience a worthy outcome in the worst case.

</comment></comment></comment><comment><USER12> It sounds like you are being given the opportunity to build someone else's Minimun Viable Product for free! And you would not even be getting founder part of ownership. And who knows if the CTO position is still yours after funding.

My biggest concern would be your boss(s). Do they joke about doing shady things before or in the future? Do they do drugs? Are they pathologically unable to talk about anything other than how much money this app/idea/business will make? Do they occasionally do dumb things like fund the start of the company by giving away 55% of the company in exchange for $300,000 from their soon the be ex-wife and her friends?

</comment><comment><USER13> While you may be young, you're smart. You already noticed that there's an issue with your lack of experience. The question is: How do you solve that issue?

Your success as CTO is mostly determined by yourself. Understand what's required of you. Start interviewing other CTOs at other startups and understand what their roles are and what they need to do. Build relationships with them so that you have a network of advisors if you ever need someone to have a chat with. Learn a lot. Do a lot of research. Do a lot of thinking.

Leadership is not all about experience. Leadership is also about listening. And all leaders start from somewhere. Once you have an open mind to learn, you'll realize that being a leader is about being courageous and responsible for the happiness of other people. It's also about helping to steer the ship in the right direction. But with all startups, you're making decisions on minimal information. What you need is a mind of learning. Test and learn and never assume you know it all. Then you'll be fine.

The salary issue is another big issue. Would it be worth to trade away your salary for the experience that you get? How will you survive? Do you have enough savings? Do you have a backup plan? If you're not getting any salary, then you should get significant amount of equity. And at this stage, as the CTO, will you also have to build the product? Job titles at early stage don't matter much.

Lastly, do you trust your boss enough that he will steer the ship correctly? Do you think he has what it takes to make it all work? And how is your relationship with him? Will he listen to your opinions or is he going to make all the decisions by himself?

Good luck

<comment><AUTHOR> My boss is a very experienced guy, he founded many companies and he is basically wanting to "test" me. At least that is what he says, but I definitely think he has what it takes to steer the ship correctly. We are currently being incubated, and all our mentors are very successful entrepreneurs and just by asking them the same question I posted here, I already learnt _a lot_.

How would I survive? A loan maybe? I can survive with less than 1000 $us a month. So far I've been surviving with a part-time job, but as a CTO I would need to work full time, so that would not be an option anymore. Savings? None. Backup plan? Well, getting a normal software engineering job, and an average life I guess.

Yes, I would probably have to help building the product as well. I am up to the challenge, it is just a little bit scary.

Thank you very much for your answer.

<comment><USER13> No problem.

It'll be good to get an understanding of "if you're not being compensated by salary then what are you compensated with?"

It sounds like you're literally taking the same amount of risk as your boss and for that reason, you should have some share in whatever rewards that come out of the risk taking.

Money to survive has to come from somewhere (i.e. loan, parents, savings, etc.) but it definitely doesn't appear out of nowhere.

Also, evaluate the product. How long do you think they can reach the point where it's revenue generating? In the absence of revenue and cash runs out, will they start to fund raise again? Will all the other expenses be comfortably covered by the current cash pool?

It also comes down to a lot of luck as well. There's really no right or wrong answer here and no one can say for sure if it'll be a success or not. But that's the fun part of life. And trust me, even if you have a normal software engineering job, the success is also always down to you. And the benefits are that you manage to build relationships with other talented software developers and you'd be bringing in money that you can save to start your own venture in the future. Many people have also been very successful starting companies later down in life.

Nothing is ever a dead end. Every path has a pros and cons. It's ultimately up to us to open our minds to see it and leverage it.

</comment></comment></comment><comment><USER14> regarding your stated objectives:

      > I really was looking for a stable job
      > just to get more experience
      > save some money and
      > eventually become an entrepreneur and create my own company.

the first three objectives are short term. sounds like this offer gives you 1 / 3 -- the experience, nothing else. let's assume other organisations would be interested in your abilities and enthusiasm - if you can get an offer from an established company, you'll still be able to gain experience, and that'd give you 3/3.

Either way you can still pursue your own business(es) in future.

If you're going to work for this startup for no salary, you need to ensure that the rest of the deal is fair.

i'm somewhat jaded, so i'd suggest reading this: [https://michaelochurch.wordpress.com/2012/07/08/dont- waste-y...](https://michaelochurch.wordpress.com/2012/07/08/dont-waste-your- time-in-crappy-startup-jobs/)

</comment><comment><USER15> > I really was looking for a stable job, just to get more experience, save > some money and eventually become an entrepreneur and create my own company.

I agree what others have written so I'll just add this. In my experience, you'll be happier following your own path rather than waking up one day and realising you've been following someone else's path. If that's what you're really looking for, then that should be a _strong_ indication of what to do.

</comment><comment><USER16> I'd carefully weigh any advice received with the experience of the source. Not to say that anyone that has not been in a similar situation had no value. But rather people who have had similar experience will be of more value.

That being said these are the considerations that were in my mind when I was in a similar position.

1\. Just like an investor or even more so, how much do I believe in the founder. 2\. How confident are you in your abilities. Are you able to cope with stress/uncertainty and preserver in the face of daunting tasks. 3\. How much do you believe that there is a business somewhere in there?

If you are enthusiastic about all 3 the risk is worth it. Feat and doubt are poor reasons to not do something. Fear is a good sign to pause and evaluate the situation. There is only one way to find out if you have what it takes. Also if you think taking a low income (or no income) is a big issue now. It only gets harder as you get older. Wife, kids, mortgage and general lifestyle inflation.

</comment><comment><USER17> As others have said, the key points are that you should ask for at least a barebones salary and you will likely be replaced if this company takes off. However, this could be a great opportunity and you shouldn't let fear or self- doubt drive your decision.

One thing I'd like to add, assuming the financials work out and everyone is happy, is that moving from CS/programming to a CTO position is going to require quite a different skillset. You probably won't be programming all the time, at least not after whatever project they have in mind is in a stable place. You will potentially be responsible for reporting/BI/analytics, systems architecture and administration, tech support (Yes, everyone is going to ask you for help with their computers), and anything else tech-related that comes up along the way. If you want to stay in good shape as a programmer, you'll be responsible to find the focused time to code, keeping your skills sharp and current, and staying motivated to do so. At this time, you'd normally go work with an established development team who can guide and mentor you, as well as balance the team so that you have time and resources with which to further your skills.

The only thing in your post that makes me think this may be a good opportunity to explore is when you mention entrepreneurship as your long-term goal. This is likely going to be a great crash-course in how difficult that can be. My advice, though, would be to get great at what you know and learned, spend a couple years on a great dev team, save some money, and I bet there will still be opportunities for you to get into a startup for all or mostly equity.

Hope this helps. I'm just a young guy who's seen some different sides of the equation.

<comment><AUTHOR> Great answer, thanks! I consider learning that new skillset as a pro, not a con, and I really enjoy team management.

Regarding your advice, that is exactly what my long-term plan was: getting a stable job for a few years, then become an entrepreneur. But that is everybody's plan, right? Everybody wants to eventually become his own boss, but the reality is that once people get a comfortable life, it is very unlikely that they will leave that comfort zone. I don't know if that would be my case, but I think it is definitely something to consider.

<comment><USER17> I think if you have the drive to become an entrepreneur, you will. My experience, really quickly, is: Intern programmer, two years college, two years working, one year entrepreneur, at my current job for three years. I spent one year doing freelance consulting and development, and it was a blast. I had fun, but didn't make quite enough money to live on, and found a job I was happy with. I freelance on the side now. But I'd do it full-time again in a heartbeat if I could save up some money and line up some steady monthly work. I don't think starting your own business is everyone's plan. From how you're presenting things, I personally think it's very likely that you will leave the "comfort zone" you mentioned. My reasoning: It won't be your comfort zone. I've never felt comfortable just doing a 40-hour week, and I think that underlying entrepreneurial spirit keeps me from being comfortable with the mediocre and ordinary (which my job isn't).

I also hang out with a couple people that bootstrapped their own product/service while working a full-time development job and they now run successful businesses by themselves, after running it "on the side" for 1-2 years.

</comment></comment></comment><comment><USER18> 1\. I am not a lawyer but my understanding is: In the US, it would be illegal to pay less than the minimum wage. Many but not all jurisdictions have similar laws.

2\. The idea of hiring people smarter is sound and will server you and employers well. Employers are people who actually pay.

3\. If funding is as far away as May, the company is underfunded and has difficulty raising capital since it needs capital to pay your salary now. Or maybe the boss plans on replacing an inexperienced CTO with an experienced one once funding is in place...my friend Greg once got hired with no professional experience as the chef for a restaurant a month before it opened. I went to the grand opening party on a Thursday night. Friday there was a new experienced chef and Greg was out of a job. Clearly, none of that was spur of the moment.

4\. If the title on your resume seems more valuable than knowledge skills abilities and money, then strongly consider the offer.

Good luck.

</comment><comment><USER19> > But this looks like a way too big jump for me. What if I fail? What if the > startup fails because of me?

Yes accept! Use that fear of failure to tap into your drive, creativity, and bring your A game. Business/Tech Management/Leadership are ALL learned and practiced things.

Money should NOT be an issue-- go to back to your boss. Share with him your bare bones monthly budget. Tell him you need $X just to eat beans & rice and pay basic bills. Can he help cover you during the gap before funding? Could someone else, say a family member cover you for 6 months? Strike a bargain with him, keep your part-time job for necessary cash-flow, then work part-time on the startup. If you believe in this guy, the two of you can find a way.

Incidentally, you might find Josh Kaufmann's Personal MBA a helpful read > [https://personalmba.com/](https://personalmba.com/)

<comment><USER20> This is absolutely terrible advice. The OP could be making six figures at a real job, not "beans and rice" money at a position that will be taken from him as soon as the company is funded.

<comment><USER19> Focusing on "real job" compensation is myopic thinking.

The promise of any startup is the potential reward on the Back-End (not to mention incomparable experience). Any bootstapper understands the beans & rice context, especially in the pre-revenue/pre-funding stage. It's never a permanent condition.

<comment><USER20> You can use the stock and salary you get working for a megacorp to invest in a startup if you want. That seems like a smarter way to gamble on startup success than with your time.

[https://michaelochurch.wordpress.com/2012/07/08/dont- waste-y...](https://michaelochurch.wordpress.com/2012/07/08/dont-waste-your- time-in-crappy-startup-jobs/)

<comment><USER19> No significant reward comes without risk. As for optimizing time, overpaid Megacorp salarymen frequently find their skills out-of-date- with career options and earning potential derailed in their early 40s. Timing is everything.

</comment></comment></comment></comment></comment><comment><USER4> Do not work for free!

This should trump everything else. Don't listen to excuses, don't believe that "it's a great opportunity for a young person," that "it will enhance your resume," that you will "gain valuable experience."

Do. Not. Work. For. Free.

Once your boss agrees to pay you market salary at least at the junior developer rate, then you can get into your lack of experience and whether or not it's a good idea for you to be CTO (hint: if you're asking, then it's not). But,

Do Not Work For Free.

</comment><comment><USER21> Wikipedia->CTO: A chief technology officer (CTO), sometimes known as a chief technical officer, is an executive-level position in a company or other entity whose occupant is focused on scientific and technological issues within an organization.

you: 0 $us until we get funded... save some money and eventually become an entrepreneur.

If you accept a major role in a society, conscious of losing money and time, and you're willing to use your savings in the hope that your work will bring results within a specific time ...

Wiktionary->entrepreneur: A person who organizes and operates a business venture and assumes much of the associated risk..

you: And apparently, they saw my "enthusiasm" me: if you're willing to work for free between now and May, the enthusiasm is not the first thing that they noticed.

Should I accept a CTO position without much experience?

my answer is Yes! but prepare yourself to an experience that will make you grow up in many different ways ...

</comment><comment><USER22> Sure go for it. You don't quite know what you want, so take the challenge and learn. Just negotiate fair compensation. Despite what all the commenters are saying, zero salary can be fine if you can make it work...

But it means absolutely that you become a cofounder (> 10% equity). Anything less and you're getting played.

</comment><comment><USER13> Just came across this to help you with your decision: [https://hbr.org/2015/11/3-timeless-rules-for-making-tough- de...](https://hbr.org/2015/11/3-timeless-rules-for-making-tough-decisions)

I'm facing the tough decision of whether or not to jump ship.

</comment><comment><USER23> It seems a glorified internship to me. Experience may be interesting, even good, but no money upfront? Meh. You will get ton of paid opportunities if you are as smart as your posts here. Good luck.

</comment><comment><USER24> It sounds like you're being manipulated into providing your hard work for free. I suspect your boss is trying to take advantage of you, without providing anything at all in return.

Are you really willing to toil away without any income while he sits there comfortably, scheming away, trying to figure out the next best way to rip you off?

Please, don't be afraid to say no to this terrible offer.

</comment><comment><USER25> If you are confident with your programming skills and believe this startup has bright future, accept it. Otherwise, join another company to gain income and experience.

Btw, are you in the US?

<comment><AUTHOR> No, but my plan was to go to the US for my first job. I already passed a few interviews.

</comment></comment><comment><USER26> "It sounds like you are being given the opportunity to build someone else's Minimun Viable Product for free!"

I second this. I have no way of evaluating the character of your boss, but there are warning signs all over the place.

My story: I was hired to build a MVP (did -eventually- get paid) and due to various missteps, it turned into a one man job (I was the entire IT staff for 4 years). Part of those missteps were me being work-obsessed (a bad trap to fall into, it leads to burnout) and the other misstep was that these founders, who had no experience in IT, were all psychopaths (as in one had a criminal history of fraud, the other should have been jailed long ago). I failed to do one of the basic tasks of business, which is know who you are dealing with.

They used my "enthusiasm" which in the IT/startup world is quite necessary, and leveraged it against me. I certainly knew enough at that point in my career, but it got lost in the need to keep things working. Eventually I wised up, when a customer made legal threats because they had been blatantly lied to about the product they were buying.

I, as nominal CTO, had not been paying attention to the sales process and stupidly was relying on the others to take care of that area. It was then I realized the full nature of the whole operation and how I'd been taken advantage of - so I quit. I reasoned they were going to fuck me over one way or another down the line, so I'd better get out.

Less than a year later, the CEO abandoned his wife and kids <as in literally disappearing one day> (she owned 51% of the company) and now they are still fighting it out in divorce court. The CEO turned out to have a 25 year history of fraud and cheating even the companies he worked for.

So ... the people you are dealing with --may be-- great, but you have no real world experience in how businesses are run or how life actually is at the C __layer. Read up on the Sociopaths /Clueless/Losers theory - it is a valuable thing to know, as it explains a lot. I've seen shades of it over my 30 year career in IT, but it never hit home till I did this startup.

And if you are really CTO, and a salary of $0 is being offered, why have you not mentioned the percentage of equity offered? If you really are going to be responsible for hiring and designing the tech side of the company and ... you should be getting a large chunk of the company. It is irrelevant the company already exists - by being an official CTO, you are taking on a lot of responsibility.

No offense intended, I'm sure you're capable of programming and all that, but ... I wouldn't hire a 24 year old with just a few years experience as CTO. The Master's is irrelevant in this situation - there is a lot of non-IT social type knowledge needed, IMO. The politics of business is nasty stuff, and your stereotypical engineer (i.e. me) likes to stay out of that stuff; it is a skill set you have to either like (and so you're an asshole) or you just get used to it. I've always tried to stay out of it, hence the 15 year career of contracting.

I think my advice is, if you want to stay with this company, then say you want to be "Lead Architect" and leave the management/business stuff to someone else - then you can expect to get a salary and will only be tangentially exposed to the business/political crap that typically goes on - that way, you get some valuable non-IT experience safely and some tech experience too. When (not if, this all doesn't sound like a winner) the company crash and burns, you'll have some useful profit out of it.

</comment><comment><USER27> How much equity would you be getting? I wouldn't consider it for less than a double digit percentage.

<comment><USER28> This is a pet peeve of mine. You're likely taking a greater risk than your "boss" here is. You should be asking and getting at least 30% if you're going into an unfunded, unproven, un-DEVELOPED company. I start negotiations at 50% in these situations and make a potential partner defend a reduction from that point.

But the top two comments in this thread nailed it. This is not going to end well for you in all likelihood. I'd pass on it.

</comment></comment><comment><USER29> If your doubting the decision to begin with, you already know the answer. Don't turn to the internet to figure out what to do with your life.

Lesson #1: Trust yourself to make the right decision to move you forward.

</comment><comment><USER30> Only do this if they offer you cofounder and grant stock (not options). You may have to pay a nominal amount for the stock. Otherwise no.

Was your internship unpaid?

</comment><comment><USER31> As usual, if you have to ask, the answer is no.

<comment><AUTHOR> Most useless answer so far. Why would I take such an important decision without first getting some feedback from people who already lived the same situation? I am talking to my family every day about this, I am reading online, asking friends in the startup world, etc... Life is not as simple as "Yes" or "No"...

If you cannot learn from others and apply that to your own life and decisions, then you will gonna have a bad time...

</comment></comment><comment><USER32> How many people will report to you ?

<comment><AUTHOR> 2, maybe 3. At least for the first months.

<comment><USER12> So you are not getting paid, but they are? Are you getting some substantial equity?

<comment><AUTHOR> They would get paid as soon as I start getting paid. Another reason to do our best to get funded fast.

Yeah, good equity, nothing confirmed yet though.

<comment><USER18> Do you aspire to the be the boss of of unpaid employees?

<comment><AUTHOR> I don't think anybody aspires to that. That's why our main focus would be to get funded so that everybody can get a salary as soon as possible.

<comment><USER18> If hiring people who aren't paid is not something you aspire to, don't do it.

Good luck.</comment></comment></comment></comment></comment></comment></comment>


What's the MVP for "The Platform Team" - <AUTHOR> If you were charged with building a "Platform Team" to help (in say, an org of 30+ developers), what would your offering to the rest of the company look like?<p>Requirements might include accountability, discouraging wheel re-invention, etc. <comment><USER2> 1) Move everyone on kubernetes (the platform of platforms). 2) Set of new kubernetes apis and operator customized to your domain. This is your "platform" 3) Integration of istio and knative (serverless). 4) a new UI for your platform UI.</comment>


Cynicism and Experience - <AUTHOR> http://jamisondance.com/03-29-2015/cynicism-and-experience <comment><USER2> After working for about 8 years at 2 different companies, I started a new job. When I came on board I found the dev team to be highly dysfunctional, and repeating a lot of mistakes I'd spent the past few years working through. An example is: using Java Hibernat/JPA ORM to build intricate object hierarchies that resulted in massive amounts of data loaded at runtime, causing out of memory exceptions and constant gc pauses. On a 32 bit jvm you only get something 1.5GB of usable heap (even if the jvm/os allow you allocate more), when a user logs on and 500MB of data is loaded, well, you can only accommade 3 concurrent users.

So I went in, tried to communicate this, and talked about at my previous job we had used views and stored procedures to _not_ load the entire object graph when only a subset was needed. Crickets. No one cared.

It was very disheartening. Really made me doubt myself, and my ability to communicate.

<comment><USER3> You were "the new one" here and wanted to tell people they did something that sucked terribly. Most people don't want to hear that and act accordingly. Not easy at all.

<comment><USER4> Still, this is the strategy with the best chances. The existing team may be too invested in the current concepts, and as a new member, if you don't speak up early, your possibilities to change something vanish with every day you say nothing.

<comment><USER5> Can you explain why the new person's influence fades so quickly? The new team member who says "I know how to fix all of your problems" on day one looks like an arrogant jerk.

The team member who starts to fit in and then says to the right people "It looks like our system has a memory management problem. I've got a lot of experience with this type of issue. Can I help out with designing a solution?" is far more likely to get into a constructive dialog and may move things forward.

If the OP wasn't brought in with the goal of saving a project that was in dire straits, then trying to fix what you think are the biggest problems immediately isn't going to go over well.

<comment><AUTHOR> I think you are pretty much right. As technical as our industry is, we are all humans; emotions, anxiety etc, comes into play when dealing with another person. Approaching it in the right manner will reduce the barrier.

</comment></comment></comment></comment></comment><comment><USER6> People usually don't care about someone else's experience and want to make the mistakes by themselves. So there is no point in explaining.

</comment><comment><USER7> TL;DR: 1\. Please communicate in precise & constructive manner. 2\. Do not generalize your experiences. 3\. Some cute pictures of small animals.

<comment><USER8> You forgot the first part: Don't be cynical

</comment></comment><comment><USER9> Typical YC post, sad

<comment><USER10> i think your wit is being underappreciated. i lol'd if it's any consolation

</comment></comment><comment><USER11> I absolutely agree. This is usually a first sign for me to back away from a conversation when someone I just met "blindly" defends or rants about a technology without laying a valid argument.

Also +1 for the puppy break :)

</comment><comment><USER12> I have to jump in and point out that there are things that are objectively good and objectively bad.

Well, let me first say that nothing (except, perhaps, breathing) is objectively good _under all use cases_. Haskell is objectively good for the level of code quality that it makes possible, for the beauty of language, etc., but you wouldn't (to my knowledge) use it for a hard real-time problem with sub-millisecond latency deadlines. In terms of specific tools and languages, there are few things that are objectively good and bad in all circumstances. Even tools that I personally dislike exist for a reason, and it takes some work and insight to know what that reason is (and, then, gain a begrudging respect for the tool).

However, as I get older and observe (in part, by being part of it) software management, I realize that there's a lot of so-called "innovation" in the field that is objectively harmful and with absolutely no redeeming qualities: stack ranking, Scrum, the two-week "sprint" cycle, the idea that it's normal rather than dysfunctional for a team to spend 3-7 hours per week in status meetings, and the willingness of management to jerk people around from one project to another as if they were interchangeable parts, denying the average engineer the experience of actually ever _finishing_ anything. This industry is in advanced catastrophic failure and someone needs to fucking step up and save it.

There are things that objectively suck and of which it is an objective fact that a person who supports them is either misled, stupid, or malevolent. At this point, I'm not talking about technologies because I would never, ever say (because it isn't true) that Java (as much as I dislike that language) is objectively bad for all use cases. For some use cases, it's the exact right tool. On the other hand, software management generates bad ideas by the truckload ("Agile" and Scrum being the current rash of stupidity, along with the open-plan fetishism and age discrimination coming out of the Valley right now) and someone needs to call that shit out because it's ruining a generation of software engineers.

I've come to the conclusion that Sturgeon's Law (90% of everything is crap) is often true, but _that 's OK_ so long as there's a filter that allows the other 10% to have disproportionate impact. I like Haskell because the compiler itself acts as a Sturgeon Filter. It beats on you until your program is, quite likely, not-crap. Software engineers, themselves, willingly run their work through Sturgeon Filters (compilers, test suites) all the time because the job requires a respect for how hard and detailed the work is, and an acceptance of one's own fallibility. Software _management_ , on the other hand, has no Sturgeon Filter... because the appropriate filter would be the people being managed, who don't have the power to stand up and say, "All of this neo- Taylorist Scrum nonsense is less than worthless and everyone talented will be gone in 12 months if you actually try to Scrum-ify the whole company." The reason why software engineers have such a low respect for software management is that the latter never gets direct feedback when they fuck up. Programmers get called out by their subordinates (compilers) and like it that way. Managers are rarely directly told that stack-ranking and Scrum are horrible ideas that can kill a company within months.

On an aside, how did _cynicism_ become a bad thing? For all the negativity attached to the word, its original definition was something related but fundamentally different. Originally, to be _cynical_ meant to do the right thing in spite of a knowing detestation for human political machinations and moral weakness. Cynics valued simplicity, clarity of knowledge, a lack of personal shame, and reserved (but direct) compassionate action. How is that a bad thing?

<comment><USER13> Scrum has a place, like anything else, and is not objectively bad, as much as you may dislike the principle. There are plenty of people who are neither misled, stupid, or malevolent, who like scrum and apply it where it is appropriate, which is not everywhere.

Trust is a two-way street. Not all engineers have low respect for managers and vice-versa. Many of us have regular discussions which effect real change at our organizations, discussions built on mutual trust and devoid of kneejerk reactions to SDLC philosophies or management styles.

<comment><USER12> Spending 5 hours per week or more in status meetings, except as a temporary arrangement in an emergency, is objectively bad.

The idea that engineers are only allowed to work on items in the backlog is objectively bad. Sometimes, it's better to just work rather than trying to politick your work item onto some "backlog" and _then_ work on it.

The implied interchangeability of engineers that comes along with Scrum is objectively bad.

A policy of permanent, aggressive visibility into day-to-day fluctuations of an engineer's work is objectively bad. It's also discriminatory (people with health issues may have acceptable or even excellent average productivity, but high day-to-day or "sprint"-to-"sprint" variance) and counter-productive (since the best people also have the most day-to-day variance). Again, that day-to-day focus is appropriate for an emergency, but not as a persisting policy.

The focus on two-week "sprints" with no thought or allowance given to design, to R&D, to code cleanup and maintenance, to individual career development, or to long-term progress in general, is objectively bad.

The idea that engineers should go to work on Monday having no idea what they're going to be working on for that week, and having no say in the matter, thus obliterating long-term focus as even a remote possibility, is objectively bad.

The implicit age discrimination that comes out of a culture of permanent juniority (there simply is no place for a senior engineer on a Scrum team) is objectively bad.

The dishonest way in which this "Agile" nonsense is sold-- first, in comparison to a ridiculous straw man called "waterfall"; second, as a sustainable management style when it actually works only in short-term emergencies for up to about 6 weeks-- is objectively bad. See this Quora answer for the history of Agile and why the sale of it is so often dishonest: [http://www.quora.com/Why-do-some-developers-at-strong- compan...](http://www.quora.com/Why-do-some-developers-at-strong-companies- like-Google-consider-Agile-development-to-be-nonsense/answer/Michael-O-Church)

"Scrum" is just a way to package micromanagement (neo-Taylorism) with a macho sports metaphor that makes it hipster-compliant. Nothing more.

<comment><USER13> All of the things you're describing are attributable to bad implementation of the basic idea that building software is not like building physical machines.

Scrum, or any other agile SDLC, can do the things you describe above. It can also do none of them.

</comment></comment></comment></comment><comment><USER14> I think most experience is not transferable. Most people are too dogmatic and lazy. Signal to noise ratio is very low , and unusual ideas simply get discarted by spam filters in our brains. I will give two examples:

I use 5 years old HP laptop, most people call it 'the brick'. Newer laptop would reduce weight I carry by one pound, but has several disadvantages:

\- no easy way to swap ssd between desktop and laptop when I do travel. With my current setup it takes 2 minutes and OS restart.

\- even newest laptops have the same performance and only 8 GB memory

\- IDE and unit tests kills battery life, even newest machine lasts only a few hours under modest load. No improved battery life from new CPUs. Replacement batteries are must.

\- it costs peanuts, I can take ssd with me and leave heavy laptop at hotel room

\- because its cheap it can take a lot of abuse. Expensive components (batteries, ram, ssd) can be transfered to replacement laptop.

Second example is way more controversial. I criticize over-vaccination. For most people it means I am conspiracy nutjobs, but in reality my country (Czech Republic) has 3x more vaccines than Germany a few kilometers away. There is simply no opposition to medical industry. Even our doctors are now refusing to get vaccinated. (my children have all shots recommended by EU)

<comment><USER15> > \- no easy way to swap ssd between desktop and laptop when I do travel. With > my current setup it takes 2 minutes and OS restart.

Could you share your setup and OS ?

<comment><USER14> Linux and any laptop with removable DVD rom (extension bay). In my case elitebook 2540p with i7 CPU

<comment><USER15> You are booting your OS from the SSD right ? If so, which Linux flavor are you using and did you have to tweak the kernel, drivers or anything like that to get it working ?

Are you using the same laptops and desktops ? Am I right to suppose you sometimes have to set up the BIOS so it boots on your HDD or does it somehow automagically work ?

<comment><USER16> Most Linux can do that. Even Windows (at least Vista and laters) are able to work on two different PCs almost without teaks.

<comment><USER15> What happens if I plug my win7 main SSD into another friend's secondary SATA port (the one in the disc bay of a laptop for instance) ? Does the BIOS/(U)EFI act as bootloader ? If not: does the original win7 detects another win7 on a different partition and then triggers a bootloader ? If no bootloader are involved, what mechanism is in place to detect the other bootable disc ? It's all BIOS boot menu ?

(replace win7 with any linux)

<comment><USER16> I'm not sure what happens if there another disk with Windows (also I've never tried with UEFI). I think that changin boot disk at BIOS should be enough. At worst you will see black screen/BSOD, but your system will be perfectly fine, so you can plug it back to your computer. If you succeded probably you would need to install some missing drivers.

Linux are more flexible. Few (about 10?) years ago I had to change xorg GPU driver manually, but today autodetection is much better.</comment></comment></comment></comment></comment></comment></comment>


Show HN: Feature Requests for Precursor, Built with Om/React and Datascript - <AUTHOR> https://precursorapp.com/issues

<comment><AUTHOR> There are a few things here that you might not notice at first, but that provide a delightful experience for the user.

The frontend Datascript database is kept in sync with the backend through websockets, so everything updates in real-time. But if a view shifted when it updated, it would be hard to keep your place when browsing issues or reading comments. To prevent that, we show you in-line notifications when new items are available. When you click on the notifications, the new items pop into view.

We also create a canvas for each new issue, so that the author can sketch out his idea. You can see an example of that here: [https://precursorapp.com/issues/554e531f-f7a2-41e2-b01b-3607...](https://precursorapp.com/issues/554e531f-f7a2-41e2-b01b-3607274f61fb)

We're experimenting with turning the feature requests into a full-fledged product. If you're interested in having embedded feature requests for your app, please get in touch: email@example.com.</comment>


Haskell for the Evil Genius - <AUTHOR> http://www.yellosoft.us/evilgenius/

<comment><USER2>
      main = let fib 30 = 832040 in do
    	putStrLn (show (fib 30))

This is not what I would normally consider 'lazy' or 'memoization'...

Not to be too pedantic but that 'sieve' is also not really the sieve of Eratosthenes either, as it continually recomputes each slot:

<http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf>

<comment><USER3> Worse, I think it actually overwrites the fib he just defined with a function that simply pattern matches on 30 and returns 832040.

In GHCI, trying that example with fib 29 results in a non exhaustive pattern error.

<comment><USER4> Exactly; just like

        let 2+2=5 in 2+2

amusingly returns 5.

<comment><USER5> Yes, that line doesn't redefine the expression 2+2 as the author suggests; rather, it redefines the operator + as a function which only works on 2 and 2, and returns 5 for those arguments. e.g.

        Prelude> let 2+2=5 in 2+3
        *** Exception: <interactive>:1:5-9: Non-exhaustive patterns in function +

<comment><USER6> And, considering syntactic sugar for operators, fib and (+) examples are quite alike

      Prelude> let (+) 2 2 = 5; 4 + 2 = 42 in [2 + 2, (+) 4 2, 0 + 3]
      [5,42,*** Exception: <interactive>:1:5-29: Non-exhaustive patterns in function +

      Prelude> let fib 0 = 1 in fib 0
      1

</comment></comment></comment></comment></comment><comment><USER7> Cute but the claimed example of memoization is just plain old recursion. Its a nicely styled tutorial with good flow that could perhaps use some time getting fact checked by the nice folks on the Haskell mailIng list

</comment><comment><USER8> This seems very much a work in progress despite the apparent degree of polish. I wonder if the author asked for feedback in #haskell and someone decided to run around posting it here and there without reading it carefully? That happens a lot with Haskell...

<comment><AUTHOR> I found the post interesting, that's why I submitted HN. I can't be blamed for other people upvoting it.

I didn't notice the errors but having people at HN showing me what is wrong helped me learn more about Haskell. I hope that pointing those errors helps make the post more robust, too.

</comment></comment><comment><USER9> For the use made out for records there was no reason to derive Eq, Ord and Show.

<comment><USER3> Out of curiosity, is there a particular downside to deriving them if the type permits it?

<comment><USER10> I'd imagine you're unnecessarily polluting the type with unused functionality, no?

(not sure if this is true, perhaps GHC is smart about it).

If nothing else, superfluous derives would seem to distract/obfuscate your intent.

</comment></comment></comment><comment><USER11> I recommend rotating the pitchfork to make it look like a lambda.</comment>


Snap: A Haskell Web Framework: Benchmarks - <AUTHOR> http://snapframework.com/benchmarks <comment><USER2> Let me state once again that the Rails benchmarks are absolutely way off. Snap would still be faster - much faster - but you can expect several thousands req/s from that Rails app on that kind of hardware.

<comment><USER3> I did my own testing, but I didn't publish them because I left Haskell completely unoptimized and didn't really have the time to try to optimize it. I also added play (<http://www.playframework.org>) into the mix, because I admire the framework and how closely it mimics Rails, but in Java (and Scala).

Still, I saved 'em, so here you go:

On a 2.27Ghz Xeon dual quad core with 12 GB ram, using Snap's tests from GitHub:

      Test Pong:
      | Rails Webrick | Rails Mongrel | Rails Thin  | Rails JRuby (glassfish) | Snap          | Play!         |
      | 155.0 req/s   | 1940.5 req/s  | 619.0 req/s | 3606.0 req/s            | 11347.0 req/s | 19602.2 req/s |

      Test File:
      | Rails Webrick | Rails Mongrel | Rails Thin  | Rails JRuby (glassfish) | Snap          | Play!         |
      | Didn't test   | 188.3 req/s   | 718.0 req/s | 6633.3 req/s            | memory leak   | 606.6 conn/s  |

The full results are here:

Pong: <http://gist.github.com/414724> File: <http://gist.github.com/414728>

Note, Snap had a mem leak when performing the file test that caused a machine with 12 GB to swap, but that may be because I used the Ubuntu Lucid version of Haskell.

Also note, Play is damned fast. And relative to other Rails options, JRuby with glassfish is as well.

<comment><USER4> You need to look at the average reply rate instead of the request rate. Requests/sec can be misleading. The replies / sec tell quite a different story. Here they are for pong:

Rails Webrick: 153.9 Rails Thin: 33.3 Rails Mongrel: 90.7 Rails JRuby (glassfish): 3,350 JRuby Mongrel: 31.3 Snap: 11,309 Play: 19,796

<comment><USER3> You're absolutely correct. Sorry. Here it is, updated properly:

      Test Pong:
      | Rails Webrick | Rails Mongrel | Rails Thin  | Rails JRuby (glassfish) | Snap          | Play!         |
      | 153.9         | 90.7          | 33.3        | 3350.5                  | 11309.5       | 19796.3       |

      Test File:
      | Rails Webrick | Rails Mongrel | Rails Thin  | Rails JRuby (glassfish) | Snap          | Play!         |
      | Didn't test   | 179.9         | 758.0       | 6146.9                  | memory leak   | 1617.9        |

<comment><USER5> Didn't realize Glassfish was that fast. Thanks.

And hadn't heard of Play! Will check into that.

Also, just as a counterpoint to all this - as PG pointed out in his book, with Moore's law, speed of execution is no longer the limiting factor in most software development. It is programmer time and productivity, where (I'm guessing) Rails still wins this test. I'd expect that to be an ongoing trend. But of course speed of execution is still necessary in special situations, so this is still valuable.

<comment><USER6> I think Play+Scala should be competitive with Rails in expressiveness, while still being a lot faster. Of course, if you prefer dynamic typing you might disagree with me here.

<comment><USER3> Personally, I've found it's very expressive and easy to follow, although I'm using Java play. And having reliable autocomplete and ctrl+click navigation is something I really missed in Rails, but have in Play.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> interesting. i would like to see a comparison to yaws or mochiweb (perhaps w/nitrogen).

</comment><comment><USER8> Although these seem like useful (and impressive) baseline benchmarks, won't the really important benchmarks come from measuring actual dynamic content generation, and/or caching performance for generated dynamic content?

<comment><USER9> When I did experiments with RoR versus Haskell via FCGI, Haskell had around a two orders of magnitude performance advantage under load and only required a single OS process.

</comment></comment><comment><USER10> Would love to see a comparison to Node.js on here, as well.

<comment><USER11> Indeed, for example the express framework appears to be optimized for high performance <http://expressjs.com/></comment></comment>


More Than 150 Vulnerabilities Discovered in US Marine Corp Websites - <AUTHOR> https://sensorstechforum.com/150-vulnerabilities-us-marine-corp/ <comment><USER2> >Over the 20 days of the hacking challenge, hackers reported nearly 150 unique valid vulnerabilities to the U.S. Marine Corps Cyberspace Command (MARFORCYBER) team and were awarded over $150,000 for their findings, HackerOne wrote.

This is why we keep having breaches. 20 days for $1k a piece? (yeah, yeah... i know they could have worked 2 minutes of the 20 days...)

But for real why are companies' bounties so low? Those breaches could have cost millions.

<comment><USER3> The payouts aren't evenly distributed. A lot of the "hackers" are students and dropouts doing this to have something great on their resume.

This guy got $9,000 in 20 days apparently.

[https://twitter.com/ratherbeonline](https://twitter.com/ratherbeonline)

<comment><USER4> For security work $1000 / day is pretty low.

<comment><USER5> As the parent points out; it's not bad for an intern's salary.

</comment></comment></comment></comment><comment><USER6> I'm not surprised about the number of vulnerabilities, but I am happily surprised that the Marines chose to do a bug bounty hacakathon! Very cool.

</comment><comment><USER7> I hope we see more of this. It only allows us to strengthen what's publicly accessible which might open up doorways to who knows what as a result.

</comment><comment><USER8> I recently discovered that the Marines have a recommended reading list:

[https://www.marines.mil/News/Messages/Messages- Display/Artic...](https://www.marines.mil/News/Messages/Messages- Display/Article/1184470/revision-of-the-commandants-professional-reading- list/)

<comment><USER9> Most armed forces have reading lists.

</comment></comment><comment><USER10> Contract goes to the lowest bidder.</comment>


Harvard professor to launch nasal spray that could reduce Covid transmission - <AUTHOR> https://techcrunch.com/2020/07/08/harvard-biomedical-engineering-professor-to-launch-nasal-spray-that-could-reduce-covid-19-transmission-risk/ <comment><USER2> Where is this published?

Is there any evidence that this reduce the transmission of Covid19 (or any coronavirus) in the people around you? (I think it's hard to believe, but there is a tiny chance.)

Is there any evidence that this reduce the transmission of Covid19 (or any coronavirus) if you use it? (Nah. Just nah. Unless you clean your nose immediately and other imposible to follow rules, and even with these rules it is very difficult to believe that this is useful.)

> * It's a saline mixture (essentially a "salty mist") that contains no drugs, > and is instead directed from naturally occurring salts that are most often > found in sea water.*

There are hundred of types of salts dissolved in the sea. Many (most?) of them are toxic but the concentration is low. Anyway, any that claims that something is good because it is natural is a red flag.</comment>


Babylonian Dreams: Comparing the achievements of ancient Greece and Mesopotamia - <AUTHOR> http://www.american.com/archive/2009/march-2009/babylonian-dreams <comment><USER2> I've come across this argument before and it fails to make sense. What the author calls the ancient Greeks and Romans were the tribes that managed to appear in the power vacuum left behind by what we now call "the sea peoples." I think that they were more appropriately called "the city burners" as they engaged in a multigenerational war to destroy every city (several more than once), and to kill off everyone who could read or write. There were only 2 cities that survived: Memphis and Thebes. The Egyptians mentioned that the war lasted about 30 years on their front, and weakened the Egyptian empire to the point where it was later conquered from the south.

If it were not for this pol-pot-like elimination of all civilizations, then there would not have been any chance for the greeks and romans to be more than minor tribes. But you don't learn that in school. Western history starts several hundred years later, pretending that the bronze age didn't exist except as myths of gods and giants.

Of the cities destroyed, you've probably only heard of Troy among the 45+ cities that were wiped out. Even the cities in what is now called Greece were totally forgotten. And the name for the wiped out civilization is called "pre- mycenean" after the name of a city built near the ruins of a now nameless city that was destroyed by the city burners.

[http://www.amazon.com/End-Bronze-Age-Robert- Drews/dp/0691025...](http://www.amazon.com/End-Bronze-Age-Robert- Drews/dp/0691025916/)

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

What sort of anger would draw people from regions as distant as what we now call the Baltic and Afganistan to engage in a war that lasted longer than most people's lifespan?

<comment><USER3> Didn't Ionian and Dorian Greeks speak two different languages? And weren't there Ionian cities where Dorians were not allowed to set foot?

I guess my question is, how can primitive peoples bring such total destruction over such a large area?

Rome barely manged to wipe out Carthage and it wasn't easy. Completely exterminating people isn't easy.</comment></comment>


Android chief Rubin's response to Android critics misses the point - <AUTHOR> http://arstechnica.com/gadgets/news/2011/04/android-chief-rubins-response-to-android-critics-misses-the-point.ars

<comment><USER3> I agree with Ars on this one. And hopefully whether you're pro-Android or pro- iPhone or pro-whatever, you can appreciate some evasive corporate-speak when you see it. E.g.:

        Rubin: What amazes me is that even though the quantity and breadth of Android
        products being built has grown tremendously, it's clear that quality and consistency
        continue to be top priorities.

What does that even mean? Why are your priorities so amazing to you?

I think there have been some legitimate gripes about Android's openness lately (like manufacturer favoritism) and I was hoping for something more direct out of Google.

<comment><USER4> > I think there have been some legitimate gripes about Android's openness > lately (like manufacturer favoritism)

Android has always done that, it did it with the G1, nexus1, nexus S and now xoom. In some case it took them a month to release the source, other cases two months. In this case it will take a bit more (probably 4), so what? Big deal, Android is Apache license, this is completely fair game and as for manufacturer favoritism, here is the list of manufacturers who already have access to Honeycomb source:

* Motorola

* Samsung

* LG

* HTC

* Acer

* Toshiba

* Asus

* Dell

* Archos

Sure Motorola got it first, but the same happened with every Android release, again, big deal. Sounds like FUD to me.

<comment><USER5> I always thought "open source" meant that I, the user, got access to the source code, and I was able to make changes and share them. I don't like seeing the meaning of open source progressively reduced to nothing. We already have a category for "corporate manufacturing partners can pay to access the source" - that's proprietary software. It's not OK to use openness just as a marketing term and claim that a product being distributed now is still open just because the source will be released at some unspecified time in the future.

<comment><USER4> > We already have a category for "corporate manufacturing partners can pay to > access the source" - that's proprietary software.

No, even stallman approves of selling source code. Free software and open source have never been about price, it's about being able to get the source:

> Commercial software is software being developed by a business which aims to > make money from the use of the software. "Commercial" and "proprietary" are > not the same thing! Most commercial software is proprietary, but there is > commercial free software, and there is noncommercial nonfree software.

<http://www.gnu.org/philosophy/categories.html>

<comment><USER5> You are misconstruing my statements and ignoring the context. I am well aware that you can sell free software for money. However, if I purchase a Xoom with Honeycomb, I have been given a copy of the Android software, and I will not be given a copy of the source code if I request it. That is the issue here, and the general issue of charging money for software is not relevant. If you are linking and quoting from gnu, you are surely aware that free software is about the user of the software being able to access the source code, modify it, and redistribute it. None of these freedoms (which are also part of the open source definition) are currently given to purchasers of Honeycomb tablets. Your attempt to conflate the issue of access to source code by users with that of a distributor charging a price for software is either disingenuous or the result of a misunderstanding.

<comment><USER6> But, Android (except for the kernel) isn't free software, it's mainly Apache and BSD licensed, neither of these licenses requires source to distributed for compliance.

Google is doing something bad, but it is not against the license.

<comment><USER7> He never said that it was illegal, just that it's wrong (while continuing to claim that Android is "open").

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I guess I fail to see what the big deal is here. Everyone agrees that Google is going to release the source code when it's "done", and that this is going to be some time in the relatively near future.

Terms of open-source licenses have been adhered to.

It sounds like they probably incurred some code debt rushing this out, and they want to clean it up before people start running with it. They themselves have said it doesn't even run on phones--to appreciate why that's bad, just imagine what Gruber would have written about it.

<comment><USER3> I agree with what you said, but I don't think that's the part that has people most concerned. It's more about stuff like this:

        According to the BusinessWeek report, Google has been using its
        exclusive control over timely source code availability as leverage
        to block vendors from making customizations that don't align with
        Google's business interests. For example, the article says that
        Google attempted to block Verizon from shipping an Android
        device with Microsoft's Bing search engine.

<comment><USER9> Hmm. They did? Is there a proof to that? Because at Dive into Mobile conference last year Rubin said something totally different on that topic - <USER2> the effect of we don't care if some VZW phones are shipped with Bing and the market will sort it out - people will flock to the best experience.

<comment><USER10> That was before Facebook and Amazon became threats to Google's hegemony.</comment></comment></comment></comment>


Ask HN: Portfolio or Profit - <AUTHOR>

Hi,
I currently developing a webapp (personal budgeting) that originally use for myself. I have two ways to further utilize this app:
1. Open source it and make it as my portfolio and benefit others. 2. SaaS that for profit.
Note: I am from Asia and having fulltime job, not sure doing both is a good advice.
Any input/advice from HN?
Edit: Added note. <comment><USER2> My first real startup started off as a hosted service and then when it shut down I tidied up some loose ends and re-launched it as a self-hosted open source platform ([http://playtomic.org](http://playtomic.org)).

Doing that has taught me people largely prefer hosted services with no responsibilities even though I streamlined the setup down to just a few minutes of work.

My next startup will be parallel opensource + hosted so it can go either way.

<comment><AUTHOR> That is good idea to do both, but not sure how employer feel about their employee do other stuff (of course, at our own free time)?

<comment><USER2> That's a completely separate issue that you need to explore - some places claim ownership of anything their employees do even at home at night, in some places that's not even legal.</comment></comment></comment>


Desperate John Deere tractor owners downloading illegal Ukrainian firmware hacks - <AUTHOR> http://kadrey.tumblr.com/post/158975071802/desperate-john-deere-tractor-owners-are <comment><USER2> I've always felt that the Tractor business was just waiting for new blood. Someone get on a less awful Tractor start-up.

<comment><USER3> The problem seems that they are dug in like a tick. Surrounded by thick bureaucracies and they actually helped write the laws that protect their profits, this is of course a full on slap in the face to who laws are supposed to protect....

</comment></comment><comment><USER4> This is the tip of the iceberg with John Deere. They're squeezing sales franchises hard too, punishing sellers for doing business with anyone but Deere. Deere is basically trying to get complete control over the chain from sales to use to repair, and push out any and all competition anywhere along that chain.

<comment><USER5> They have been on this path a long time. I grew up in the midwest and 30 years ago I remember there were "John Deere" farms and those farmers refused to buy anything else. Deere's marketing echoed this sentiment. The rest of the farmers had a mix of other brands, but almost never a Deere, because the reasoning was that you find the best product regardless of brand. There could also be an aspect of protest over quality, but in general I still believe Deere to be a little less than the other companies who often specialize in doing one thing (type of tractor) really well. It is probably obvious at this point I grew up on an anti-Deere farm but we eventually did buy one of their lawnmowers.

</comment></comment><comment><USER6> Obligatory book link? (My first thought after seeing the tumblr title)

[https://en.m.wikipedia.org/wiki/A_Short_History_of_Tractors_...](https://en.m.wikipedia.org/wiki/A_Short_History_of_Tractors_in_Ukrainian)

</comment><comment><USER7> Link to the discussion/Vice article from 8 days ago.

[https://news.ycombinator.com/item?id=13925994](https://news.ycombinator.com/item?id=13925994)

</comment><comment><USER8> Why do farmers continue to buy these tractors?

<comment><USER9> Farmers tend have a tremendous amount of brand loyalty and farmers grew up loving John Deere.

<comment><USER5> John Deere always promoted the idea that you should be all-in with them. I know a lot of farmers absolutely hate them.</comment></comment></comment>


The Hitchhiker's Guide to Python - <AUTHOR> http://docs.python-guide.org/en/latest/ <comment><USER2> It's really annoying to see people still recommending Python 2.7 for new users/projects. If security updates really do stop in 2020, then we have 3.5 years until any deployed software written in Python 2.7 is useless, as it will be insecure.

<comment><USER3> I'm not running an OS written in Python. I'm processing some data. I control the data and I'm doing it all locally. Security is very low on my list of concerns. And I'm using libraries that aren't and may never be updated to Python 3. Ideally they would be. If I get ambitious maybe I'll even be the one to do it. For other things, I use Python 3.

The article is talking to me. To paraphrase: _Use Python 3 unless you have a good reason to use Python 2._

That advice is solid and not really a recommendation of Python 2.

<comment><USER4> I have exactly the same situation. But I have to admit to a slight preference for using Python 2 because it just feels more "fluid" somehow. Less demanding. Less "serious". And just as effective (I don't need async).

However I have now submitted to the baying hounds of doom and moved to 3 on most stuff for the reasons of "having a future", security, etc. Was pushed. Didn't jump.

One thing I will give 3 though is the stupidly simple thing that 3/2 = 1.5. Quite often I have to fire up python for a quick and dirty calc and it's much better not to have to remember the integer division quirk.

</comment></comment></comment><comment><USER5> No Anaconda[1], porque? I am a big fan of the Anaconda distribution and workflow... am I alone? I would find that hard to believe.

[1][https://www.continuum.io/downloads](https://www.continuum.io/downloads)

<comment><USER6> You're not alone. I appreciate Anaconda, though I happen to use WinPython right now. In fact I keep a WinPython installer in my pocket on a flash drive.

The most important thing is that I can get a relatively vanilla Python program running on any computer that I bump into, without creating a potential future headache for the person who owns that computer. WinPython is _almost_ like an isolated environment.

But at the very least, if their instructions ensure that you can get an installation to the point of running the tutorial programs successfully, and learning Python rather than fussing with installers, I'm OK with it.

<comment><USER7> I don't think I've ever used any non python.org distributions - what's the difference between Anaconda and WinPython?

Edit: Aha, Anaconda seems to be tailored towards data analytics and includes R.

<comment><USER8> Not sure about the difference between Anaconda and WinPython, but I can tell you that Anaconda was what I found when I needed to install python on Windows at work without admin rights. It works really well and installs most packages you would need.

</comment></comment></comment></comment><comment><USER9> On Flask vs Django:

> _Flask is a "microframework" for Python, and is an excellent choice for > building smaller applications, APIs, and web services._

> _Flask is default choice for any Python web application that isn't a good > fit for Django._

Not very helpful. What is the threshold between "smaller" and larger applications? What makes an app not "a good fit for Django"? I've never found clear answers to these questions, mostly just vague opinion. This Hitchhiker's Guide, a self-proclaimed opinionated guide, could really take off if it got some opinion and backed it up with real rationale.

<comment><USER10> the way i've always looked at it is that django was python's answer to RoR, and it was great at the time, but it doesn't embrace decorators or context locals--two things which make the flask API beautiful.

and, when you compare sqlalchemy to django's ORM -- Sqlalchemy is more powerful. i can't give specific reasons why. I think zzzeek is just insanely focused and that beat out design by committee. (mitsuhiko too incidentally). maybe that's wrong, just my intuition. sqlalchemy is probably the best orm in _any_ language.

there's a huge django community that would disagree, but you don't see concrete reasons why django is better than flask, but flask is better than django for the simple reasons i mention.

they're not different meant for large and small apps. everything django can do flask can do better, cleaner, simpler.

<comment><USER11> > django was python's answer to RoR,

More like children of the same era. Django is older.

</comment></comment></comment><comment><USER12> Given the name, I am disappointed it doesn't start with "don't panic" nor it seems to tell how to include your towel in your Python projects.

<comment><USER13> You don't want to overly combine two amazing pieces of British humour in one place. The universe might collapse. ;-)

<comment><USER14> Some speculate that it already has.

</comment></comment></comment><comment><USER15> Doesn't even mention bottle, which is weird in this day and age. Opinionated... Check.

<comment><USER7> You could add it: [https://github.com/kennethreitz/python- guide/](https://github.com/kennethreitz/python-guide/)

<comment><USER16> you can add it only if kenneth wants it near his opinion

[https://github.com/kennethreitz/python- guide/pull/506](https://github.com/kennethreitz/python-guide/pull/506)

[https://github.com/kennethreitz/python- guide/pull/723](https://github.com/kennethreitz/python-guide/pull/723)

</comment></comment></comment><comment><USER17> A quick scan for "lambda" results in but a whisper.

"Sigh"... Marvin.</comment>


Dell Said to Be in Buyout Talks With Private-Equity Firms - <AUTHOR> http://www.bloomberg.com/news/2013-01-14/dell-is-said-be-in-buyout-discussions-with-private-equity-firms.html

<comment><USER2> I find the fall of Dell a pretty fascinating story. In part because Dell killed Compaq and a bunch of other PC 'clone' companies with a build-to-order / operational efficiency model.

Apple, a company that Dell never saw as a rival, was 'doomed' with its bespoke computer design according to the best and brightest at Dell.

But what really put a crimp in Dell has been their dependence on Microsoft and Intel. Being constrained in responding to changes in the world (like the rise of non-Windows OS-X) by what Microsoft did, and early constraints by Intel that prevented them from capturing some server market with AMD chips, when Dell hit tapped out their ability to wring more value out of the supply chain, they lost their growth engine. And then they looked at adjacent markets, but with a clock ticking.

Trying to go too far afield into storage, briefly pumping up the music with 'boutique' computers, then committing a cardinal sin of using their customers against themselves by creating a 'lock in' strategy with Dell custom parts (motherboards, power supplies, and chassis).

So what keeps a company, when winds shift, from being nimble enough to shift with them? I wish sometimes I could go listen to the discussion that happened during the Opteron event, the Vista event, the first signs of OSX in the enterprise, the Canonical/Linux discussion. That story probably won't come out, and its too bad, I would love to read it.

<comment><USER3> Good post. My frustration with Dell is that they never seem to launch any consumer products with confidence and stick with them. It's always timid and half-baked, and there's no rhyme or reason to their line of products.

There have been things like the Adamo laptop, Zino mini-pc, Streak tablet, various different XPS sizes, but they inevitably get cannibalised and confused by Dell's other products, and will be discontinued completely within 18 months.

Right now they have this slightly flimsy looking tablet-notebook hybrid: <http://i.crn.com/products/xps_duo12_370.jpg> and I'm sure it'll be gone in a year or two without any clear successor, and they'll lose any customers who liked the product and bought into the idea.

<comment><USER2> I've observed similar behavior in companies that are losing ground and trying to find a 'hit' to pin the company on. A series of initiatives that run for a while and then get pulled. This is especially true for a company that is too afraid to invest in building a new market that may or may not develop, so their 'me too' products come out fairly close to the existing market leaders with a small amount of differentiation.

</comment></comment></comment><comment><USER4> Dirt cheap earnings yield, high return on cap, decent balance sheet, revenue chugging along at a decent clip, and cheap on a FCF basis.

<http://www.gurufocus.com/financials.php?symbol=dell>

Smart financial move by Dell. He will rake in cash on Dell as a private buiness, and he will have the increased autonomy he needs to run it.

I guess he's not a multibillionaire for nothing.

</comment><comment><USER5> Funny coming from the guy who said he'd shut down Apple and return all the money to shareholders: <http://news.cnet.com/2100-1001-203937.html>

How's that Apple company doing anyway? :)

<comment><USER6> Not too good today, actually!

<comment><USER7> Apple has an incredibly long and prominent history of having its stock manipulated by traders around the timing of new product events and quarterly earnings statements.

When "today" is near one of those events, you probably don't want to anchor your evaluations of the company to a short-window snapshot of stock performance.

<comment><USER6> It was more than a little tongue in cheek since AAPL is getting roiled in the press today and yesterday over probably nothing.

</comment></comment></comment></comment><comment><USER8> Home PC sales were a strong part of Dell's income. Smartphones and tablets (specifically the iPad) have killed the home PC market across the board. Dell still has a strong server market and a strong B2B PC market (strong loyalty) through Dell Premier, but the home PC market is irreversible dead.

I used to work for Dell and was part of their dev team when e-commerce was the next big thing and sky-rocketed late 90's. I have always recommended Dell PCs to friends and family. I write this on a Dell Precision T5500, which was a beast (and still is) when I bought it 3 years ago. The build quality on their top of the range products is excellent.

However, if my parents came to me today with a recommendation for a new PC, I'd tell them to buy an iPad. They read (and rarely answer) their email, play the odd game of Mahjong, and use Skype to keep in contact with their children and grandchildren. They truly have no need for a PC anymore.

I can't count the number of times I have had to RDP into their virus ridden, broken Windows installation, because they clicked on something they shouldn't have and installed spyware or viruses.

We shouldn't forget that the "tablet market" used to be a joke. People what chortle loudly about "stupid tablet devices" and how nobody would ever buy one. Every tablet that came on the market was an abject failure. Then Apple came along with the iPad. Everyone thought it was bound to be another tablet dud. Everyone was wrong and Dell and Microsoft got caught with their pants down - one fellating the other. Dell still haven't really got off their knees to recover, but at least they can close their mouth now.

The iPad is a genius piece of kit. You really would struggle to break it. Even my parents couldn't get PC style spyware on it if they tried. It is that problem that Dell needs to crack. Microsoft have exactly the same issue and both companies know it.

Children these days have no need of a PC either, because they have smartphones. They keep in contact using Facebook chat or Whatsapp. When asked about email the other day, a teenager we know replied "oh, our generation don't use email. That's for oldies and besides you have to wait too long".

All of this is available to them via their phones - every second of the day. They are always online and always in contact with their friends. Having a PC means a fixed and non-movable connection to the internet, and they have to share it with their parents and siblings. This includes monitoring by parents, which with smartphones, is harder to do for most non-tech savvy parents.

Dell cut 75% of their product line and focus on a product that is better than the iPad. Microsoft bought Nokia for their mobile "experience". They should also consider Dell for their hardware experience. Their build-to-order process and technology is second to none, let's not forget that.

</comment><comment><USER9> Exactly what Dell needs. The leadership & vision of private equity firms.

<comment><USER10> Worked when IBM spun-off its typewriter and dot matrix printer business and the PE turned it into Lexmark; or the recent Leica turnaround (which is going pretty well given the current economic climate).

</comment></comment><comment><USER11> Michael Dell himself has already diversified his assets away from Dell stock - he's pretty rich.

</comment><comment><USER12> I really think Dell could learn something from Jobs's return to Apple, because their product line is like a labyrinth.

</comment><comment><USER13> Dude you're getting a Dell!</comment>


The Steve Jobs I Knew - <AUTHOR> http://allthingsd.com/20111005/the-steve-jobs-i-knew/ <comment><USER2> The Gates anecdote is really neat (edited for brevity):

 _For our fifth D conference, both Steve and Bill Gates agreed to a joint appearance. But it almost got derailed.

Earlier in the day, before Gates arrived, I did a solo onstage interview with Jobs, and asked him what it was like to be a major Windows developer, since Apple's iTunes program was by then installed on hundreds of millions of Windows PCs.

He quipped: "It's like giving a glass of ice water to someone in Hell." When Gates later arrived and heard about the comment, he was, naturally, enraged.

In a pre-interview meeting, Gates said to Jobs: "So I guess I'm the representative from Hell." Jobs merely handed Gates a cold bottle of water he was carrying. The tension was broken, and the interview was a triumph._

<comment><USER3> This is a perfect story about Jobs. The ipod was brilliant, but iTunes is a truly terrible program. It is by far the worst program that I use on a regular basis. But the greatness of the ipod (or iphone and ipad) outweighs putting up with iTunes.

I've always wondered how Jobs could put up with iTunes being so bad. But now everyone is perfect and he obviously had a blind eye when it came to iTunes.

<comment><USER4> Notice how its 10.5 with the iOS 5 betas and not 11?

</comment></comment></comment><comment><USER5> At first, when I read the headline...I rolled my eyes...and thought either Kara or Walt are just re-hashing what everybody else is saying.

But then I read it, and it was surprisingly amusing.

This paragraph had me dying:

 _After his liver transplant, while he was recuperating at home in Palo Alto, California, Steve invited me over to catch up on industry events that had transpired during his illness. It turned into a three-hour visit, punctuated by a walk to a nearby park that he insisted we take, despite my nervousness about his frail condition.

He explained that he walked each day, and that each day he set a farther goal for himself, and that, today, the neighborhood park was his goal. As we were walking and talking, he suddenly stopped, not looking well. I begged him to return to the house, noting that I didn't know CPR and could visualize the headline: "Helpless Reporter Lets Steve Jobs Die on the Sidewalk."_

I can just imagine how terrified Walt must have been.

</comment><comment><USER6> My favorite part:

 _"He looked at me like I was crazy, said there'd be many, many stores, and that the company had spent a year tweaking the layout of the stores, using a mockup at a secret location. I teased him by asking if he, personally, despite his hard duties as CEO, had approved tiny details like the translucency of the glass and the color of the wood._

 _He said he had, of course."_

<comment><USER7> That made me think of humanism: as a humanism, nothing human is strange to me. Steve Jobs would be a humanist CEO. As the CEO, no detail of my company is strange to me.

</comment></comment><comment><USER8> Beautiful article from a true gentleman. I love how he still used the present tense at the end of the clip. Personally, these news haven't sunk in yet.

</comment><comment><USER9> This was a really nice piece, it was disappointing to discover there was no page 2.

</comment><comment><USER10> This was such an insightful article, a great way to remember Steve in life. Well done Walt. Way to keep it classy while keeping it real.</comment>


Rudyard Kipling's American years - <AUTHOR> https://newrepublic.com/article/154615/rudyard-kipling-american-years-imperialism-book-review <comment><USER2> Sincere question: does this post belong on Hacker News?

<comment><USER3> Posts about history, arts, and literature have always had a place on Hacker News. Please see the guidelines: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER2> Downvoted to -4 points for asking a neutral question! People sure aren't objective about this topic. I'll ask again: Are we sure these kind of controversial topics belong on HN? They don't help the community in any way I can think.

</comment></comment></comment><comment><USER4> I disagree with this. Here's what Kipling has to say about colonialism:

" Take up the White Man's burden — In patience to abide, To veil the threat of terror And check the show of pride; By open speech and simple, An hundred times made plain To seek another's profit, And work another's gain."

Have they (the colonized) profited from colonization? This mans words beat the drums for imperialism, he does not deserve praise.

<comment><USER5> > "This mans words beat the drums for imperialism, he does not deserve > praise."

Why this proclivity to view people as being either entirely good or entirely bad? Is there no room for nuance in your world view? Kipling was a racist and imperialist. He was also a talented poet and novelist who produced some seminal work. Both of those things can be true, they are not mutually exclusive.

<comment><USER4> You mean to tell me that you have no lines, no limits? Would you be so comfortable to praise an artist if you knew he was a murderer? What if he was a rapist? A racist? A thief? What are your lines?

After seeing the lasting damage of settler colonialism in the "third world" I have little patience for these "nuanced" views. The Bushes and the Kiplings should be critiqued at every chance. History should not be kind to George Bush just because can draw a few puppies.

<comment><USER5> > _" You mean to tell me that you have no lines, no limits?"_

Straw man.

> _" Would you be so comfortable to praise an artist if you knew he was a > murderer? What if he was a rapist? A racist? A thief?"_

Yes, absolutely. What you fail to realise is that I'd be praising the art, not the artist. I don't believe this makes me a hypocrite, I think this makes me objective. Praising a piece of art on its own merits in no way condones unrelated character traits of the artist.

> _" I have little patience for these "nuanced" views."_

I believe you.

> _" The Bushes and the Kiplings should be critiqued at every chance."_

I agree, but the critique should be rational and objective, and not based on your emotional response to unrelated issues.

> _" History should not be kind to George Bush just because can draw a few > puppies."_

Nobody said it should.</comment></comment></comment></comment>