Lyft Loses $600M in 2016 as Revenue Rises to $700M - <AUTHOR> https://www.bloomberg.com/news/articles/2017-01-12/lyft-loses-600-million-in-2016-as-revenue-surges <comment><USER2> Back in the 80's when all the Semiconductor companies were losing money, Andy Grove of Intel stated that because Intel was losing less money than everyone else, it must be the largest semiconductor company. If Lyft can become profitable while Uber isn't that will change the market dynamics tremendously.

<comment><USER3> I don't think it's fair to compare Lyft with Intel in terms of innovation.

Ride-sharing is not an area that can be monopolized. As soon as companies like Uber and Lyft stop subsidising rides, competitors will spawn up like mushrooms.

Unless Uber/Lyft manage to create fully automated self-driving cars AND find a way to OWN all those cars, they will never have a monopoly.

The people who own the cars will have the freedom to switch to any ride- sharing network they like (or even multiple networks).

Then there will be new kinds of ride-finder apps which will allow people to select between multiple providers/networks - A bit like how Expedia lets you select between multiple airlines.

The Airline business is very competitive and low-margin these days, I think it will be the same for companies like Lyft and Uber.

<comment><USER4> > Ride-sharing is not an area that can be monopolized

It is very close. There are massive network effects and it will be hard to unseat an incumbent.

The more riders there are, the more revenue is available for the service provider (eg drivers). More riders means average waiting time is lower because more vehicles will be around. More riders means less downtime between riders since the next rider will be closer. More time in revenue service lets you spread fixed costs over more riders, reducing the fixed costs per ride (economies of scale).

This all means an incumbent will provide better service especially as reduced waiting times, and will be able to provide that service more cheaply due to greater utilisation. Their drivers/owners will also make more money due to greater utilisation. Newcomers will end up providing worse service (longer waiting times etc) and cost more!

<comment><USER5> Many drivers will work for multiple companies in parallel, e.g. Lyft and Uber at the same time. Even if they only get 10% of their rides from Lyft, it isn't a huge cost to the driver. As a result, from the driver perspective, the network effect protection is relatively poor.

This battle will play out city by city, which just reduces the barrier to entry for smaller operators. All in all, I think Uber's defensibility is fairly poor.

<comment><USER4> > ... from the driver perspective, the network effect protection is relatively > poor

I disagree. A driver will prefer as little time between the end of one ride and the beginning of the next, since they don't get paid for down time. Whichever service has the most riders is most likely to have the next closest rider.

You are right that at the end of the first ride, the driver could examine all services to see who has the closest next rider, giving a new service a shot, although the new service riders are far less likely to be the closest one. Uber (incumbent) for example already counteracts this by giving drivers bonuses for picking up more riders in certain timeframes, so the driver picking the less popular service will also be giving up on those.

<comment><USER6> >A driver will prefer as little time between the end of one ride and the beginning of the next, since they don't get paid for down time.

There are also penalties it seems for not picking up the next ride that requests you as soon as possible. I'm not sure how hard it is time-wise for the drivers to switch between the apps and add up to consistent time and money but I would think you would try and batch your time for each. An hour or an hour there.

<comment><USER4> As with any measured system, people will always try and game it for their own goals. The first article I found is from 10 months ago: [http://www.sfchronicle.com/business/article/Uber- incentives-...](http://www.sfchronicle.com/business/article/Uber-incentives- aim-to-lure-power-drivers-7089842.php)

"In one offer, Uber is now guaranteeing $2,000 a week in gross earnings for new drivers who work 60 hours a week. Another, more-extensive program for existing drivers promises bonuses based on how many trips they complete. For 100 trips in a week, they get an extra $350, for instance."

If a driver can already easily meet those then great. But it wouldn't be that great to spread yourself amongst the services and avoid the incentives. And remember the larger incumbents have more wiggle room in terms of incentives and changing them based on real world driver behaviour.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Basic question here, but what happens when the war's over and the subsidies end? Prices jump by several dollars a ride? Or is there some kind of economy of scale or lower overhead that the winner enjoys?

<comment><USER8> Uber and Lyft don't make money until they're able to replace their drivers with autonomous cars. 80% of an Uber fair goes to the driver, so once they are able to replace the driver with an autonomous car, there's no reason why competition between the two companies would not drive fare prices down.

<comment> tuna-piano I really don't think this view holds any merit. I can't possibly see how this would be Uber's strategy.

Assume that in year 20XX, when autonomous cars finally become a thing, there are two companies. Uber, which has accumulated $X billion in debt while growing it's driver network, and brand new company NewAutonomousCompany, with no debt.

What possible advantages does Uber have in that situation that makes that debt worthwhile? It will have some software and the fact that users already downloaded an app - but will that really be worth the subsidies?

<comment><USER9> Uber can simply declare bankruptcy and reorganize at that time.

<comment><USER10> I guess Uber shareholders expect its business plan to be more solid than that.

</comment></comment></comment></comment></comment><comment><USER11> >The company aims to become profitable by 2018, the people said.

This would appear to reflect a difference in philosophy from Uber [1]. "This will be a monopoly market and we must gain market share now at all costs" vs "This will be a market with multiple big players".

[1] Of course, Lyft does not have the warchest to pursue a strategy that aligns with the first philosophy, so you could say that they must adopt this line through necessity.

<comment><USER12> It seems like in reality such monopolies are limited geographically. Being the leading transportation service in Barcelona doesn't really get you any discounts or brownie points in Beijing or Cleveland.

In theory such economies of scale would result in various supply-side margin improvements for the operators (cheaper gas, cheaper car washes, cheaper tires, cheaper insurance, all due to bulk purchasing power) but so far we have not seen that happening either.

<comment><USER13> > _Being the leading transportation service in Barcelona doesn 't really get > you any discounts or brownie points in Beijing or Cleveland_

It wins you brand loyalty with travellers. I've come to expect Uber just works, everywhere. Sometimes Lyft or Juno or Careem or Hola are marginally better somewhere, but they aren't minimally competent almost everywhere, and that's a big difference.

That said, I agree with you. Few foreign governments will permit an American company to see where their citizens are, where they're going and with whom they are meeting for how long.

<comment><USER14> > Few foreign governments will permit an American company to see where their > citizens are, where they're going and with whom they are meeting for how > long.

Of course they will. See Google, Facebook and hundreds of others. The EU –to use an obvious example– also doesn't discriminate non-EU companies but only requires them to implement the same safeguards expected from EU companies.

But I just don't see how "data" even plays any major role in the future of Uber. It's ultimately a commodity dominated by the costs of a driver's time. Cost/risk of switching is low. Barriers to entry are almost nonexistent.

When Uber eventually goes Under, net effect will have been the transfer of a few million passengers from a to b, and a few billion dollars from whoever owns stock when the ride ends to the drivers (and possibly earlier investors who had the good sense to see it as the ponzi scheme it is).

</comment></comment></comment></comment><comment><USER15> do ride sharing companies become airlines or cereals?

 _Over the years, we 've tried to figure out why the competition in some markets gets sort of rational from the investor's point of view so that the shareholders do well, and in other markets, there's destructive competition that destroys shareholder wealth.

It's easy to understand why air travel is so unprofitable....

Munger: If it's a pure commodity like airline seats, you can understand why no one makes any money. As we sit here, just think of what airlines have given to the world - safe travel. greater experience, time with your loved ones, you name it. Yet, the net amount of money that's been made by the shareholders of airlines since Kitty Hawk, is now a negative figure - a substantial negative figure. Competition was so intense that, once it was unleashed by deregulation, it ravaged shareholder wealth in the airline business.

But why is the cereal business so profitable?

Munger: Yet, in other fields - like cereals, for example - almost all the big boys make out. If you're some kind of a medium grade cereal maker, you might make 15% on your capital. And if you're really good. you might make 40%. But why are cereals so profitable - despite the fact that it looks to me like they're competing like crazy with promotions, coupons and everything else? I don't fully understand it. Obviously, there's a brand identity factor in cereals that doesn't exist in airlines. That must be the main factor that accounts for it. Maybe it boils down to individual psychology....

Munger: And maybe the cereal makers by and large have learned to be less crazy about fighting for market share - because if you get even one person who's hell-bent on gaining market share.... For example, if I were Kellogg and I decided that I had to have 60% of the market, I think I could take most of the profit out of cereals. I'd ruin Kellogg in the process. But I think I could do it. In some businesses, the participants behave like a demented Kellogg. In other businesses, they don't. Unfortunately, I do not have a perfect model for predicting how that's going to happen._ [http://www.valueplays.net/wp- content/uploads/The-Best-of-Cha...](http://www.valueplays.net/wp- content/uploads/The-Best-of-Charlie-Munger-1994-2011.pdf)

<comment><USER16> Ugh, so the answer why other industries have so much profit is because of oligopolistic collaboration.

<comment><USER15> if uber/lyft can't differentiate their product in any way it seems a race to the bottom imo unless some cooperation happens. i bet thats why lyfts been running these commercials about how great their drivers are; to create some perceived differentiation.

i guess one of these companies could go the amazon route and make margins so small to make entry into the market less attractive. ride sharing seems less capital intensive though so not sure that'd work.

<comment><USER17> I only use Lyft unless there's like a ten dollar price difference. The amount of just terrible behavior coming from uber corporate makes me avoid them.

<comment><USER18> Same here. I consciously choose Lyft and feel good about encouraging competition and voting with my money against all the evil things Uber does recently.

Oh that, and I refuse to give Uber my location 24/7\. Uber App went to trash.

</comment></comment></comment></comment></comment><comment><USER19> Isn't the perfect economy one where all business's have the minimal possible margins? Like if all the business just cut even? I know that's not ideal for someone looking to make a lot of money out of their business or investment, but isn't it ideal for the overall economy?

</comment><comment><USER20> It's really quite an achievement - Lyft and Uber screw traditionally taxi companies, they screw their drivers, and they screw their investors, too. Sign me up.

<comment><USER21> At least riders seem to win?!

<comment><USER22> Right up to the point at which the traditional taxi companies go out of business, the new ones' VCs stop subsidizing them, and prices go up to higher than the taxi fares would have been if Uber and Lyft had never existed.

<comment><USER20> That's what I suspect... So, for now we customers enjoy the convenience, and then we'll be screwed, too.

</comment></comment></comment></comment><comment><USER14> Lyft & Uber must be largest top-down wealth redistribution schemes currently operating.

<comment><USER23> Probably Brazil had the biggest one from 2002 to 2015

</comment></comment><comment><USER24> Is there anyone pursuing the lowest cost per mile ride share strategy? Things like choosing a common car type, low fuel cost, centralized servicing, etc (i.e. Taxi) combined with the improved customer service and security that Uber and Lyft offer? One would think it would be a winner.

<comment><USER25> That would literally be a taxi app, so Flywheel. (Haven't tried it.)

Literal ride sharing like UberPool is the only actual cost advantage of apps over taxis, and if you picked the right vehicles for that you'd have a kind of bus/jitney system. Sounds good to me.

<comment><USER26> It's long forgotten, but literal ride sharing is how Lyft got started. They were called Zimride at the time, and it connected people genuinely going places (a bit like craigslist ride shares) who wanted others to chip in towards expenses.

Lyft was released as an app to make finding a ride on Zimride easier, and quickly eclipsed Zimride.

</comment></comment></comment><comment><USER27> It is hard to think of a business in which I couldn't make 700m in revenue given I burn 600m in losses.

Clearly prices are going to go up.

<comment><USER28> Buy $13 widgets and sell them for $7 on eBay. Repeat 100 million times.

</comment></comment><comment><USER29> Speaking only for myself, I'm not surprised at all about this. I use Lyft exclusively, the app is much better than Uber and I've had much better experiences with the drivers (possibly just by chance).

I'm eagerly awaiting the day when we have fully autonomous self-driving electric cars and fares fall through the floor. It seems that this should be much cheaper than the current system of drivers and gasoline powered cars, although time will tell if the savings are passed on to customers.

It's very exciting to me. I don't like to drive.

</comment><comment> awinter-py Talked to a yellow cab driver about this last week. His perspective is that uber's market share and the resulting price power lets them set the market price for rides below what constitutes a living wage for a driver.

Uber is simultaneously lower rates & raising the margin they take from the driver. This means drivers are loaning uber money out of their savings to operate a money-losing business.

Only question is whether drivers will run out of savings before uber can roll out driverless.

</comment><comment><USER30> To me these losses could be completely justified. It's a simple calculation of two companies (Uber and Lyft) who perceive customer LTV to be huge so they are tripling down on acquiring customers, drivers, etc.

The only way I see this as a disaster scenario is if rides are operating at a negative margin in hopes automation will eventually solve that problem as it's not clear either of these companies will even win the automation race.

</comment><comment><USER31> I can't tell if it's a lot, or not...

... but wouldn't it be a hint that there is a market for a cool P2P share riding system?

<comment><USER32> It seems to indicate the opposite, if you can't compete for customers without running a massive deficit.

</comment></comment><comment><USER33> So Lyft spends 1 billion 300m, in a quest to monopoly.

How can I short them? /honest question/

<comment><USER34> You can't, they're a private company. Can't short Uber either.

<comment><USER35> Ok, but who owns them? If the investors are some hedge/mutual funds that invested significant (more than, say, 5%) share of their total capital in Uber or Lyft then you probably can short those funds instead.

<comment><USER36> sure you can, but lyft is very likely already written off. meaning you can short the fund (probably not because those funds are private, as well) but the lyft losses are already priced into their "stock price".

edit: maybe its more obvious in a different industry: assuming a hurricane wrecks florida. now you want to profit from shorting that event, so you short disaster insurance providers because you know they will have to pay for the damages. but the public market was faster. the losses are already priced into the stock, although those losses havent been realized yet. you can short it all you want, but you will be "too late" with your "unique insight".

<comment><USER35> What you are saying might be right in principle: markets usually factors in risk in current prices. However, it seems to me that technological startups, like Uber, but also Airbnb, Twitter, etc. are market's blind spot.

There is a lot of hype in media, everybody is seeking new unicorn to invest in, so it might be the case that all the funds managers are still in denial about the true worth of technology companies.

It wouldn't be uprecedented, in fact current market situation looks a lot like just before dot-com bubble bust: 8 years of bull market, and a lot of money invested in companies without viable business model, like Uber.

<comment><USER36> the idea that uber is not viable is a bit of a stretch. it is certainly a good service used by many millions of people.

you seem to lack a solid grasp of economics. the reason uber is "losing money" is because it is competing in an oligopoly and tries to get rid of its competition. the reason it is being funded to "lose" billions of dollars every year is because it is clearly valuable, not because some "hedge fund idiots" dont know what to do with their money.

once uber turns into a quasi monopoly, it will be able to fix its pricing structure. if it goes too far, it will be regulated. uber is already more of a public utility than "just a company".

calling something that millions of people love "not viable" has never worked. and never will. uber and airbnb are solving the major problem of "you have to own a house and a car". thats a major achievement and costs a lot of money to establish. especially due to regulation trying to prevent people from becoming more mobile and less enslaved.

</comment></comment></comment></comment></comment></comment><comment><USER37> Honest question: Lyft has just started up in my area. Uber appears to be done with the shady nonsense that dogged them at the beginning. Why do I choose Lyft over Uber?

<comment><USER38> What you get with each company varies from city to city so it is hard to know exactly what your experience will be with Lyft, especially if they are just starting out in your area as drivers might be a little harder to find at first.

On top of this, there isn't really much one company does that the other doesn't. Lyft line in SF is great, but I believe Uber has something similar there so it's not very unique.

That said, the biggest reasons I would support Lyft are:

1\. Lyft doesn't appear to be run by immoral people. One of the reasons I would be hesitant to work at Uber and don't want Uber to monopolize the industry is that they have shown that they are willing to do shady things that hurt others to achieve their goals. I would hate to see another Comcast come to power where we are all stuck with them despite hating them. Right now Uber gets away with not being hated mostly because people paint taxi companies as even worse, but if those go away I wouldn't be shocked if Uber suddenly doesn't look like the saviour we thought it was.

2\. Having competition and alternatives helps you as a consumer. If drivers find a way to game the Uber surge pricing (I read about this happening but I'm unclear how true it is) to cause fake surges then having other options for a ride means you aren't stuck paying 3x the normal fare because all the drivers shut off their Uber apps to drive up surge pricing.

You may not choose Lyft over Uber every time. You might not even choose Lyft for your next 10 rides as finding drivers in a new city may be tricky, but I would at least suggest you install both apps and give Lyft a try.</comment></comment>


A brief history of hacking - <AUTHOR> http://www.bbc.co.uk/news/technology-13686141 <comment><USER2> That's hardly fair to the MIT hackers. Hacking != phreaking. Hacking ∉ inherently malicious acts.

Any legally-questionable thing the MIT hackers did was either because a) They were really fascinated in the system (the phone hacks they _did_ do were not to screw over the phone company, but rather to see how the phone system was put together). b) They felt that something was inhibiting their ability to hack efficiently (see also: The Midnight Computer Wiring Society that (illegally) rewired the TX-0 to have more instructions; all the lock hacking that took place since "Information Wants to be Free"...)

And the hacking of MIT and rms and esr and HN is _at best_ tangentially related to the PlayStation cracking that's been taking place.

<comment><AUTHOR> Unfortunately, outside the hacker community, the word hacker only equals cracker. I don't think we'll get the word back.

<comment><USER2> That's a separate issue. The article, IMHO, both maligns the MIT hackers (saying they were more malicious than they were) and then draws incorrect parallels between the MIT hackers of then and the hackers/crackers of today.</comment></comment></comment>


China used Huawei to hack network, says report - <AUTHOR> https://www.theaustralian.com.au/national-affairs/national-security/china-used-huawei-to-hack-network-says-secret-report/news-story/510d3b17c2791cbcac18f047c64ab9d8?nk=d5a9cc7cdd8f5b742e4de1e5f1e6a854-1541255359 <comment><USER2> As revealed by Snowden, US can compel tech companies to help their intel services too.

Instead of a total ban based on how friendly we feel towards certain countries, a trust but verified approach should be adopted. Establish comprehensive, robust and transparent security requirements and regulations for foreign tech firms to comply and allow them to compete on a level field. Review source code and hardware design for critical components, like what UK and Canada are doing.

A competent government should be able to achieve security without imposing unnecssary costs on consumers and companies using foreign suppliers.

<comment><USER3> > As revealed by Snowden, US can compel tech companies to help their intel > services too.

Precisely.

People have short memories and don't seem to see the pot calling the kettle black. I expect better on HN. We have hard evidence that GCHQ/NSA have hacked pretty much everything yet far too often people ignore this to jump on the weakest of speculative hearsay to accuse without hard evidence our Chinese and Russian friends of stooping to our GCHQ/NSA levels of evil-wrong-doing.

Is this what they call xenophobia once you get to the facts?

<comment><USER4> no? you really don't see the difference between a foreign hostile government spying vs the domestic one doing it? i don't think either is good but just because one happens doesn't mean it's in our interest to allow another. especially from the governments perspective. it has nothing to do with xenophobia.

<comment><USER3> From what I remember it was the NSA that hacked Huawei, the problem they had was that there were routers on the market that they could not backdoor as easily as products from Cisco and other Western vendors that were amenable to their requirements.

It may not be xenophobia, it might just be plain paranoia, either way there is some public diplomacy going on that is carefully crafted to get people to fear the 'enemy' hacking everything. Why attribute everything to malice? Ultimately there is good money to be made in selling routers particularly if you can get a municipality to spend proper money on providing connectivity for a city sized area. Huawei might not be a front for the Chinese army, they could be wanting to make profit from a legitimate product. They know full too well that any backdoor specials could compromise their entire business model to lose all of their contracts to put themselves out of business. Why would they run that risk?

Cui bono applies, by making accusations NSA/GCHQ can get them out of the market so that the only option for customers is to buy equipment that is hackable by them.

<comment><USER5> Trade wars bringing updated versions of Yellow Peril narratives into the 21st century.

</comment></comment></comment></comment></comment><comment><USER6> > Don't think about this in terms of just governments tracking you. Consider > if you have any work emails containing company secrets in them. Consider if > you have 2FA apps installed that you would use to unlock or change your work > password. And since it was almost certainly the Chinese Intel/Military that > helps Huawei and other companies, you can be sure that whatever information > Huawei gets access to doesn't need to just help them out, but might help any > other company the Chinese government wants to see succeed.

-Me, 3 weeks ago on this website

Don't buy Huawei hardware. Their incentives to help their customers is far less than their incentives to help their government.

<comment><USER7> Yes. Buy Apple or Google's phones instead. They would never leak customer data for the US government. Oh wait...

<comment><USER8> One government is vastly more transparent than the other. One company is government subsidized and the others are not.

Hard to make a genuine privacy comparison with a straight face.

<comment><USER9> Already forgot PRISM ? No wonder they do stuff like this when the public attention span is so small.

<comment><USER10> The Snowden revelations caused tech companies to implement strong encryption for consumer facing communications. Apple, Google, and Facebook all offer encryption protocols that now piss off the US government and caused friction between the private and public sectors.

People saying "but PRISM" have missed the past five years of US politics. Even Obama was getting mad at US tech.

<comment><USER11> I always think of Ai Weiwei when considering just what's possible under the Chinese government and system. It's nice that my property won't be demolished and that I won't be kidnapped and beaten by police just because the government doesn't like my criticisms.

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

Evan Osnos has some interesting pieces about China and Ai Weiwei:

[https://www.newyorker.com/news/evan-osnos/ai-weiwei-at- home-...](https://www.newyorker.com/news/evan-osnos/ai-weiwei-at-home-in- absentia)

<comment><USER12> Are we just ignoring the black site in Chicago?

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> The growing danger is apps originating in china that request excessive permissions. Utility apps that claim to save battery & space are all suspects. At a minimum they are adware, but most likely state owned malware.

</comment><comment><USER14> Article with paywall removed: [https://outline.com/WfCzFe](https://outline.com/WfCzFe)

</comment><comment><USER15> Non paywall archive: [https://archive.is/3Jt9R](https://archive.is/3Jt9R)

<comment><USER16> Link not working

</comment></comment><comment><USER17> It seems more and more that the citizen of the world has to agree to the sovereign will of the nation where their desirous objects are built.

Its getting kind of like I wonder if the world will respond to these things by bringing the tech local. Could I grow my own products closer to the border, where inspection and compliance is much more trustworthy? Well, its a European question .. perhaps it would happen. Perhaps also, the balkanisation of technological manufacturing prowess in the European states, counter to this, might just blow the whole thing out of proportion, too.

</comment><comment><USER16> Anyone have a summary or better source? Paywall is strong with this one.

<comment><USER18> China felt generous to build an entire new building for African Union. About $200 Million cost, and it came complete with bugs (as in spy ones) and backdoor-ed network that sent the data to China every night.

NSA would have done the same, that's what countries do. There I said it. But the story, for me, is more about Huawei doing whatever their owner wants. Stay away from them

<comment><USER5> NSA would've bugged the building without investing anything in that country. Not quite the same.

The original exploiters of Africa are mad that China is investing and building infrastructure on that continent, which will raise historically low prices.

<comment><USER18> They'll regret most Chinese investments, there's already a major backlash against the Chinese style "investment." You think China is doing this for Africa's good? China is enslaving them with a signature. [https://www.bloomberg.com/opinion/articles/2018-07-10/china-...](https://www.bloomberg.com/opinion/articles/2018-07-10/china- s-belt-and-road-initiative-has-stalled)

[http://www.chinadaily.com.cn/world/2009-08/05/content_853264...](http://www.chinadaily.com.cn/world/2009-08/05/content_8532644.htm)

NSA, if they haven't bugged them already, they already bought the IT staff with money. Third world countries are NSA's dream countries.

<comment><USER5> I expect the Chinese are less exploitative in their investment approach than the Europeans that acted in Africa (slavery and just outright theft was the modus operandi for centuries), yes.

At the end of the day, the roads, high-speed rail, bridges, harbors, etc... the Chinese build can't be removed from the continent even if the individual countries do reneg on debt. This could create the kind of stable environment required to attract both Chinese and non-Chinese investors and talent in the future.

China has 10,000 years of documented history and this is a long game, they don't seem as interested in get rich quick schemes as some other civilizations.

Time will tell.

<comment><USER19> Roads to transport it faster out of the country, airports that aren't used, Chinese labor funded with domestic debts, lended by the Chinese bank.

It's a smart move, but even an elephant can fall when the ground isn't stable ( don't know the appropriate saying in English)

<comment><USER5> Good observation, yes, a jobs program for the ridiculous number of Chinese engineers being produced that is funded by Chinese banks and paid for with 99 year low interest loans and resources in exchange.

May not be the best model, but sounds better than the "bomb our way to profits" approach we've seen employed elsewhere.

<comment><USER19> It's a smart move to keep their artificial 6% growth, funded by foreign debts.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> It's amazing to see Americans blindly trust their government and media even after several systemic incident

<comment><USER21> Over China? Yes.

<comment><USER22> But do you also realize where you are getting all your news about China from?

<comment><USER23> Do you have proof that any of the news about China (from tons of different sources, including other countries that are not America) is propaganda or not accurate? You're implying a global conspiracy is afoot to besmirch the good Chinese name when everyone has known for a while that they're generally bad actors behind the scenes when it comes to spying and stealing of secrets/IP/tech.

<comment><USER5> IP theft aside, anti-Chinese propoganda goes back 200 years in the US and UK. Is this question about proof a joke?

<comment><USER23> Can I have some of the verifiable evidence of your anti-Chinese propaganda from the last 10 years? You seem adamant that there's an abundance of it across the globe and that it's so pervasive over the past 200 years. I'd love to see just some of the recent bits.

<comment><USER24> [https://supchina.com/2018/03/12/kuora-the-bias-inherent- in-a...](https://supchina.com/2018/03/12/kuora-the-bias-inherent-in-american- media-portrayals-of-china/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> Clickbait article. The title suggests Huawei hacked Australia when it's about old news from the African Union.</comment>


20 Years of Crunch Take Their Toll on a Game Developer - <AUTHOR> https://steamed.kotaku.com/he-thought-he-was-done-with-80-hour-workweeks-then-he-1825728038 <comment><USER2> The word 'crunch' is used so frequently in the article that the repetition becomes strangely hypnotic and the word becomes disassociated from meaning. Occassionally using 'overtime' instead might have reduced this effect ... :-)

<comment><USER3> 'Overtime' is paid, crunch is not.

<comment><USER4> That's not true at all. Overtime can most definitely be unpaid, and usually is.

<comment><USER3> By the legal definition, sure, but in common usage the word "overtime" is usually qualified as "unpaid overtime" if that's the case.

Invoking the word "overtime" to mean "unpaid overtime," especially by young team-members, typically results in uncomfortable coughs, silence, and expectation setting from managers / senior members of the team, none of which would be necessary if, like the word "crunch," the unqualified word carried no connotation of payment. I've seen this happen many times in a number of settings so I'm pretty sure it's not just a regional quirk. Connotations are important.

<comment><USER5> No one I know specifies overtime as unpaid or paid. It is simply time that is worked over the amount normally worked, and may be paid or not.

Of my friends, I know if some of them say they worked overtime they mean unpaid, and I know if some of them say they worked overtime they're getting a fat paycheque.

<comment><USER6> Legal reference? (This is a matter of law, re engineer's compensation.)

</comment></comment></comment></comment></comment></comment><comment><USER7> This article felt more like an ad for his game, than it did a warning about "crunch."

</comment><comment><USER8> This is a little misleading title.

He didn't crunch for 20 years, but point still valid.

Just wondering how much crunch there in game dev vs startup vs FB/Goog/etc.

<comment><USER9> I worked 80 hours a week at a startup for about six months where we weren't sure we were getting paid unless we shipped to customers so we had to get things done but I was the only programmer at that time. I worked 12 months in 70+ hours a week crunch on one game project (I found documentation here [https://www.gamasutra.com/view/feature/131533/postmortem_bli...](https://www.gamasutra.com/view/feature/131533/postmortem_blizzards_diablo_ii.php)) - remember the motivation speech was we had to finish or we were all getting fired but I never felt like it was ever as hard as the startup - it was a larger team effort so I was hardly ever the one thing holding up progress. YMMV.

<comment><USER10> > six months where we weren't sure we were getting paid unless we shipped

Don't do this unless you own significant shares

<comment><USER9> Yes, great advice, don't kill yourself unless you have skin in the game.

</comment></comment></comment></comment><comment><USER11> Wondering how he can blame this crunch time for all of these ailments. Maybe he ignored everything but why does his foot hurt and go out? Back related?

<comment><USER12> _> Maybe he ignored everything but why does his foot hurt and go out? Back related?_

Yeah, being sedentary for long periods of time can mess up your back, which can in turn cause peripheral neuropathy because all of your nerves go through the spine too.

</comment></comment><comment><USER13> I'd get a Captain Crunch tattoo if I were this guy.

</comment><comment><USER14> People have nobody to blame but themselves for working crazy hours, in an in- demand role.

</comment><comment><USER15> Engineering talent is in such high demand, the only reason anyone would work a death march is masochism. I mean, we get paid 5x the average US salary. We make enough to retire in our thirties. Working stupid hours in this environment is a choice.

<comment><USER16> Engineers are retiring in their 30s? I can honestly say that I have never met a person that did this. Maybe I'm doing it wrong. What's the secret?

e: engineers, not people in general.

<comment><USER17> [https://www.reddit.com/r/financialindependence/](https://www.reddit.com/r/financialindependence/) (See sidebar for lots of links)

30s is a bit aggressive, tho ;)

<comment><USER16> The comment I replied to made it sound like engineers are commonly retiring in their 30s. I have never seen an example of that happening personally.

<comment><USER18> [http://www.mrmoneymustache.com/](http://www.mrmoneymustache.com/)

It's not common but the math behind it is solid. You just have to not live like most other people do.

<comment><USER19> Simply put, if you save half of your take home, your passive income will approach your living expenses in roughly 10-15 years. And that even with a conservative draw of 3%, you can start to live off that money without touching your principle. There are a lot of assumptions about inflation and not getting stuck in a long bear market, but it's still a fairly solid way to look at how our spending keeps us tied to our work. The really big takeaway from MMM (who lately has been seeming more and more out of touch sadly), is that every dollar you remove from your budget works double, in that it helps you grow savings, but also decreases the amount of costs interest you need to live on.

Compound interest is something that more people should really understand.

</comment></comment></comment></comment></comment></comment><comment><USER20> It makes sense. We spend our days making sure the machines are running properly enough to keep us entertained, fed, or traveling. The clerical lifestyle is phasing out our bodies.

Use it or lose it.</comment>


HP, Dell and Microsoft look to join electronics exodus from China - <AUTHOR> https://asia.nikkei.com/Economy/Trade-war/HP-Dell-and-Microsoft-look-to-join-electronics-exodus-from-China <comment><USER2> I don't know whether this is good or bad for Chinese citizen in general because I've heard most of the labor are often underpaid. Also it's weird if Lenovo, a Chinese company, actually moving production out of China.</comment>


Show HN: Kwak, a real-time discussion platform - <AUTHOR> https://kwak.io

<comment><USER2> > "real-time discussion platform"

So... it's chat?

<comment><USER3> Chat is more of a generic term. The discussions we refer to are content based (right now centered around one hashtag or a Tweet). We will have other contents soon (hint: original content).

</comment></comment><comment><USER3> Hi, we wanted to show you a little something, so here it is.

We suggest you also read the manifesto[0] we wrote, telling more about our mission on this project.

[0] [https://kwak.io/blog](https://kwak.io/blog)

<comment><USER4> In my opinion you could have chosen a far better moment to launch, and a far better launch than the current. Don't expect your potential users to start digging for info for themselves (launch content) on a product they don't know and which on first sight is only irc (launch timing: better launched a bit later when you had a killer feature).

To me it is like you are introducing the iphone1 with the same famous talk by jobs, but stopping just before the it is one device killer punch line. Instead you are promisingbthat the 3 devices will become one in the future, with a lot less credit than Apple had at the time.

Lets end with saying good luck. I hope to see a subsequent announcement one day which reaches the FP, telling us you made it :).

<comment><USER3> I totally get your point. Nearly everyone we talked to said "Great idea". We are simply applying the MVP principle, hopefully we'll grow from there :)

</comment></comment></comment><comment><USER5> This looks exactly like Shout[1]. This seems to be an IRC channel, and you have a web interface (using Shout) hosted on your domain, with some of Shout's features removed so that people can't use it to connect to other IRC servers. And you aren't giving any credit to Shout.

*EDIT: My apologies, I totally jumped the gun there. I didn't see the "?" at the bottom, which states that that's exactly what this is. I still think that you could give a little more credit to them, though. In my opinion, this is more than just "based" on Shout, as your credits say.

[1]:[http://shout-irc.com/](http://shout-irc.com/)

<comment><USER3> shout is MIT opensource, we ack the use of the looknfeel (see our about). Kwak is by no mean IRC backed, it's our own dev work based on Meteor.

The interface will change eventually to support all the features that we intend.

We first started by mapping IRC features and for that shout is super convenient .. but it is just the start ;)

</comment></comment><comment><USER6> As I chat with one of the founders, If I had to describe the service I would write something like:

"kwak.io: a discussion-based (channels), real-time (chat) platform (server)"

which forme it sounds like: server + chat + channels === 'IRC'

Nowdays we have plenty of modern alternatives to good-old IRC: Slack, Gitter, Hipchat. So I asked where does kwak.io fits in?

For me it's a fun but unclear experiment. According to their manifesto ([https://email@example.com/kwak-s- manifesto-14c69104e70](https://firstname.lastname@example.com/kwak-s- manifesto-14c69104e70)) I get the "IRC communication style" part, but I'm not totally clear how will they achieve the "mixed with modern social features" part.

</comment><comment><USER7> Very nice start! Dope logo.

Good idea to go MVP and get it out in the world and get some learning going. Of course the down side to MVCs is the user doesn't know it's MVC — some comments might reflect that ;)

Looking forward to seeing where you take this IRC-esq revival!

</comment><comment><USER8> I like the name. A platform to leave our 'kwakjes'. And in real-time.

<comment><USER9> For those who might be wondering, it's a Dutch word for 'ejaculate'.

<comment><USER10> Uh no not really. It means quack or "to slam down", or something. But that's not the common meaning. Are you flemish? Don't know whether it might have extra meanings there.

<comment><USER9> You might not be aware of it but it is indeed a common usage in both Dutch and Flemish, especially in the diminutive.

Phemist's tongue-in-cheek remark drew attention to it to suggest that the name might not be well chosen for those parts of the world.

See sense 2.2 here: [http://www.vandale.nl/opzoeken?pattern=kwak&lang=nn](http://www.vandale.nl/opzoeken?pattern=kwak&lang=nn)

Or just google it (nsfw).

</comment></comment></comment></comment><comment><USER11> Very nice. The UI feels slightly slower (more sluggish) than web IRC chats. The ability to enable audio on messages or @mentions (in settings) is a good addition. But how does kwak want/expect people to use this? www.kwak.io just has 4 hashtags and jumps me straight into a chatroom. Either I am missing something or there's nothing more to this "Show HN" than literally showing it?

<comment><USER3> We haven't dig too much into optimization yet, it's _almost_ vanilla Meteor with MongoDB. The hashtags are created by the users, and they automatically rank based on activity, we will have many more interesting ranking algorithms to come.

</comment></comment><comment> aaron-lebo Where did this sudden interest in reinventing IRC come from? It seems we get one of these every day now.

<comment><USER12> It seems like this is, in fact, just a skinned IRC and not a reimplementation.

<comment><USER3> What makes you think it's skinned IRC?

\- you can't change nick

\- you can go full anonymous

\- Hashtags (or channels if you like) are automatically ranked)

\- you can post media

\- ...

</comment></comment></comment><comment><USER13> This is IRC. Also the interface is the same of the Shout IRC client: [http://shout-irc.com/](http://shout-irc.com/)

<comment><USER13> That said, I've read the manifesto and I liked the idea. This has my support.

</comment></comment><comment><USER14> Sooo, a Gitter clone?

<comment><USER3> More of a Slack for the rest of us. Please have a look at our manifesto: [https://kwak.io/blog](https://kwak.io/blog)

</comment></comment><comment><USER15> nice logo finally!

<comment><USER3> With a Meteor backend.</comment></comment>


Show HN: Radio Control Flight Log - <AUTHOR> https://itunes.apple.com/app/apple-store/id1214714630?pt=303168&ct=hn&mt=8 <comment><AUTHOR> Not sure how many HNers are RC pilots, but if you are, I made this after getting back into flying recently. I found myself tracking flight times in a note on my computer. Eventually transferred that to Excel so I could see monthly totals easier. Still wanted more, so I built myself an iPhone app. It doesn't have ads, collect email address, have in-app purchases, or do anything shady. It was just an app I wanted for myself and there's no point in keeping it just for me.</comment>


Ask HN: How do you tone down your idea to something fesible? - <AUTHOR>

How do you guys tone down your ideas to make something feasible but still relevant? <comment><USER2> Sorry, I don't have time to make this short.

There are 2 ways:

1\. Talk to individuals who you expect to be your users.

Ask them how they currently do what your idea makes easier to do. Try to find out if they have any problems with it, but don't push too hard. Just listen. If they seem at all receptive, tell them about your idea. Then pay attention to everything they talk about (good or bad). If they don't seem interested at all, move on. Find the next person to talk to. Your aim at this stage is to find people who do think your idea has some value. The uninterested ones provide data to act on in case you don't find anyone interested in your idea at all.

If you can find even 1 or 2 people who love your idea and really get excited about some feature, then build that as quickly as you can and get them to use it.

2\. Just build whatever little thing is useful to you immediately. It's ok if it's ugly and incomplete. It should just give you more of at least one of the following: time, money, fun, happiness.

Then show it to other people who you think might like it. Most reactions on design you can safely ignore. People have a natural tendency to talk about how things look because it's what they see first and feel obliged to say something. It happens on HN all the time.

What you want to look for is things people really love or hate about what the thing does. Also look at the data on what people are actually doing with your product. They often say one thing, and do something completely different. So pay attention to actual behaviour.

Out of all of this, you might notice one or two things really stand out. When they do, zoom in and focus on them to an extent that will seem ridiculous. It should make people say things like "This is just a feature, not a product". Then you know you're really onto something.

The more interesting and novel your idea, you are better off going with route 2. The new conventional wisdom (of Lean) suggests you should mostly always go with 1. But if you look at the landscape, the best ideas come from 2. The chance of failing may also be higher with 2, but that's where the artist in you comes out and pushes the boundaries.

Talking to people about your idea too early may kill the spark of magic that brought it to life. Make it real asap.

These gentlemen say it better than I can - <http://www.zefrank.com/theshow/replay/?p=363>

[http://www.thisislondon.co.uk/lifestyle/london-life/sir- jona...](http://www.thisislondon.co.uk/lifestyle/london-life/sir-jonathan-ive- the-iman-cometh-7562170.html)

<comment><USER3> You nailed it. Either way, I think the most important thing is to _go out and talk to people_. Our mental models are pretty limited in that we see and feel what we wish to see and feel. Talking to people helps open up whole new ways of looking at things. There's always another perspective you failed to see.

I recently came across the Stanford design Bootcamp Bootleg [1]. It outlines the whole process for getting from an itch to a working product. And they obsess over empathy. It's all over the Bootleg. Interview potential users, learn how they currently solve the problem you're trying to solve and show them how your idea could help them.

The Bootleg is highly recommended. Even if you don't follow the practices it describes, it pays to have those mental models.

We were brainstorming recently. And we did this entire exercise. We went to meet students, shop owners, teachers and even some folks at the local administration. It was extremely tedious but our efforts paid off. We gathered insights that range from pretty obvious to mind-numbing and some even rather stupid.

We then made a small web presentation [2] of the most interesting ideas and asked people to vote and give their suggestions. It has been a very rewarding experience.

[1]: [http://dschool.stanford.edu/wp- content/uploads/2011/03/Bootc...](http://dschool.stanford.edu/wp- content/uploads/2011/03/BootcampBootleg2010v2SLIM.pdf)

[2]: <http://idea.diwank.name>

<comment><USER2> Boy, [1] is a long document. I scanned through it quickly and noticed some good ideas, but I don't have the patience to do any of it in the way described. There's too much process.

Have you shipped any of the ideas in [2]?

<comment><USER3> > _Boy, [1] is a long document. I scanned through it quickly and noticed some > good ideas_

I understand. It's a whole bunch of neat design processes. But it's huge! You can take a look here for the separate ideas. <http://dschool.stanford.edu/use- our-methods/>

> _Have you shipped any of the ideas in [2]?_

Yup. We're currently building IHeartCode (turned out to be the most popular). A rough prototype lives at <http://iheartpy.com>

<comment><USER3> It's only a few weeks since we began working on it. And we've been working on the backend all this while. The design has received a wide spectrum of opinion: some seem to love it, others find it confusing. I think we'll redesign it once we get the backend finished.

We're filling in the meat right now! There's a lot of work to do and we hope to get things in shape so we can call it a beautiful pig and go from there.

Thanks for the feedback though. Would love to bug you some more if you don't mind. :)

<comment><USER2> There are only two things that you could do that would help me learn Python: create and curate good learning material. When it comes to education, I think the highest value even today is created by making good new content, not more tools.

<comment><USER3> > _create good new learning material and curate good existing material_

Great advice there and I totally agree with you. In fact, we are looking into incorporating great Python tutorials in the public domain to supplement our content.

Actually, we took the interactive approach because to people with little background in programming, the biggest deterrence is fear of breaking things on their PC. On iheartpy.com they can easily try out basic commands without that fear.

<comment><USER3> @revorad: Thanks for the links. I liked the Ladder of Abstraction.

On a different note, this discussion is slightly off-topic. Can I shoot you an email some time? (If you don't mind.) Also, I'm really sleepy now (yawn!)

<comment><USER2> Yeah of course, email's in profile.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> I think this is one of the major points covered in the Lean startup. In essence, you start with your idea, and sometimes after you get customer feedback you learn that maybe one of your features should be your product. For example, @Flickr actually started that way. Flickr was at first a social gaming site, but when they implementing photosharing the demand for that feature was so overwhelming they made it their whole product. If you'd like to talk about your idea with me, feel free to email me, which is in my profile.

</comment><comment><USER5> I usually start a project with a hard launch date. We decide what we want to build, and then decide which 80% we can strip out to meet this launch date. You may not have to start with a hard date, but if your runway is limited, it may help.

Either way, this will help you visualize the minimal viable product and you can go from there.

<comment><USER6> I agree with this. A hard launch date helps to give you focus, and decide what can realistically be achieved by that date.

It doesn't mean that your other features are discarded, it just means that you can get to where you need to be at the right time.

One other thing it does too is give you an opportunity to stand back after the deadline has passed and look at the project with fresh eyes.

For example, at the outset you aim at getting the ting up and running. Then once you are there, switch hats and become a user. Is the thing doing what you need? Are there bit's you don't actually like? Why don't you like them? Would one of your missing features solve the problem? Or, do you just drop that irritating feature?

I think this can only happen if you set the date, execute, and then step back.

</comment></comment><comment><USER7> Discuss the ideas with other smart guys. I've always found that when I think about an idea by myself, I can overcomplicate it and tend to underestimate how much work it will be. Sharing the ideas with other smart guys can counteract this.

Your question is super good. This may be the hardest part of coming up with a new business.

<comment><AUTHOR> What do you do when the other smart guys want to make it even more complicated? - or worse, add even more features!!!

<comment><USER8> keep asking yourself "self, what is the minimum form of this idea that will provide value?"

</comment></comment></comment><comment><USER9> Keep it dead simple and do not add any extra features until users start to ask for them. Let the user base guide future product development. Put up a feedback link on every page and be responsive, but do not build every requested feature. Just the ones that make sense. It's a challenge that takes discipline.

</comment><comment><USER10> Talk to someone about it, who will act as a good lens/mirror for distilling it into its core use.</comment>


GitHub Enterprise charging 20x rate of competitor Bitbucket - <AUTHOR> http://www.launch.is/blog/github-enterprise-launches-at-20x-rate-of-competitor-bitbuck.html

<comment><USER2> That's what happens when you have brand recognition.

Also, the github offering is an onsite install, whereas the bitbucket is hosted.</comment>


Climate Change Has Quadrupled Ocean 'Dead Zones' - <AUTHOR> https://www.huffingtonpost.com/entry/climate-change-ocean-dead-zones_us_5a4ff489e4b003133ec7cc3f <comment><AUTHOR> Climate Change Has Quadrupled Ocean 'Dead Zones,' Researchers Warn. Suffocating oceans could lead to ecosystem collapse, the study says.</comment>


Music As Data - Music programming with Clojure - <AUTHOR> http://mad.emotionull.com/

<comment><USER2> Do not forget about impromptu:

<http://vimeo.com/2433947> \- Keith Jarrett Style

<http://vimeo.com/2434054> \- Part

<http://vimeo.com/2579694> \- Coding up an orchestra

<http://impromptu.moso.com.au/>

It's the only livecoding platform i know that doesn't sound all electronicy.

<comment><USER3> The Keith Jarrett style was amazing - I really felt the analogy between playing a live instrument and changing the code in real-time, and it sounded very good.

I had visions of a large symphony hall with people dressed very sharply watching a master 'player' create and manipulate this piece in real-time... I think there may be a possibility. Interesting thought anyway.

</comment></comment><comment><USER4> Don't forget about the other the excellent live music programming environment written in Clojure - Overtone <http://project-overtone.org/>

</comment><comment><USER5> I started building something similar a while back called music compojure. Anyone who is interested in algorithmic composition in Clojure may wish to look at the notation I came up with for comparison (see the examples directory on github). Though not perfect, it's very flexible and I'm quite pleased with some of the ideas in it. The code is perhaps maybe nearly useful. It produces midi files.

<https://github.com/mhowlett/music-compojure>

</comment><comment><USER6> Thx for the post! Feel free to ask anything you like!

<comment><USER7> Wicked! I may try to embed your work inside my JRuby/Mirah/Java VST bridge [1] when I'll have more time.

Would be amazing to reuse your syntax inside a VST plugin, to write arpeggiators, drum patterns or other similar things.

Thanks for sharing!

[1] <https://github.com/thbar/opaz-plugdk>

<comment><USER8> a bit ago i started a javascript osc environment [1] for fun. a copy of touchosc, but in the browser and you can edit your controls live.

i didn't have any intentions to share it, but this seems to be an appropriate venue. it's not nearly as cool as anything else in the thread :). pretty proof of concept, but maybe will get some ideas going. the relevance is that it's easy to execute arbitrary code [2] to control any program that supports osc/midi.

[1] <https://github.com/catshirt/backbone-osc>

[2] [https://github.com/catshirt/backbone- osc/blob/master/static/...](https://github.com/catshirt/backbone- osc/blob/master/static/webroot/js/views/slider.js#L63)

</comment></comment></comment><comment><USER9> I love the compact notation for pitch and transforms. Question: there are two other aspects of music that would be wonderful to encode in your approach: note duration and loudness.

Do you have ideas on how to achieve this while continuuing the readability of your syntax?

<comment><USER6> Yeap! there is already a :duration and a :volume element. You can map transformations on them

</comment></comment><comment><USER10> Reminds me of AMPLE - a forth based system from 1984, which was notably used by Vince Clarke of Erasure.

( <http://www.colinfraser.com/m5000/m5000.htm> )

Take a look at the AMPLE nucleus programmers guide - this thing was incredibly powerful and would be good even now with decent synthesis hardware.

</comment><comment><USER11> That 's cool! Music notes as variables and code at the same time. Genious!

</comment><comment><USER12> Front page unreadable on a netbook screen in Chrome, clipped at the bottom and not scrolling.

</comment><comment><USER13> Awesome! We are one step closer to the digital reproduction of "real" music, where you once might need a pianist with real skill, now you just need a musician that understands how to create such sound! A digital Richter so to speak....</comment>


12 signs you're working in a feature factory - <AUTHOR> https://hackernoon.com/12-signs-youre-working-in-a-feature-factory-44a5b938d6a2#.vvc81dr8r <comment><USER2> I'm not sure what this means... what's the alternative? I guess I've never worked at a place where we had the time to refactor every feature or overengineer and measure the impact of everything, the reality of money is more important than feeling good.

I'm not sure what's a good example of the opposite of this pattern, maybe a company like Google? Given how aggressively and rapidly they make their products worse for no reason and the contempt they seem to have for anyone who isn't a Google employee this makes me think maybe the factory is a better overall pattern. I mean maybe the engineers are a bit happier, but overall the Google model is a terrible strategy for products, masked by the 90% market share money making machine.

<comment><USER3> I don't understand how you define success without a goal metric how do you know you are not wasting money or are actually making a ton of money off your feature... obviously you know... so you do have a metric...

So the part that is missing from your work experience it sounds like is if you add a feature that doesn't meet these money metrics what do you do? Do you just say lets leave it there, and build another feature or do you question the hypothesis that lead you down that route?

If you question your hypothesis then I think you are not a feature factory, because creating a new hypothesis might not be related at all to feature creation. However, if you decide to ignore your results and the hypothesis that got you there then most likely you move onto the next feature because that's really your only good option for revenue growth. The latter happens A LOT in large companies, and start-ups. It's more fun to build things then to think about why you are building them it seems.

</comment></comment><comment><USER4> I think whether this is a problem or not for your business depends on the size of the userbase and the distance from the people actually using it. Small software platforms pretty much have to be "feature factories" because they're meeting a niche need that none of the big players are willing to develop for. The product is whatever helps makes its users more productive or happier in this case.

But if you have something with a huge impact, then throwing new features is not good if you don't know how helpful they may be to the end user.

TL;DR, the article makes a good point, but I'd like to see more nuance, I guess.

</comment><comment><USER5> I do not quite understand why the article calls it a "problem" at the end. I work in a feature factory. Business is good, employees love working at the company. What more could you ask for?

</comment><comment><USER6> Sounds like most startups. I can be a little chaotic.</comment>


Two nuclear bombs nearly detonated in North Carolina in 1961 - <AUTHOR> http://www.cnn.com/2014/06/12/us/north-carolina-nuclear-bomb-drop/index.html

<comment><USER2> I'm guessing this popped up here after appearing on reddit yesterday. John Oliver did a good report on it.

[https://www.youtube.com/watch?v=1Y1ya- yF35g&list=UU3XTzVzaHQ...](https://www.youtube.com/watch?v=1Y1ya- yF35g&list=UU3XTzVzaHQEd30rQbuvCtTQ)

[http://www.reddit.com/r/television/comments/2bxfzq/john_oliv...](http://www.reddit.com/r/television/comments/2bxfzq/john_oliver_on_nuclear_weapons/)

It's pretty frakked up.

Edit: Oh, and the cold war is heating up: [http://www.reddit.com/r/worldnews/comments/2c1emy/russia_may...](http://www.reddit.com/r/worldnews/comments/2c1emy/russia_may_leave_nuclear_treaty/)

None of this is settling.

<comment><USER3> It was posted here 10 months ago: [https://news.ycombinator.com/item?id=6419056](https://news.ycombinator.com/item?id=6419056)

And it was posted here a few weeks ago as well.

<comment><USER4> Thanks. Burying as dupe.

</comment></comment></comment><comment><USER5> Had this occurred, I wonder if it would have immediately been interpreted as a Soviet strike and started WWIII?

Stuff like this makes me wonder about quantum immortality. Maybe we just inhabit one of the slices of the multiverse where we didn't die.

</comment><comment><USER6> It's easy to be snarky about nuclear weapons almost going off time and time again from the 50's to the 70's and maybe later, but when you look more closely it's actually an incredibly difficult design challenge.

A nuclear bomb has two design criteria that are at odds with each other; On the one hand it must under no circumstances detonate when it isn't suppposed to. On the other hand it must be easy to detonate when it's supposed to.

How do you design a fail-safe system that lives up to those two criteria?

It's a lot harder than it sounds.

<comment><USER7> Well a lot of that starts with not flying them across your own country fully armed.

Nukes are incredible hard to set off, you could blow one up with a missile. It would be a mess but that is not enough to set off the full on detonation of the core material.

The scary thing isn't a nuke going off accidentally, I mean if you keep enough of them it's just a certainty on a timeline. The scary thing is a miscommunication about whose it was, and the vengeful actions that follow.

</comment></comment><comment><USER8> Blitznews... Eric Schlosser already wrote about it in his book "Command and Control"

</comment><comment><USER9> The nagasaki bomb was actually only 2% of a megaton (21kt).

</comment><comment><USER10> Great example of a news anchor mangling technical details in this link.

</comment><comment><USER11> Again??? How many times are we gonna rehash this? Yeah, we dropped them all over the place until 1970.

Here's a couple:

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

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

<comment><USER12> The difference here is this part, I think:

> The impact of the crash put it in the "armed" setting. Fortunately -- once > again -- it damaged another part of the bomb needed to initiate an > explosion.

That's a lot close than "whoops, we dropped one".</comment></comment>


Ask YC: Crazy Egg vs Clickdensity - <AUTHOR>

Anyone have any opinions on the main pros/cons between Crazy Egg vs. Clickdensity (vs. others? I think Google offers the heat-map model as well). <comment><USER2> Care to define your terms?

<comment><AUTHOR> Is one superior to the other, should I spring for both, is Google analytics superior? If you used one or both in the past and have an opinion I would love to hear it.</comment></comment>


Programmer Competency Matrix - <AUTHOR> http://www.indiangeek.net/wp-content/uploads/Programmer competency matrix.htm <comment><USER2> I don't disagree with the comments about the triteness of this page and other articles like it. That doesn't mean it's entirely without value though. Think of it as like a financial budget: you know you're not going to hit it completely and some of the items you've budgeted for will turn out to be unnecessary or wasteful. At the end of the budget period, though, it gives you something to measure actual performance against.

<comment><USER3> Honestly, I think it's seems like a great check list for finding holes in one's background and education.

If you could make it into a wiki, it would be good since then the hole's in the author's experience could also be filled.

<comment><USER2> What would add to or remove from the original matrix?

What I would change: \- add mention of RFCs, e.g. 2616 (HTTP) and 1738 (URL)

<comment><USER4> I would introduce 'make' in the build automation (level 3) section.

Understanding make (dependency graphs, splitting up the build process into small tasks which can be parallelized, restarted, and leave an exact record of how much was succesfully built) I consider a valuable trade and magnitudes better than "writing your own build script" (as is presently what is the level 3 skill).

</comment></comment></comment></comment><comment><USER5> Isn't this the sort of table that shows its author is a L337 hax0r because he's in the top category of everything? Anyone who automatically puts things like DVCS, TDD, and practices obviously related to Open Source development in the top tier sounds more like a Kool-Aid drinker than an objective observer making a sincere attempt to provide a useful resource.

<comment><USER6> A lot of the O(log N) items were depressingly basic. An undergrad education in CS will get you to O(log N) in basically all the Computer Science categories.

Where are the finger trees? Array-mapped hash tries? Cuckoo hashes? Where's the domain-specific algorithm knowledge, like machine learning or information retrieval or computer vision? The IDE plugins? "Let it crash" and supervisor processes for error handling?

It's also depressing that O(log N) for "years of experience" = 10+. A motivated and reasonably intelligent student can get to O(log N) in all the other categories with an undergraduate CS degree and about 2 years of work experience at a good employer.

<comment><USER7> Hey, didn't you noticed that the O(1) column was missing?

</comment></comment></comment><comment><USER8> Hmm... as joe_the_user said, it's a nice checklist for holes in one's background, but I'm not sure if it should serve as a list for "hireability" - I know people that are probably on the higher end of most of the points, but are terrible at real-world situations.

These probably are crucial for the kind of programming done at the startups, though.

I score as Level 1 or Level 2 at most on almost all the items, some Level 3 points don't seem relevant (why should I need a license header for my work programming?).

What I believe is that some of the points are WAY more important than others, I personally place great value on my domain and business knowledge and believe that is a trend going forward.

Still, thanks for making it available, reminded me I have to do some more studies.

</comment><comment><USER9> Must be a slow week - this particular "very simplistic" article has been here at least 3 times before in the last month.

Its very cute to divide programmer competency into a clean matrix - its never that simple.

<comment><USER10> > Must be a slow week

Well, it is December 30th so probably likely to be slower than average...

</comment></comment><comment><USER11> He misses a few points subjects like computer graphics, computational geometry, understanding of databases (did he mention this?), numerical simulations, GUI design, general math skills, compression algorithm, heuristic algorithm, etc

That's what just comes in my mind..

<comment><USER12> I'd file most of those under "domain knowledge" >_>

</comment></comment><comment><USER13> All is fine so long as one does not assume 'great programmer' = 'competent'. This matrix really only differentiates 'well-educated' programmers.

There are many well-educated failures, and as many (some might say more) un-/under-educated successes.

</comment><comment><USER14> Quantifications like these drive what we do from serious play into solemnity.

</comment><comment><USER15> This matrix is a bunch of crap. The ability to "get things done" is the most important factor of programmer competency. Every thing else is incidental.

<comment><USER16> Not true. Getting "things done" while creating an O(N^2) solution, in spaghetti code, to a problem that's already well solved by an external library is _horrible_.

<comment><USER15> Of course an elegant solution is desirable, however I prefer bloatware that works, over a beautifully architected one that is vaporware.

<comment><USER17> I used to believe that too, but I've changed my mind.

Now, I'll _always_ prefer clean organized code, even if it doesn't work. I can always hire someone or jump in myself and make the changes that are necessary.

It is safer to assume that _all_ code is broken in some way. E.g. If someone says that code "works", what they usually mean is that the software is broken in ways that they doesn't understand. When someone says a system is "secure", it means that it contains vulnerabilities that they haven't yet discovered.

A pessimistic attitude, but it has served me well.

</comment></comment></comment></comment><comment><USER18> Here's an alternative 1x1 matrix:

[ build something that people will pay money for by any means necessary ]

Much easier to remember.

<comment><USER19> christ. i know this place is related to yc. but sometimes the constant emphasis on making money gets a little tedious.

<comment><USER20> Agreed. This attitude is why software has such a bad reputation. People are in such need for software, that they will tolerate horribly unreliable software if it happens to sort of solve their problems. Good software is rarely available, so people just expect it to be bad.

If people started demanding software as reliable as the things produced by other engineering professions (buildings that don't collapse, etc.), then being a good programmer would be strictly tied to making money. But right now, the code is the least important part of software companies. The idea and the marketing is significantly more important. (Hello, Twitter.)

Also, people are quick to associate personal gain with the economic value of a program. The Facebook founders may be rich, but automatic trading systems handle a lot more money (even though the programmers didn't necessarily get rich writing it). Facebook can have as many bugs as it wants, and they will be fine. An automatic trading system can ... cause problems ... if it is not bug- free (and well-written, or written by good developers). But you never hear about that sort of thing from these people; only how their blog makes $10/day and that how they are a genius and visionary for doing that.

</comment></comment></comment><comment><USER21> where is the linear algebra to combine it all into a single value? Some HR executive would pay big money for that.

</comment><comment><USER22> Where's O(1)?

<comment><USER23> I had a professor in college that used to say A+ is for me, A is reserved for God, A- for the head of the department, and the grades B+ and below are for you...

So by that line of reasoning I assume that O(1) is reserved for the author.

<comment><USER24> I think for O(1) in each category you can write "have conceived, designed, and implemented" a log(n) concept, construct, or tool.

data structures: creator of skip lists

algorithms: creator of genetic algoritms

systems programming: lead engineer on JVM HotSpot

source control: "subversion sucks, here's Git"

build automations: creators of Maven

etc. (You can go down the whole list and figure out exactly what O(1) is and who belongs to that set.)

</comment></comment></comment><comment><USER25> The books category is especially ridiculous. You might have read some books in each one of those levels, and they're not exactly prerequisites to one another.

I also use Git exclusively, that doesn't mean I'm proficient with SVN.

Et cetera.

</comment><comment><USER26> _Thanks to John Haugeland for a reformatting of it that works much more nicely on the web._

Where does "basic HTML" come in the matrix?

PS Flagged, dupe.

</comment><comment><USER27> From John Mayer's 'Vultures'

".....How do I stop myself from Being just a number How will I hold my head To keep from going under.........."</comment>


BTrDB: Berkeley Tree Database - <AUTHOR> http://btrdb.io/ <comment><USER2> As someone who generally finds "couple million rows? Sqlite is _fine_ " works as a philosophy, what generally should I know here?

I get that there are huge timeseries based data flows going round the world (transactions, metrics, weather, self driving telemetry) and sticking those into something is useful.

I understood the world has settled on "use hdfs to store the data, use apache spark to run over those files and reduce your query data set till it is small enough to fit into pandas and then process"

This looks like it is trying to cut out the first two step?

<comment><USER3> > what generally should I know here?

The "real useful" part was a click further in for me.

[https://github.com/BTrDB/smartgridstore/blob/master/tools/c3...](https://github.com/BTrDB/smartgridstore/blob/master/tools/c37ingress/pmu.go#L204)

Ingress endpoints which is usually the more annoying component, rather than the exact storage format.

> As someone who generally finds "couple million rows? Sqlite is fine

There's still unsolved annoyances with analog timeseries measurements, which aren't easily solved in SQL with a columns + btree index.

So combining an airplane altitude sensor at 0.1Hz with a 10Hz fuel sensor, starts giving you trouble in SQL because the question someone might ask is "when the plane was at 31,000 feet, at 0.85 mach, what was the fuel rate", while the plane might have gone from 30,999 to 31,001 feet without ever recording the intermediate point.

Indirectly speaking, you can do range-scans for each measurement if you consider time as something that is different from a generic column value in a generic SQL engine (to join rows by temporal proximity).

The ASF proposal from IoTDB[1] might make interesting reading on the topic (the frequencies part) or the Boeing talk from XLDB 2018 [2]

[1] - [https://wiki.apache.org/incubator/IoTDBProposal](https://wiki.apache.org/incubator/IoTDBProposal)

[2] - [https://conf.slac.stanford.edu/xldb2018/sites/xldb2018.conf....](https://conf.slac.stanford.edu/xldb2018/sites/xldb2018.conf.slac.stanford.edu/files/Tues_15.50%20Ian%20Willson%20XLDB%202018%20Boeing%20IOT.pdf)

<comment><USER4> > So combining an airplane altitude sensor at 0.1Hz with a 10Hz fuel sensor, > starts giving you trouble in SQL because the question someone might ask is > "when the plane was at 31,000 feet, at 0.85 mach, what was the fuel rate", > while the plane might have gone from 30,999 to 31,001 feet without ever > recording the intermediate point.

I thought that was part of the problem that postgres range types solves? [https://www.postgresql.org/docs/current/rangetypes.html](https://www.postgresql.org/docs/current/rangetypes.html)

<comment><USER5> Type is one thing. Efficient querying (which implies some appropriate index structure) is another.

<comment><USER6> Weak example to ask _precisely_ when the plane is at X feet, not an inch higher/lower - this is more typically a range query, and the Postgres range datatype is quite good at this, notably GiST indexes for overlap queries: [https://www.postgresql.org/docs/9.3/functions- range.html#RAN...](https://www.postgresql.org/docs/9.3/functions- range.html#RANGE-OPERATORS-TABLE) [https://www.postgresql.org/docs/current/rangetypes.html#RANG...](https://www.postgresql.org/docs/current/rangetypes.html#RANGETYPES- INDEXING)

</comment></comment></comment></comment></comment><comment><USER7> The nodes of the tree resemble Clojure's HAMTs, just skipping the hash. It's interesting, because Clojure itself opts for RB trees when building sorted maps, but for keys that can be cast to a bit sequence (strings, integers), AMTs are a pretty good option.

My side project is in some respects quite close to BTrDB; tree based analytics. Stumbling across it made my day, because it appears to have vindicated some design choices I was unsure about.

I've reimplemented Clojure's data structures in Clojure, and made the nodes serialize to a garbage collected KV backend (ardb or Redis depending on requirements). This means that they can persist between program runs, be sent over a network, and don't need to fit in memory. Using structural sharing, you can take a big hash map, add a single key to it, and have both the old and the new side by side.

The next piece is cached map/filter/reduce, which saves intermediate results on each node, making batch jobs incrementally compute. You can take a big hash map on disk (my main one contains ~20gb, a map of string->set of data points), add some more values to it, and recalculate the analytics of the new map in a few milliseconds, having both side by side.

The ultimate goal is to enable you to write more or less idiomatic Clojure programs that behave the same whether you're reducing a map with a thousand entries, or a trillion (e.g. by firing up a bunch of AWS Lambda instances).

<comment><USER2> This sounds fascinating - is your side project open anywhere ?

<comment><USER7> Not yet. I'm using it in prod for my own analytics, so I know it works, but it'll need some clean up and features before release. I do plan on it though.

</comment></comment></comment><comment><USER8> Those interested in TSDBs might also be interested in M3DB.io which is Apache 2 licensed, supports a modified TSZ compression implementation with 11x compression ratio, replication of data in the cluster, streaming of data between nodes on add/remove and a Kubernetes operator.

<comment><USER9> The compression technique to achieve the 11x compression ratio is pretty clever and is detailed in the Gorilla TSDB paper. Timestamps are encoded with a delta of delta encoding scheme which allows 96% of all timestamps to compress to a single bit within a compressed block.

Gorilla paper: [https://cs.brown.edu/courses/csci2270/papers/gorilla.pdf](https://cs.brown.edu/courses/csci2270/papers/gorilla.pdf)

<comment><USER8> It is definitely a huge step forward for time series data collection at scale, great props to the authors.

With M3TSZ vs vanilla TSZ the major difference is that instead of XORing the value component of each datapoint it is determined if the precision of the float value is within a few significant digits and if so, it is turned into an int representation with delta-of-delta of the int value from value to value used to represent the different changes in value rather than just XORing the float bits. Also tracking how many significant digits and dampening the need to encode a change in that from value to value is also performed.

We should write up the specific algorithm differences for the value component encoding.

You can see the relative code here in "writeIntVal": [https://github.com/m3db/m3/blob/b25e111aab06fb7cde9f7e1be8b6...](https://github.com/m3db/m3/blob/b25e111aab06fb7cde9f7e1be8b651946c21f341/src/dbnode/encoding/m3tsz/encoder.go#L198-L229)

</comment></comment></comment><comment><USER10> Unfortunately the website is a bit light on details, but I found some interesting information elsewhere:

[https://blog.acolyer.org/2016/05/04/btrdb-optimizing- storage...](https://blog.acolyer.org/2016/05/04/btrdb-optimizing-storage- system-design-for-timeseries-processing/)

[https://pingthings.io/platform.html](https://pingthings.io/platform.html)

It look very interesting, and I am a bit surprised to see how a tree structure can deliver such high performances in retrieving the data. Querying a long period of time mean that each top node has to be walked to the bottom, right? Isn't that fairly expensive?

The aggregations on node level are also interesting. It is something that also the company I work for ([https://www.energy21.com](https://www.energy21.com)) does for calculations, but we use a relational database and a notification- based system for performing the recalculations and keeping the aggregations up to date.

Cool stuff.

</comment><comment><USER11> You should also look at pingthings.io, which is a commercialization of BTrDB

<comment><USER12> Where is the pingthings source code, since BTrDB is GPL?

<comment><USER13> [https://github.com/PingThingsIO](https://github.com/PingThingsIO)

Literally result number three for "pingthings.io source code"

</comment></comment></comment><comment><USER13> I read about the kdb+ database from a post the other day as "the fastest" database, and the numbers given did seem incredibly impressive. How does this compare?

<comment><USER14> I wish everybody would just follow Redis' setup for baseline tests:

[https://redis.io/topics/benchmarks](https://redis.io/topics/benchmarks)

      > This is an example of running the benchmark in a MacBook Air 11" using a pipelining of 16 commands:
      $ redis-benchmark -n 1000000 -t set,get -P 16 -q
      SET: 403063.28 requests per second
      GET: 508388.41 requests per second

Testing against a Macbook Air is a reasonable, as most developers will have access to one or a windows machine of similar stats.

For instance, I have a 5 year old Macbook Air, and I run this test to benchmark (baseline) my database:

[https://htmlpreview.github.io/?https://github.com/amark/gun/...](https://htmlpreview.github.io/?https://github.com/amark/gun/blob/master/test/ptsd/ptsd.html)

My / Redis test is not very interesting (not real-world use case), but it at least gives a baseline that removes a lot of variables.

Then every database should implement Jepsen-like tests for everything else. That is what we're trying to do, with creating a Jepsen-like distributed systems correctness ([https://github.com/gundb/panic- server](https://github.com/gundb/panic-server)) and load testing tool in a language that is easy for any developer to access and use.

<comment><USER15> > ... as most developers will have access to one or a windows machine of > similar stats.

That's a bold assumption. Looking around my office in India here, I find not a single Macbook, a Windows machine, or any machine from '11\. It would also be trouble to get my hands on a Macbook Air '11, if I had to do it for the purposes of reproducing a benchmark. I certainly couldn't buy one today, and even if I were to buy a currently-in-stores Macbook it'd be awfully expensive.

A much better proposition would be something far more ubiquitous and accessible, something that can be borrowed trivially or bought easily by the vast majority of people, something that stays stable and available for a number of years. An AWS instance or a Raspberry Pi (1/2/3), for instance.

<comment><USER14> Thank you for calling this out. It was the spirit of what I was trying to go for, because the website use "60GB of RAM (EC2 c3.8xlarge)" which I wouldn't even pay for.

I totally agree with the RasPi suggestion. Though note, the RasPi 3 B+ is actually about as powerful as my 5 year old air, 1.4GHz quadcore vs 1.6GHz quadcore.

<comment><USER15> > 60GB of RAM (EC2 c3.8xlarge)" which I wouldn't even pay for.

The point isn't to restrict benchmarks to only high-end machines. The point is to use a _stable standard_ that people wouldn't have trouble running for a few hours. I can rent a machine of that identical type for 20 hours, or buy an RPi, for the low price of $35.

> about as powerful as my 5 year old air, 1.4GHz quadcore vs 1.6GHz quadcore

Core counts and clock speeds do not translate to comparable computing power across processor families and instruction sets. E.g., the RPi 4 (1.5GHz, quadcore) is announced to deliver 3x the performance of an RPi 3B+ (1.4GHz, quadcore), and that's on the same instruction set.

</comment></comment></comment></comment></comment><comment><USER16> Berkeley Tree DB uses GPLv3, go figure

[https://github.com/BTrDB/btrdb- server/blob/master/LICENSE](https://github.com/BTrDB/btrdb- server/blob/master/LICENSE)

<comment><USER17> So even Berkeley has abandoned BSD? Or is GPLv3 part of the U.S. Department of Energy ARPA-E program (DE-AR0000430), National Science Foundation CPS-1239552 requirement?

<comment><USER18> 'Berkeley' never used only the BSD license.

BSD UNIX used the BSD license (among other things).

There is/were/always will be many projects, departments, professors, etc. doing things needing license at UCB, and each will choose the appropriate one for their circumstances.

</comment></comment></comment><comment><USER19> Is this in memory like bdb? It says it uses http and capnproto which would indicate that it's not in memory.

<comment><USER20> Looks like they switched to gRPC and removed Cap'n Proto in late 2016 / early 2017, but never updated the web page.

[https://github.com/BTrDB/btrdb- server/commit/23fda10224bea80...](https://github.com/BTrDB/btrdb- server/commit/23fda10224bea80dfe397d0fa061009972b25f1e)

[https://github.com/BTrDB/btrdb- server/commit/7bb3c8d39b0954e...](https://github.com/BTrDB/btrdb- server/commit/7bb3c8d39b0954e92021043345c12c9f3e4bb8d6)

I'm unable to find any public discussion about this change or its motivations. Oh well.

<comment><USER19> That's an interesting choice for a system intended to be high performance. Go's GRPC implementation has been suffering from extremely high resource usage due to [https://github.com/grpc/grpc- go/issues/1455](https://github.com/grpc/grpc-go/issues/1455)

</comment></comment></comment><comment><USER21> Are use case driven DBs helpful? Is the use case and possible adoption crowd large enough to sustain a product this critical down the road?

I worry about the proliferation of infra level tools or adopting a new one. Why not make an extension or fork postgres to demonstrate your concept? (Just an example)

<comment><USER22> Timeseries databases have an entirely different set of technical challenges from relational databases. Also, I wouldn't exactly call this proliferation. There are relatively few decent timeseries databases in existence, some of which have been around since 1999.

So yes, timeseries databases are incredibly helpful if you have to store, well, large amounts of timeseries data quickly.

</comment></comment><comment><USER23> > precomputed statistics over power-of-two-aligned time ranges

Simple google search didn't get much details. Can someone please add some details or links for this?

<comment><USER24> Does this blurb from the about page cover you?

> BTrDB uses a K-ary tree to store timeseries data. The leaves of the tree > store the individual time-value pairs. Each internal node stores associative > statistics of the data in its subtree; currently, the statistics are the > minimum value, mean value, maximum value, and number of data points. BTrDB > uses the internal nodes to accelerate processing of these statistical > aggregates over arbitrary time ranges.

<comment><USER25> So basically, a high tech RRDtool?

<comment><USER24> I wasn't satisfied by the density of information on that site. In fact that paragraph was the closest hung to information I found on the whole site.

Pretty much the sort of thing my coworkers would try to pass off as "documentation" and someone else would have to do it over for them...

</comment></comment></comment></comment><comment><USER26> Please change the logo. It is an obvious rip off of sequel pro.

<comment><USER27> It's the same meme - a stack of pancakes as a visual pun on "software stack"/"full stack." Not the only place I've seen that before, either - I've seen the same idea on T-shirts and laptop stickers.

Funnily enough, I went to sequelpro.com/legal to find that while their software is under the MIT license, as opposed to the more restrictive GPL license used by BTrDB, the website specifically calls out the icon as property of the project and its use is disallowed in forks. So, it looks like they really would care more about the logo being ripped off more than anything.</comment></comment>


First Steps for VR on the Web - <AUTHOR> http://blog.bitops.com/blog/2014/06/26/first-steps-for-vr-on-the-web/

<comment><USER2> Chrome is expressing intent to implement VR APIs

[https://groups.google.com/a/chromium.org/forum/#!topic/blink...](https://groups.google.com/a/chromium.org/forum/#!topic/blink- dev/m32Yy87Ggt0)

</comment><comment><USER3> Is't it already on the Web via Unity3d? The post seems to be focused on tying it to specific languages (JS/HTML etc.).

<comment><AUTHOR> 'Of the web' rather than 'on the web'.</comment></comment>


Build complex forms in rails with FormBuilder  - <AUTHOR> http://pothibo.com/2014/04/build-your-forms-with-formbuilder/

<comment><USER2> I think there are many benefits in decoupling this form presentation logic vs plain view further with form builder compared to some gems. The ability to work with the form, create your own fields, and use presentation logic outside of the form view is great. And now knowing it's built in to rails, this is fantastic (and it's also good to know I don't always have to go to other form builder gems for their conciseness when I want that _and_ control).

<comment><USER3> Awesome. I usually don't see anyone understanding the necessity of dynamic form building.

In this case, you could easily get a form declaration from a database or another file, go through your controller (or form builder class) to translate it and add the correct parameters.

For those that don't get why you'd need to do that, here are some examples:

* creating forms in multiple languages (the form controller can take care of content/labeling/placeholders) * creating forms to comply in multiple countries (for example, the same sign up form in Europe may require a "accept cookies when I'm on site" checkbox or something similar). * creating forms based on preselected options. For instance, if a user is signing up for a free account, they won't need to give their name. While a paid account (by necessity of billing) will require credit card info.

Really cool :)

</comment></comment><comment><USER4> Just use simple_form my friend!

        = simple_form_for @user, html: { class: 'form-horizontal' } do |f|
          = f.error_notification

          .form-inputs
            = f.input :username, label: "Enter your username:", required: true
            = f.input :password, label: "Enter your password.", required: true

          .form-actions
            = f.button :submit, "Save Changes", class: 'btn btn-primary'

Note though that this is a huge benefit of using simple_form _in addition_ to Slim.

<comment><AUTHOR> I really wanted to avoid going in a discussion between gems trying to replace FormBuilder but I feel there needs to be some clarification.

I __have __used simple_form, and I have used many different gems in the past. Simply saying that using simple_form solves every issues completely misses the point.

There's a lot of forms out there that are built dynamically that needs a lot of conditions and evaluations to build the gems. CSS class can be added/removed depending on the current status of the user. This kind of things CANNOT be easily done with simple_form.

For example, what if I need to add a class to the form if the user is an admin? Would you create a helper method for that? Or a ternary condition?

If I mentioned simple_form in the very beginning of the article, it's possible that I did it so I would avoid this kind of facile counter-argument. I guess I was wrong.

<comment><USER5> It's a toolbox, each gem has unique strengths and weaknesses.

If using ActiveAdmin, it's likely that large projects that include external apps already require simpleform and/or formtastic in addition to form_for/formbuilder.

Whatever works best for a given situation / is easiest / most maintainable gets my vote.

</comment></comment></comment><comment><USER6> I cannot so any clear advantage over simple_form here.

<comment><USER7> Only seems more complicated and a total overkill. Reminds me of Zend Framework (php) where you would need to write 60 loc to add a simple form with two fields.

<comment><USER8> As a Zend Framework refugee, I agree. View stuff belongs in the view.

Additionally, for those of us who works with designers, this gets in the way. My designer-colleague is comfortable editing HAML by now; I want to give him the templates and let him move things around without having to involve me for things like where a label should be.

</comment></comment></comment><comment><USER9> nice post, which demystified FormBuilder a bit for me. (yes, simple_form is awesome, but the minute you try to do something nonstandard (e.g. bootstrap3 compatibility) you have to fight with it very hard and it becomes just another leaky abstraction).

</comment><comment><USER10> Why re-invent simple_form with more code that you'll have to maintain now?</comment>