Parrot announces new Disco drone, ditches quadrocopter design for wings - <AUTHOR> http://www.dronethority.com/blog/2016/1/4/parrot-announces-new-disco-drone-ditches-quadrocopter-design-for-wings <comment><USER2> Trying to figure out a more compelling use case for this drone..

What about a laser tag drone that hooks up to google cardboard? So two kids can have a dogfight in their backyard and maybe you can even go as far as to augment the sky with virtual drones for them to work together to down?

<comment><USER3> That's thing is definitely not for kids. From the video I see that it might get to quite a high speed and its quite heavy.

</comment></comment><comment><USER4> Source: [http://techcrunch.com/2016/01/04/parrots-newest-drone-has- wi...](http://techcrunch.com/2016/01/04/parrots-newest-drone-has-wings/)

</comment><comment><USER5> You won't be able to hover with that type of drone. With quad copter design you have more control on how the drone moves.

<comment><USER6> What if I slow down midair, let the nose drop and then go full reverse? Like a helicopter. Sure, it will spin uncontrollably, but I would be hovering.

<comment><USER7> This airframe is unlikely to have that capability, but so-called "3D flying" is a very well-established niche in the RC model aircraft hobby.

Start at 5:15 for an exciting transition from fast flight into steady hovering (note that yaw from the propeller can be corrected for): [http://youtu.be/DDyRpiv5_ps](http://youtu.be/DDyRpiv5_ps)

I haven't seen this much, but people have put collective pitch propellers on 3D models to support fast thrust reversing: [http://youtu.be/6YkkZw9GVaU](http://youtu.be/6YkkZw9GVaU)

Full-scale stunt planes can hover too: [http://youtu.be/qvXGATdWhEk](http://youtu.be/qvXGATdWhEk)

</comment></comment></comment><comment><USER8> For some reason, I laughed at "pilot tube" (it's "pitot tube". I guess I'm tired.

Interesting concept, though.

<comment><USER9> Poor copying from the source [http://techcrunch.com/2016/01/04/parrots-newest- drone-has-wi...](http://techcrunch.com/2016/01/04/parrots-newest-drone-has- wings/) I'm guessing:

> The Disco also features a pitot tube, which is typically used on planes to > measure airspeed.

<comment><AUTHOR> Mistake, and corrected. Sorry.

</comment></comment></comment><comment><USER10> 45 minute flight time is awesome! going to be so much fun to fly this around with fpv goggles.

</comment><comment><USER11> Are there any drones that marry quadcopter with fixed wing so the drone can switch modes? i.e. fixed wing for distance and speed and switch to quadcopter mode for maneuverability and staying in a fixed location.

<comment><USER12> Yes.[1]

The HQ drone takes off as a quadrotor on electric power, then transitions to gasoline-powered airplane mode. The quadrotors stop parallel to the fuselage, for minimum drag. Once airborne, it can stay up for 5-15 hours. This is most useful when you want to launch from a truck or boat and go searching for something.

[1] [https://latitudeengineering.com/](https://latitudeengineering.com/)

</comment></comment><comment><USER13> Second video has a shot of a feature list that says "Linux SDK."

</comment><comment><USER14> Back in my day we called fix winged drones "model airplanes" /s

</comment><comment><USER15> It's cool.. but I'm just not that impressed! People have been making wings that have rather tremendous flight times and top speeds for years... coupled with a Pixhawk or an Eagle Tree vector and you have something that will easily out perform. However this is a nice off the shelf solution.

<comment><USER16> Off the shelf is exactly why Parrot is so successful. It is harder than it looks to make it work perfectly every time for laypeople.

</comment></comment><comment><USER17> Is it water proof? Does it float?

<comment><USER18> Just curious – are these important factors?

By that, I mean, is the current Parrot offering water proof, and do they float? If they aren't and do not, I doubt this will deter buyers who would otherwise be buying a quadcopter from Parrot.

Who offers a water proof, floating drone?

<comment><USER19> [https://www.lily.camera/](https://www.lily.camera/)

<comment><USER18> Neat!</comment></comment></comment></comment>


Ask HN: What is your favorite Hacker News client app on Android? - <AUTHOR> <comment><USER2> Materilastic. It's the best app. In settings you an explode lots 9f settings and make it your own. [https://play.google.com/store/apps/details?id=io.github.hidr...](https://play.google.com/store/apps/details?id=io.github.hidroh.materialistic)

</comment><comment><USER3> Firefox

<comment><USER4> Seconding this. Single-website apps are like single-use kitchen utensils. Why should I install twenty apps, each with their own background processes and attack surfaces and developer who might be bought out by a malefactor, when I can just have twenty bookmarks instead?

</comment></comment><comment><USER5> Just Chrome, the main reason: synchronization with the desktop.</comment>


I Had to Develop an iPhone App to Understand Swing Trading - <AUTHOR> http://chartingninja.com/2014/09/12/app-understand-swing-trading.html <comment><USER2> Good for this guy for making this app.

However, this makes me worried for him...

> There's a 50% chance that I can lose $50.00 in a few days, but there's also > a 50% chance that I can make $100.00 or more in a few days. Why 50% chance? > This number will be different for every person depending on his profit & > loss history.

Ummm..... This doesn't seem true to me. What if the stock just stays flat? That's more often than not the default for many stocks.

if you make the dubious assumption that all three outcomes are equally valid then you loose 2/3s of the time.

If the stock stays flat then you lose as you have to pay commissions to enter into the trade and to exit the trade. Lots of people model algorithms, very few model them accurately, sometimes myself included unfortunately:)

> But swing traders need to win at least 50% of the time in order to be > profitable.

If you don't pay any commissions or have any overhead, sure. But I'm guessing you pay commission and I'm guessing you have overhead.

I would read up on the Kelly Criterion to imporove your capital allocation. [http://en.wikipedia.org/wiki/Kelly_criterion](http://en.wikipedia.org/wiki/Kelly_criterion)

> You should stay away from stocks priced below $5.00 because these are Penny > Stocks and involve a higher risk. You might consider stocks between $5.00 > and $10.00, but again, they involve higher risk and even worse, they might > go into Penny Stock territory.

This is just plain false. Being under $5 is one of 3 criteria that make up a penny stock, its a necessary but not sufficent condition. There are plenty of good companies with stock prices under $5.

The price of a stock isn't a good indicator of its risk.

> The reality is that it's easier said than done! It's actually very hard to > make money in the stock market! You will win but you will also lose a lot! > To put it into perspective

Full points to the author for realizing this! I'm still amazed at the number of people who think they can slap together some machine learning, nlp or deep learning and make money. People literally spend all their time doing this, if there was free money to be made someone would be making it:)

<comment><USER3> > People literally spend all their time doing this, if there was free money to > be made someone would be making it:)

I agree with everything you said above, including this. I want to add though, that there is effectively free money in the stock market. For example, just by buying a low-fee index fund (e.g. something from Vanguard), you're almost guaranteed to do better than most investors and probably better than nearly all speculators. (And there are other investment strategies that typically outperform the indices as well). I guess the reason people do poorly in the stock market is similar to why people start dumb startups that don't really have any hope of being profitable: The idea of rapidly creating an enormous amount of money for very little effort in a very short amount of time is much more appealing than making 12+% per year indefinitely, even though this strategy is much more likely to net you a higher return in the long-run... plus you actually have to save money if you want to invest this way :)

Edit: It's also interesting to learn about how some of the big quant trading firms started. D.E. Shaw, for example, originally had some bond trading algorithms they used. It was very profitable and the hours were short compared to the rest of the Wall Street/Finance world. Then they got greedy and tried some more aggressive strategies, blew up, and nearly lost the fund. Fortunately for them they seem to be doing much better now, though I'm not sure what their current strategy is.

<comment><USER4> Note that you are somehow arguing in favor and against the efficient market hypothesis at the same time.

By arguing for ETFs, you are implicitely assuming that there is not much to gain by doing your own research because markets are efficient and have already priced in everything.

By arguing that most people underperform the market, you are implicitely assuming that it is easy to underperform the market - something that should in fact be hard if markets were efficient and everything priced fairly.

<comment><USER3> No, I'm arguing that the market is efficient most of the time and that most people don't have the time and inclination to find underpriced securities.

Also, most people underperform the market because of fees. If you invest in a mutual fund with a 2% management fee, then the fund needs to outperform the index by 2% to breakeven. It needs to do significantly better than that if you're invested in a hedge fund with a typical 2-and-20 fee.

Edit: in particular, small-cap stocks tend to be inefficiently priced because it doesn't make sense for institutional investors to research them heavily since they cannot allocate a large percentage of funds to them without: 1) significantly disturbing the market price 2) in some cases owning a significant percentage of shares (5% or 10% I think) that requires filing with the SEC.

</comment></comment></comment></comment><comment><USER5> > But swing traders need to win at least 50% of the time in order to be > profitable.

That's not true. It completely depends on your strategy/system. You can be highly-profitable with a 30% win-rate (or any number) granted the amount you win is far higher than the amount you lose. If my average win is $1000 and my average loss is $100, I can be profitable with only 10% wins (excluding commissions).

</comment><comment><USER6> A tangential question: It seems that a lot of smart people believe in technical analysis, but to me it sounds like telling the future from tea leaves. Does it really work or are successes just part of the standard randomness of stock investing?

<comment><USER2> This is a good question, and I don't think you'll get a definitive answer.

If by technical analysis do you mean watch for patterns to appear, then yes it works. There are patterns all over the place.

Renaissance Technologies is famous for its pattern matching AI. They hired 2 key employees out of IBM many years ago that layed the base for their technology and the rest has been money making history. See: [http://www.businessinsider.com/bob-mercer-peter- brown-2010-3](http://www.businessinsider.com/bob-mercer-peter-brown-2010-3) and [http://en.wikipedia.org/wiki/Renaissance_Technologies](http://en.wikipedia.org/wiki/Renaissance_Technologies)

The world of trading has been a cat and mouse game of pattern matching for awhile. One of the earliest attempt at hiding large orders was an algorithm called POV( Percent of Volume). It's an order that would slice up a big order into smaller chunks and sell it throughout the day. The first variations would just sell every 10 minutes. Its easy to see how someone could find this pattern (Hmm, it seems like 1,000 MSFT are being sold at market every 10 minutes by Goldman Sachs) and exploit it which lead to more intelligent order spreading, and the cycle continues.

However, if by technical analysis you mean looking for patterns like "head and shoulders" ([http://www.investopedia.com/terms/h/head- shoulders.asp](http://www.investopedia.com/terms/h/head-shoulders.asp)) then it might be true only in that if so many people/computers believe in it that it becomes a self fulling prophecy. For example, if every one believes that when a stock crosses above its 20 and 50 day moving average then its going to fall, then it will fall just because everyone will start selling because they believe it will fall, which causes it to fall which reinforces everyone's belief that the pattern works and you have a positive feed back cycle.

Does that mean technical analysis works? IMHO this type of investing doesn't work, but who am I to say...

<comment><USER7> I've come to the conclusion that those who successfully employ technical analysis (i.e. chart reading, etc.) are practicing a form of risk management (knowingly or unknowingly), but do so consistently. In short, they are quickly out when they are wrong (taking small losses) and allow their 'winners to run'.

</comment></comment></comment><comment><USER8> "The reality is that it's easier said than done! It's actually very hard to make money in the stock market!"

There should be a follow on sentence... It can be very difficult to make money in the stock market IN THE SHORT TERM. You should not do this... most people should not do this.

See this:

[https://personal.vanguard.com/us/insights/investingtruths/in...](https://personal.vanguard.com/us/insights/investingtruths/investing- truth-about-emotion)

<comment><USER9> I'll go a step back from that to something simpler:

You can use the stock market to make money. You can't use the stock market to make _free_ money.

There's a number of different ways to pay for your money. You can pay for it by doing intensive in-depth research and figuring out undervalued stocks. You can pay for it in cash up front (buying a bond or index fund) and make it back over time while other people do the work (your returns will be lower). You can pay for it by taking crazy risks with your money, hoping the market will swing in your favor (not necessarily gambling if you accurately understand the risks involved and don't overpay for risky assets).

It's just like a lot of other business, when you get down to it, except the really crazy risks are easier to find and harder to analyze.

</comment></comment><comment><USER10> The chances of the stock moving from {$25 - $24 = 4.00%decrease} is much more likely than a move from {$25 - $27.5 = 10% increase}-plain intuition. To be brutally honest, it will most likely hit both of those price targets assuming the stock has been trading between that range and they are within one standard deviation of the historical price records.

The most important part of being a trader is TIMING and the second most important part is being able to make decisions based off of analysis of technical parameters and NOT based off of your emotions.

This type of analysis tells me that you are not comfortable emotionally with losing more than $50 on one trade which I see as a sign that you should be looking into more traditional investment practices.

I would suggest you analyze the opportunity cost for the amount of research, training, and actual trading it will take before you become profitable. Don't forget about taxes!

As a seasoned trader, I can assure you this is the type of analysis that will result in lost money and unimaginable negative emotions. It is too simplistic and lacks both fundamental theory and actual technical analysis.

</comment><comment><USER11> While this is interesting, it's pretty much useless. Traders can do the basic maths in their head, in a split second. If they can't, they have no chance of making sense of any sort of financial numbers and indicators.

Furthermore, the price of the stock doesn't really matter for anything above a penny stock. 100 shares at $25 is the same as 10 shares at $250, all else equal (for instance, market cap).

I also think larger positions are better, for instance $10K per trade is a good number. It's high enough that commissions are trivial, so you can make money off a 1-2% swing, rather than needing to make 3-4%. Of course, the ideal is 5-10% (well, more is ideal, but 5-10% is a realistic enough number for a short time frame, say a week or two), but it's nice to exit out of a trade that turned against you and still take a small profit at the end.

And of course, this app ignores the most important part - picking and timing stocks. Some understanding of technical analysis as well as sentiment is required, and basic market dynamics (supply vs. demand, volume, etc...).

</comment><comment><USER12> >> I have the potential to make a higher 2R profit, with the same amount of risk as before, because I'm simply buying more shares.

What he's really doing here is demanding a much larger percentage gain in the stock price to get that higher return. It has nothing to do with the number of shares.

</comment><comment><USER13> "Successful swing traders win only 50% of the time."

Save yourself a lot of effort, toss a coin.

</comment><comment><USER14> The development of this app, and the technical know-how gained is really something positive. However, doesn't it worry anyone how the Stock Market seems to be reduced to a mobile game? It`s not even about adding value to the market, but just piggy backing on this humongous money machine for the sake of individual gain... Please correct me if my perspective is missing some 'optimism'.

</comment><comment><USER15> Since even lots and round numbers don't matter anymore in the stock market, seems a strategy would be to _not_ follow the $10-25 guide.

</comment><comment><USER7> Nice job. This looks like a much better and more complete position sizing tool then the one I built (more of a learning exercise for me.) I wonder if the William Eckhardt position sizing algorithm was used.

[http://powerful-reaches-1118.herokuapp.com/](http://powerful- reaches-1118.herokuapp.com/) [very much a work in progress.]

</comment><comment><USER16> Sounds like this type of trading could generate near 1000 taxable events per year. How do you manage this data for your tax filing?

<comment><USER17> Computers... Your broker does the math and you get a form in the new year that details your various gains and losses (mainly capital gains and then dividend income, which may not apply if you're not holding positions).

</comment></comment><comment><USER18> It is certainly not 50%, each stock will have an implied volatility that will statistically determine the likelihood of a move.

</comment><comment><USER17> Weird idea for an app, but at least it's pretty. Swing trading probably isn't for you if you can't do basic math in your head.

</comment><comment><USER19> > It's actually very hard to make money in the stock market!

Can't you just buy an index fund, forget about it and come back to ~8% per year gain?

<comment><USER20> Good for you for knowing this. It's true, and it's something brokers wish people wouldn't point out. If you're simply interested in making money in equities and not gambling, index funds are the way to go.

[http://arachnoid.com/equities_myths](http://arachnoid.com/equities_myths)

</comment></comment><comment><USER21> > Successful swing traders win only 50% of the time.

Is this better than just picking stocks at random instead of carefully selecting them?

</comment><comment><USER22> So won't high frequency traders discover your limits (by posting and canceling orders rapidly) and drive you into them, costing you money? I thought this was the simplest kind of fish for them to catch.

<comment><USER11> I don't think you know what HFT is...</comment></comment>


Facebook, Google Ask for Time to Comply with Seattle's Election Transparency Law - <AUTHOR> https://www.thestranger.com/slog/2018/01/02/25668569/facebook-and-google-say-they-need-more-time-to-comply-with-seattles-election-transparency-law <comment><AUTHOR> The original title, "Facebook and Google Say They Need More Time to Comply with Seattle's Election Transparency Law", is longer than HN will let me submit but IMO the removal of the word "more" is important. Not sure if the mods can go over the character cap, but if so please do for this.</comment>


GitHub releases their CI server, Janky - <AUTHOR> https://github.com/github/janky

<comment><USER2> How is this a CI Server? it looks like a hubot interface to Jenkins

<comment><USER3> It is; that's mostly what people want.

</comment></comment><comment><USER4> Well, it's not every day that GitHub releases a product that competes directly with my young startup. Thankfully, it's still very DIY, which is the opposite of what my customer development has told me is important. So a sigh of relief from me.

</comment><comment><USER5> Does it work without campfire? (regarding Hubot-control)

<comment><AUTHOR> The Readme.md seems to imply that the Campfire configuration variables are non-optional, so it would seem not.

Sounds like a fork waiting to happen, though.

<comment><USER6> yeah heroku requirement as well WTF, when they are saying Rackspace Cloud at bottom of every pages.

<comment><USER7> There's no Heroku requirement. The bottom of the pages have a _Rackspace_ logo.

</comment></comment></comment></comment><comment><USER8> At my talk at the Italian RubyDay on continuous integration I received huge critiques for endorsing a Java solution for ruby CI. My point was that Jenkins was far more complete ( at the time of the presentation) of any full ruby stack CI product. This news is a fine Christmas present. This tells me that people clever than me share some of my views

<comment><USER9> Was the critique valid in any way, or was it just because it was written in Java and not Ruby?

<comment><USER10> Which makes it invalid how? Think of a ruby dev team and the wish to extend the CI server?

<comment><USER11> These guys did: [https://wiki.jenkins- ci.org/display/JENKINS/Jenkins+plugin+d...](https://wiki.jenkins- ci.org/display/JENKINS/Jenkins+plugin+development+in+Ruby) (plugins in JRuby)

I don't really get the problem though. Java is trivial to learn for anyone. It's not your main product, it's not going to take a massive amount of time for a single plugin. Just write it and be done...

<comment><USER12> It might be really easy to learn. But after having programmed Ruby for any significant time Java is very unpleasant to program ;)

Also just learning basics to do simple customizations is not enough. If something breaks you will not have a slightest idea how to debug and fix. With a Ruby CI server I can just stick a debugger and walk through the code.</comment></comment></comment></comment></comment>


Time Management HD Video by CMU CS Prof. Randy Pausch (2007) - <AUTHOR> http://www.viddler.com/explore/GabrielRobins/videos/12/

<comment><AUTHOR> Start about 7 minutes in. This professor had a presentation about time management some years back, and in 2007 was invited to lecture at University of Virginia. He is now more known for his "Last Lecture." Unrelated, but I think I saw YC.news user omarish at 22:26.

PDF: [http://www.cs.virginia.edu/~robins/Randy/RandyPauschTimeMana...](http://www.cs.virginia.edu/~robins/Randy/RandyPauschTimeManagement2007.pdf)

PP: [http://www.cs.virginia.edu/~robins/Randy_Time_Management_UVa...](http://www.cs.virginia.edu/~robins/Randy_Time_Management_UVa_2007_slides.html)

</comment><comment><USER2> I second the idea of a time log. I started keeping one this week, and it's shocking how much more I get done. I haven't even had time to really review them, but it just helps me to stay aware of how I'm using my time. There's something about forcing myself to right down how much time I'm wasting that keeps my breaks short. I'd really recommend people try it for a few days. Link: [http://www.stevepavlina.com/articles/triple-your-personal- pr...](http://www.stevepavlina.com/articles/triple-your-personal- productivity.htm)</comment>


Tip some Bitcoins to find a t-shirt that you can't find on your own - <AUTHOR> Tip a little Bitcoin with bitfortip.com to give the incentive for members to search for you online for an item that you can't find on your own. Like a t-shirt that you saw on a magazine or Instagram.
A nice review can be found here :
http://bitckerz.net/bitfortip-review-earn-bitcoins-by-giving-the-right-tip/ <comment><USER2> What if I ask for something and dont leave a tip?

<comment><AUTHOR> You can't post an inquiry without funding it with a reward.</comment></comment>


Show HN: Made an AI app to read you the news you care about - <AUTHOR> https://www.producthunt.com/upcoming/robo-3 <comment><AUTHOR> Hello,

We have an upcoming product to read you the news you care about. We curate news from various news sources and then convert them to audio using text to speech and build a recommendation engine to suggest you the best topics based on your interest. Appreciate any feedback and ideas.

\- Angelo

</comment><comment><USER2> "Blog posts, sign-up pages, and fundraisers can't be tried out, so they can't be Show HNs." [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><AUTHOR> We use this as a landing page for the product. Thanks for your reminder.</comment></comment>


Fish 2.5.0 (released February 3, 2017) - <AUTHOR> https://github.com/fish-shell/fish-shell/releases/tag/2.5.0 <comment><USER2> I hadn't heard of fish until recently. Decided to give it a try. Gotta say it's pretty awesome.

I never knew that I needed tab completion on the shell</comment>


The Oxford philosopher who gave Elon Musk the simulation theory - <AUTHOR> http://qz.com/699518/we-talked-to-the-oxford-philosopher-who-gave-elon-musk-the-theory-that-we-are-all-computer-simulations/ <comment><USER2> Nick Bostrom on Philosophy Bites [a short podcast ~10 minutes]: [http://philosophybites.com/2011/08/nick-bostrom-on-the- simul...](http://philosophybites.com/2011/08/nick-bostrom-on-the-simulation- argument.html)</comment>


A Request for a Startup: Gmail 'Waiting For Reply' Tab - <AUTHOR> https://gist.github.com/cjbarber/9297034 <comment><USER2> Couldn't you just give those conversations an Unreplied label? It will show up on the left.

Gmail's labeling system is probably the most useful but overlooked feature they have.

<comment><AUTHOR> Sure.

But that doesn't take care of the issue of automatically labeling messages as such.

<comment><USER3> so you have a filter that automatically adds a label

you could also use the gmail gem to remove that label from received messages which are replies

I don't think there's any startup potential in something it would take a mediocre engineer to write in an hour

(unless there's some dire need at a big corp for auto labelling)

<comment><AUTHOR> Second highest comment on Dropbox's original HN posting:

> I have a few qualms with this app:

> 1\. For a Linux user, you can already build such a system yourself quite > trivially by getting an FTP account, mounting it locally with curlftpfs, and > then using SVN or CVS on the mounted filesystem. From Windows or Mac, this > FTP account could be accessed through built-in software.

</comment></comment></comment></comment><comment><USER4> You can just build an extension or addon. I don't see revenue for that kind of model (the only possibility is that someone makes a dashboard aggregates data from multiple accounts, multiple providers). You can try to achieve this with the help from reusing [https://github.com/KartikTalwar/gmail.js](https://github.com/KartikTalwar/gmail.js) or similar attempt.

<comment><USER5> Adding UI heavy features with that library is going to be painful (especially a whole new tab interface). It's designed for a rather 'active' interaction with emails (I made it). Most of the auto reply algorithmic stuff can be accomplished through context.io

</comment></comment><comment><USER6> Building a platform on top of a Google product, specifically Gmail, is a recipe for disaster. I sincerely hope that nobody who cares about their money or sanity does so.

<comment><USER7> Rapportive is an example of a company which seems to rely fairly heavily on heavy integration into Gmail.

(Todoist is another example of something that integrates heavily that comes to mind)

<comment><USER6> There are enough horror stories regarding businesses built on Twitter &c to serve as cautionary tales, but Google and Gmail in particular are notoriously anti-developer. It is a nightmare to work with Gmail because, and I'm not even exaggerating, they actively prevent you from integrating with Gmail. Moreover, Google provides zero support and quite honestly hates you and everything about you.

No person considering a startup today should consider building it atop somebody else's platform. Even forgetting Google, it just doesn't make sense. You do not want to be beholden to a company that could not give less of a shit about you, and in all likelihood has never even heard about you.

</comment></comment></comment><comment><USER8> I want the opposite.

When I receive a mail, I want to set a timer saying: "this needs to be answered before noon", or "today" or "by the end of the week". Then get relevant reminders.

That way I can go back to whatever I was doing and have it out of my mind. For now I just star messages that need to be replied to, but that's too coarse- grained.

<comment><USER9> Try Mailbox: [http://www.mailboxapp.com](http://www.mailboxapp.com)

<comment><AUTHOR> I agree. Use mailbox, it's extremely useful.

</comment></comment></comment><comment><USER10> Check out ActiveInbox: [http://activeinboxhq.com](http://activeinboxhq.com). Been one of their happy customers for a long time now. When reviewing an email, I hit 'waiting' on their action bar, and then they show up as a radar list (their take on multiple inboxes). Loved it so much I paid for it.

</comment><comment><USER11> In my email, I have "Waiting for reply" and "To reply" labels (besides a few others). An algorithmic solution to auto-apply the labels would be nice (currently all new outgoing emails are labelled as "Waiting for reply").

</comment><comment><USER12> Co-founder of Streak here: we're happy to add this if there is enough demand. Just email us at email@example.com. If we get enough interest we'll add it tonight. You'll be able to use it for free.

</comment><comment><USER13> I have written a "snooze this email for X days" extension for gmail. After X days the email is marked undead and moved to my inbox.

The extension is server-side, so you're not tied to your desktop browser.

</comment><comment><AUTHOR> Anyone want to take my money? :) I'll front a payment for the first month right now! (Serious)

<comment><USER14> Here is a code snippet that does the opposite of what you want. To achieve what you are looking for, just change the conditions around to mark the email messages as you desire.*

This one will mark any received emails that you have not responded with an "AwaitingReply" label.

As I mention in my Gist comment, I used this a lot to make sure we didn't have any emails slipping through the cracks.

[https://gist.github.com/colinloretz/9299685](https://gist.github.com/colinloretz/9299685)

* I know you're volunteering first month "payment" but since I came across this somewhere on the web and can't find the original source (I'll keep looking), here it is. Hopefully it will help you or someone else.

<comment><AUTHOR> Thank you! Just updated my gist to credit that.

I just made a chrome extension to solve my problem

</comment></comment></comment><comment><USER15> If I didn't reply, it's because I don't want to talk to you. _Please go away_.</comment>


Miso: A tasty Haskell front-end framework - <AUTHOR> https://github.com/dmjio/miso <comment><USER2> This is just like Elm, but it is running in Haskell (instead of in the super- limited Elm language).

Why do you wrote this instead of just using Elm? Is GHCJS fast enough? Does it produces builds small enough?

<comment><USER3> Same questions - would love to see some numbers here. Perhaps one advantage would be that you do not need node?</comment></comment>


VIM Plugins That Greatly Increase my Productivity - <AUTHOR> http://joelhooks.com/blog/2013/04/23/5-essential-vim-plugins/ <comment><USER2> Weird, if one's job is not plugin tester for nettuts I have a hard time imagining how Vundle could increase one's productivity. Installing and updating plugins is not something we do multiple times everyday. At worst, we do that every two months and it takes 5 (or 10, if we take the time to RTFM) minutes max…

> One of the first walls I hit was "how the heck do I navigate files in a > project?"

Simple, just use __or :Ex. Netrw, which provides the :Ex[plore] command, is a file explorer with a hell of a lot more features than NERDTree (browsing remote machines, for example) and _comes with Vim_. There's no need to install anything unless you really want something that is not in netrw. :h netrw

I second CtrlP. I love it. And both Syntastic and EasyMotion are pretty useful. Those plugins are worth checking if they solve a problem you have; otherwise don't bother.

But all those blog posts, always listing more or less the same plugins, may inadvertently make new/non Vim users believe that it's impossible to open files efficiently or do this or that with bare Vim which is rather unfortunate and… blatantly false.

Most of the time it's hard to say if the author knows about Vim's built-in navigation methods and decided to use a plugin instead or if he never took the time to learn them and just went with the most popular plugin out of ignorance and laziness. Like… if half the message was missing.

<comment><AUTHOR> Vundle makes me for productive because I use my .vimrc across several machines. I also had some weird issue that went away with a :BundleUpdate. It is essential simply for the fact that it tees up easy plugin management and is a pre-requisite for the rest.

All of these plugins were installed to solve specific problem _I_ have with Vim.

As a very new Vim user, it is comforting to know that some of the more irritating aspects that are difficult to understand out of the box can be removed. Thanks for the tip about `netrw`.

<comment><USER2> I "manage my plugins" when I have nothing more productive to do and it never takes more than 5 minutes. Vundle and its automatic management _may_ be seen by its users as a productivity enhancer but the reality is that the productivity gain is actually very small.

Vundle, Pathogen, VAM, etc. are very useful (I use Pathogen) but for other things, orthogonal to productivity: keeping your `~/.vim/` tidy, simplifying install/uninstall…

Unless you spent countless hours a day installing/uninstalling plugins, which I hope is not the case.

Yes, we all install plugins to solve problems. What exactly are these problems would also be useful to know when we read posts like this. In this specific instance, opening a file or navigating the file system is something that can be done very easily and quickly with built-in commands or built-in plugins:

        :e **/foo<Tab>
        :Ex

It just so happens that the vast majority of Vim-related blog posts are lists of plugins dressed by enthusiastic semi-beginners (I know how it feels and I don't criticize that feeling and the urge to share it) who often barely know the basics. When helpless new users look around for information they only get superficial stuff and the "Install NERDTree" mantra repeated over and over while what they _need_ is authoritative information and useful tricks for using vanilla Vim.

And yes, it may sound rude, but most of the problems of the world could be avoided if people just RTFM.

I like the warning you added to the top of your article and congratulations for dropping that bullshit Janus.

<comment><AUTHOR> at first I was a little pissed about your comments, but on reflection appreciate your "tough love" approach. ;)

My hope is that I can continue to write my thoughts and this plugins list will get smaller. I'd love to advance and share that experience. Out of this list, NERDTree will probably be the first to drop off, but it is very handy for lost noobs.

</comment></comment></comment></comment><comment><USER3> Nice Article on VIM time savers.

</comment><comment><USER4> Dear anyone, starting on Vim , please go through the article(which is very good actually, I use 2 of them) but I really wouldn't suggest you to try these or any plugin for that matter, in the very beginning. Rather just do the _vim_ vim.

I mean vim productivity is basic vim commands, movements, yank etc. Once you can move and edit like a ninja (or even a baby ninja) inside a text file you can go ahead and explore around.

BTW, no one is stopping you from trying plugins from the very beginning but it just adds to the clutter and _unnecessarily_ elongates the initial learning path.

<comment><AUTHOR> I couldn't agree more, and I probably should have linked this previous thing[1] I wrote. One of the biggest barriers I had to actually using VIM was going nuts with the plugins.

[1] <http://joelhooks.com/blog/2013/04/09/getting-to-know-vim/></comment></comment>


A war between China's largest IT companies - <AUTHOR> http://news.xinhuanet.com/english2010/sci/2010-11/04/c_13589831.htm "According to the companies' websites, the number of active QQ users in China has reached 1 billion, while Qihoo 360 also claims to have had at least 300 million users prior to June 2010." <comment><AUTHOR> From my point of view, this war is thrilling but at a cost of ignoring the nearly 1 billion users' feelings, what I am sure at this point is this must be the worst example of competitions between IT companies ever!

</comment><comment><USER2> There must be a mistranslation in the article or embellishment on the part of the involved companies. How can QQ have a billion active users? When last I saw, there were only 350M internet users in China. Is it possible that the majority of their userbase is extranational? Or are they counting total accounts created?

<comment><AUTHOR> so the difference on numbers of users between the two companies is not that big considering only one 360 safe can be run on a PC while it's normal to run several QQ accounts at the same time on PCs or other devices like cellphones and tablets, but their implications are undoubtedly tremendous</comment></comment>


Can You Overdose on Happiness? - <AUTHOR> http://nautil.us/issue/60/searches/can-you-overdose-on-happiness <comment><USER2> I think there's a big difference between being happy and being satisfied. There's some evidence that certain people are just happier than others, in the same way that the distribution of extroversion, intelligence, etc. vary across society. There's things you can do to remove unhappiness, but I think in most cases that's all you're doing, bringing people to their baseline if everything else is taken care of.

In any case, it seems like we should be more focused on helping people find meaning in their lives rather than making people happier. People are happier when doing fun things, but these things don't lead to any lasting achievement that people can look back on and view as giving their life a purpose.

<comment><USER3> I find the opposite true - when people seek out meaning they're often miserable :)

I know i have one life to live, so i choose to experience and see what I can and that brings me much happiness - but in a way, it's not all from happiness. There is lots of suffering and sacrifice. I love hiking mountains but its no walk in the park and requires lots of willpower to keep climbing when everything is telling you to turn around. Making it to the top the first time is an accomplishment but further summits are more about the experience, beauty, and wonder of being alive and being able to explore this planet by foot.

Not looking for answers as if there is a purpose, but experiencing life with purpose - to see it and live it. To me, thats vastly different than purpose through meaning.

<comment><USER2> I think we're trying to get at the same thing but describing it in different ways. I don't mean that people should be looking for _the_ meaning of life. But you should be doing things that you find meaningful. That can be climbing high mountains, raising a kid, running a business that employs other people, etc. I don't think it matters very much what it is, but you should have something you're directing your efforts towards rather than just aimlessly seeking experience that make you feel happy.

</comment></comment></comment><comment><USER4> Hedonic bliss is very different from, say, extremely motivated high-optimism. The latter can easily get you hospitalized and medicated for mania. People around you will not accept it unless you have a lot of charisma and status to back it up (like Gary Vaynerchuk or Richard Simmons). The former will probably make you an unmotivated shut in, like a junkie with an endless supply.

</comment><comment><USER5> [https://en.wikipedia.org/wiki/Hedonic_treadmill](https://en.wikipedia.org/wiki/Hedonic_treadmill)

<comment><USER6> Directly stimulating the brain with electrical current seems like it might be different

</comment></comment><comment><USER7> Just what we needed, more human interventionism.

I mean, I get what she's trying to do, but we don't know the second order effects. But given human nature, we can predict to some extent what's going to happen. Another behavioural addiction, another conglomerate of corporations preying on human's with a weak locus of control, and lots of profits.

</comment><comment><USER8> I recently wrote a piece on what happiness means to me and how I try to maintain it: [https://wiki.nikitavoloboev.xyz/life/happiness.html](https://wiki.nikitavoloboev.xyz/life/happiness.html)

Maybe some will find it helpful.

<comment><USER9> I think you're on the right track, but I'd like to point out that while physical pain may (or may not) be inevitable at times, suffering and regret are actually completely optional mental states generated by the interpretation of your experience.

You get tantalyzingly close to this with your discussion of Stoic philosophy; consider what would be possible if you were also able to intentionally choose your _interpretation_ of reality, and thus which emotions to feel. It _is_ possible.

</comment></comment><comment><USER10> > A few years earlier, the doctors had implanted electrodes in a central part > of his reward system—namely, the nucleus accumbens. The stimulation had > worked rather well on his symptoms, but now it was time to change the > stimulator battery.

Wait a minute. It seems rather strange that upregulation of dopamine would be defined as happiness. I think of happiness as cross-activation between your endocannabinoid system and endogenous opioid system.

</comment><comment><USER11> So interesting. "wirehead" addiction is an interesting plot point in "The Ringworld Engineers", but I didn't realize it was so well understood & implementable.</comment>


SXSW-bound Italian band denied entry to U.S., jailed and deported - <AUTHOR> http://music.blog.austin360.com/2017/03/10/sxsw-bound-italian-band-says-they-were-denied-entry-to-u-s-jailed-and-deported/ <comment><USER2> _We would also like to apologize for having had to cancel our American tour and hope to go back soon._

Sadly, it's unlikely. They're probably banned for five years due to being deported. They could go through the I-212 process but I imagine that's only going to get more difficult with the current administration.

</comment><comment><USER3> I think it is a shame for America. In a state governed by fair laws, people should not fear arbitrar individual decisions. This fear concerns the non us travelers, but this fear is more and more present for us citizen (for example [https://www.youtube.com/watch?v=d-7o9xYp7eE](https://www.youtube.com/watch?v=d-7o9xYp7eE)). This fear is the symptom of a broken democracy.

</comment><comment><USER4> This happens with bands all the time, and has nothing to do with Trump.

If you want to play shows in the US, you need a work visa. Bands will routinely try to claim they are not playing, and the first thing that CBP does is look up their tour dates, see they're lying, and kick them out.

<comment><USER5> Did you read the article and the band post?

<comment><USER4> Sure did. CBP found they were playing other shows, and they didn't have a work visa. Am I missing something?

<comment><USER5> Sure?

> We made our way to passport control with our ESTA, a letter from our > American label (in which the label owner declared we would be performing a > series of concerts for promotional purposes only and that we would in no way > be receiving any form of payment for those shows) and a written invitation > on the part of SxSw in hand

It seems that you didn't read

<comment><USER6> Have you read the article?

"Those two venues, as it happens, were not in Austin nor part of the band's South by Southwest agenda. In addition to the Seattle KEXP radio promotional performance mentioned in the Facebook statement, Soviet Soviet also had booked three other shows en route to Austin: one in Seattle and two in Southern California.

Archived web pages for those events indeed show that shows in Seattle, at Kremwerk, and in Los Angeles, at Echoplex, carried cover charges of $10 to $13. (A show in Long Beach, Calif., was advertised as a free event.)"

So it looks like at the time of the incident at least there seemed to be some sort of payment collected for shows which was sufficient to deny entry.

I don't understand why the record label didn't arrange them a proper visa for the US.

<comment><USER7> > So it looks like at the time of the incident at least there seemed to be > some sort of payment collected for shows which was sufficient to deny entry.

If that is sufficient, why are bands without work visas allowed in to play at SXSW? SXSW is not a free event.

Shouldn't the key be whether or not the band is paid, rather than whether or not people are paying to get into the event where the band is playing?

<comment><USER6> Because they might have gotten through a CBP officer who's been less anal about it?

That said those bands should also likely have been denied entry without a proper visa.

This isn't a political move, the band didn't had a proper visa and a letter stating "I will not be directly compensated for this" in all honesty isn't sufficient.

This is like that cry blog of some dev being denied entry to the UK and sent back because she didn't had the correct visa, and of course in that case there was a spin again about how horrible UKVI is and about how she was put in the same place as all other illegal immigrants awaiting deportation.

A band performing receives benefits even if these are not direct, if they want to have their asses covered they should've applied for a talent visa like O-1 if league of legends gamers that attend semi-professional tournaments get those with ease they could also gotten it.</comment></comment></comment></comment></comment></comment></comment>


Why Google went instant - <AUTHOR> http://www.technologyreview.com/web/26314/?a=f

<comment><USER2> Here is my theory.

Google instant does an even better job of getting the user to use their predetermined search query rather than continuing to type out the users longer tail search query.

By funneling search traffic into these head terms, Google is concentrating traffic around the terms with higher AdWords CPCs. And as more and more users are funneled into these terms it will increase the level of competition bidding on these terms, further driving up the CPC to appear of the first page.

Seems the most plausible to me!

<comment><USER3> Until you ask, well why do people use long tail search terms? Might it be because the "head terms" do not offer them what they wanted.

Unless, long tail search terms really are something of a waste of time for the user and the head term can offer them just what they wanted anyway, but the user was ignorant of that.

<comment><USER2> Scenario:

A user began typing what would have been a long-tail query, but realizes the results have satisfied their query without typing the full thing.

I'm not saying long-tail is going to disappear, because it's not, at least not for now. But I'm sure a significant portion of would-be long-tail queries are going to be rerouted into short tail queries.

</comment></comment></comment><comment><USER4> There's a certain vacuity to the core point here... "Why did Google do this thing? Why, to improve their bottom line." Well, yeah. Let me tell you, the company I work for also has quite a few initiatives that involve improving the bottom line. Wow.

</comment><comment><USER5> I just noticed that Google autocompletes 'j' with 'justin bieber'. I realize that letter has a high scrabble value but c'mon.

<comment><USER6> Google is in a unique position to know the first-order Shannon compression of the letter "j".

for the record, I get 'JetBlue' for "j". "s" gives me "skype", q gives me "quotes".

It's actually kind of fascinating.

<comment><USER7> Java. Maybe because I'm sitting in the CS dept right now? :)

The results are definitely reflecting the geolocation of my IP (I'm not logged in and have cookies off).

<comment><USER5> I think I need to move somewhere that autocompletes to java.

</comment></comment></comment></comment><comment><USER8> Maybe Google is afraid of Twitter's search potential?

<comment><USER9> Twitter search might be useful to track breaking news, conferences or celebrity gossip, but I wouldn't count on it to find something remotely useful.

I don't even claim that low signal-to-noise ratio is to blame here. I believe it's rather the length limit, it's obvious that the more content you have, the better index you can build for a given document.

PS. Google has its own real-time search, crawling primarily Twitter updates. <http://bit.ly/9PUpaf></comment></comment>


Raw unprocessed images from Cassini's first Saturn inter-ring dive - <AUTHOR> http://ciclops.org/view_event/251/Rev-271-Raw-Preview <comment><USER2> We take a lot of science's achievements for granted, but if you pause and think about it for a moment it's mind boggling. That thing is 1,5 bn kms away.

<comment><USER3> A few links later and I found:

>So here's raising a glass to our kind. We have done a remarkable thing ... to set our craft on a long-distance mission in search of lovely blue oceans like those of Earth, and have it answer us with such gratifying certitude.

[http://ciclops.org/index/8201/A-Subsurface-Globe- Encompassin...](http://ciclops.org/index/8201/A-Subsurface-Globe-Encompassing- Watery-Realm-on-Enceladus)

</comment></comment><comment><USER4> From the article: "The image has not been validated or calibrated. A validated/calibrated image will be archived with the Planetary Data System in 2018".

Anyone knows what calibration/validation means in this case? I hope there are higher-res versions coming down.

<comment><USER5> Everyone talks about having more compute power in their wristwatch than the entire Apollo mission series did.

I figure that NASA simply retasked the Apollo computers to image processing. Waste not, want not, but the compute time now gets measured with calendars.

<comment><USER6> You can't just photoshop an image to make it pretty and call that science. NASA processes the image using calibration data taken from other sensors on the craft, trying to make as realistic a reconstruction as possible of the light data entering the camera, in a way that is physically reasonable and from which one can draw inferences from and not be accused of chasing image processing ghosts.

<comment><USER7> Except that many of the "pretty" images released by nasa to the media are only that. Scientific value is one type of value, promotional value another. That far out from the sun the only realistic pictures would be shades of black. Our eyesight isn't made for such environments. That they need to be photoshopped so that we can perceive their detail doesn't detract from the facts of those details. One image for us to understand and appreciate, another from which to make scientific measurements.

<comment> WD-42 > That far out from the sun the only realistic pictures would be shades of > black.

You realize you can see Saturn with the naked eye _from earth_ right?

</comment></comment></comment></comment></comment><comment><USER8> Do anyone care to explain what we are looking at ? #eli5

<comment><AUTHOR> These are photos from Cassini spacecraft's set of 'Grand Finale' manoeuvres around Saturn - this article has a good summary [http://www.abc.net.au/news/2017-04-28/cassini-sends-back- clo...](http://www.abc.net.au/news/2017-04-28/cassini-sends-back-closest- pictures-of-saturns-atmosphere/8478390)

The images from the initial link are the newest raw images taken during the flyby which happened about two days before. Possibly the closest images ever taken of Saturn.

Google did a great doodle too [https://www.google.com/doodles/cassini- spacecraft-dives-betw...](https://www.google.com/doodles/cassini-spacecraft- dives-between-saturn-and-its-rings)</comment></comment>


Show HN: Simple iOS App Prototyping Tool - <AUTHOR> https://hunchapp.io <comment><USER2> From scrolling top to bottom without an obvious answer, what makes this different from the dozens of other "insert design, drag clickable areas" services?

</comment><comment><USER3> Would love to hear initial feedback on this. _Most_ comments welcome.</comment>


Welcome to The New Dark Age (Open Dyslexia on the Web) - <AUTHOR>

Look at this:
http://antijingoist.github.com/AlphaSymbolic/
Now this:
http://dyslexicfonts.com/
And this:
http://antijingoist.github.com/Eulexia/
What's more:
http://www.pixelscript.net/gilldyslexic/
Read more:
http://www.scientificamerican.com/article.cfm?id=new-font-helps-dyslexics-read
Note: The neurotypical privilege is over. Welcome to The New Dark Age. <comment><AUTHOR> If type and glyphs are the building blocks of the new OpenSemanticWeb3.0 megafad, then does that mean dyslexics and ilk will go jobless?

All of these sexycoolfun new Web apps, and you're still bombarding me with tiny fonts and variants of Helvetica/Arial.

I wish you would all just shoot me, right now. Please. What do you notice here? <https://www.youtube.com/watch?v=QL-zcUWwCZU>

What is the atrocity? Look at the fonts. Everyone the same. Everywhere.

The future you people are building makes me want to slam my head into a desk.</comment>


Giant squid captured on camera for the first time in the US - <AUTHOR> https://www.cnn.com/2019/06/21/us/giant-squid-on-camera-in-us-trnd/index.html <comment><USER2> Dupe: [https://news.ycombinator.com/item?id=20247646](https://news.ycombinator.com/item?id=20247646)

</comment><comment><USER3> It's about time. I've been waiting for this to happen.</comment>


Civic Hygiene - <AUTHOR> http://shkspr.mobi/blog/2013/11/civic-hygiene/ <comment><USER2> Pretty much this. The thing about governments is that people have successors, and so to trust a government with a given power is to trust every successor that the people currently in it will have, sight unseen. Sometimes this is a sane thing to do, but not very often.</comment>


Remembering Sega Dreamcast (1998–2001) - <AUTHOR> https://medium.com/@Imaginary_Cloud/remembering-sega-dreamcast-1998-2001-eefe1151bb13 <comment><USER2> I was initially confused because I definitely remembered the Dreamcast launch in North America was 9/9/99\. They are going off the release date in Japan which was in November the previous year.

<comment><USER2> To add, I still have a working VMU that plays snake. It was definitely ahead of its time as a multi-function portable storage device.</comment></comment>


6 ways patent research will help your startup survive - <AUTHOR> http://www.crowdipr.com/blog/6-ways-patent-research-will-help-your-startup-survive

<comment><USER2> I've always heard the opposite. Don't research. Willful patent infringement is 3x damages. If you do patent research and go ahead, even if it looks like a gray area on infringement, you are looking at a much steeper fine than if you plead ignorance.</comment>


Deepgram – Use AI to spot keywords and get insights in audio - <AUTHOR> https://www.deepgram.com/ <comment><USER2> This technology is really cool!</comment>


Eric Schmidt is stepping down from Alphabet - <AUTHOR> https://www.nytimes.com/2017/12/21/technology/eric-schmidt-google-alphabet.html <comment><USER2> The "bad boy" of Google will be missed. For those not in the know, he and his wife have had an open marriage for years and Eric keeps several apartments around SF for escorts.</comment>


Ask HN: Best Way to Mock APIs in 2020? - <AUTHOR> I'm looking for a good way to Mock APIs for a sideproject, so far I haven't found any solution that has blown me away and I'm wondering If I'm missing anything.<p>I'm curious what people recommend for the best way to Mock APIs? <comment><USER2> I've found mitmproxy ([https://mitmproxy.org](https://mitmproxy.org)) in reverse mode really useful. I'm a mobile dev and when the backend work is still pending I usually mock the backend requirements by selectively patching or adding endpoint support, it can be used like so:

        mitmproxy --mode reverse:https://my.privateapi.com -s ./path/to/mockscript.py

This allows me to implement most of the UI and server interactions w/o being blocked by server work.

<comment><USER3> Oh, this looks interesting. Thank you for the pointer.

I think we can use both: [https://docs.mitmproxy.org/stable/addons- scripting/](https://docs.mitmproxy.org/stable/addons-scripting/)

For mocking, and dump/replay for debugging for some of our projects.

[https://docs.mitmproxy.org/stable/tute- clientreplay/](https://docs.mitmproxy.org/stable/tute-clientreplay/)

</comment></comment><comment><USER4> Can someone explain to me what this is all about? Shouldn't you hide all your API calls behind an interface, and then mock that interface? Dependency inversion principle, depend upon abstractions and all that.

<comment><USER5> I've gone through this process a few times:

1) Join a project and fume about how they didn't write nice, clean, "testable" code.

2) Build some sort of integration testing framework that also mocks out REST API calls relatively cheaply (e.g. using recording/playback against a live system).

3) Realize that I can now refactor the code such that it is nice, clean and more easily "unit testable".

4) Realize that with an effective and easy to use, fast integration testing framework the lack of dependency inversion doesn't bother me _nearly_ as much as it used to.

5) Wonder if dependency inversion is actually more of a hack to deal with the sheer utter crappiness of unit tests... and whether making vast architectural changes to code in order to accommodate the sheer ineffectiveness of the current state of test tooling is _really_ the height of wisdom after all.

In a number of these projects there were noises about rewriting the whole damn thing in a different language (usually because management wanted to consolidate hiring around fewer languages), and it occurred to me that it would actually be kind of great to write tests where the entire implementation _including the language itself_ could be swapped out without really changing the tests.

<comment><USER6> Totally agree with you. I think the industry is going through an "emperor has no clothes" thing with unit tests and dependency inversion at the moment.

The creator of BDD gave this talk a few years ago, which resonated with me: [https://www.youtube.com/watch?v=4Y0tOi7QWqM](https://www.youtube.com/watch?v=4Y0tOi7QWqM)

> it occurred to me that it would actually be kind of great to write tests > where the entire implementation including the language itself could be > swapped out without really changing the tests.

This is exactly what I've been doing and advocating for for a while. Don't mock things like databases at all in your code. If you want to use a mock, use a "first class" mock like [https://cloud.google.com/bigtable/docs/emulator](https://cloud.google.com/bigtable/docs/emulator).

The other thing is that TDD was born in a world where containers aren't the norm. All the pain of higher level testing really comes up from setting up an appropriate environment. If you're already using Docker or k8s, that pain is pretty much 0.

</comment></comment></comment><comment><USER7> Depends how advanced the mocking behaviour requirements are. For most projects, I find json-server sufficient.

Remember that perfect is the enemy of good enough. If you're looking to be blown away by your mock server you may never get round to building your product.

</comment><comment><USER8> [https://miragejs.com/](https://miragejs.com/) is a great complement to frontend first development. Some folks on my team use it and love it. I tend to dev from back to front so I don't run into the need as much. If I do I typically just mock a JSON response in my frontend call function. Depending on the need I'll sometimes set the call to return an error response as well.

</comment><comment><USER9> For a side project? I think that makes a difference here.

What I've been doing lately, in my own time outside of work, is setting up a postgres DB, pointing postgraphile to it, then I have the API out of the way.

From there, if I'm consuming that API in a statically-typed language, I'll look at generating the models I need from the graphql schema with quicktype.

That process is usually quick enough that there's no reason to mock.

I suppose if I was doing UI first, I would just have the repository layer that's abstracting my calls to whatever just have a function that returns a dumb static object in the shape I expect.

</comment><comment><USER10> Might not be the best, but the ones I use:

For REST API: [https://mockoon.com/](https://mockoon.com/)

For GraphQL: [https://github.com/APIs-guru/graphql- faker](https://github.com/APIs-guru/graphql-faker)

</comment><comment><USER11> There are lots of variations depending upon your use case.

For unit testing and CI you may want mock objects that are implemented in the same language as your code. Google search for "mock object <language>". That's where you'll find Mockito (Java) or Mocha Spy (NodeJS) or Testify (golang). This list never ends.

Specifically for unit testing of a UI, you may want your browser driver to handle this, ex: Cypress has built-in support for mock AJAX endpoints. [https://docs.cypress.io/guides/guides/stubs-spies-and- clocks...](https://docs.cypress.io/guides/guides/stubs-spies-and-clocks.html)

If you want an endpoint you can call, Postman has a feature for this, there are several others like this in the comments (JSON Server, mmock, mountebank, etc.). [https://learning.postman.com/docs/postman/mock- servers/setti...](https://learning.postman.com/docs/postman/mock- servers/setting-up-mock/)

If you need to capture traffic, check out goreplay or mitmproxy: [https://github.com/buger/goreplay](https://github.com/buger/goreplay) [https://docs.mitmproxy.org/stable/](https://docs.mitmproxy.org/stable/)

There is a whole class of "VCR" projects for recording traffic, these tend to be language specific (VCR is in Ruby), but there are ports to other languages: [https://github.com/vcr/vcr](https://github.com/vcr/vcr) [https://github.com/bblimke/webmock](https://github.com/bblimke/webmock)

The vendor products tend to be labelled Service Virtualization. I used to work for one of those companies, ITKO, we were acquired by CA Technologies (now Broadcom) in 2011. There are vendor products from Micro Focus, Tricentis, Broadcom, Parasoft, etc.

It's important to think about your use case: local development, unit testing, CI, integration testing, performance testing, recording vs. programming, protocol support, payload support, etc. Many of the tools focus on just a subset of these areas.

</comment><comment><USER12> I've used this on multiple projects: [https://github.com/typicode/json- server](https://github.com/typicode/json-server)

</comment><comment><USER13> I've used this: [https://github.com/nock/nock](https://github.com/nock/nock) worked great for tests.

</comment><comment><USER14> [https://stoplight.io/open-source/prism](https://stoplight.io/open- source/prism)

</comment><comment><USER15> I've found Hasura to be great for this, maybe slightly more longer to set up but you get a full CRUD graphql setup for little effort.

</comment><comment><USER16> Avoid mocking:

[https://blog.metaobject.com/2014/05/why-i-don- mock.html](https://blog.metaobject.com/2014/05/why-i-don-mock.html)

</comment><comment><USER17> [http://wiremock.org/](http://wiremock.org/) works for me

</comment><comment><USER18> I readily admit I haven't evaluated every one of the comprehensive URLs in this thread, but back when I was doing integration work between my project and both GitHub and Jira, I found the scripting support in SoauUI ([https://github.com/smartbear/soapui/tree/release-5.5.0](https://github.com/smartbear/soapui/tree/release-5.5.0)) allowed me to model some dynamic behavior, and use the fallback responses when I didn't care about specifying every single one of them

Despite its name, SoapUI has strong support for REST, and with a little massaging maybe even GraphQL also

</comment><comment><USER19> If you have a database - try this [https://github.com/xgenecloud/xgenecloud](https://github.com/xgenecloud/xgenecloud)

Automatically generates REST & GraphQL APIs within seconds from your database schema.

Here is a demo on how to create 8000+ REST APIs within 10 seconds - [https://youtu.be/NtCwnlLudnk](https://youtu.be/NtCwnlLudnk)

Not just mock - you may even consider writing the full backend on it.

Im the creator - happy to answer any questions.

edit : added demo link

</comment><comment><USER20> If the API provider supplies an OpenAPI definition, you can give API Sprout a try. It'll parse the definition and spin up a mock server returning the example data you want. You can also modify the OpenAPI definition manually if you need different data to be returned.

[https://github.com/danielgtaylor/apisprout](https://github.com/danielgtaylor/apisprout)

</comment><comment><USER21> Haven't tried it yet, but [https://www.npmjs.com/package/msw](https://www.npmjs.com/package/msw) looks very interesting. It uses Service Workers in the browser to intercept requests to the APIs, instead of running a real mock server.

There's support for mocking in Node as well for SSR and jsdom tests.

</comment><comment><USER22> Use swagger-openAPI3 and generate a spec. You can then use the spec to spin up clients or import to a API management tool and produce mock data, with support for authentication and more. I recommend using swashbuckle (for .netCore) if you already have the code for your API, it allows you to quickly produce spec from code.

</comment><comment><USER23> I'm using Wiremock

</comment><comment><USER24> Shameless plug: I developed Smocker[1] for exactly this use case. It's not the only solution but we have a few features not present anywhere else that matched exactly our use case.

Hope it can help you :)

[1]: [https://smocker.dev](https://smocker.dev)

</comment><comment><USER25> I've really liked working with mmock [https://github.com/jmartin82/mmock](https://github.com/jmartin82/mmock)

It has a nice API for inspecting the requests made to the mock server and a nice web UI for debugging too.

</comment><comment><USER26> I would suggest having a look at Microcks ([https://microcks.io](https://microcks.io)) as a way to produce mocks from OpenAPI contracts, Postman collection or other assets...

Full disclosure : I am the founder of the project ;-)

<comment><AUTHOR> Nice! Have you considered doing a free online SaaS version, rather than a self-hosted k8s version?

<comment><USER26> Yes it's something we have in mind for next months or so.

</comment></comment></comment><comment><USER27> MockLab [1] is a SaaS mocking tool built on top of WireMock.

Worth a look if you use Swagger/OpenAPI as it'll accept this as an import format.

[1]: [http://mocklab.io](http://mocklab.io)

</comment><comment><USER28> If you like wiremock, try [https://intervene.dev](https://intervene.dev) \- config in TypeScript with automatic https and CORS.

Open for questions + feedback [author]

</comment><comment><USER29> Don't bother with mock APIs tbh. I assume you're trying to unit test the front end?

If anytime, write integration tests using something like selenium or whatever the latest hotness is.

</comment><comment><USER30> I use Mountebank extensively and it's a pleasure to use.

</comment><comment><USER31> [https://intervene.dev/](https://intervene.dev/) has been very useful for me.

</comment><comment><USER32> [https://www.mock-server.com/](https://www.mock-server.com/)

</comment><comment><USER33> Nock and JSON server are useful libraries

</comment><comment><USER34> A lot of Ruby's test frameworks have this functionality built in. What technology are you using

</comment><comment><USER35> Api-framework works really good for this

</comment><comment><USER36> Mockito exists as an option

<comment><USER37> I like this endorsement

</comment></comment><comment> nmasse-itix I was wondering if you had a chance to have a look at Microcks ([https://microcks.io/](https://microcks.io/)) ?</comment>


First Timers Only - <AUTHOR> https://medium.com/@kentcdodds/first-timers-only-78281ea47455 <comment><USER2> similar :

Mozilla "Mentor Bugs If you are looking for a bug with guidance, we maintain a set of bugs that are marked with an assigned mentor (see "Whiteboard" field). The mentor will help you get the necessary information to understand the issue, point out relevant parts of the code to look at, etc. You can browse these bugs on Bugs Ahoy!, but here's a list of unassigned mentor bugs to get you started:"

[https://wiki.mozilla.org/Mobile/Get_Involved#Mentor_Bugs](https://wiki.mozilla.org/Mobile/Get_Involved#Mentor_Bugs)

Other examples:

#easyfix: [https://github.com/facebook/flow/labels/easyfix](https://github.com/facebook/flow/labels/easyfix)

#beginner: [https://github.com/eslint/eslint/labels/beginner](https://github.com/eslint/eslint/labels/beginner)

#exp:beginner [https://github.com/docker/docker/issues?q=is%3Aopen+is%3Aiss...](https://github.com/docker/docker/issues?q=is%3Aopen+is%3Aissue+label%3Aexp%2Fbeginner)

<comment><USER3> Thanks for the links!

I am getting desperate to contribute (too much post-work free time, don't ask). I have been spamming my favorite python libraries on github with feature requests (so I can pick them up myself later ; ) ), but it's _really_ hard for a n00b contributor to get grounded and started.

I'll hijack this thread: would you have Python projects for first-time contributors? Can we turn downthread from here to "Post open-for-beginners python projects"?

<comment><USER2> >Python projects for first-time contributors?

[https://wiki.mozilla.org/Mobile/Get_Involved#Mentor_Bugs](https://wiki.mozilla.org/Mobile/Get_Involved#Mentor_Bugs) and Ctrl+F for "python" :)

</comment></comment></comment><comment><USER4> Great read. My favorite part is this bullet point:

> Use npm scripts so people don't have to understand or globally install any > build tools

I do this on every project I work on. In fact, where possible, I completely skip globals entirely (for instance in my msngr.js library it uses Grunt but it executes grunt locally without it being installed globally on the machine).

I think it's really important that anyone can go up to a library, pull it down, and start it with little to no further effort. The less friction you can provide a developer the better.

<comment><USER5> 100% agree.. and just as important as ease of starting: ease of finishing. make all of your tests / linters / etc. runnable via a simple npm run.

there's overhead in setting this up, but i can remember several times where i have pulled the code down, made my changes, and gave up when trying to figure out how the maintainer wants my code formatted / tested.

</comment></comment><comment><USER6> I love this.

I've been thinking about a very similar issue for a while now, and I'm still trying to organize my thoughts into a blog post or something, but here's the basic idea:

Hire more juniors. Or cross-train people from other departments[1]. Doesn't really matter who. But they should be pretty darn close to beginners.

Assign a relatively small issue to them. The kind of thing that would only take about an hour for a more senior dev to look in to. Plan more than an hour for the junior. Probably a lot more. Also plan some time for one of those more senior devs. Sit them down next to each other.

Point the junior to the readme. Ask the junior to ping / poke / bother the senior every time they hit a roadblock. Every single time. Ask them to be relentlessly persistent. (Not everyone's good at being relentlessly persistent. So encourage them. Create an environment where they feel like they _can_ be relentlessly persistent.) Then leave them alone.

Give it a day or two. Watch as interesting things start to happen.

Watch as the junior dev learns how to be a better communicator. Watch as they learn how to make problems visible. How to get help. And as an added bonus: how to program.

Watch as the senior dev goes insane at first from all the questions. Watch them start to wonder how they can avoid going through this every time somebody needs to touch their code. Watch them remove obstacles. Or at least reduce their number. Watch them automate things. Or speed up things that are already automated. Or improve processes in ways they had never even considered before sitting with the junior. Also watch them learn how to be a better communicator.

Do this a few times. Watch for magical things. Code quality improves. Onboarding times plummet. Hiring friction melts away. Teamwork starts... working. Productivity skyrockets. Job satisfaction goes up. Happiness prevails.

\-----

[1] See also [https://twitter.com/patio11/status/657902663686754304](https://twitter.com/patio11/status/657902663686754304)

</comment><comment><USER7> As a true open-source zero timer, I can't quite figure out what PR means. My gut was "pull request" but it sounds like you're "committing a fix" at this point, so I suppose "push request" might be the answer, but it's an ambiguous pair of letters.

<comment><USER8> That's tied up with how git works, which is a huge mess.

You really do "commit a fix" but you commit it to your own git repository, then you make a "pull request" to the owner of the main repository, asking them to pull in your fix.

<comment><USER9> It has nothing to do with Git, it's just the name Github uses.

GitLab calles it a "Merge request", which is more fitting IMO.

<comment><USER10> That's actually not true. git-pull (which is where the pull request comes from) is in the git manpages. Specifically it is: _Fetch from and integrate with another repository or a local branch_. Which is basically a git fetch and merge from the submitters repository to the repository they are submitting to.

EDIT: Admittedly if you are talking specifically of the request part, then you are correct. However the name comes directly from git's pull command which is a feature of git.

<comment><USER11> But it makes sense in git, since it's written from the perspective of the user pulling the commits, not from the user sending them.

</comment></comment></comment></comment></comment><comment><USER12> As a bit of a nitpick, I find it slightly ironic that this article uses TDD and PR as unexplained abbreviations.

<comment><USER13> TDD is acceptable as it is the top search result for TDD. PR on the other hand ...

Acronyms and abbreviations with well defined / well known alternative meanings really bug me.

Actually Acronyms and abbreviations bug me full stop.

<comment><USER12> Well, I googled both, which kinda bugs the flow of reading the article. Abbreviations bug me too.

<comment><USER14> Well, what about RAM, PC and so on? They might be an extreme example but if you are in the 'field' not using abbreviations may actually bug you more. Targeting audience is not an easy task.

<comment><USER15> It is often better to use "computer" and "memory", especially when the distinction between L1/L2/L3/RAM/SSD/HDD is not the main topic.

</comment></comment></comment></comment></comment><comment><USER16> We've a curated set of Pioneer Projects for MirageOS [1], where more established contributors have agreed to act as mentors for newcomers. It's worked really well for us!

One of the unexpected benefits was that we could quickly take part in things like Outreachy and GSoC, as we already had a curated list. Reviewing this list every few months has become part of the normal process now.

In addition, asking people to act as mentors also gives them a different perspective on the existing code base, especially where things are particularly thorny.

[1] [https://github.com/mirage/mirage-www/wiki/Pioneer- Projects](https://github.com/mirage/mirage-www/wiki/Pioneer-Projects)

</comment><comment><USER17> Mentorship in OSS makes everyone involved a little bit better at something, be it following instructions, learning practical tooling, writing clear instructions, justification of process and habits, etc.

</comment><comment><USER18> This is a really nice initiative, when I was starting with open source development I had no idea how to do what we needed to do and almost no project i talked to had any initiative like this where they keep some part of their project open for first timers like me, i had to struggle a lot to get started, it'd be great if more and more influential projects started to use this and if they were a little more open to feedback, of late I have noticed those who manage the project just don't listen to feedback what so ever.

</comment><comment><USER19> There are a lot of ways to contribute that don't involve making pull requests. Identifying and raising issues is a good place to start for someone who is not familiar with the codebase.

<comment><USER20> A caveat to that is that they need to be well-researched before filing issues - otherwise it actually is a negative, especially when a modicum of effort reveals when something actually is a usage issue and not a bug.

<comment><USER21> If only that was made easier. And then, of course it also helps if the majority of the bugs you raise are not flagged 'wontfix', which does wonders to encourage further reporting.

</comment></comment></comment><comment><USER22> Great idea.

I would add: if someone tries to do contribute something, but maybe they have a git issue, don't step in and push it yourself. This happened to me on one project, and it bothered me so much that I stopped contributing entirely (which was the right move, it turned out).

</comment><comment><USER23> I think the __KEY __thing here is that you wrote the tests, that gave someone the 'confidence' to say whether or not they were even on the right track - this is amazing - the tests give exactly the right context for someone to dive into the code.

</comment><comment><USER24> ... and this is a prime example of the "developer ergonomics" v. "end-user needs" trade-off that was being discussed a few days ago re: web frameworks.

I mean, it's very well possible that the long-term investment in expanding the "base" of willing coders is worth the short-term loss in productivity. But even long-term investments in human capital need better planning than just "hey, I bet a high-schooler could deal with this simple accounting spreadsheet; that would train him even if it takes him a day to fix what I can fix in ten minutes". It's fine investing in high-schoolers, sure, but that's not the point.

<comment><USER25> What _is_ the point?

<comment><USER24> The point is that the tradeoff between making things at optimal productivity and using thing-making as an educational opportunity exists.

The OP's initiative may come at an excellent cost-benefit price, but it's questionable whether they even considered the tradeoff. And if they have, it's still important to discuss it if it comes to an internet forum.

<comment><USER25> He already had the implementation ready, but choose to not push it to github in order to encourrage participation.

Clearly, productivity was not a priority.

<comment><USER26> Today's productivity wasn't a priority for the author, but tomorrow's productivity is the goal.

edit: A proverb: If you want to go fast, go alone. If you want to go far, go together.

</comment></comment></comment></comment></comment><comment><USER27> One thing that he left off his list of things to make contributing successful is seeking up a "docker" box which is ready to go for development.

(Or a vagrant file)

If the image is set up so it "just works" and has all tools preinstalled, you can be up and running locally in seconds.

With NPM scripts, its often possible to run I to problems with node-gyp... Or any other number of cross platform incompatiblities.

The docker/vagrant route is a really novel solution I've seen used effectively in other projects.

</comment><comment><USER28> This is really great. I've contributed to lots of projects and it would be nice if maintainers were all this thoughtful. If not actively encouraging people to get involved, it would be nice of maintainers to simply acknowledge or appreciate someone's effort.

I've contributed a lot of code and have had vastly different experiences. Sometimes people are excited and accept a PR without question. Some people just ignore PRs. Some people make you feel as though you've just spit in their face. I had one pull request that I thought was reasonable which was met with a ridicule from the maintainer at how useless my idea was (to him). I'm a seasoned programmer with my own projects and a lot of code under my belt but, even knowing how these things work, that one really soured me on his project. I can't imagine if a novice who was excited at their first PR was treated so poorly.

If I could suggest anything to maintainers, it would be to simply appreciate that somebody was trying to contribute. If their code doesn't meet your goals or standards, try to still respect that they spent some time on your project.

</comment><comment><USER29> A related effort: [https://twitter.com/yourfirstpr](https://twitter.com/yourfirstpr)

</comment><comment><USER30> This world needs more people like you. Thank you !!

</comment><comment><USER31> Along the same lines, I'd encourage everyone, first timers and grey beards alike to check out [http://24pullrequests.com/](http://24pullrequests.com/) (they use a 'beginner' instead of 'first-timers-only' as their novice-friendly tag).

If you're in the Salt Lake area, also please consider joining us next Saturday [1] or Tuesday, Dec. 15 [2] as we give a little back to the Open Source community!

[1] SLC JS Learners - monthly JavaScript Study Group - [http://www.meetup.com/SLC-JS- Learners/events/224563977/](http://www.meetup.com/SLC-JS- Learners/events/224563977/) [2] SLC JS Learners - monthly meetup - [http://www.meetup.com/SLC-JS- Learners/events/226862778/](http://www.meetup.com/SLC-JS- Learners/events/226862778/)

</comment><comment><USER32> At elementary OS we have "elementary Drive By Contributors" :) [https://launchpad.net/~elementary-driveby](https://launchpad.net/~elementary- driveby)

<comment><USER18> I have found the team to be obstinately stubborn about changing minds

</comment></comment><comment><USER33> Jenkins has been filling my twitter feed with information for new contributors lately under the hashtag #hacksgiving I think.

Edit: Changed "spamming" to "filling" That was meant as a positive thing but I guess I shouldn't have used the word spamming.

<comment><USER33> Anyone care sharing why I keep getting downvoted for this one? By all means feel free but this one was more than a little puzzling to me : )

<comment><USER34> Probably because you used "spamming". Or you spoke poorly about someone's favourite tool.

</comment></comment></comment><comment><AUTHOR> Huh? Says I posted this 2 hours ago, but I'm pretty sure I posted it yesterday

<comment><USER35> I believe if dang (and perhaps others) finds a submission that would probably be interesting to a lot of HNers but didn't get much/any traction when initially posted it is "resubmitted" to give it another chance.

</comment></comment><comment><USER36> This titles man are worst than FB. Why not just "Click here!"?. Or could just copy and paste the title: "A suggestion to Open Source project maintainers"

</comment><comment><USER34> As far as I can tell this information is specific to Github and development on Github.

Why is CONTRIBUTING.md important? Its just another file for someone to read alongside COPYING, INSTALL, README, TODO, and perhaps what's in the doc/ directory. And why markdown?

Organising and comments are good but people have been trying to get devs to do that for decades and we're still mentioning it.

"Add an up-for-grabs label" to what? Where? How will people see this?

Adding a githook might be useful on a remote repository but I don't want to run a full test suite every time I commit, ammend a commit, rebase, or otherwise trigger it.

What's NPM? Why would anyone use it over a makefile?

I would extend my first comment and say this is for javascript projects which use Github and only Github.

<comment><USER37> Replace all the language/framework/code-hosting specific terminology with whatever suits you. The attitude and willingness to help newcomers is the point. The author just used his project and experiences as a way to illustrate that point.</comment></comment>


Undocumented immigrants to get health care in Gavin Newsom's California budget - <AUTHOR> https://www.sacbee.com/news/politics-government/capitol-alert/article231310348.html <comment><AUTHOR> This seems like a trick problem in an exam paper..can someone explain how this math works?

(Also: why can't we all just have universal health care in Ca and be done with it?)

[..]The budget includes a fine on people who don't buy health insurance known as an individual mandate. The fines were initially implemented as part of the federal Affordable Care Act law known as Obamacare, but Republicans acted in 2017 to roll them back. Newsom and legislative leaders say re-imposing the penalty at the state level will shore up the state's health insurance marketplace and keep premiums from rising dramatically.

Revenue from the mandate will fund insurance premium subsidies for middle income people. The budget agreement also includes an additional $450 million over three years to fund insurance subsidies after some lawmakers argued mandate revenue alone wouldn't make health insurance affordable.

[..]</comment>


Why the Kindle is my number one reading device - <AUTHOR> http://bobbelderbos.com/2012/01/why-the-kindle-is-my-number-one-reading-device/

<comment><USER2> My reading device of choice these days is a Nexus 7 - It's significantly thinner and a touch lighter than the Kindle Fire and is useful for other things when I need it to be, with better hardware overall. Actually it's become my go-to tablet for pretty much everything that isn't "testing stuff on the iPad."

I agree about distractions, but if I'm reading, I just put it in silent mode and read. You don't have to use the social apps and check email constantly just because you can.

I know some people prefer the eInk display for reading, but I do most of my reading indoors and like (and at one point needed) the added contrast of the backlit display.</comment>


Manipulating Google Scholar Citations and Google Scholar Metrics [pdf] - <AUTHOR> http://arxiv.org/pdf/1212.0638v1.pdf

<comment><AUTHOR> The paper <http://arxiv.org/abs/1212.0638>

EDIT: Originally I submitted this write-up <http://www.roughtype.com/?p=2841> by Nicholas Carr. It must have been later changed (by the mods?) to a direct link to the arxiv paper.

</comment><comment><USER2> Someone else was manipulating Google Scholar search results by automatically generating papers from LaTeX on his site, then citing the other generated papers with fake bibliographies. Unfortunately, I can't remember any of the identifying details. Does anyone know who this was or a link to his spam?</comment>


IoT, 4K, virtual reality signal a critical need for broadband speed - <AUTHOR> http://www.fierceonlinevideo.com/story/internet-things-4k-virtual-reality-signal-critical-need-broadband-speed/2016-03-30 <comment><USER2> I think there should be more focus on latency and upload improvements as well. With all the realtime streaming/communication going on, really low latency is crucial for the future. Also we are sending a lot more data these days, so broadband with 100/6 Mbps or 200/8 Mbps is very unbalanced.

You don't really need more than 25Mbps downstream for streaming even 4K with one client, not uncompressed of course. However 100+ Mbps with <10ms latency allows for real time gaming via streams in high quality for example, making expensive hardware at home obsolete.

<comment><USER3> What we should really achieve is 1Gbps symmetric connections. Then the cloud is your LAN and then only you can seriously consider working on files stored or backed-up in the cloud.

Right now the best upload speed you can get with optic fiber with BT in the UK is 30Mbit. Not a technical limitation, purely a commercial one.

I actually don't understand why ISP do not offer better upload speeds. I thought the whole system of peering relied on having balanced upload and download flows, which created problems in datacenters and ISPs, which by nature are one flow only (end users downloading data from datacenters). I would assume both ISP and datacenters would want to encourage having flows the other way, by mean of people backing up their data in the cloud.

<comment><USER4> Most users pull far more data than they push, so it's a simple reaction to the market -- with technologies like DOCSIS you have a set number of channels and you assign them to either downstream or upstream bandwidth. More users benefit from a fatter downstream pipe. ADSL has the same sort of bandwidth allocation. Having a symmetrical connection generally means limiting the downstream connection.

<comment><USER3> Yes but I don't expect this sort of performance for cable or DSL. We are talking about Optic Fiber really.

<comment><USER4> My cable modem pulls 120Mbps down, pushes 10Mbps. 24/7\. DOCSIS 3.1 promises up to 10Gbps down, 1Gbps up (again, because it biases the bandwidth to down). It's a signal on a medium.

And when we talk about fiber optics, 9 times out of 10 it isn't _really_ fiber optics. The vast majority of BT "fiber optic" installs are a copper twisted pair, with exactly the issue I mentioned. But their junction box, just like cable internet applications, has fiber optics going to it, for what's that worth. For a real pure fiber optic connection, which is rare, the service usually is symmetric because that compromise didn't need to be made.

<comment><USER3> Yes but by Optic Fibre I meant FTTP, not FTTC. FTTC is nothing more than a thick layer of lipstick on the DSL pig.

</comment></comment></comment></comment></comment></comment><comment><USER5> What's "critical" about IoT, 4K and VR though?

At best they could enable some important new functionality -- maybe.

But that's hardly "critical". Desirable, nice to have, etc, yes.

<comment><USER6> Simple, it's critical to the industry who saw existing hardware sales stalling and needs a boost - ergo 4K and VR. Now they just have to convince the consumer his life is miserable without them.

<comment><USER7> Trying to recreate the success story of the VirtualBoy and the Nintendo Glove.

</comment></comment></comment><comment><USER8> 4K I can understand, virtual reality as well, but IoT? How much data do you expect to send to saturate a 3mbit/s upload line?

<comment><USER9> I'd assume IoT concerns are about the number of devices rather than bandwidth, which probably translates to "switch everyone over to IPv6 already".

<comment><USER10> Both number of devices and bandwidth could be conserved if we had a standard protocol for these things to talk to a local hub that would (a) proxy interactions with the outside, (b) enforce privacy rules and (c) handle management overhead.

As it is now, a house can easily find itself with three brands of "smart" light bulbs, a thermostat, a power meter, six video systems and a camera: all of them demanding their own IP address and exposing varying levels of private information.

I expect there are six standards for such hubs already. Insert XKCD here...

<comment><USER11> I am not sure that is is a good idea to put such devices in a special class of their own. It risks giving devices permissions and trust that they don't actually deserve. Better to treat them as an internet server and use existing procotols (OAuth, CORS, TLS, WebSockets etc.). As far as I know all those protocols work perfectly well on a local network behind a NAT. More importantly browsers already have well understood restrictions to prevent XSS built in.

</comment></comment></comment></comment><comment><USER12> critical need for who? businesses who need to sell these products?</comment>