Ask HN: I've saved up $80k USD. What should I do with it? - <AUTHOR> It's been on my account for at least 3 years. Nothing ever seemed worthy of investing it. How does one find the confidence to invest large sums? Do you start small? How to get rid of the pressure knowing that money is just collecting dust? <comment><USER2> The world of investing is filled with a lot of bs, conflicts of interest, snake oil, fraud, and plain old incompetence.

Therefore, you need to pretty much learn enough that you could do it all yourself. At that point, you might not do it all yourself, but you'll have a decent chance of judging whether or not someone (advisor, robo-advisor, investment fund, index fund provider etc.) you delegate to knows what they are doing.

And by the way, I'm starting up a hedge fund right now. I can guarantee you an annual 20% return.

<comment><USER3> Good job! I was nodding along and almost choke to dead from laughing at your last sentence.

</comment></comment><comment><USER4> Well, it depends on your situation, but in general you could consider:

\- Do you have high interest debts? Paying off debt is a guaranteed return.

\- Can the money be invested, or is it earmarked for e.g. downpayment for a house, new car, education, or other short to mid-term purchases ? Consider your investment horizon. If it's less than 3-5 years, consider leaving it where it is.

\- Can you spend it on yourself, e.g. improve your earning potential or start a business ?

\- If you want to invest it in the stock market, I would not try and pick stocks, but spread it across a number of well diversified funds. I also would not spend all the money at once but e.g. aim to invest a chunk of it every month over 6-8 months

Think within the context of broader personal finance considerations, there's already a few good links in the answers.

</comment><comment><USER5> First off: Well done saving up! If you are paralysed about (getting started with) investing, I can recommend the books "A random walk down Wall Street" and the (very thick but well worth it) "The intelligent investor".

Especially the last one opened my eyes a lot about how to approach investing. I have the revised edition from 2006, though the original publication was in 1949. The 2006 edition has a section after each chapter discussing how the original chapter fared in the decades after publication. Without exception, the lessons discussed in the book from the 1929 recession and earlier turned out to have been very applicable in the dotcom crash of 2000, the "black monday" crash of 1987, etc. It really shows how most things are nothing new and gives a lot of perspective on the markets.

Reading up and understanding how the stock markets work can take away some of the pressure. Finally, there is no rule about having to start big or small. If it makes you feel better, start with $500 and see how it goes. The sister comment by "ForHackernews" about starting with a diversified index fund is good advice (and probably what you'd conclude anyway after reading the books).

<comment><USER6> One Up On Wall Street, Peter Lynch

<comment><USER7> I am currently reading this and I can't help but think every single page is a puff piece on how many stocks he owns and which opportunities he did and didn't see.

It doesn't feel like learning about investing for a beginner but rather an autobiography on his portfolio. What did you like about it?

<comment><USER6> The idea that one can go about his own world, think for himself, and get into positions based off his own information advantages before wall street catches on. As a type 1 diabetic, this idea has paid off handsomely with my returns on $TNDM and $DXCM

</comment></comment></comment></comment><comment><USER8> I take it you are a young person... First max out your company 401K with as much contribution to the ROTH option as you can afford... invest it in the lowest fee broad market matching index fund (Hint: S&P500) you can find. OK... now hopefully you are down with this and you still aren't eating into that 80K... If you don't need this money for a house, Well... over the long haul investment in the broader stock market "historically" doubles investments every 7 years. So, I'd suggest you open a cheap online brokerage account and first invest as much as you can into a ROTH and drop both ROTH and excess into an (again S&P500?) index mutual fund with the lowest expense ratio that you can find... and... try not to look at it again for the next 30 years except to convert as much each year into ROTH as possible. After 30 years you will hopefully look back into your account and have about $1.5M in that account with... being able to pull some significant amount of that investment out _tax free_. If you do need some of it for a house try to avoid 30 year loans and elect for 10-20 year loans.

</comment><comment><USER9> Right now is a very risky time to invest. It could be that it turns out to be a good time, because stocks are about 20% below the all-time high. But there could also be a second crash, when investors realize the real impact of the economic crisis caused by Covid-19. In addition to that, there's the risk of inflation caused by government bailouts. What I'm doing right now is keeping about 1/3rd in gold ETF as inflation protection, about 1/3rd in stocks ETFs and the rest in cash. Once the whole thing is over, I will probably move back to stock ETFs.

<comment><USER10> Are you familiar with [https://portfoliocharts.com/portfolio/golden- butterfly/](https://portfoliocharts.com/portfolio/golden-butterfly/)

20% Total Stock Market

20% Small Cap Value

20% Long Term Bonds

20% Short Term Bonds

20% Gold

You could replace short term bonds with Cash, TIPS, CDs, Bitcoin.

<comment><USER9> Not this portfolio, but I don't see the point of buying bonds anymore, at least when you invest a relatively small amount of money. Low interest, risk is relatively high compared to what you can earn, and no inflation protection.

<comment><USER10> Long term bonds benefit from low interest rates.

[https://portfoliocharts.com/2019/05/27/high-profits-at- low-r...](https://portfoliocharts.com/2019/05/27/high-profits-at-low-rates- the-benefits-of-bond-convexity/)

</comment></comment></comment></comment><comment><USER11> 1\. Open a margin account on Interactive Brokers.

2\. Choose a target volatility level you're comfortable with (I like 20%).

3\. Buy shares of BRKB. Buy enough such that volatility of your portfolio reaches your target volatility.

4\. Every month, update your share amount to maintain the same target volatility.

[https://alphaarchitect.com/2019/05/22/volatility- targeting-i...](https://alphaarchitect.com/2019/05/22/volatility-targeting- improves-risk-adjusted-returns/)

<comment><USER12> At step 1 I was half expecting this to go towards /r/wallstreetbets and some terrible jokes.

<comment><USER13> > some terrible jokes

I'm immediately shorting everything you own.

</comment></comment></comment><comment><USER14> Short answer: Dump it all in VFIAX and ignore it for about 30 years.

Alternately, wait for the housing market freefall that is scheduled to hit about 180 days from now, and buy a foreclosure or two.

EDIT: Cosigning the above recommendation about maxing out a Roth IRA each and every year as well, and of course maxxing out any company-matched 401(k) options.

<comment><USER15> The problem (for me) with index funds is that you end up participating in stocks for companies you may not want. For example, I don't want a penny of my money to go to Facebook, Amazon, Google, etc. Here's the VFAIX top ten holdings:

Microsoft Corp Apple Inc Amazon.com Inc Facebook Inc A Berkshire Hathaway Inc B Alphabet Inc Class C Alphabet Inc A Johnson & Johnson Visa Inc Class A Procter & Gamble Co

It has always blown my mind that the answer for "retirement" now is to put your money in the online casino.

As a father of two young kids, the last thing I want to do is contribute to the erosion of any sense of privacy my kids may have in the future. Using Facebook as a tool for retirement is just as dumb to me as using Facebook for anything else.

<comment><USER14> Choosing to invest or not invest in Facebook does not change a single thing about whether or not society as a whole chooses to use Facebook and whether or not, via that use, Facebook becomes powerful and further erodes societal values placed around privacy. Facebook would still be Facebook (and thus dangerous) even if it were privately held.

Facebook is Facebook because they have an app that people love to use, and that gives them the power to sell and control placement in the communication between friends and acquaintances back to those same communities. They're not powerful because of their share price.

Index invest away. I have Facebook blocked at my router but I still own them via index funds.

<comment><USER15> Cool, I think you missed my point, though. _I_ personally do not want to have a penny invested in Facebook/Google/Amazon. I do not care about the gains or losses or the number of people that love to use their apps/services.

Money isn't everything.

<comment> blaser-waffle There are ethical investing firms, and they offer ethical investing mutual funds and ETFs -- my wife holds a few of their offerings. Their performance isn't amazing.

You're also not obligated to buy an ETF -- you can create your own "index" without much effort. The OP's $80k would let them do that, were they so inclined. Maybe not all 500 in the S&P, but a lot.

<comment><USER15> Eh, after seeing the pile of dogshit that VCs are pushing on the public markets lately, I've lost a lot of faith in publicly traded companies.

</comment></comment></comment></comment></comment></comment><comment><USER16> Pick one or two ETF and set up a monthly amount to invest into them. You don't need to invest everything at once and the monthly commitment averages out short term effects. If you want to be more active with a part of your money, you can also commit to buy a couple of stocks monthly. If you get rid of poorly performing stocks regularly and rebalance the portfolio you can declare them as capital losses that will count towards any future capital gains.

</comment><comment><USER17> Dollar cost averaging into an index fund.

After paying down any high interest debts and earmarking at least 3 months worth of living expenses into a savings account or other cash equivalent as an emergency fund.

There's a great decision making flowchart floating around somewhere or other.

<comment><USER18> There are a handful of them. Some simple, some complex.

Here is a complex one... [https://i.imgur.com/c0p24cU.png](https://i.imgur.com/c0p24cU.png)

<comment><USER19> This flow chart is awesome! I'm not sure I agree on the order of all of the steps. For example you may want to put section 3 before section 2. Also, it looks like this is recommending saving for a downpayment on a house before maxing out your 401k. It makes sense but I'm not sure it is one size fits all.

</comment></comment></comment><comment><USER20> I would actually keep holding it in cash -- that is maybe 2 years of emergency funds if you are married/have a family?

Keep it in cash, pretend you don't have it (create a separate account that is just this sitting there), continue earning and saving. Anything extra you earn after this 80k base you can invest (simple things like index funds, dollar cost average in slowly).

<comment><USER10> You could put 80K in the stock market, and if you have an emergency borrow against it at 2%.

<comment><USER20> This is terrible advice. Cash is cash, you can pay bills, buy food, get through hard times without needing to do anything but access it. Coronavirus should be showing everyone that random insane things can happen, so be conservative with emergency funds.

<comment><USER10> And borrowing can be same day, same as cash. Or within 30-45 days to pay off a credit card, using it as free float.

The nice thing about borrowing against stock is not having to sell the stock while its down, unless you borrowed so much to hit a margin call. If it's allowed, you could borrow against treasury inflation-protected securities to protect you against runaway inflation. TIPS are up 8% on the year. I'd take 8% gain for 2% cost and peace of mind that my cash isnt losing value.

80K is a lot to have in an emergency fund. Borrowing even a quarter of it should be no problem, without risk of short term margin calls.

I believe pure dollar cost averaging to be a worse choice than picking and filling an allocation with low start date sensitivity and high baseline long term returns. Even averaging in over a year isnt enough time to tackle start date sensitivity, you are better off with an array of stable equivalents, and contributing into just stock allocation over time, as you make more, than holding just cash and waiting to buy stock. Cash by itself is a sure fire way to lose money over time. [https://portfoliocharts.com/portfolio/portfolio- matrix/](https://portfoliocharts.com/portfolio/portfolio-matrix/)

Some combination of total world stock market, small cap value, reits and bonds/tips, gold, cash, bitcoin. Rebalance quarterly. You'll be much more diversified than holding cash, or holding a cash plus a mutual fund with 90% stock, and cash will still be instantly accessible. It's really not that different in concept than a HELOC, except your collateral is much more diversified than your house.

</comment></comment></comment></comment><comment><USER21> I used to be a stock broker. But right now I am not your stock broker. This is not advice.

Great fundamental wisdom is that you can't (consistently) time the market but you should try to Buy Low, Sell High. That said, we experience a massive COVID crash. It's a great time to buy, but we don't know how long it will last or whether it will be long recession afterwards.

Index investing through ETFs is a great way to get diversity in a single financial instrument such as the S&P (large companies), NASDAQ (tech), or the Russell (small companies.) The NASDAQ has largely recovered but the Russell still has a long way to go back to February prices.

I have an old friend whose parents sold their home recently and gave him a sum. He's putting in 10% per month for the next 10 months, all in the S&P.

<comment><USER22> What's the reason for splitting it in 10 if you know you're going to invest it this way already?

I would assume to be more flexible and be able to change strategy if something goes wrong?

<comment><USER21> Dollar cost averaging means you aren't trying to time the market.

</comment></comment></comment><comment><USER23> Key question is: When do you need the money?

Depending on time frame is the key to deciding where to put it.

How to put it, the best advise, and I am doing this myself, is to put it in a little at a time. For my needs, I have selected 8 places to put the money. Based on 3 different times to need the money. I then looked at each to determine where I thought they were going. i.e. money in emerging markets I will not put into until a year from now. Real estate and banking I am waiting to the start of summer. Others started a month ago. When I expected to be fully invested. For each I assigned now much in total I plan to put in. This gives me an amount over time to invest.

Using your 80K, assume you wanted 3 pots. Pot A is 35K, pot B is 25K and Pot C is 20K. Assume you want to put pot A 35K in over the next 6 months - assumption being you expect the bottom of that market within that time frame. 6 months is approximately 180 days - or $194 per day - $1361 per week. So I would either once a week put in $1361 or every other week $2722. In your case, I would probably do it every week.

I highly recommend vanguard.

Plan two, follow Warren Buffets advice - he said when he dies to put in 10 amount in short term government bond fund for his wife to spend every year, and the rest in a S&P 500.

[https://www.investors.com/news/warren-buffett-sticks-with- tw...](https://www.investors.com/news/warren-buffett-sticks-with-two-key- pieces-investing-advice/)

</comment><comment><USER24> Nobody can answer that seriously without knowing your situation in life. Age, family, job, etc.

<comment><AUTHOR> 30, no family, software engineer, male

<comment><USER25> As someone in a similar situation, just throw it all in VTSAX vanguard or FZROX fidelity and let it sit for the next 30-40years. Dollar cost average over the next year maybe if that makes things less nerve wracking.

Obviously we are in a really crazy market right now, and while that might be disconcerting it is the case that s&p 500 has existed through 2 world wars and a Great Depression and still delivered returns.

</comment></comment></comment><comment><USER26> [https://www.schwab.com/resource- center/insights/content/does...](https://www.schwab.com/resource- center/insights/content/does-market-timing-work)

Just invest in a broadly diversified index fund.

Start here if you're a total beginner: [https://www.bogleheads.org/wiki/Getting_started](https://www.bogleheads.org/wiki/Getting_started)

<comment><AUTHOR> Thanks.

<comment><USER27> That's a great low risk way to proceed, but is lazy in my opinion.

For one, those stocks include weapons manufacturers and other poisonous companies that maybe you wouldn't want to support.

Second, it detached you from your underlying investment. In my opinion the ability to evaluate businesses is itself worth investing in.

Go pick a sector you are interested in. Compile a list of small - mid cap companies (I.e. companies worth hundreds of millions to a few billions). Read up as much as you can on them. What's their business model? Who leads them? What's their current state? Invest in the ones that stand out!

Not many people will tell you this because "investing in the index fund will give you amazing returns after 30 years and Warren Buffet said some!!".

</comment></comment></comment><comment><USER28> I dunno man I'd go for precious metals and gemstones so you can at least look at it while it collects dust. Personally I think old gold pesos are pretty cool.

[https://www.apmex.com/product/1044/mexico-gold-20-pesos- rand...](https://www.apmex.com/product/1044/mexico-gold-20-pesos-random-year- au-bu)

</comment><comment><USER29> You could look into investing it into crypto money. It obviously is risky, there is no doubt about that, but can yield you very good returns, even in the current crisis. There are a large variety of options depending on the risk- level you are willing to take.

If you are interested in trading, I can warmly recommend starting here: [https://hackernoon.com/all-my-trusty-crypto-trading- wisdom-i...](https://hackernoon.com/all-my-trusty-crypto-trading-wisdom-in- one-spot-d52f3413bca7)

If you don't want to go that deep, I can recommend the crypto.com app/platform, one of the most approachable options right now imo with more or less "safe" earning options for which you do not need to know anything about trading (my referral code: aenfe3qkjz): [https://crypto.com/](https://crypto.com/)

</comment><comment><USER30> What about: nothing, just accumulate more, stach it and one day a need or opportunity will arise.

Might not be a popular opinion since we all are expected to optimize everything but 50 years in and this non strategy has made my financial live rather dull, which I like.

</comment><comment><USER31> What do you want? How old are you/how much career do you have left to fix a screwup? How much of a catastrophe is losing everything? Are you responsible for other people's well-being? Where are you located? How do you feel about risk? What is your housing situation?

I used a similar amount to buy a very small house in cash, but this would be considered a poor move in many ways (mortgages are pretty cheap debt). It works for me, though.

</comment><comment><USER32> Wisdom of the crowd: [https://old.reddit.com/r/personalfinance/wiki](https://old.reddit.com/r/personalfinance/wiki)

You decide whether to trust it. Considering your circumstances, the advice can be condensed to buying and continually investing into ETF and holding the assets for a couple of decades, as a few fellow HNers already said.

</comment><comment><USER33> This might already be you but if not it gives some useful advice for your situation: [https://www.reddit.com/r/personalfinance/comments/geeq4t/i_h...](https://www.reddit.com/r/personalfinance/comments/geeq4t/i_have_80k_saved_up_do_i_leave_it_in_a_high/)

</comment><comment><USER34> I would keep 1-2 years worth of living expenses, then take the rest and put it in an index fund, and keep putting new savings into the index fund.

I would also move to a country with 1/4 the cost of living so that you're instantly 4x wealthier, and use the extra to take time off and enjoy life and build your own company.

<comment><USER35> He has 80K, not 80M.

<comment><USER34> I left San Francisco to live in a country where 80K can last 6 years without working. IMO, arbitraging cost of living is the smartest thing to do with your money if you're an engineer and can earn USD anywhere, especially since OP is single with no kids.

</comment></comment></comment><comment><USER36> Depending on your age and background, consider investing in yourself, e.g. invest in things that help you finish your degree or boost your career or invest in your physical health. Returns of such investments might be considerable.

</comment><comment><USER37> I would prefer to buy property any time. People will always need housing. So while the price of the property is pure speculation, rent is a nice steady source of income.

<comment><USER38> Only if people want to live where you buy the property. If you bought property in Detroit in 2005, how much rent would you have collected in the last 15 years?

</comment></comment><comment><USER39> Burn it on hookers, booze, dope, travel, education

</comment><comment><USER40> Invest in local food and farmers.

</comment><comment><USER41> I am building a startup, invest in me. Not kidding. No really.

</comment><comment><USER42> If you have any debt and less than 3-6 months of emergency savings, and do not own your home, I recommend starting with a free BYU personal finance class (I can dig if you cant find a link), and/or Dave Ramsey materials.

<comment><USER43> I second this - pay off any non-mortgage debt (student loans, cars, etc) before investing.

[https://www.daveramsey.com/dave-ramsey-7-baby- steps](https://www.daveramsey.com/dave-ramsey-7-baby-steps)

<comment><USER42> thanks for the link

</comment></comment></comment><comment><USER44> Donate a portion of it.

Spend it on the people you love (including yourself).

</comment><comment><USER45> Do you have any interest in building a startup yourself? If so, $80k will last you 4-5 years for bootstrapping if you move to a low cost area and don't have any dependents or other expenses.

<comment><AUTHOR> I sure am, but as mentioned in one of the replies, I would need an idea that I believe enogh in. Would you do it differently? How do you know if something is worth it?

<comment><USER45> Maybe keep the current job, don't touch the 80k, and spend your free time coming up with a good idea that you can see yourself working on for 5+ years? That's my advice.

</comment></comment></comment><comment><USER46> First, you have to ask yourself "When do I want to spend the money?"

Only then can you decide the best way to invest it.

</comment><comment><USER47> Buy property, silver or gold.

Or - in the current climate shares in the airline industry.

<comment><USER48> Why precious metals?

<comment> blaser-waffle The perception that they will hold value while other assets are in flux. Because they're, like, metal, and won't rot, turn into water, or dry up, or have their value crash because no one wants to live in Detroit.

<comment><USER48> Gold's value floats just like any commodity. Oil isn't going to rot either, but is famously volatile.

As I understand it, gold reliably appreciates in times of economic distress. Whether now is a good time to buy, seems like a question worth taking seriously.

</comment></comment></comment></comment><comment><USER49> /r/wallstrettbets is your friend

<comment> blaser-waffle Only if you like tendies and tears

</comment></comment><comment><USER50> buy urbit stars

</comment><comment><USER51> Dear Mr neilgodwin, My name is Prince Bakare Abacha. I am a former Major General in the N1gerian Space Force. I have several lucrative Lunar Mining investment opportunities I would like to discuss with you via direct massage.

<comment><USER8> Salutations Mr. Prince Bakare Abacha,

I would love a direct massage on my next trip to Nigeria... In fact I have 401 reasons to look into your offer! I hope very much we can meet up for the direct massage and mutually enjoy being fondled under your expert care.

Also I will be traveling to the planet Luna in the upcoming Russian mining mission. I am looking for investors that are interested in sponsoring me in exchange for a percentage of my cut in the mining operation.

Please respond with your interest. I am very excited about the direct massage and the opportunity to work with you in a mutually beneficial business opportunity!

Sincerely,

Sr. Cosmosnot Andropov Niet Bing Zhou

</comment></comment><comment><USER52> Find a _fiduciary_ financial adviser / asset manager perhaps who gets paid based on service rather than periodic commissions.

</comment><comment><USER53> Whatever you do, don't follow the advice of posters here at HN. If even one of them has valid advice, it is coincidence.

<comment><USER54> This is basically liar paradox [1] :)

If it's true, then they shouldn't listen to you. But then they can follow advice of anyone, including yours.

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

<comment><USER53> This sentence is false.

"This sentence" = "This sentence is false."

[This sentence is false] is false.

"This sentence" = "This sentence is false is false."

[This sentence is false is false] is false.

"This sentence" = "This sentence is false is false is false."

[This sentence is false is false is false] is false.

...</comment></comment></comment>


IE6 Cheatsheet: How To Fix Internet Explorer 6 Bugs - <AUTHOR> http://www.virtuosimedia.com/tutorials/ultimate-ie6-cheatsheet-how-to-fix-25-internet-explorer-6-bugs

<comment><USER2> "The best strategy for dealing with Internet Explorer 6 is not to support it."

Amen.

<comment><USER3> That is the _easiest_ strategy, but the author doesn't mean it, and the entire collection of info backs that up. He even says so a few lines later:

"This isn't one of those rants about IE6 or a campaign to try to kill it. There are enough of those around the web, but they don't help if you need to support IE6 because it still has a significant enough marketshare that you can't ignore it for business reasons. No, this is the resource you've been hoping for."

But yes, I'd love not to support IE6 in all of my work, but that's just not happening...yet.

<comment><USER4> I agree, jsm386.

It's often simpler, though not necessarily easier, to code a design with progressive enhancement in mind rather than graceful degradation. Designing a structure that functions properly in IE6 is not difficult.

(Not that I _like_ IE6, I just have to support it.)

</comment></comment></comment><comment><USER5> Noticed this site was causing firefox to hang for about a minute and peg my CPU, so I profiled it:

The Addthis script you're using has an onReady method that gets called 94 times on pageload and takes an average 12 seconds to run each time. During this time Firefox gets the dreaded beachball/umbrella.

I'm having similar issues on a site we're using sharethis on, but not quite that bad on page load - it does increase the constant load on the cpu by about 15% though.

Be careful when using these widgets...

(macbook pro; 2.4ghz; 4gb ram; ff 3.0)

<comment><USER6> I didn't have any problem opening it Safari. ;)

Edit: I just tried it in Firefox 3.5.2 and no problem either.

I'm running Mac OS X Snow Leopard on a Macbook 2ghz duo, 2gb ram.

Possibilities: It could be Firefox 3.0, try updating. Or it might be the 64 bit power of Snow Leopard that makes it faster for me. But then again Firefox is still a 32 bit application.

<comment><USER5> Even so, it's pretty egregious that something so simple would be so heavy. Works fine in safari for me, too, but according to statcounter about 15% of people are still using FF 3.0.

<comment><USER6> Yes, I personally removed Addthis from my website. Social bookmark sharing isn't worth the extra overhead. And Sharethis is even worse than Addthis.

</comment></comment></comment></comment><comment><USER7> If there's a culture that refuses to upgrade software, then the solution requires _both_ the education of those who are not upgrading, _and_ the solutions to let them do it. For example, present the relative costs of staying put (mainly risk to the business, e.g. several million dollars a few years from now if everything breaks), against the costs of hiring someone to fix it. Bring in the people who could fix it, and find some quotes.

In other words, the people who made the irresponsible decision to stick with old software should have to cover the cost of fixing it. Every site on the Internet should not continue to cover this cost for them.

</comment><comment><USER8> Another interesting one I've stumbled on is the underscore hack. This is a way to apply CSS only to IE 6: [http://designpepper.com/2008/01/09/defeating- ie6-with-emphas...](http://designpepper.com/2008/01/09/defeating-ie6-with- emphasis-the-underscore-hack/)

 __ _#page { background-color: white; _background-color: black; }_ __

This applies background-color black to IE 6 only, and white to everything else.

<comment><USER9> You shouldn't really be including hacks straight into your main css. The main reason being that you have no idea how future browsers will handle the hack because is basically undocumented, and this might cause you - or your client - grief in the future.

Include a new stylesheet via conditional comments and you can isolate any IE browser while not needing any hacks. (i.e., you can just declare the background color directly)

<comment><USER10> Most clients don't want to pay you to create an IE only CSS file, takes minutes I agree but if they won't pay a few quid extra then why should I do it.

TBH I usually do this sort of thing (add an ie6.css file instead of a hack) as I tend to over-engineer rather than keeping to the agreed spec and work schedule.

</comment></comment></comment><comment><USER11> Has anyone explored using user agent sniffing to serve up completely different pages for IE6? Create a set of simple vanilla pages (much like you might for mobile) that are independent so that you don't mess up modern browsers with the hackery.

<comment><USER5> Don't need to. You can include completely different stylesheets and javascript files simply with IE conditional comments (IE parses what's in them based on simple rules like, version >= 7; all other browsers ignore them as comments): <http://www.javascriptkit.com/howto/cc2.shtml>

If you code to standards and follow unobtrusive / degradable javascript patterns, your site should work without stylesheets and javascript anyway :)

</comment></comment><comment><USER6> What a useful cheatsheet! Its just too bad that it is so useful. IE6 should have died long ago, forever replaced by Firefox.

<comment><USER12> At this point I'd be willing to live with "...forever replaced by IE8".

<comment><USER6> I agree. Even IE8 would be better than nothing.

<comment><USER13> Actually, the debugging tools in IE8 are on par with Firebug.

</comment></comment></comment></comment><comment><USER14> Really a nice compilation.. thanks for the effort

</comment><comment><USER15> Why?

</comment><comment><USER16> Best single IE6 CSS cheat for 90% of my problems:

      zoom:1

Learn it, love it, use it.

It makes IE use its old renderer calculations (hasLayout) for whatever element you put it on, so it often fixes disappearing items, incorrect overflow, floats, padding/spacing etc. If your style looks correct in other browsers, give zoom:1 a shot on IE6 and see if it fixes things before wasting another minute.

ps. For those that are validation crazy, there are other triggers for hasLayout that will validate (certain padding, margins, etc.) but they vary from element to element, whether they have ancestors, etc. and you'll waste a great deal of time figuring them out.

<comment><USER10> Zoom is not a W3C standard though ...

<comment><USER17> Is this a joke? After reading about how zoom:1 is essentially a miracle, you'd be hesitant to use it because it doesn't pass a very arbitrary and often stupid set of rules?

I'm not meaning to put you down, but I just don't understand this validation craze -- beyond the fact that you can say "it validates, does yours?" It seems as though it is some sort of psychological/sociological game... and I was hoping us developers were beyond that sort of thing.

I would be more impressed if there were a validation that said: "This _actually_ looks like it should in X, Y, and Z browsers."

<comment><USER10> Whether something "looks like it should" in the browsers is a function of the browser makers. Whether code is valid and meets the spec is a function of the coders. If the browsers are well programmed then designing to spec means that the pages will appear as expected in those browsers.

The MSIE team basically created an undocumented system called hasLayout and didn't bother to tell anyone until the fixes had been found - if I add "zoom:1" there's nothing to say that the next update of MSIE won't balk at that or that W3C won't adopt zoom using % making my pages potentially (only in later IE I'd warrant) zoom to 1%.

As for "looks like it should" I'm sure you know that (X)HTML & CSS are not intended to convey the same visual expression to every browser. If you want identical visuals then web pages aren't what you're after.

Yes I have used zoom on pages when clients haven't been bothered about web standards. I contend that accessibility of pages by _all_ well-made browsers can only be assured by coding to the agreed standards.

MS: _whacks man on head_

man: "hey, wtf?"

MS: _whacks man on head_

man (putting on helmet): "please don't do that it's not right" (doesn't meet the arbitrary standards of public decency!)

MS: "Put a helmet on or when we whack you it will hurt bad"

MS: _whacks_

man: "Stop hitting me and it won't hurt at all"

</comment></comment></comment></comment><comment><USER18> 1\. Upgrade.

<comment><USER19> I must mention that the main reason IE6 is still around is because XP is still around.

<comment><USER18> Isn't IE 6 still around because many companies still standardize on it for their intranets? I would think the answer is Yes as evidenced by MSFT's recent life extension to 2014.

<comment><USER19> Let me put it like this: Microsoft is only supporting (issuing security updates to, etc) IE6 because it was shipped with XP and Microsoft is still supporting XP. XP can't enter into the legacy version phase due to the large number of customers refusing to upgrade. If Microsoft could phase out XP, it could phase out IE6 as well. If Microsoft phased out IE6, companies would be forced to phase out IE6 as well. Hence, everyone who's refusing to upgrade to Vista (or Windows 7 soon) is helping keeping IE6 alive.

<comment><USER4> How did you come to this conclusion? IE4 and IE5 were swiftly phased out by the "new, improved, IE6!" if I remember rightly, and I think ActiveX was seriously improved and overhauled with IE6 which many companies use(d) in their intranet.

I don't mind Vista any longer, and this was written on Vista, but I don't _like it_. If you want to talk about refusing to upgrade... I still like Windows 98 better than all "improvements" upon it, because it never crashed on me.

:-)

<comment><USER3> last week i booted an old box with ie6 as the only browser around, windows update was pushing ie8 as a critical update. i didn't apply it, because a real install of ie6 (not the stand alone collection) is what that system is used for...but it is nice to know that msft is pushing users to upgrade with a bit more emphasis than in the past (an optional upgrade, though critical upgrades are optional)

<comment><USER4> Jsm, you might be happy to know, but any Windows system with IE can go back to IE6. I just found IETester recently, and it's been an awesome pack to test compatibility with IE5.5 - IE8!

Check it out here: <http://www.my-debugbar.com/wiki/IETester/HomePage>

(I was mainly asking DrJokepu.)</comment></comment></comment></comment></comment></comment></comment>


The Ivory Highway – Inside the World of Elephant Poaching (2014) - <AUTHOR> http://www.mensjournal.com/magazine/print-view/the-ivory-highway-20140213 <comment><USER2> Depressing. I wonder if having some kind of real time tracking system for elephants could help. Although I suppose it could perhaps even make things worse if poachers got access to it.</comment>


Apple still owns tablet market, but Android narrows the gap - <AUTHOR> http://www.engadget.com/2012/01/26/strategy-analytics-apple-still-owns-tablet-market-but-android/ <comment><USER2> " Dozens of Android models distributed across multiple countries by numerous brands such as Amazon, Samsung, Asus and others have been driving volumes."

The Kindle Fire really shouldn't be counted as an Android device. What's next, a press release stating Linux hits an all-time high market share, running on devices such as the Mac, iPhone, all Android phones and the Raspberry Pi?

<comment><USER3> First of all - the world should acknowledge that Linux, the underdog, does power dozens of millions of Android devices.

Also, customers would probably not hold their Kindle Fires right now if it weren't for Android. Developing an OS is an awful lot of work. And while Amazon's intentions are to fork Android, I'm pretty sure they'll come to their senses and just treat their version as a branch.

They'll still insist on having their own curated app store and their own browser of course, but it will be an Android device nonetheless.

<comment><USER4> That's true but by the same logic the Mac is a Free BSD device. That's a technically correct description but in terms of understanding the market it's not that useful.

The issue with the Fire is that it's forked, that there may be future compatibility issues, that it will never officially become an ICS device and that those things may hold Android back in may ways (for instance app developers always having to work to a low baseline to access the Fire users as a potential market).

So yes it's an Android tablet but it's one that may be a mixed blessing for Android and deserves some subtlety in the distinction.

<comment><USER3> It remains to be seen, but I think Amazon will shoot itself in the foot if they won't keep up with the latest versions, simply because some developers will ignore the Kindle Fire because of this (while some will do as you say).

I'm seeing this "fork" more like that of Debian and Ubuntu: different software bundled by default, different repository, different philosophies and policies, different management, overlapping user-base, but for practical purposes, they aren't that different.

<comment><USER4> One breakdown I saw suggested that of the 39%, 24% was Kindle and Nook (that's an absolute 24%, not 24% of the 39%). That's a massive percentage of the market to ignore as a developer.

<comment><USER3> That was for tablets, right? I'm not surprised considering how shitty the Android tablets have been.

But developers are targeting the phones first, tablets second, because a phone is always in your pocket, always online and _everybody needs a phone_. In December Google reported 700,000 activations per day. In 2010 alone there were 67 millions of Android devices sold, with the total number of mobile phones sold being measured in the hundreds of millions.

So Kindle Fire does great as far as tablets go, but it can't compete in numbers with Android phones and Android phones are targeted first, unless you're talking about stuff like interactive eBooks that really need the bigger screen.

I'm also seeing this happening on iPhones and iPads. Unless an app really needs the bigger screen, then the iPad is a second class citizen to the iPhone.

<comment><USER4> Yep.

That's a good point about phones leading the way. I'm guessing that in large part that's because the number of phones (iPhones and Android) dwarfs the number of tablets. I'm always slightly surprised at the number of apps that don't work well on the iPad but it makes sense that you wouldn't put your energy there, at least not in the first instance.

But for those applications that do want to develop a tablet app, it's still a big call to exclude the single biggest selling Android tablet out there (which is probably the Fire).

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Apple's supply chain (still thinking about it from NYT article on Sunday) is a big reason that Android's numbers aren't even bigger.

I ordered my ASUS Transformer Prime 3 1/2 weeks ago, and Amazon says I'll still be waiting another 2 weeks at least.

The Prime is the first true example of hardware spec superiority to the iPad in the tablet market - granted it may only keep that position for a few months.

However, a multiplatform operating system breeds hardware competition. Hardware performance attracts the games market, and that is one of the software bellwethers.

I think Android is going to continue to push the power of what we can do with a tablet, and we're going to see a similar environment to what we have in the PC market where Apple's offerings plateau in terms of performance much more quickly than its Android counterparts.

<comment><USER6> _Hardware performance attracts the games market_

The benefits of a homogeneous set of hardware far outweigh any performance advantages of the anything goes approach. The iPad is "good enough" and predictable.

</comment></comment><comment><USER7> If these numbers stack up (see other comments) then any budding entrepreneurs out there could do worse than to get into some Android development. I appreciate the arguments about how iOS users purchase more apps but I think if android user numbers are growing then that balance will change as the demographics change.

Comparing the number of these tablets about with the amount of development work available should give some idea of how many apps are being developed currently. The stats here <http://jobstractor.com/monthly-stats> (my site) suggest android apps could still be relatively wide open.

</comment><comment><USER8> Does shipments reflect the number of devices manufactured, or the number of devices purchased by consumers? I can't see how the former matters, given the abysmal retail failure of devices like the Playbook.

</comment><comment><USER9> I didn't realize Android had 40% marketshare, quite amazing! Anything that creates competition is good for the customer.

<comment><USER10> Only in the "global market".

I.e they add not only Kindle Fire (a custom version which has little to do with Android), but every kind of junk tablet sold all around the world where people can't afford Apple or Apple doesn't have a presence, Applestores etc.

Can we see the same numbers for the US market?

</comment></comment><comment><USER11> Does anyone else think there's something strange about these figures?

There's still more iOS tablets being sold than Android, so how did Android manage to gain market share? Surely for that to happen, Android would have to be selling substantially more units?

Would love to be enlightened on this!

<comment><USER12> They're talking about share of current sales, not share of installed base.

<comment><USER11> Ah, current sales would make sense. Thanks for pointing it out.

</comment></comment></comment><comment><USER13> Are these numbers sell through to real buyers?

I remember high Android tablet sales in the news a year ago -- later, it was found out they counted deliveries to shops.</comment>


Ask HN: Starting a web project in 2015. What stack to use? - <AUTHOR> I know these kinds of questions might sound silly to ask, but I really love the diversity of opinions that HN provides and the discussions
To give a bit of context: I am an experienced Ruby on Rails engineer. I really enjoy doing RoR and feel more than comfortable using it.
In the next weeks, I'll be starting a web project (mostly a web app, with some public facing pages, imagine a typical SaaS application). There will be some APIs, an on-premise version might also make it into the roadmap.
The logical and pragmatic choice would be to go with Ruby on Rails but I don't want to get stuck forever with a stack that might become obsolete in the coming years (or not). Also, I live in an area where getting good engineers is VERY difficult and hiring is a factor to consider when choosing the stack. <comment><USER2> I'm probably going to get downvoted for this, but whatever. This is a very easy decision.

If you're an experienced Rails developer, use Rails.

If you're an experienced Perl developer, use Perl.

If you're an experienced PHP developer, use PHP.

etc.

The tools don't matter so much. Your experience level with them does. Don't use something you're unfamiliar with in production just for the sake of using the new hotness. That's dumb.

That's not to say, of course, that you should never use anything new. Learn new things, and learn often. Play with new technologies and languages on your own time and get some proficiency with them before using them for a client in a production setting.

<comment><USER3> Counterpoint: the stack you choose initially will often follow you for years because switching costs are rising with every line of code and every developer on the payroll.

Personally I often go for a less familiar but more appropriate stack.

<comment><USER2> You can write bad code with a good stack, and you can write good code with a bad stack.

Put another way, a pro football player will be pretty good with whatever he uses, but even if I had the exact same gear, I'd never get picked for even a high school team.

It's about the person, not the tools.

<comment><USER3> Absolutely, but for non-experimental stacks good practices are well understood and are easy to pick up, especially if you don't focus your career on the one true stack.

For 99% of the projects you don't need to know any stack at level 80. You're much better off having a more diverse experience. Most skills beyond intermediate level – defensive coding, good architecture, managing complexity, etc. – translate very well to other stacks.

<comment><USER2> That's a valid way to look at things, but I take a different approach. I try to avoid easy projects as much as I can with my preferred tech, because it forces me to grow as a developer. I have a relatively diverse skillset which I can grow outward or upward if I need to, but I also have deep knowledge of 2-3 technologies that really pay the bills.

</comment></comment></comment></comment></comment><comment><USER4> The question usually is: Business or leisure? If it's for fun trying out something that's as different from the stack you're used to as possible (like Haskell or Lisp, for instance) will allow you to get the most out of the experience like learning new paradigms and gaining a different perspective on your favourite stack as well.

As this is for business I'd say stick to what you know. Creating a useful software product that can be marketed successfully is difficult enough as it is. There's no need to complicate the process any further.

Regarding hiring: First things first. You won't hire people in the beginning anyway I suppose. So, that's a problem you should consider later on. Besides, development lends itself to working remotely so area isn't really an issue anyway.

<comment><USER5> This is a great way to think about the problem. Find the answer to what you are trying to deliver, and then that will define your constraints on which stack you can choose.

</comment></comment><comment><USER6> I think there can be a few avenues, each worthwhile:

1\. Use Rails as a back-end only and commit to a front-end stack like Angular or React+Flux. Rails will continue to be viable for a long time, but even longer as just an easy API server.

2\. If you don't know the Node ecosystem, it might be time to dive in. I haven't really enjoyed Express.js, the Sinatra-esque framework for Node, but it can be a good excuse to learn NoSQL db's (though you can use them in Rails as you know) and just increase JS chops. Also if you hire a front-end dev I think it's a tad more likely they'll know Node than Rails.

3\. If this is really just to learn, I'd suggest trying other languages, Clojure seems like a great mix of mind-expanding programming along with web ready usage.

4\. Meteor.js is a project I'm really interested in. It's 'Rails but for Javascript'. They have funding to stick around for a while, and they have a vision of pushing the web away from stateless API's to an always connected client. This is my answer of what I'd start a new web app in if I had to begin one today.

<comment><USER7> I _thoroughly_ disagree with point 2.

Having tracked the development of the Node ecosystem since its beginning, the amount of unstable libraries and endless churn continues to amaze me, and the tooling solutions still seem very immature for what should be a "serious" development platform.

Honestly, for 99% of things a plain old Rails or Django stack will be fine. Development will be rapid, the devs behind both frameworks seem to care about stability while keeping options open to making your own thing, and you have access to both language's more ample library story, which goes beyond simply making web pages.

If it's just about the concurrency story, there's async frameworks on Ruby and Python. If it's about the performance, V8 eventually ends up hitting the same walls the other languages do, albeit much slower, but with a whole bunch of language and library deficits that are best avoided altogether.

It's amazing to say it, but nowadays even the current story with some PHP frameworks is not bad, ever since some people decided to standardize more parts of their packages and make the language actually suck less.

<comment><USER8> +1 Currently developing a Node.js / Express application. The choice of platform was a huge mistake. The brittleness of many of the libraries is indeed amazing.

</comment></comment></comment><comment><USER9> First, I don't think that Rails (and similar) will become obsolete in a few years. Personally, if it's a serious project, I would go with the stack you know the best.

Now, if you're willing to learn something new, I would recommend that you try Phoenix [http://phoenixframework.org/](http://phoenixframework.org/). It similar to Rails in structure, and Elixir (built on top of Erlang VM) is also similar to Ruby (syntax-wise).

Some helpful resources:

[https://github.com/h4cc/awesome-elixir](https://github.com/h4cc/awesome- elixir)

[http://elixirsips.com/](http://elixirsips.com/)

<comment><USER10> +1 vote for Elixir.

I am learning it at the moment. Enjoyed the Ruby (syntax) with some functional programming capability, but the biggest selling point for me was the fact that it runs on the Erlang VM.

PS. Don't forget: [http://exercism.io/languages/elixir](http://exercism.io/languages/elixir)

</comment></comment><comment><USER11> Think about the following factors when choosing a stack:

\- How mature is it ? Is it a latest new cool thing or does it have a proven track record?

\- What is the purpose of your project ? Is it just to learn new things or you actually building a real world busines ? How quickly can you time to market ? This is critical.

\- What kind of support ecosystem exists for this stack ? Can you easily debug, ask other people and get answers quickly ?

I don't think RoR will become obsolete in the world of web in the next few years. If you really love it as you say, then go use it specially if you are building something important to do as a business. But by all means go try something new if you want to learn or try as a hobby.

while we are discussing, some of the stuff that I have come across while building a web project in 2015:

### Front End

Angular, React, Meteor, Knockout and of course Jquery.

### Back End

Laravel/Lumen (for php), Django/Flask (Python), Rails/Sinatra (Ruby), Nodejs

</comment><comment><USER12> Since I started dabbling in recruiting, I've been doing rough tracking of job data for a number of technologies/stacks, broken down by region (LA, OC, and SV). When I checked outstanding jobs earlier this month, these were the rankings (most to least jobs):

SV: PHP, Java EE, Node.js, RoR, Spring/Hibernate, C#/.NET, Python/Django, Scala/Play, Groovy/Grails

LA: PHP, C#/.NET, Java EE, RoR, Spring/Hibernate, Node.js, Python/Django, Scala/Play, Groovy/Grails

OC: C#/.NET, PHP, Java EE, Spring/Hibernate, Node.js, RoR, Groovy/Grails, Python/Django, Scala/Play

And numbers show that SV has 4-5x jobs of LA, which has 2x jobs of OC. This is all to say that research is critical if you're choosing a technology based on getting a job locally.

<comment><USER13> Considering all the bad mouthing that goes on, I'm surprised to see PHP at #1 in SV and LA.

Just proves that you need to ignore the haters and go with the language that works for you/your situation.

*have used PHP for the last 7 years but now switching over to Python/Flask.

<comment><USER12> I should probably narrow the query a bit (I'm using a job board aggregator), but there are a number of startups built on PHP, most notably Facebook. Yahoo uses it in places, and don't forget all the companies who need a WordPress, Magento, Drupal, etc. developer. These technologies run multi-million dollar businesses. And after years of consulting, I can tell you business owners don't care what's under the hood if it solves their problem with good ROI.

<comment><USER14> Where you checked the outstanding jobs matters as well - something like Monster.com likely has a different group of companies using it that other sources.

Also, don't FB and Google (and other firms) mostly have their own recruiters?

<comment><USER12> I search job board aggregators and do my level best to filter out agency recruiters. I don't trust the exact job numbers, of course, but I trust the rankings because the deltas are large enough.

</comment></comment></comment></comment></comment><comment><USER15> Why don't you try out Meteor? I found it really easy to work with. You could probably go through the whole book tutorial (discovermeteor.com) in 20 hours. If you don't end up using it on production; it might help you with faster prototyping.

</comment><comment><USER16> I think it depends on what your goals are. So far I've built simple apps in Node.JS (Express, Sails, vanilla JS), Spring Boot (Java), Grails, Django, ASP.NET, PHP, Spring MVC (Java), Perl CGI, C++

The perspective I've come away with is.....MVC is MVC. So far I haven't seen anything from any of these frameworks that is _completely different when building a webapp_ (they're of course different when you're building different types of applications, such as Batch, Three Tier, etc).

I found myself worrying about the same things (Input Validation, internal state, database management, Object mapping to the database, and Output serialization) in each case. The optimal choices depended _heavily_ on the characteristics of the input domain and the problem domain.

Meaning, for a simple CRUD app, I'd probably use Rails (mainly for their scaffolding), for something that was more event based (like transactions/financial), I'd probably use Java/Spring, for something that was more system level or batch, I'd probably use C/C++ or Perl depending on how numerical/stringy the data is. I'd probably use PHP if I didn't want a bunch of startup time (i.e. if I just wanted to prototype something really quickly), ASP.NET if it was going to be Windows.

After picking up a couple of these, I stopped thinking about the solution in terms of the language, but more in terms of the Paradigm.

Sorry I couldn't be of more help

<comment><USER17> Did you mean ASP.net MVC? MVC is great, and I'd recommend it if you want to go the Windows route, "legacy" ASP.net? Not so much. Razr puts the old rendering engine to shame, and MVC has received a lot more Microsoft and community love than ASP.net did.

But I'm pretty sure it was a typo anyway since you talk about MVC (in general) in the very next paragraph, so I assume you were listing off a lot of MVC frameworks including ASP.net MVC.

<comment><USER12> I don't see a typo, nor do I see mention of ASP.NET MVC anywhere. "Spring MVC" is an extremely popular web framework on the Java Virtual Machine: [http://docs.spring.io/spring/docs/current/spring- framework-r...](http://docs.spring.io/spring/docs/current/spring-framework- reference/html/mvc.html)

</comment></comment></comment><comment><USER18> > hiring is a factor to consider when choosing the stack

Personally I would not let hiring determine what stack you use. In the end if it gets the job done, is tested, commented, and can be proudly passed on to other engineers, then it is suitable.

One more thing I found with 'stacks' is they are not as solid as they seem, and can be swapped out with other ones, but only as needed. It is common to switch between multiple stacks throught the day. "Doing everything one step at a time, in parallel" as they say.

<comment><USER19> Depends what you are doing and where you are going.

A friend of mine had a startup company a couple of years ago. He chose the language - Python, next choice was Java, and next was C I think (to me the differences his choice of languages shows a lack of understanding in the trade offs between each). As he was non technical, I assume he just listened to other bioinformaticans telling him what was great.

Anyway, he got a product produced (Python and Django / JavaScript front end) and had the option of a German grant to keep the project going. The amount of money offered was fine for someone out of University, but wasn't enough for an experienced dev.

Anyway, despite using a solid choice of language / framework, he couldn't find a dev to continue the project. My guess is that if he had chosen PHP, he the project would have continued.

<comment><USER18> Yeah but programming languages are an abstraction layer on top of already existing architectures which are not going away any time soon. X86, ARM, etc. So as long as code can talk to low level hardware and get executed, it doesn't really matter what you language you're using.

I can understand the need to have others pick up from where you left off, but that's introducing politics into programming, and more oft than not, it confuses what you're trying to achieve (which is converting some form of input to output I hope)

As a first port of call, it would be preferable to know one low level language like C, and a scripting / CRUD language like PHP/JS, as a lot of application development now is web based. Bonus points for learning ASM as that's as low level as we can get. (Unless you work in an Intel chip facility and are not allowed tell people what you're working on).

</comment></comment></comment><comment><USER20> Unless there are any unusual requirements, if I were starting a web project today I would use these technologies:

       - Angular/Bootstrap on the front end
       - Java/Spring Boot on the server
       - PostgreSQL on the data tier
       - deploy on AWS

All of these are distinctly conservative choices at this point, but using tried-and-true technologies has real advantages. They raise no red flags with bosses or prospective investors. They are well supported and will be for a long time. And it is easy to find knowledgeable people if you need to scale up staff.

Since you are a Rails guy, you might want to substitute Rails for Spring Boot. It's a respected system, and you already know it. Win.

If I had the latitude to take one risk in choosing the tech stack, I would swap out the Java/Spring Boot for Haskell/Yesod, since I grow increasingly frustrated with Java's verbosity. But this choice definitely has downsides: I know Java _much_ better than Haskell, and Haskell is rare enough that if I needed more than a couple of developers, I'd need to either hire them remotely or develop them from scratch.

Similarly, you might want to take a chance on one off-beat component if it catches your eye. But just one.

<comment><USER7> I would really hold off on Angular.

The development path of that project seems to indicate a dead end. And as far as technologies go for a new project that's supposed to start quickly, it has some tremendously complex abstractions while having issues with debugging.

This is all a pet peeve of mine, but I think the kind of two-way data binding that Angular proposes will be seen in the long run as a mistake. The fact that you can't just understand what's going on behind the hood without reading tons of documentation in the middle is _very_ troublesome.

<comment><USER20> Dead end? What makes you say that?

<comment><USER7> The fact that the very developers of Angular have stated that Angular 2.0 will not be backward-compatible with Angular 1.0, and the reason why Angular 2.0 is being made is because the operating assumptions of browser capabilities when Ng 1 was made have changed radically.

</comment></comment></comment></comment><comment><USER21> If I were in your shoes I would be reaching for Django/Flask (depending on how complex of an app I was making) for the backend and either server rendered pages or Ember.JS on the front end.

YMMV of course but you get a lot out of the box with Django and if you don't need everything Django comes with (A user system, A large ORM, authentication etc) Flask is a more lightweight solution that can be extended pretty easily. There is a large community for both and any Python dev will know at least one of them at least fairly well.

That being, the main reason I would go with that stack is because that is what I know. If you are doing something that entail some "real time"-iness or push notifications that's not really one of Python's strong points. So ultimately you should choose the best tool for the job. The "best" tool should be a workable combination of what you are able to use easily and will get what you want done without having to write a ton of supporting code.

TL;DR: Choose the best tool. The best tool will be something you can already use or learn in a fairly easy manner and also lends itself well to the task you are trying to accomplish.

</comment><comment><USER22> Use RoR, it's not going anywhere.

</comment><comment><USER23> I am going out on a limb and say for all things backend use C#. Mainly because in general the language, IDE, community support is by far the best. Yeah said it - and it's true so if you think Java or PHP or anything else is overall better your way wrong so fuck you. Oh and it's now open source and runs on Linux.

Unfortunately its not a as cool as ROR, LAMP etc. It's simply better, more mature more stable, quicker etc.

There is a major subtle war going on where asp.net mvc and c# are just not included in the start up tech stack discussions which is ridiculous. asp mvc has the _best_ Web API infrastructure supporting RESTful / hypermedia API's. It has amazing WebSockets support. I could go on but who is even reading this far? Perhaps just me.

<comment><USER19> As a Django user, I have noticed a few comments on here and elsewhere where people have switched away from ASP and moved to Django, and seemed pleased with that choice.

[http://kurtgrandis.com/blog/2010/02/24/python-django-vs-c- as...](http://kurtgrandis.com/blog/2010/02/24/python-django-vs-c-asp-net- productivity-showdown/)

</comment></comment><comment><USER24> I would ask myself "what in this project would rails fall short on? or what language has been known to do a better job, and don't think Ruby/Rails can do it?"

If there's nothing compelling you to use something else, its up to you. but if you see something that Language Y could do over language X for this project, then that might be the indicator of which way to go.

I do PHP work, currently I don't feel I'm limited with the tools I've chosen for what I have in mind. If I did I'd certainly look to see where I've heard there is more opportunity.

If you have the opportunity, pick the tools that would work for you and learn how to use them well.

</comment><comment><USER25> If you're comfortable or want to learn a new stack, there are plenty to choose from.

If you want to quickly build a web project, hire some engineers, charge for your service - why not build it in RoR? This will save you time troubleshooting and learning the ropes of a new web development framework.

Also, you could always hire remote workers if it is difficult to hire locally. See: [https://weworkremotely.com/](https://weworkremotely.com/)

</comment><comment><USER26> I had the privilege of meeting the Director of Technology of github the other week in Newcastle and he kept getting asked a similar question and his response every time was to use tried and tested tools, languages and frameworks. Not the latest flashy things.

From my experience use the things that have been around for a while and have a good community / documentation around them.

</comment><comment><USER27> Depends on what the project is for.

Is it a personal hobby project? Then maybe it is a chance to try a new stack. I'd recommend something with a more statically typed language than Ruby so you can get some experience in that. Java and C# are your mild choices. Haskell would be more hardcore.

If it is for money or there is a deadline then stick to what you know.

</comment><comment><USER28> Look at Pylons Pyramid powered by Python, you can serve it with uWsgi and NginX. [http://docs.pylonsproject.org/projects/pyramid/en/latest/](http://docs.pylonsproject.org/projects/pyramid/en/latest/)

</comment><comment><USER29> Use Rails as your API layer and pick a front end framework. That way you get to expand into a new stack while keeping one foot in Rails. I think in the rails community, Rails + Ember is a common combo, followed by Angular, though React has more momentum right now.

</comment><comment><USER30> You can try

Bootstrap and Reactjs for the frontend. And for the backend - express and node. For database try nosql like mongodb.

It will be altogether a different stack from what you are working now. But it will be a good learning experience.

<comment><USER7> There is _no_ reason to use a NoSQL database on a new project (especially one as hideous as Mongo) unless the problem space is so domain-specific that it merits it.

</comment></comment><comment><USER31> Look at the job ads in your area. Take that into consideration when choosing your stack. If you're looking for an enterprise job I think Java would be a safe bet.

</comment><comment><USER32> Depends on your requirements. For all the hate RoR gets it's still the fastest way to write a complex application no question.</comment>