Kheiron raises $22M for AI that helps radiologists detect cancer earlier - <AUTHOR> https://venturebeat.com/2019/09/23/kheiron-raises-22-million-for-machine-learning-that-helps-radiologists-detect-cancer-earlier/ <comment><USER2> I think medicine is the one area where I think AI is/will have tangible results like this to augment (not replace) humans. So much information is hidden is these exams that a computerized pair of eyes could help sort through. And it doesn't need to be "pure AI" or anything resembling the singularity to have very good results.

I'm clearly contrasting these news with all the other stuff I hear about personal assistants and social media.

<comment><USER3> Problem with AI in medicine, and in radiology in particular, is an inability to discover things it's not trained on.

The issue with AI systems that I've seen and evaluated, (and I've seen just about all of the best ones), is that they are good at finding what a radiologist would find, with the added benefit of finding a few that a radiologist would miss.

Here's the problem, AI finds a few that _" A"_ radiologist would miss, but multiple radiologists would not miss. What I mean by that is that the nature of the misses are somewhere between 'facepalm' and 'other radiologists give rad that missed pathology a slap upside head'. Essentially, the pathology that the AI found but the rad missed is obvious, and the rad says, "Oh yeah! I should have caught that." The sort of misses that might be caused by fatigue, or flipping through too many studies too quickly.

What you really want is AI that can synthesize a set of studies and catch things that 99.999% of radiologists on the planet would _never_ catch. Essentially, things not reflected in the datasets, and things that have not been discovered. You need that because most delivery facilities already outsource image reading to a centralized radiology reading facility that may be miles away. So, financially, they are already saving the money of not paying radiologists. So any centralized radiology reading facility powered by AI, would need to be better than any centralized radiology reading facility powered by humans.

Despite claims made everywhere from papers at RSNA to marketing materials from Silicon Valley, every AI I've seen has failed this test. In both accuracy, as well as the more esoteric metric of finding things that it's not trained on.

[Just as a matter of full disclosure, I have a research background in medical imaging, and have actually had a startup exit in the field.]

<comment><USER4> You just need a robot that's 80% as good as a radiologist. That means you don't have to pay the bottom 80% of radiologists anymore.

<comment><USER2> I don't think it's about costs here. No hospital in their right mind would trust an AI completely to not have to pay for a radiologist. It's more about augmenting their work.</comment></comment></comment></comment>


Breaking Dead by Daylight without process interaction - <AUTHOR> https://secret.club/2020/04/15/dead-by-daylight.html <comment><USER2> And all this time the presence of EasyAntiCheat has hindered how much I play the game; DBD would otherwise run fine under Wine/Proton yet because of EAC I have to load up my windows VM, switch my GPU from Linux to Windows, etc.

But essentially any anti cheat can be defeated because it's still all client side validation. The only effective anti cheat is detecting player patterns which typically ends up needing human reviewers (see CSGO Overwatch system).</comment>


Benchmark Capital Sues Travis Kalanick for Fraud - <AUTHOR> https://www.axios.com/benchmark-capital-sues-travis-kalanick-for-fraud-2471455477.html <comment><USER2> Benchmarks in a bind and at war with travis; they need to liquidate their stake in next year or two. Softbank deal to buy out their shares fell apart in part b/c no CEO. Benchmark wants safe-hands leader who will cost-cut firesale their way to quick IPO. travis + allies being more long term; blocking benchmarks CEO picks (meg). so board civil war continues with benchmarks dirty tricks like this sour grapes lawsuit and selective leaks to undercut and force mgmt's hand in cost cuts (the lease car data earlier this week)

<comment><USER3> >travis + allies being more long term

His actions and bad management hardly seem long term based thinking. While you could be right that is his intention, his actions to date, the bad management issues well documented, or his possible participation in fraud, to the antagonistic business practices hardly seem the best "long term" approaches.

<comment><USER4> Not to defend his actions, but to consider his possible mindset in doing them: His actions could be explained as pushing hard to build a defensive moat against a world allied against Uber as quickly as possible. If _regardless of what you do_ you lose a bit of PR here and there, you get kicked out of cities here and there, and you have to pay a few hundred million in settlements here and there, you might as well throw caution to the winds so that you still have plenty of market share left when you lose those things, right? It would seem that's the Uber way. Of course, breaking laws and conventional morality to do so is a slippery slope, and he severely underestimated how much those extremes would splash back on _him_ personally. I hope that other excessive CEOs treat this as a wake-up call - limits and laws are there for a reason.

<comment><USER5> What ultimately got him wasn't his "maverick rule-bending to compete against the establishment".

He created this bro-themed caricature of a corporate culture, and he did so for no reason other than enjoying that sort of atmosphere, or being incompetent to stop it. Or both.

Let's not start some sort of myth of martyrdom around Kalanick by conflating these two. Although, yes, this strategy of braking local regulations and expecting to win a power struggle with every government anywhere was also on its last leg when he left, and would've gotten to him as well, sooner or later.

<comment><USER6> "maverick rule-bending to compete against the establishment" seems like a really complementary way to say "lawbreaking company".

I mean, their whole model was to go places, ignore the law and continue operating until they either got thrown out, or they pumped money to the right places to get the law changed.

Scofflaw corps get nailed sooner or later, and a corp the is built on breaking laws might break some laws investors care about...

<comment><USER7> Perhaps, but I've heard politicians on the national level talk about this as just business as usual. If the system creating the laws sees "move fast and break things (like laws)" as the norm, then we can scold and shame all we want, but it's not going to change things. Regulatory capture and law-breaking startups seems to be what's expected out of American business by the very people doing the legislation.

<comment><USER8> Which politicians said what exactly? I read a lot of U.S. national news and I've never heard that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Among the complaints of bad behavior:

"Kalanick [aquired] a self-driving startup that, according to a confidential report not disclosed to Benchmark (the "Stroz report") allegedly harbored trade secrets from a competitor . . . "

The Stroz Report was created when "Otto and Uber jointly hired an outside forensic expert Stroz Friedman. Friedman interviewed employees, including Levandowski and Lior Ron, reviewed their digital devices like mobile phones and cloud storage, and prepared a report recording the results of the investigation. . . Uber dangled a huge carrot for Levandowski to be truthful . . and agreed to indemnify him for any prior bad acts he confessed to committing. In other words, if Levandowski told Stroz what he stole, then the high priests at Uber have absolved him of his civil sins and Uber will pay for any resulting lawsuits or penalties"(1)

Maybe I'm reading between the lines, but it seems like they're saying in black & white that the Stroz report contains incriminating evidence that Levandowski DID "harbor trade secrets" from Google which will materially impact the outcome of Ubers broader legal woes . . .

EDIT - Reading further in the actual complaint ""if the contents of Stroz's interim findings had been disclosed to Benchmark at the time, they would have had a material impact on Benchmark's decision to authorize the board seats . . ." (2)

Sounds quite a bit like a smoking gun, that Benchmark probably realizes now is going to come to light.

(1) [https://medium.com/@nikhilgabraham/why-anthony- levandowski-h...](https://medium.com/@nikhilgabraham/why-anthony-levandowski- has-almost-nothing-to-lose-eef1116fea5e)

(2) [https://www.documentcloud.org/documents/3922911-67730336-DE-...](https://www.documentcloud.org/documents/3922911-67730336-DE- Verified-Complaint-FINAL.html)

<comment><USER10> RE the stroz report: from what I've heard, AL did take a bunch of files, and he planned to use as leverage against google/waymo to get his 120m bonus, and Uber told him more or less "dont let that shit touch anything we do". He also had some kind of big google earth photo taking kit at his house for long after he quit google.

<comment><USER11> well, no problem then. just stealing your employer's property to use to use for extortion. what a nothingburger.

<comment><USER12> They had previously refused to pay him wages that they had agreed to pay.

It is common in parts of the programming world — especially when dealing with untrustworthy clients — to keep a way to take their IP/disable their website/turn off their domain/etc unless they pay you on time.

<comment><USER13> No it's not. Illegally holding on to property that's not yours isn't leverage - its theft and leaves you open to prosecution. If you have a contract with someone and they're in breach then the courts provide you an avenue for relief - not blackmail.

</comment></comment></comment></comment></comment><comment><USER14> If actual fraud is not found what sort of message does this send to entrepreneurs that Benchmark is founder friendly?

Looks like a grudge match to me. Apparently unhappy with merely removing Travis from the CEO's chair they want to make certain he's never allowed to ever enter the building.

<comment><USER15> There's way too much money at stake here for this to be driven by grudges, emotions, or even reputations.

Benchmark's stake in Uber is worth $9.1b -- many, many times the size of their fund. They will do anything they can to protect this investment.

They very likely believe that the best way to protect their investment is to keep Travis out, and this is part of the process. Decisions like this aren't made at an individual partner level. The entire partnership decided to file this lawsuit, and that means it's a calculated decision.

<comment><USER16> > Benchmark's stake in Uber is worth $9.1b -- many, many times the size of > their fund.

I don't get it - their stake in Uber is part of their fund isn't it? So how can it be worth more than the whole fund?

<comment><USER17> For example, if their fund is $1B and they put $250M in Uber, then Uber's valuation goes 10x, so their portion is now worth $2.5B, more than the fund started with. (Numbers made up for example.)

</comment></comment></comment></comment><comment><USER18> The key point of conflict appears to be the following:

 _The suit revolves around the June 2016 decision to expand the size of Uber 's board of voting directors from eight to 11, with Kalanick having the sole right to designate those seats. Kalanick would later name himself to one of those seats following his resignation, since his prior board seat was reserved for the company's CEO. The other two seats remain unfilled. Benchmark argues that it never would have granted Kalanick those three extra seats had it known about his "gross mismanagement and other misconduct at Uber"_

I never understood this practice of investors/founders having such wide discretion when it comes to controlling board seats. It always seemed to me that board representation should be roughly proportional to equity ownership. If a founder/VC controls 30% of the equity, he should be given control over ~30% of the board seats. Such an arrangement seems like the best way to ensure that incentives are aligned, and to prevent drama/shenanigans like whatever led to this suit.

<comment><USER19> Board seats are part of bargaining chip during funding rounds.... they are very very important.

If you lose control of the board as a founder, you basically are another employee at the company, at the mercy of your investors, who can choose to bring "adult" supervision anytime they seem it is fit to them.

Having the founders control of the board did well to both facebook and google on the long term. On the other hand you have Twitter where nobody is in real control of it, and it ended up with no clear direction.

<comment><USER12> This gets especially interesting when you start to expand into Europan countries, and suddenly large amounts of the board seats are elected by the employees (usually a similar amount is chosen by investors and by employees).

This is something that seems to be missing in the US.

<comment><USER20> > and suddenly large amounts of the board seats are elected by the employees

Any stats or info on this? Would be interested to find out more.

<comment><USER21> not eu as a whole, but in Germany, "The law allows workers to elect representatives (usually trade union representatives) for almost half of the supervisory board of directors"

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

</comment></comment></comment></comment></comment><comment><USER22> It's interesting to see how all the chaos at the board and management level has affected employees. Data from LinkedIn paints a troubling picture both in terms of hiring and retention.

* Uber has 31,537 employees as of August 2017.

* New hiring is down from 1000 per month in 2016 to 500 a month in 2017. July was the lowest month since the start of LinkedIn data which is August 2015 @ 440 hires.

* There are currently 8,000 job openings. Operations and Engineering are the two largest categories.

* With every 100 people that are hired. ~80 people are departing the company.

Hiring managers I have talked to say that it is very challenging to attract strong candidates to Uber and it is demoralizing because their best people are leaving.

<comment><USER23> Why so many people?

<comment><USER24> Many of the 30,000+ employees are non-tech. Uber needs lots of hires for driver recruitment, training, support. They have people on the ground in every region they operate.

<comment><USER25> do they get paid okay?

<comment><USER26> Depends on what you consider "okay". For most people who will join I suspect they will think it's okay money.

</comment></comment></comment></comment></comment><comment><USER27> _Stakes: Per the complaint, Kalanick currently holds around a 10% equity stake in Uber, which most recently was valued at around $70 billion. Benchmark holds approximately 13 percent._

This is interesting. I thought HNers were saying Kalanick had the biggest stake, which is why the board couldn't fire him.

How does this work? If someone only has 10% equity, why was it so difficult to remove them? This is a useful tool for founders, so it's worth understanding.

<comment><USER28> Uber has different share classes with different voting rights

[https://www.nytimes.com/2017/06/12/technology/uber-chief- tra...](https://www.nytimes.com/2017/06/12/technology/uber-chief-travis- kalanick-stock-buyback.html?_r=0) \</comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>---

Even if a worker sells only 10 percent of his or her stock back to the company, that worker agrees to give Mr. Kalanick the voting rights to 100 percent of his or her stock. Each share of Class A stock comes with one shareholder vote, while each share of Class B comes with 10 votes.

Uber had 545.8 million Class A shares at the end of last year, which included 43.4 million employee stock options that had been issued, according to financial statements obtained by The Times. If all of the early employees who owned those options sold even a small part of their stock to Uber, Mr. Kalanick could control the votes of up to 43.4 million shares, or an additional 7.9 percent of that stock class.

Uber also had 459.7 million Class B common shares at the end of 2016, which included 9.9 million employee stock options that had been issued. If all of the holders of those options sold even part of their stock to Uber, Mr. Kalanick could control the votes of up to 9.9 million shares, or an additional 2.2 percent of that stock class.

Mr. Kalanick does not control those votes until he issues something called a "voting notice," which requires the employee to vote all of his or her remaining stock in accordance with Mr. Kalanick's wishes on all matters submitted to a vote of stockholders, according to the agreement. If Mr. Kalanick issued such a notice to a Class B shareholder, the stock gets only one vote a share, which goes to Mr. Kalanick.

<comment><USER29> > _Employees must follow the "instructions of Travis Kalanick," according to > the buyback agreement, "with respect to any and all matters" that are > submitted to a shareholder vote._

Wow. I knew about the super-shares, but giving Travis (not even Uber's CEO but Travis personally!) control over the voting rights of any employee who sells any of their stock back to the company seems pretty fucked up. Is this done at any other company?

<comment><USER30> I think the answer to that is, not if they want to be part of the S&P 500.

</comment></comment></comment><comment><USER31> Direct link to complaint: [https://www.documentcloud.org/documents/3922911-67730336-DE-...](https://www.documentcloud.org/documents/3922911-67730336-DE- Verified-Complaint-FINAL.html)

</comment><comment><USER32> Before Travis got booted some Techcrunch article or other was submitted here on an almost daily basis about him and other issues Uber were having, some days two! I thought to myself: 'Boy! Techcrunch really have it in for Uber and Travis' (mit einen kleine schadenfreude, me being no fan of either). Once he left though, the posts seemed to me to end rather abruptly even though there were still newsworthy shenanigans at Uber. Has anyone else noticed this? Why? Cui bono?

<comment><USER33> TechCrunch is owned by AOL, which also owns the Huffpo. Arianna Huffington is a board member of Uber - she stepped down from editorial work at Huffpo/AOL media group in 2016, but I"m sure she has a lot of influence on her namesake. This is totally unsubstantiated but there's generally a lot of mucking about at the board level of high profile companies like this.

<comment><USER34> If you or others have links to resources on board politics and how that world works, I'd love to learn more. Having never held a board seat, it is a fascinating, yet still mysterious world to me, and it seems like the truthful accounts of what happens in that world are kept as private as possible.

</comment></comment></comment><comment><USER35> > Benchmark argues that it never would have granted Kalanick those three extra > seats had it known about his "gross mismanagement and other misconduct at > Uber"

Buyer's remorse! Investors think they deserve so much power because they put capital upfront and understand how to play the legal system to their benefit, while more industrious actors are busy actually building the value of the company.

Yeah and I can tell the folks at Benchmark about a bunch of guys I knew who wish they never would've gotten married. Oh well, when you take your vows... Till death do you part ;)

<comment><USER36> He who pays the piper picks the tune.

</comment></comment><comment><USER37> Who in their right mind, except for the utterly desperate, would accept money from Benchmark? Talk about letting the fox into the henhouse, you can't trust those guys whatsoever.

<comment><USER38> Care to provide details ? I don't live in the valley so i'm not up to date with the latest gossip. Last time i heard about this firm, it was pretty complimentary

<comment><USER39> Maybe referring to the Benchmark <> Epinions stuff.

Though from what I know Benchmark's rep is pretty solid. Particularly as a king-maker, with Uber and Snap.

</comment></comment></comment><comment><USER40> Techmeme summary: _Benchmark Capital sues Travis Kalanick for fraud, wants invalidation of the June 2016 stockholder vote to expand board, which would also remove him from board_

</comment><comment><USER10> wonder what this means for the CEO search, softbank funding etc. My assumption is that both parties will settle quickly but I could be wrong. Also not noted in the article is that while travis owns 10% of the equity stake, he has super-voting shares, such that him, Ryan Graves, and Garret Camp as a trifecta hold controlling interest IIRC.

<comment><USER41> Travis has lost the support of Ryan and Garrett apparently (per several reports over the last month/Garrett's statement/Ryan stepping down from operating role). Seems like a man on an island at this point.

<comment><USER42> Are there any similar wars between investors and majority share owners? I'm not familiar with the area.

</comment></comment></comment><comment><USER43> So the board agreed to create 3 new board seats over which Kalanick would explicitly have full control to appoint people. And now they're suing him because they regret that?

<comment><USER44> Per the lawsuit, Kalanick, stated explicitly, in writing, that the seats would have to be approved by the board, and he reneged on that. Whether his written word can still hold him accountable remains to be seen, as it seems like this agreement wasn't made as a part of the vote to create the new seats but as a part of the deal where he vacated the CEO position.

All in all when your biggest, earliest investor sues you, despite you having built them a fortune, you have probably been grossly negligent in some respect.

</comment></comment><comment><USER45> I do not know Travis well enough to say if he is a "good" or "bad" person but playing devil's advocate for a second: is it really a crime to organize a board in your favor? I imagine this is done all the time.

<comment><USER46> Absolutely not. You can arrange a board however the founders and shareholders agree. However, it appears they are arguing that he purposefully withheld valuable information from them that would have made them vote differently on the board arrangement.

</comment></comment><comment><USER47> As an aside.. the dude's face on the TechCrunch article about this is heartwrenching, if you stare at it long enough.

[https://techcrunch.com/2017/08/10/benchmark-sues-former- uber...](https://techcrunch.com/2017/08/10/benchmark-sues-former-uber-ceo- travis-kalanick/)

</comment><comment><USER23> Uber should IPO unless they are waiting until they decimate traditional taxis but I don't see that happening in key markets. They could buy up medallions on the sly though. Economically, Amazon loses money in expansion and they have no real competitors online so I don't see why uber can't do the same.

</comment><comment><USER48> will never, ever talk with Benchmark for any fundraising again. suing the CEO who made them ~ten billion dollars. what the actual fuck.

<comment><USER49> Until an exit, he hasn't made them anything except paper billionaires. If anywhere on the road to an exit Travis or any other CEO does anything unbecoming of a steward of the capital of the investors, he should be questioned and potentially removed. That is why laws that protect investor rights such as fiduciary duty requirements exist.

The reality is that when it comes to fraud or other potentially criminal activity, you've got to bat 1000 as a CEO. For even lesser offenses you don't get too many freebies. Welcome to the game.

And wtf are you arguing anyways? Because I invested in Enron and they made me money, in 1999 I should have been happy even while alarm bells were starting to be rung? Your argument would've lost conscientious investors a great deal of money in the end game. You've got to think longer than just right now.

Unless you have proof that the claims by Benchmark are literally fictitious, you're on the losing side of how this one'll play out.

</comment></comment><comment><USER50> Agreed. Fuck Benchmark. Travis makes each partner $1 billion personally and this is how they treat him? They should be blackballed by every great founder out there. I had respect for benchmark but not anymore. They are greedy assholes.

<comment><USER51> A question I've been pondering since the Martin Shkreli verdict, is fraud OK if the deceived parties still profit?

<comment><USER52> Fraud is never OK. The end does not justify the means.

<comment><USER53> What a small-minded view. Our entire runs on fraud of one degree or another-- sometimes it's just more than people are willing to bear.

<comment><USER52> You are joking right?

The question about fraud was in the context of the misappropriation of capital from investors for a purpose different from what was initially agreed to, and not as a general catch-all term for posturing or affectation either by politicians or the general populace.

<comment><USER53> Hell, you could make the same argument about a company jumping into a different product line with capital intended for a particular buildout.

Your blanket statement "this is _never_ is justified" was my primary objection.

</comment></comment></comment></comment></comment></comment><comment><USER54> I don't know about this infighting, but don't you think that someone like Meg Whitman would suck badly at being Uber CEO, not that she did wonders at HP. If anyone has opinion, I would be interested to hear.

</comment><comment><USER55> There is nothing new here other than Benchmark Capital thinking they can choose and pick a shareholder decision to revert based on the recent Uber gates.

Seems very thin on the ground given there is no ruling in a court of law against Kalanick in any of those.

<comment><USER56> There is a whole lot that's new here. Benchmark, one of the most renowned VC firms in the world suing the CEO of its biggest current investment. That's huge news.

<comment><USER57> *former

</comment></comment></comment><comment><USER58> In my best Nelson Muntz voice: "Ha-ha".

The VCs have done this to themselves. They put up all the money, they should have _never_ allowed themselves to be put into this situation.

Decades ago, when I was at startups, this was 100% clear, cut and dried. The Golden Rule. People who have the gold make the rules.

I'm sure this won't be a popular opinion, since more HN readers are founders and employees than are VCs. But don't simply downvote. Explain. Articulate why, after taking billions of dollars in VC money, you feel like you're still owed control.

<comment><USER59> Nobody put a gun to Benchmark's head and forced them to take a deal that left so much control in Kalanick's hands. It was a reflection of the relative strengths of their negotiating position at the time. Kalanick is owed control because Benchmark agreed he had control.

The legal question is whether the various scandals that followed show in some way that Kalanick made that deal under fraudulent conditions. It has nothing to do with a supposed generic truism that VCs always deserve to control the companies they fund. Uber is actually a great counterexample to your rule. They appeared to be such a good investment, and so many VCs wanted in, that they were able to dictate very favorable terms.

<comment><USER58> _Kalanick is owed control because Benchmark agreed he had control._

I agree. Given what was negotiated, the default starting position for the lawsuit is that Kalanick is owed control.

 _so many VCs wanted in, that they were able to dictate very favorable terms._

That is what I failed to fully appreciate. There is so much dumb money sloshing around that it forces smart VCs like Benchmark to agree to dumb things.

Here's now a Fortune pundit described the investment a Saudi Arabian sovereign wealth fund made in Uber last year:

 _Uber needed the money, and where else are you going to get $3.5 billion? No doubt, it must be tough to fundraise after you 've already tapped out venture capitalists, private equity firms, mutual funds, hedge funds, Wall Street high-net worth clients, and strategic corporate and other sovereign wealth funds (yes, including from noxious Qatar)._

[http://fortune.com/2016/06/02/ubers-no-good-very-bad-deal- wi...](http://fortune.com/2016/06/02/ubers-no-good-very-bad-deal-with-saudi- arabia/)

</comment></comment></comment><comment><USER60> Uber, AirBnb, Snapchat, Dropbox, etc will all crumble. They may continue to exist, but they'll be more like Twitter than Facebook. None of them are anything special.

Maybe Dropbox will get acquired after their failed IPO. Snapchat could also get filed away in a similar fashion, but it may be too late.

I wonder why they invested so much in a taxi company. It only makes sense if all cars are replaced with Uber autonomous vehicles, but what are the odds that will happen? Uber only makes sense in larger cities.

The "brain" trust may as well get started on teleportation or something else deserving of billions in blind/naive/"stupid" faith.

Is this the mobile bubble forming and collapsing live? As suggested by historical timings (8 <= year_ipod - year_founded <= 12), IPOs for all "big bets" should technically happen within the next year. I strongly doubt it's going to be pretty.

<comment><USER61> > Uber, AirBnb, Snapchat, Dropbox, etc will all crumble. None of these > companies are anything special.

Lol. Please share some of your wisdom with us. Leaving aside taxi companies like Uber and useless things like Airbnb, can you tell us what companies do _anything special_ these days Master Foo?

<comment><USER62> Hard tech? Righetti quantum computing, IBM Research neuromorphic chips, Geometric Intelligence one-shot ML…</comment></comment></comment>


Like your hair is on fire - <AUTHOR> http://sethgodin.typepad.com/seths_blog/2008/08/like-your-hair.html

<comment><USER2> Now I'm motivated. _yawns_

</comment><comment><USER3> I like this... we chose to go against standard advice and will be officially launching to the public on Tuesday. Our sneak preview has been up for a while but I really hope there will people around to spread the word!

<comment><USER4> If what Seth says is true, you might want to plan a second event of some kind for about three weeks from now.

<comment><USER3> You're probably right. But at the same time, we don't want to create 'artificial' events... Let's see how things go with the official launch. Fingers crossed. Either way, its been a great ride so far!

<comment><USER4> Good luck! I can only imagine the excitement and anxiousness that you're feeling now.

</comment></comment></comment></comment><comment><USER5> Why are the next two weeks the slowest of the year? Please explain so that I can pass the memo to my employer, as they are not aware of this fact.

</comment><comment><USER6> I thought if you're seriously in competition, your hair should be always on fire?

<comment><USER7> I would hope not. Since hair grows at a speed of 1/2 inch/month and burns at a speed of 1/2 inch/minute, you'd either need to start out with a lot of hair, or risk spending most of your time applying a flame to fledgling hair sprouts around your body. Or dispensing Rogain furiously. Both which would waste time.

<comment><USER4> Now we know why Seth Godin is bald.

</comment></comment></comment><comment><USER8> I like the end. "Finish it or cancel it".

<comment><USER9> No "Retry?"

<comment><USER8> There can be a Retry (that is after finishing; but not put it in the shelf), but "Finish or cancel" gives a sense of urgency to finish it.

</comment></comment></comment><comment><USER10> Hair doesn't burn, right? It singes. So if your hair were on fire, it'd just smell bad and make...smoke?

Actually, anyone have scientific explanations for burning hair?

<comment><USER11> >Hair doesn't burn, right?

You just have to add a little of a flammable substance to it. I'd suggest ethanol or gasoline.

</comment></comment><comment><USER12> Why is this #1?

<comment><USER13> Seth might have only had 205 words worth of stuff to say, but then again he only used 205 words to say it. There might have been a more insightful paragraph written somewhere else on the Internet today, no doubt buried in the middle of some four page article. But pound for pound it's hard to come away from Seth's blog feeling like you haven't gotten your money's worth. That's what makes him the best in the world at what he does, and that's what makes it worth voting up.

<comment><USER14> I don't know from Seth, but I can see he's got a big fan club here.

The "Just do it" them has been oft-used on HN. In that sense, the theme of the article was a re-run. (although perhaps a needed re-run?)

I just didn't get so much from the article. Glad you liked it. I'll keep my eye out for future Seth goodness.

I am getting a little tired of the same dozen commentators on HN. I was hoping we'd be a little more widely read than that.

</comment></comment></comment><comment><USER15> It's the slowest two weeks of the year...does that mean boring posts like this get to rise to the top of HN?

</comment><comment><USER16> I'm curious to see if he follows his own advice. Will check back in two weeks.</comment>


DOT and FAA Propose New Rules for Small Unmanned Aircraft Systems - <AUTHOR> http://www.faa.gov/news/press_releases/news_story.cfm?newsId=18295

<comment><USER2> The proposed rules seem prudent and well-considered. I'm an amateur radio operator, and there are similar licensure, testing, and regulatory requirements in order to ensure the best use of a shared and finite resource. Where radios have restrictions on frequency, aircraft have restrictions on location, where transmitters are prohibited from causing interference, aircraft are controled for safety. Where radio power is limited (to the the minimum necessary for communication), aircraft use is limited to line-of- sight. Most of the populace is unlikely to be an operator (of radio, or aircraft) so it is important that those who are are respectful of everyone else such that their use does not endanger or interfere with ordinary activity.

Just as no one wants an unlicensed transmitter blocking the ability for a cell phone to call 911, no one wants a quad copter falling on his or her head.

<comment><AUTHOR> I thought a while ago that ham radio regulations might be a useful conceptual template and, as you say, that's what seems to be happening.

I imagine we'll see some pushback on the requirements for getting certified (e.g. background check) but that's quibbling at the margins.

I also imagine that some won't like the prohibition on autonomous operation outside line of sight. But that seems a reasonable restriction to me if we're heading toward a spot where there are potentially lots of drones flying around.

<comment><USER3> I heard some of the information that came out of the rule making committee about this time last year. The FAA has the idea that they need to control this as fast as possible, while doing what they can to slow the explosion so that it remains under constant control.

Part of me wonders if the background check (TSA Screen) is just something to weed out people who are on the fence about getting the certificate.

I do applaud some of what they're doing except for the weight classes they have assigned. The 55 lb and under is a huge range. They are making safety rules based on a contraption between the weight of a desktop computer or a toaster. I'm not sure a toaster falling on your head from 500 feet would kill you, but a computer falling from that height surely would.

<comment><USER4> Well, a tape measure that dropped 500feet killed a man[1], so I wouldn't be too confident about something the size of a toaster not killing someone when being dropped 500ft.

Granted a tape measure does weigh less than 2lb (~toaster), but anything dropping from 500feet is still cause for concern.

[1][http://www.krmg.com/news/news/national/tape-measure- dropped-...](http://www.krmg.com/news/news/national/tape-measure- dropped-500-feet-building-kills-worke/nhzBg/)

<comment><USER5> I wonder what the terminal velocity is for a drone that's lost power. It seems like anything that's able to climb to and hover at 500 feet probably won't drop quite like a brick unless things go wrong in a very particular way.

</comment></comment></comment></comment></comment><comment><USER6> This looks reasonable. A 25Kg drone is a serious threat to aircraft, and, reasonably enough, the FAA wants to make drone operators take a test and get a license. UAVs in these classes have to be operated line of sight from the ground operator and under 500 ft AGL, and only in class G (uncontrolled, usually below 1200 feet) airspace.

There's a comment that "operations in Class B, C, D and E airspace are allowed with the required ATC permission." What that basically means is no drones anywhere near an airport, where class B, C, and D airspace goes all the way down to the ground and a drone under 500 feet might be in the way.

"Near an airport" covers a lot of territory near major airports. See "[http://skyvector.com/"](http://skyvector.com/"). Wide blue lines show airspace boundaries. Where you see 100/SFC, that means the controlled area is from 10,000 feet to the surface. Big chunks of metropolitan areas are thus no- drone areas.

If you really need to operate a drone in controlled airspace, it's going to require all the usual procedures for flying in controlled airspace - a flight plan, radio contact with ATC, and probably a transponder so the controllers can see the drone on radar. Sagetech has a 100 gram transponder for UAVs which identifies a drone to ATC radar, just like larger aircraft. So when your drone is taking pictures of a building, ATC can see that it's at 250 feet, sending the ID they issued you with the flight plan, and nowhere near a runway approach. They're in contact with you if they need you to move the drone. This is a lot like helicopter operations in urban areas. This will cover the needs of movie companies, bridge inspectors, and such.

There's a proposal for comment mentioned for a 2Kg "microUAV" class with less regulation. That's useful, and will encourage toy manufacturers to stay below that weight limit.

None of this allows flying drones beyond visual range. The FAA isn't taking on that problem for now.

</comment><comment><AUTHOR> I'm sure there will be a lot of back and forth on the rule specifics, but seems like a reasonable first pass given the state of the technology.

The only thing that really strikes me as a bit problematic is "casual" commercial use in which someone like a real estate agent uses a hobbyist-type drone to do a little aerial photography. These rules seem a bit stringent for something like that although the reality may be the rules for commercial use just get ignored at these kind of margins.

\- An FAA UAS operator certificate will be required for commercial use. I don't think the details of what this will entail have been worked out yet but it explicitly will not have the same level of rigor as a pilot's license.

\- Requires the operator to maintain line of sight to the drone.

\- Can't fly over people not involved in the flight.

\- Certification isn't required for hobbyist use.

\- Considering a more flexible framework for drones under 4.4 pounds.

<comment><USER7> What about property owner permission? I feel like that's something really important. Even if I'm not at my house I should still have a say if someone wants to fly some 50 lb contraption over it.

<comment><USER8> Well you don't own the airspace over your property. Based on existing regulations that's class G and is open and uncontrolled (generally from the ground to 1200' AGL)[0]

And if any of the regs in part 91 end up applying-

FAR 91.13 (a) just says aircraft have to be operated safely. "No person may operate an aircraft in a careless or reckless manner so as to endanger the life or property of another." So unless they were buzzing your house that might be hard to prove.

The regs are loose around dropping items, too- FAR 91.15 [1]. They don't talk about needing property owner permission or anything. Maybe you could twist that in your defense since it is so loose- if something did fall from a UAV.

[0] [http://en.wikipedia.org/wiki/Airspace_class_%28United_States...](http://en.wikipedia.org/wiki/Airspace_class_%28United_States%29#Class_G)

[1] [http://rgl.faa.gov/Regulatory_and_Guidance_Library/rgFAR.nsf...](http://rgl.faa.gov/Regulatory_and_Guidance_Library/rgFAR.nsf/0/ad2ebda6370bb404852566cf0061287a!OpenDocument)

<comment><USER9> FAR 91.119 [1] Proscribes what you describe. Flight below 1000' from the highest obstacle within 2000' horizontal is disallowed in congested areas (cities, towns, etc), and disallowed below 500' AGL in other than congested areas. Clearly small UASs are going to be exempt from those parts akin to the exemption for helicopters in subsection d. But there is no exemption for any aircraft from subsection a, so I'm curious how commercial or hobbyists comply with that.

[1] [http://www.flightsimaviation.com/data/FARS/part_91-119.html](http://www.flightsimaviation.com/data/FARS/part_91-119.html)

</comment></comment></comment></comment><comment><USER10> > "This looks reasonable."

I'm a pilot, so familiar with FAA rules.

The first 3 bulletin points are reasonable, but the last 3 are onerous for UAS operators. Not flying over people will mean not flying in cities, the point of commercial operators like Amazon.

Also, the FAA likes to grant licences so that then they will have power to revoke them at will. Fighting an FAA certificate revocation action is like trying to get off a no-fly list.

<comment><USER11> In a recent podcast by Adam Savage[1], an avid drone enthusiast, drones are described as "cinder blocks with propellers attached" or something to that effect. In one incident described in the podcast, Will describes a multiple- redundant multirotor losing a single propeller and having the vibrations of that cause a cascading failure of the other propellers, ultimately bringing the machine down in an uncontrolled manner.

I think that as a blanket rule it is very appropriate to not allow amateur UAS to fly directly overhead of people not aware that it is there. If a machine should be built that is provably safe against such failures or demonstrates an extreme tolerance to them, then special licensing could be dispensed.

[1] [https://www.youtube.com/watch?v=0RvHI79CyqQ](https://www.youtube.com/watch?v=0RvHI79CyqQ)

</comment></comment><comment><USER12> Note especially that the proposal is for "non-recreational operations" \- FAA tends to make a big differentiation between commercial and private (recreational) activities. I read this proposal as being aimed at movie production, utility (pipeline, powerline) inspection, and similar operations.

Another thing about the FAA - once they write rules, they are generally reluctant to change them, so for anyone wanting to comment on the NPRM, sooner is better than later.

</comment><comment><USER13> These rules are very similar to those already in place in Australia ([http://www.casa.gov.au/scripts/nc.dll?WCMS:STANDARD::pc=PC_1...](http://www.casa.gov.au/scripts/nc.dll?WCMS:STANDARD::pc=PC_100374)).

</comment><comment><USER9> 55lb going 100mph rapidly descending from 500' AGL. Hmm.

</comment><comment><USER14> "The new rules would not apply to model aircraft." I think this is going to be a problem... when does a model become a "small unmanned aircraft system" and when does it not? It seems to me they're at least heavily overlapping, if not synonymous.

Does it have to resemble an existing aircraft to be considered a "model aircraft"? This could easily be open to interpretation of law enforcement. If so, my brother had some "small unmanned aircraft systems" back in the '70s (powered by 049 engines). They were most definitely "experimental designs" as some of them looked nothing like any (manned) aircraft ever produced. This proposal looks dangerously close to something that could make experimenting with new aircraft designs an illegal activity, including those designed for humor. Examples include flying lawnmowers, doghouses and witches. [0] How would they classify my Dragonflies? [1] They certainly don't resemble any manned flying contraption ever made, they barely resemble an actual dragonfly. Would these fall under the "more flexible framework for "micro" UAS under 4.4 pounds"? If so, that's utterly absurd. If your answer is "it's a toy", I agree, but then so are all of the quads and aircraft I've already mentioned. It needs to have a very distinct line distinguishing a "model aircraft" from a "small unmanned aircraft".

It doesn't even say "powered aircraft", so a large hand-launched remote controlled glider could be illegal (yes, I know this is reaching a bit, just trying to prove a point).

It's unclear to me if this will make illegal all of the automated fliers that have been built (such as those suggested on old episodes of Hak5, programmed to fly to a nearby building's roof, park for a period of time, then fly back, etc.). I suspect it will, since it makes repeated references to the "operator" and "line of sight", etc. I saw interviews with people (at DEFCON?) who had created some very impressive auto-navigating (beyond autopilots) craft as well. All of the machines produced with cameras and video feeds for remote operation would suddenly be illegal to fly in the manner for which they were designed. Among those would be a wonderfully implemented one with a full cockpit view. [2]

"A small UAS may not fly over people" This is really vague... "directly over" or just "kinda over" (what range)? Technically, if they're over 7 feet up, they're "over people" so already in violation. This will make flying remote control airplanes illegal in parks too... where will all the hobbyists be able to go? You can't launch and land in a cornfield.

[0] [http://flyingthingz.com/](http://flyingthingz.com/) [1] [http://www.wowwee.com/en/products/toys/flight/flytech/dragon...](http://www.wowwee.com/en/products/toys/flight/flytech/dragonfly) [2] [http://hackaday.com/2014/06/18/rc-plane-flies-with-a- cockpit...](http://hackaday.com/2014/06/18/rc-plane-flies-with-a-cockpit- view/)

</comment><comment><USER15> To me this is similar to old red flag laws requiring a motor vehicle to be preceded by a person waving a red flag.

For fully autonomous vehicles, these US regulations appear to be a barrier. How could merchants pursue autonomous drone delivery?

Perhaps some other jurisdictions, where entrepreneurs have more freedom to innovate with this tech - will show the way.

<comment><AUTHOR> Seriously? There's nothing to keep companies from working to figure out what the challenges/requirements/etc. are for doing home delivery at some point. I also suspect it is quite a long way away and, in the meantime, I don't want to see random companies going all move fast and break things with heavy objects flying through the air above people and in controlled airspaces.

<comment><USER15> Venture capitalists and self funded R&D want rosy market projections.

Sadly, based on sentiment from USA residents, like yours I suppose, I predict the USA is going to lead with military applications only for UAVs.

<comment><USER16> _> Venture capitalists and self funded R&D want rosy market projections._

I want people to not die because somebody "moved fast and broke something."

<comment><USER15> I wonder how many lives would be lost due to failing drones vs lives saved by the timely delivery of medications/defribillators by waypoint-following autonomous air vehicles.

The data will most certainly come either from US military usage or from commercial usage outside the USA. Sad.

<comment><USER16> There's nothing stopping your hypothetical company from getting FAA permission for a trial, even in an urban area. Yes, it requires one of those "lawyers", and requires you to have more of a plan than just "eh fuck it, light it up," but those are features, not bugs. But nobody's going to be prevented from doing even urban-scale testing _if they are actually taking it seriously_ and involving the communities they wish to experiment within.

There's a reason these rules look so much like radio regulations: because screwing it up hurts _everyone_ , so it behooves us not to screw up. Doing dangerous things requires buy-in from more than just your shareholders. And stop with the "oh, woe is us" stuff. It's shitty rhetoric and it doesn't work.

<comment><USER15> Well we are talking past each other.

I predict that timely delivery of life saving medications and medical devices will first happen outside of the USA, in jurisdictions favoring UAV innovation.

[http://www.uasvision.com/2015/02/10/japan-tests-drone- delive...](http://www.uasvision.com/2015/02/10/japan-tests-drone-delivery-to- islands/)

[http://en.people.cn/n/2015/0209/c98649-8847897.html](http://en.people.cn/n/2015/0209/c98649-8847897.html)

And I predict that the in the USA, the military will lead the way with regard to autonomous air vehicle technology for delivery because not the FAA, nor local equivalents, will constrain them where battles are happening.

[http://www.defensenews.com/story/defense- news/blog/intercept...](http://www.defensenews.com/story/defense- news/blog/intercepts/2015/01/02/darpa-drones-intercepts/21196989/)</comment></comment></comment></comment></comment></comment></comment>


Learn React with Copywork - <AUTHOR> https://daveceddia.com/learn-react-with-copywork/ <comment><USER2> I learned React Native by copying the PGA Tour's live scoring app for my group of golf friends -- we'd run weekly tournaments (there are about 20 of us), but we only would ever find out who won when we got back to the clubhouse. Whelp, now we track our scores on the course and have a live leaderboard just like the pros.

One tremendous benefit was that it made it so easy to focus on just the "learning part". With a clear example I was trying to copy, it was surprising how much easier it made it to know what exact "target" I was trying to achieve, and to slowly pick apart all the things that I didn't yet know. "Hmmm, when you click the player's name a sub-view scrolls down to reveal hole-by-hole details.... ummm.... so how do I animate things?" And on and on. Often when learning some of this stuff, you have to kind fight your way through the weeds, and it is oh so tempting in these side projects to then just change the spec all of a sudden. Trying to copy the app kinda held my feet to the fire many times, and gave me the persistence to fight through it.

The other benefit was that since I was learning by copying a polished and well-thought out UX/UI, every step of the way felt like real progress, and not just like I had spent all of this time grokking this thing only for it to look/feel like shit.

<comment><USER3> Not going to lie that sounds like an awesome idea, and a sweet app.

</comment></comment><comment><USER4> My only question is... what does React have to do with it?

\- Learn Angular with Copywork.

\- Learn Vue with Copywork.

\- Learn Cycle.js with Copywork.

\- Learn Purescript with Copywork.

...

\- Learn CSS with Copywork.

<comment><USER5> It applies to basically everything, yes :) Since my blog is focused on React I talked about how to apply it to React.

I debated calling it "Learn UI Development with Copywork" or something broader like that, but I think people have an easier time identifying/benefitting from a thing when it fits their circumstances more closely.

</comment></comment><comment><USER6> This is similiar to goals of [http://codekata.com/](http://codekata.com/) except, this focuses on design, while Code Katas are more focused on algorithms.

</comment><comment><USER7> This looks more like practising software development following a precise specification than copying.

<comment><USER8> Yeah I'm not sure the parallel drawn here between art and webdev really holds up.

It's basically "learn by building things" which isn't particularly insightful or novel. I'd argue that building something close to what you are invested in / care about is the key element of any learning process.

<comment><USER9> No, it's "learn by building things" _with a very tight feedback loop_.

When copying, you can immediately see where your expert has done something differently from you. And you can either learn to do it their way, or understand how different methods lead to different outcomes, and so consciously build your own style.

</comment></comment></comment><comment><USER10> I started my career in front-end world with similar ideas, and copied couple of websites (mostly markup and css). So, while I can agree that it is a good thing to put into your portfolio in the beginning, when you are closer to some middle level, I can't really recommend it.

What does it show, when you just have copied websites in your portfolio? And what is the problem to _almost_ copy (e.g. create a twitter clone, but allow to use only images, or some other limitation)?

So I believe that one should be inspired by existing solutions, but don't copy it blindly. Don't know nice colour scheme? Just go to bootstrap and copy their colours; or simply get it from a website, which design you like.

<comment><USER11> Unless I missed it, nowhere in the article does the author suggest including these kinds of projects in your portfolio.

As Clark Terry said about the road to jazz improv: "Imitate, assimilate and innovate."

<comment><USER12> In the Smashing Magazine article the author links to, Erik Kennedy actually recommends against including in your portfolio [0]

[0] [https://www.smashingmagazine.com/2017/02/improving-ui- design...](https://www.smashingmagazine.com/2017/02/improving-ui-design- skills-copywork/#can-i-put-it-in-my-portfolio)

</comment></comment></comment><comment><USER13> And.. in other news: _Amateur chef that tries to make a 5-star dish ruins it._ * gasp _</comment>


Project Malmo uses Minecraft to make AI smarter - <AUTHOR> https://mojang.com/2016/07/project-malmo-uses-minecraft-to-make-ai-smarter/ <comment><AUTHOR> Also GitHub[1] and Microsoft's article about it[2].

[1] [https://github.com/Microsoft/malmo](https://github.com/Microsoft/malmo)

[2] [https://blogs.microsoft.com/next/2016/07/07/project-malmo- le...](https://blogs.microsoft.com/next/2016/07/07/project-malmo-lets- researchers-use-minecraft-ai-research-makes-public-debut/)</comment>


Ask HN: What MOOC in 2014 do you recommend? - <AUTHOR>

Any new one's out there that you are going to take? <comment><USER2> I'm taking Stephen Boyd's Convex Optimization: [https://class.stanford.edu/courses/Engineering/CVX101/Winter...](https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/about)

This class was one of the early courses with online videos and materials. I think this will be great if you are interested in learning about convex optimization in some detail. This class will be on Stanford's OpenEdx platform with new materials.

Dan Boneh is teaching a two part sequence on cryptography: [https://www.coursera.org/course/crypto1](https://www.coursera.org/course/crypto1) [https://www.coursera.org/course/crypto2](https://www.coursera.org/course/crypto2)

The practical exercises in part I worked through defects in the implementations of cryptographic protocols. If you want to really understand how some of the popular crypto algorithms work, these two courses will help you.

</comment><comment><AUTHOR> I'm going to be taking:

Introduction to Databases: [https://class.stanford.edu/courses/Engineering/db/2014_1/abo...](https://class.stanford.edu/courses/Engineering/db/2014_1/about)

Internet History, Technology, and History: [https://www.coursera.org/course/insidetheinternet](https://www.coursera.org/course/insidetheinternet)

CS169x SaaS - [https://www.edx.org/course/uc-berkeleyx/uc-berkeleyx- cs169-1...](https://www.edx.org/course/uc-berkeleyx/uc-berkeleyx- cs169-1x-engineering-1377)

</comment><comment><USER3> I can't recommend enough Udacity's courses (or that it's good enough that I don't feel the need to check for substitutes).

I'm planning on taking: Design of Everyday Objects Mobile Web Development Design of Computer Programs

And maybe one big data topic.</comment>


EC2 to VPC: A transition worth doing. - <AUTHOR> http://blog.engineering.kiip.me/post/12288961849/ec2-to-vpc-transition-worth-doing <comment><USER2> "All [EC2] nodes are internet addressable."

Not true. You'd have to adjust your Security Group policies accordingly for that to be true.

"All [EC2] nodes are on a shared network, and are addressable to each other."

Misleading. You'd have to be clinically brain dead to allow this to happen by explicitly setting that policy in your Security Groups. You should also try to avoid Tweeting your admin login creds if this is an issue.

VPC has good features not available on EC2 but this perspective on it boils down to "I need a sandbox because I don't understand how firewalls work."

<comment><USER3> All [EC2] nodes are internet addressable.

They all have internet routable ips/hostanames.

Proper use of security groups would address most of the concerns described in the post.

nodes in security group A (load balancer) can access nodes in security group B (app server)

</comment></comment><comment><USER4> TL,DR; According to the author, VPC offers better security because your nodes live inside a non-publicly facing VPN. This also simplifies pre-and-post- deployment processes.

My take from the blog post: VPC is a transition _not_ worth doing, if you are a startup (we are on HN after all), since, and I quote: _[it] requires a substantial amount of domain knowledge [and] VPC is far more complicated than EC2_. Keep things simple, and stay focused. EC2 is perfectly adequate for most endeavors.

<comment><USER5> Big news: you actually need to learn networking if you're going to manage a network.

VPC is just basic networking, reinvented by AWS because they screwed up that part real bad in the first EC2 arch. VPC is not complicated, it probably takes half a day to figure it out. And compared to the ridiculous amount of time it takes to setup EC2 in the first place (when you come from classic datacenter), it's a good investment that's not going to show in the budget.

</comment></comment><comment><USER6> Does this guy know what he is talking about? The default Amazon security policies don't allow anyone to access your machines by the internal IP (or external IP). His link to "Serious security issues" goes to a slideshare on caching. Can anyone write anything on a blog and be an expert? Also he talks about EC2 & VPC like they are different things. VPC is part of the same infrastructure. Is more of a feature.

<comment><USER7> I think if you take a moment to read the context you would have a better understanding of the security issues involved. EC2 acts like one giant multi- tenant network. The only thing preventing access to your nodes is the SG policies, which are fairly trivial to mess up. The linked slides shows people running memcached in EC2 with weak SG configurations exposing their data to the public internet (this includes some very large companies).

The primary advantage of VPC is that it provides a private, single-tenant network. The advantage here is that you don't need to rely on complicated SG policies to maintain security.

Although VPC is part of the same infrastructure, the two have very dramatically different network configurations, which makes then clearly distinct. The networking environment of VPC much more closely resembles what you would have if you were using physical infrastructure. This means you have control over the routing tables, DHCP, DNS, network topology, etc. These are all things which are out of your control on EC2.

<comment><USER8> So: I'm trading the need to cluefully and actively manage and audit my security group policies for... the need to cluefully and actively manage and audit an entire network topology? Which requires a lot more knowledge and moving parts, does it not? Can't you mess up your VPC configuration just as easily as you mess up security groups?

Just because various famous companies failed to properly audit their security group settings doesn't mean it's rocket science. It just means that they didn't notice the problem in advance.

Write a script that captures your SG policies and writes them to a file in some nice parseable format. The dumbest possible version of that might be:

      ec2-describe-group | sort > /home/MY_SG_SETTINGS

where I threw in a `sort` because I don't know that ec2-describe-group returns rows in a consistent order.

Write another script that runs the above command every hour and yells loudly if the output ever changes. Wire that script to (e.g.) Nagios.

Now, use the time you've saved not implementing VPC to write some tests that attempt to connect to various important ports from outside your security group. Log lots of scary warnings if they ever succeed. Wire those to Nagios, too.

Unless your security groups are numerous and complicated, or your developers demand the power to open and close arbitrary ports on arbitrary machines seven times per working day, this would seem adequate for most use cases.

I know there are use cases for VPC, but it doesn't feel like this is one.

<comment><USER7> I'm not saying that one solution avoids the need for setting up things in a sane way. In both cases, you need to configure things properly or you can shoot yourself in the foot.

However, depending on the systems your company uses and your configurations, one solution might be simpler than another. Network topologies tend to be very static. You might have a public subnet, and a few private subnets.

Over time, you might add or remove web servers to the public subnet, or add various services to the private subnets. Especially if you are using a Service Oriented Architecture (SOA), you might have many different services that need to interact with each other, but not with the public internet.

When you are using security groups, you need to make sure to have separate SG's for each category of machine (public, private) and then manage them at a service level, and manage the interaction between multiple SGs. For example, Web should be available on port 80 from the internet, but the DB should only be available on port XX accessible from the Web SG. But also accessible from the same port from a Service SG, etc.

So as you continue to iterate on your services and deploy new ones, you need to be constantly tweaking the security group configurations. With VPC, once you have a sane public/private topology you can forget about it.

Additionally, most SOAs try to provide some form of high availability. For us, that means cross region / cross AZ replication and availability. Doing cross AZ is fairly simple in both EC2 and VPC, but doing cross region in EC2 is a pure nightmare. You cannot apply a security policy across regions, so you have no simple way to allow your nodes to communicate.

Since VPC acts as a distinct private network, we can simply use site-to-site VPN configurations between our regions, and nodes can easily and freely communicate with each other. There is nothing to worry about, since the private subnets are connected over VPN, and are using hostnames that are only routable within our private network.

Don't get me wrong, security groups can be properly used to provide a totally secure environment where only trusted nodes are allowed to communicate. You can add monitoring and configuration testing easily as well. But once you try to scale up past a few servers, move to a SOA, and provide cross-region availability, VPC becomes the simpler alternative.

</comment></comment></comment></comment><comment><USER9> The showstopper for us when it came down to whether we will use VPC or not ended up being a no due to lack of support on elastic load balancing:

<http://aws.amazon.com/vpc/faqs/#E13>

I will certainly revisit this topic when ELB is inevitably available for VPC based customers.

<comment><USER10> This can be worked around by adding a gateway.

Micro instances are also unsupported within a VPC, which is also a showstopper for some.

</comment></comment><comment><USER11> I recently launched a B2B platform that required a VPN connection to each of my customers back end server running a proprietary software package on top of MSSQL. In order for my app server to have access to the client MSSQL server which was on a different computer than the VPN server itself I needed the advanced routing on AWS VPC ...

EC2 was enough for me to prototype my system to get 2 clients on board, but I needed VPC to accomplish the multiple VPN connections that I use ...

Also, my storage servers have no need to be addressable by my clients and/or the Internet at large. So while I could have done that with security groups, having them in a private subnet made things much easier ... and now I know that from an IP level the file storage cannot be found from outside of my VPC.

I'm sure if I sat down and thought about it I would come up with more ...

</comment><comment><USER12> Every time I think of VPC I ponder the missing features and wish that Amazon had made/will make a better job of building an ecosystem around AWS.

In particular, I would love to be able to create & sell managed loadbalancers, accelerators, component applications etc as DevPay billable AMIs. But that's not possible with VPC (and because I'm in Australia), so everyone using VPC has to reinvent a whole bunch of wheels to use it. It's a reduction of value all round.

So ingenious though the general concept of VPC is; two years on, it's still a half-baked product with a high opportunity cost.

</comment><comment><USER13> Cripes - that's a lot of machinery - we simply use security groups as roles, no iptables at all.

The only groups/roles that allow external access are:

      - proxy (80,443 /0)
      - extranet (80,443 office-ips/32)
      - admin (22 office-ips/32)

The rest of the security groups are set up appropriate to the roles eg: db allows 3306 to app,extranet,...

instances can do discovery thru' the ec2 api - looke for a machine wit the role they require.

Once an instance is booted and the packages are installed, it is maybe a minute or less to availability.

</comment><comment><USER14> It's very likely that the memcached instances that they found are companies that were using IP blocks in security groups instead of other security group IDs. This is their own fault.

</comment><comment><USER15> VPC is definitely more like real hardware than EC2 but I take that as evidence VPC is premature optimization rather than support for undertaking this sort of migration.

</comment><comment><USER16> Last I checked, you could not use cluster compute instances within VPC. Nor could you use the Elastic Load Balancer. Just be aware of what is supported and what isn't.</comment>


What are the main flaws in Android OS which still somewhat inhibit its growth? - <AUTHOR> http://www.quora.com/What-are-the-main-flaws-in-Android-OS-which-still-somewhat-inhibit-its-growth

<comment><USER2> It is still cumbersome for users to pay for apps on Android Market.

OS updates are handled by the carriers and the carriers continue to drag their feet.</comment>


Show HN: Marriage Pulse, web app for my wife and me - <AUTHOR> http://blog.marriagepulse.com/landing

<comment><USER2> Your website is all sorts of messed up on my computer. I'm using my monitor in portrait instead of landscape which may account for it but theres overlapping text and a few other quirks. I took a picture for you, see [here](<http://i.imgur.com/0I0INwl.jpg>).

<comment><USER3> I've got my web browser on a second portrait monitor as well, it's pretty common for people to overlook width < 1024px configurations when designing their websites.</comment></comment>


Middleware and Section 3.3.1 - <AUTHOR> http://daringfireball.net/2010/04/middleware_and_section_311

<comment><USER2> It really has been an education watching all the Apple shills stumbling over each other in their rush to defend this transparently absurd claim. Nobody has shown more reckless disregard for backward compatibility than Apple in the modern Jobs era. The idea that they'd let the discomfort of any number of Mono or Flash developers hold back their plans is ludicrous in light of their breakneck pace of incompatible change.

The loads of shovelware in the app store put the lie to the quality claim so let's just focus on what's right in front of our faces. This is all about raising the barrier to writing cross-platform apps and locking down Apple's control in the emerging mobile computing market. The dishonesty with which this naked power grab is sweetened has a positively Soviet flavor.

<comment><USER3> Write-once, run-anywhere is a lie.

If Apple wanted to really hurt their developers, they would allow the App Store to be ruined. Flash developers are not entitled to placement in the App Store, and there isn't a single App Store developer who would look forward to an influx crappy Flash apps.

You can talk about hypothetical scenarios all you want, but as long as the iPhone and the App Store remain immensely popular with developers and users it's very hard to argue that Apple is doing it wrong.

<comment><USER4> But the influx of crappy iFart apps is O.K.?

<comment><USER3> Not it's not. You obviously don't understand how the App Store works or the lengths some developers and marketers go to abuse and game the App Store.

That's why Apple has taken a number of steps to curb the abuse and help promote serious higher-priced apps over the volume of 99-cent apps. It's what developers want and it's what users want. Yet the peanut gallery always howls at these App Store "restrictions".

Like I said, as long as Apple continues to manage the App Store properly it will continue to be immensely popular with developers and users. And the people who don't understand it will continue to criticize it.

</comment></comment></comment></comment><comment><USER5> _Yes, MonoTouch is keeping up to date with Apple's native APIs today, but what happens three, four, five years from now if MonoTouch stops keeping up and hundreds (or thousands) of popular iPhone OS apps are dependent upon it? That's the scenario Apple wants to avoid._

I for one have a couple of applications currently on the iTunes store that I haven't updated in a year, and have no short-term plans to update. Provided they continue to run on upcoming iPhone operating systems, how would these "100% pure Objective-C iPhone SDK" programs be any different for the iPhone app ecology than writing a C# program using outdated SDK bindings?

<comment><USER6> The difference is that you _could_ update those apps if you want to. Your laziness affects your app; Miguel's hypothetical future laziness affects thousands of apps.

<comment><USER7> Metrowerks PowerPlant wasn't open source. MonoTouch is. If Miguel gets lazy, you can still update your apps as long as _you_ aren't lazy.

<comment><USER8> If you had the time/resources/expertise/inclination to support and extend the entire stack yourself, why would you have used the middle-ware to begin with?

<comment><USER7> My understanding is that there are plenty of MonoTouch users out there, and the work required to keep the project up to date doesn't seem huge. iPad support took them 24 hours to implement. I don't think likelihood of stagnation is significant.

</comment></comment></comment></comment></comment><comment><USER9> A key point to keep in mind in this whole debate it mentioned here. There's an assumption on Apple's part that these new platforms are so infant that they're certainly going to be doing major transformations over the next few years. That sort of lends a bit more credence to the demand for control.

</comment><comment><USER10> How is Metrowerk's Powerplant the horror story? Any apps programmed using the classic Mac OS APIs were just as incompatible come OSX.

Are we seriously talking about Apps not being updated with the latest features five years down the track as a reason to ban middleware? Those Apps aren't going to be updated anyway, and if they are they'll probably need a complete rewrite anyway.

<comment><USER6> I think Gruber's point is that regular Mac apps could be ported to Carbon relatively easily, but PowerPlant apps couldn't.

<comment><USER11> I agree that is what he is saying, but as far as I can tell, that is crap. What is so magical about native apis? If a middleware application calls an api and it changes, it breaks, but the same is true for a native application.

<comment><USER12> An author of a native application can update the app himself. An author of an app which is dependent on middleware must wait until the middleware is updated.

<comment><USER13> And in either case, the author needs to be involved. From an end-user perspective, there's one or two parties that could prevent my app working on a new OS version. So don't you always run that risk when you buy software from a small vendor?

</comment></comment></comment></comment></comment><comment><USER14> "MonoTouch is not in the same boat as Flash's iPhone compiler, as it's not a cross-platform framework."

Did Gruber read Section 3.3.1? It says: "Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine"[...]

Section 3.3.1 does not talk about frameworks, it's about programming languages.

<comment><USER15> Gruber didn't say that MonoTouch would be compatible with Section 3.3.1.

>MonoTouch is not in the same boat as Flash's iPhone compiler, as it's not a cross-platform framework. _It's a lighter shade of gray, if you will._ But it's still a layer of middleware between developers and Apple's own APIs. _Yes, MonoTouch is keeping up to date with Apple's native APIs today, but what happens three, four, five years from now if MonoTouch stops keeping up and hundreds (or thousands) of popular iPhone OS apps are dependent upon it? That's the scenario Apple wants to avoid._

<comment><USER14> He is implying it could be compatible: "Flash's cross-compiler, we know, is explicitly ruled out by the new Section 3.3.1. Where MonoTouch stands, however, is not yet clear."

Or isn't he?

How is Flash explicitly ruled out and C# is not?

<comment><USER16> They both are. I think he may have meant that under the conjecture that Apple intends to selectively enforce this, they might be less inclined to exclude Monotouch apps in practice.

</comment></comment></comment></comment><comment><USER17> Insightful - I would say that in the past, however, on OSX, Apple LET metrowerks get that popular, rather than keeping their own IDE and build system take over.... they're trying to counter that this time.

</comment><comment><USER18> I don't get it. That would assume that developers are too stupid to select the right tool for the job by themselves. On the other hand, it is supposed to improve the quality of apps. So you help stupid developers, which leads to a higher proportion of stupid developers on the app store - how does that help quality?

Smart developers should be able to evaluate a framework for themselves, and even use native interfaces to extend existing frameworks if some required functionality is missing. Some of the middleware might even be open source.

It's not even worth arguing about. I don't need anybody to tell me what is the best tool for my job. If they want, educate me, advertise why their tool is the best, etc. But don't force me to do something because they assume they know better than I do what is good for myself (and my app).

I can't imagine why any argument could convince me that it is for my own good to enforce a certain tool. All that is being said, features not being available etc., might weigh in for my decision for a specific tool. But it can never be a reason for such an enforcement.

</comment><comment><USER19> "For example, when Apple introduced in iPhone OS 3.2 the new split views that the iPad uses extensively when rotating your screen, that functionality would have taken too long to bring in a satisfactory way to say Silverlight on iPhone or Flash on iPhone."

Really? [http://blogs.adobe.com/cantrell/archives/2010/04/one_applica...](http://blogs.adobe.com/cantrell/archives/2010/04/one_application_five_screens.html)

<comment><USER20> Yes. All that link shows is the same app running on lots of different screen sizes, with no concessions to the local device beyond resizing the same layout. It's lowest-common-denominator in action, really.

The iPad split views are completely different: when the device is in landscape mode two separate views are side-by-side, when it is moved to portrait one view becomes main and the other hides under a button.

If you're using UIKit it does all this for you, for free. But if a Flash dev wanted it, they'd have to roll their own, or wait for CS6, when Adobe might implement it for them. Either way, take up of the new interface would be massively delayed while Apple waited for Adobe.

Apple's done with waiting for Adobe.</comment></comment>


How Feynman Approached Fermat's Last Theorem - <AUTHOR> http://www.lbatalha.com/blog/feynman-on-fermats-last-theorem <comment><USER2> Love that quote: "the main job of theoretical physics is to prove yourself wrong as soon as possible."

I try and apply it to programming and computer systems. Test test test, prototype before you commit millions of dollars and hours to something that might not work very well.

Unfortunately not everyone sees it my way.

<comment><USER3> It's a beautiful way to approach problems. But one problem I find with it is that I get a bit paranoid with my solutions. Sure, it's not being rejected by any of my experimentation, but is it ready for millions of dollars of commitment? How do I know when I'm confident enough? After all, I went into this trying to prove myself wrong, so my mind is in a place where I'm expecting for it to fall apart.

<comment><USER4> There's another story about Feynman, somewhat related to this issue. He had worked out the V-A structure of the weak force which had been an outstanding puzzle for some time. At some later point he was visiting CERN and they during the tour the guide said something along the lines of "Oh! Professor Feynman! This [huge experiment and expensive detector] is to test your theory of [such and such blah blah blah]."

Feynman smiled and said, "What, you don't trust me?"

</comment></comment></comment><comment><USER5> I love Fermats Last Theorem.

It just looks so innocuous. Especially given early exposure to a^2 + b^2 = c^2

I've always had the unreachable goal to prove Fermats Last Theorem with high school based math.

One day... One day!

<comment><USER6> Have you read Fermat's Enigma by Simon Singh? It's a great book on how Andrew Wiles went about solving it. Great book. Highly recommend you give it a read! [https://www.amazon.com/Fermats-Enigma-Greatest- Mathematical-...](https://www.amazon.com/Fermats-Enigma-Greatest-Mathematical- Problem/dp/0385493622/ref=sr_1_1?ie=UTF8&qid=1514774043&sr=8-1&keywords=fermat%27s+enigma)

</comment></comment><comment><USER7> Previous discussion:

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

</comment><comment><USER8> Beautiful! Of course, no finite probability could ever prove that no solution exists, but being able to say that the odds of a solution are 10^-31 is, for all practical purposes, a guarantee there is none.

<comment><USER9> Well, having such a probably could indicate that the possible solutions "could" happen from 10^31

What a lot of people don't know is that the theorem was already proven for several expoents before the final solution (including for 3 and some others - and multiples of those cases)

<comment><USER10> No, there is a chance of 10^-31 that there is _any_ solution</comment></comment></comment>


Show HN: Haml-rs – Haml parser in Rust - <AUTHOR> https://github.com/jhartwell/haml-rs <comment><USER2> That's sweet!

I wish even more great tools like this were ported to Rust or some other language that makes packaging easy.

Do you think it could be reused to support pug/jade or slim? These are very similar template languages, and like haml, both have dependencies (JavaScript for the former, also Ruby for the latter) that make them difficult to use everywhere.

<comment><USER3> Having toyed around with such concepts I can _naively_ say that templating languages fall into one of three camps:

The first is just alternative syntax: the templating language is, for all intents and purposes, just a sugared version of the destination language. HAML mostly falls into this camp. While it may have some nice features the mapping to HTML is so close that it can easily be implemented in most any language (and you'll notice this Rust version doesn't do Ruby evaluation yet, more below).

The second is logical templates: the language has a limited set of logical constructs (basic types, basic expressions, conditionals, iterators, interpolation) that will handle most of the situations you'll run into. An example is Soy; the languages you list almost fall into this camp as well (more on that below). The problem with logical templates is in the Pareto principle - they're good for 80% (probably more) of your use case but chafe at the remainder. Some have a notion of functions/extensions to help with such coverage but those have to be implemented in each language as well, which can lead to dependency-bloat and code duplication.

The last is embedded language templates: the language is capable of executing arbitrary code snippets embedded in the template. JSX (JavaScript), Jinja (Python), EEx (Elixir), and the languages you list all have this kind of functionality (as does HAML, to spec). The beauty is that they can leverage the full power of their programming language without needing to add extensions. The problem is that they need language support to do so; in order to implement Jade in Rust (to spec) you would need a JS interpreter.

Thus, while it would be possible to support MOST of pug/jade/slim up to the logical level you won't be able to implement them _entirely_ to spec (as they all support unbuffered code) without also dragging along a JS/Ruby interpreter.

</comment></comment><comment><USER4> I wanted this so badly as a Rails dev checking out Rust a few years ago (and still kind of do). At the time, i convinced myself that if I was going to move to a type-safe compiled language i should see if compiled type-safe templates could work for me. I made a note of [https://maud.lambda.xyz/](https://maud.lambda.xyz/) at the time which notice is still going and has a lot of a clean syntax of haml with some of the more rust-y compile time and type-safety aspects.

<comment><AUTHOR> One thing to note, Haml-rs is going to be different than maud in the sense that, at least currently, there is no support for any sort of variables or expressions. You cannot use Rust (or Ruby) in this Haml-rs templates and expect them to render correctly.

It is something that I'm looking into and trying to think of the best way to handle it. Do I cripple variables and get rid of expressions? Do I allow Rust to be used instead of Ruby in the template? It is something I need to think about before working on.</comment></comment>


Apple might be preparing a 'cutthroat' move against Spotify - <AUTHOR> http://www.businessinsider.com/apple-may-be-trying-to-deal-a-big-blow-to-spotify-2015-5

<comment><USER2> _" Apple is talking to music labels about discontinuing their free-music- streaming licenses with Spotify,..[]"_

Newbie here. It is this legal?

<comment><USER3> > Newbie here. It is this legal?

From later in the article: "The Department of Justice is said to be looking into Apple's practices."

This suggests that there are, at a minimum, substantial questions about that.

<comment><USER4> The article was so full of weasel words that I think it ripped my flesh

Has the DoJ or FTC actually put out a comment or press release saying there is an investigation or is it all an echo chamber from a Verge article citing unnamed sources?</comment></comment></comment>


Netflix is down - <AUTHOR> https://www.netflix.com/ <comment><USER2> In other news, productivity in the US skyrockets.

</comment><comment><AUTHOR> As of now confirmed on twitter: [https://twitter.com/Netflixhelps/status/707699033473585152](https://twitter.com/Netflixhelps/status/707699033473585152)

</comment><comment><USER3> Now it's back up for me (1746 EST)--but videos aren't loading (Error code M7111-1931-404)

Edit: Back up for me at 1811 EST with videos loading.

<comment><AUTHOR> Yes, quite some people seem to be affected: [http://downdetector.com/status/netflix](http://downdetector.com/status/netflix)

</comment></comment><comment><USER4> Down for me (1448 PST)

Edit: Back up at (1452 PST)

<comment><AUTHOR> Down again 23:54 CET</comment></comment>


SWIG author on the complexity of SWIG - <AUTHOR> http://code.activestate.com/lists/python-dev/109281/

<comment><USER2> I wrote a library that makes C++ callable from script languages, but instead of parsing headers it uses C++11 template metaprogramming and type inference, so it always parses exactly what the types are because it runs in the same compiler as your code. Unlike SWIG it is becoming simpler over time as I develop more powerful abstractions and I _do_ understand 100% of how it works (although admittedly you have to have advanced C++ knowledge).

Definitely agree with the C++ corner cases thing being a challenge - at times I felt like I was writing another compiler on top of the C++ type system to handle the corner cases. But again, I used powerful abstractions to handle that. For instance, my library uses boost graph library and djikstra's algorithm to handle C++'s tangled web of automatic type conversions.

<http://github.com/dennisferron/LikeMagic>

<comment><USER3> I must say, as a developer of C++ bindings for Guile, a former Io dabbler, and TiddlyWiki user, I am impressed with this project.

Hats off to you sir. Oh, I also do the occasional motorcycle maintenance as well.

</comment></comment><comment><USER4> I've been thinking about how to do this effectively and cleanly for a while now, and I wonder if the right path isn't to use clang to parse the C or C++ code and then generate interfaces from the LLVM IR. As far as I know, all the metadata you need is there, so it might prove simpler than parsing things on your own.

<comment><USER5> We've done this. A modified clang-interpreter spits out some json. Python scripts consume the it and generate reflection data, script bindings etc.

We're very happy with the results. It's a little bit slower than hand parsing the headers, but the robustness more than compensates for it. We set up a unity build (just for the headers) to make up the speed difference.

</comment></comment><comment><USER6> If it shows anything, it is a horrible language design of C++. I wrote a C++ front-end long ago, and it is excruciating.

Later, when I had to write native code to speed up Python, I always used plain old C and swig worked flawlessly.

<comment><USER7> SWIG worked wonders for me too when we had to iteratively lift a dependency on a proprietary ISAM C library in a critical application. The worse we had to do was to handle a bunch of corner cases due to some non-null terminated string handling and be wary of a silly global var which could have bitten us otherwise when multithreading. The extend functionality was awesome to make structs more object-oriented by adding a few key methods.

The key was to handle the resulting Python module as a low level C wrapper effectively allowing us to write "managed C" in Python, which we encapsulated neatly in a library with a much more pythonic API. We then naturally went all the way up and implemented SQL-like API (no parser, just methods) and a Django model subset. A SQL subset parser and DBAPI compliance were planned features. All of that allowed us to develop new features in Python and on Django while maintaining compatibility with the old components (also thanks to Django multi-db support) and making the planned switch to a complete SQL database a drop-in replacement.

</comment></comment><comment><USER8> I was one of the maintainers of SWIG's Ruby module during that rewrite he mentions, and I remember how difficult it became for me to really understand how the code worked. I would just hack features into the Ruby module and be glad when they seemed to work, but it always felt like a house of cards. Fortunately some more talented developers took my place when I gave it up.

</comment><comment><USER9> The SWIG author in question, Dave Beazley, also gave a couple great talks on the Python GIL: <http://www.dabeaz.com/GIL/>

</comment><comment><USER10> I had a bit of a nightmare with SWIG recently, glad to hear I'm not alone! [http://gaiustech.wordpress.com/2011/08/03/ocaml-bindings- for...](http://gaiustech.wordpress.com/2011/08/03/ocaml-bindings-for- coherence-with-swig/)</comment>


Superlanguages: A Revolutionary Approach to Development - <AUTHOR> http://www.theserverside.com/news/thread.tss?thread_id=48741 <comment><USER2> Seems like some marketing department wrote this.

"A superlanguage provides a number of technical features that are specifically designed to close the gap between the concepts in the application domain and the technologies that are used to implement the application. Superlanguages can be used to empower development teams by increasing the sophistication of the tools they use to implement the application."

It doesn't say anything!

<comment><USER3> "Superlanguage" is the marketer's word for a DSL (Domain Specific Language), apparently.

<comment><USER4> from looking at the implementation: <http://www.theserverside.com/news/thread.tss?thread_id=48493>

why? It looks like it'll just make things even more complicated and messy

</comment></comment></comment><comment><USER5> What a pile o words. Summary: Greenspun strikes again.

<comment><USER6> Literally! Chapter 12 "provides a complete mini-Lisp system including a package of builtin operators that you can extend."</comment></comment>