The Bill Gates Line - <AUTHOR> https://stratechery.com/2018/the-bill-gates-line/ <comment><USER2> It's always surprised me that Yelp, like Flickr, and other early services, became stagnant when the mobile transition happened, and failed to leverage the opportunity.

Why didn't Yelp early on see that they could become OpenTable, or GroupOn? In China, services like Dianping combine all three plus mobile payments: Restaurant reviews, booking, discounts, and payment, and even delivery services.

Surely Yelp could have seen how other crowd sourced content farms became commodities? Yelp is trying to blame their problems on Search, but the real problem to me is that they failed to adapt their business model in the face of a sea change in computing and from mounting pressure from competitors like TripAdvisor.

The Yelp CEO seems to be indulging in the classic approach when your business model fails to resort to patent lawsuits, copyright lawsuits, or begging anti- trust regulators for regulatory capture.

<comment><USER3> It reminds me of the "Sears could have been Amazon" post from 2007[1]. I don't know if it's selection bias, but asian companies seem to be ridiculously diverse (Mitsubishi makes cars, elevators, air conditioners, and is a bank. Yamaha makes pianos, electronics, and motorcycles). US companies seem super focused on maximizing their core business. I'm sure they have different incentives that cause this.

[1] [https://www.metafilter.com/62394/The-Record-Industrys- Declin...](https://www.metafilter.com/62394/The-Record-Industrys- Decline#1742245)

<comment><USER4> The US has fluctuated between conglomerates being in vogue and not. GE being one of the last surviving conglomerates and on it's way out. You can chalk this up to a variety of reasons including: tax policy, activist shareholders, etc. Many of the Japanese companies you mention don't have the same pressures to break up.

This article talks a bit about the conglomerate break-ups of the 70s, which includes a great graph showing the rise and fall of such:

article: [https://www.cbinsights.com/research/disrupting-management- co...](https://www.cbinsights.com/research/disrupting-management-consulting/)

graph: [https://s3.amazonaws.com/cbi-research-portal- uploads/2018/05...](https://s3.amazonaws.com/cbi-research-portal- uploads/2018/05/07145033/Conglomerate-chart_0-1.png)

<comment><USER5> My understanding is that the Japanese conglomerates are different from US conglomerates.

The US ones are largely siloed collections of companies across a spectrum of industries.

The Japanese ones are strongly vertically integrated. I was told when I was sponsored by Yamaha for international ski racing competition and at one of their testing camps: 'we mine the ore, make the metal, make the machines that make the tools, make the tools, and then use the tools to make the products'. It's about both controlling the quality all the way up and down the value chain, and also capturing the value-add all the way up the chain (not sure how much of each).

I was quite impressed by their quality and technology, which was the prime reason I went with them. At the time, they were one of only two companies worldwide that could make a pair of skiis that was actually indistinguishable left/right to racers at our level (the other was Fischer which dominated the Swiss, Austrian teams and we wouldn't get their best race stock), and Yamaha had amazing ability to tune the performance properties. I'm quite sure that they could do it because of their strong vertical engineering and QA integration.

(Always seemed like a superior model to me, but I'm not a big biz guy, so what do I know?)

Edit: typos,clarity

<comment><USER6> What kind of ski racing did you do ?

I've never heard about Yamaha skis. But I am from Europe so in alpine skiing (FIS races) I just know the European brands (Rossignol, Fischer, Head, Atomic or even more obscure ones like Stöckli).

<comment><USER5> Same, FIS Alpine racing. Mostly Downhill for me, but raced all events. Mostly on the Europa Cup and NorAm circuits and a bit at WC level.

I'm not sure if Yamaha is still active in racing, but they had some really amazing skis, and they tried out a lot of interesting ideas. One of my favorites was a triple-core construction where two of the cores were a high- energy elastomer pre-stretched in the mold to ~5x their original length. The idea of this pre-load was to have a moderately soft flex but return a lot of energy as the ski un-bent as you exited the turn -- and it worked like crazy -- the best pair of GS skiis I ever had! I also had a pair of 220s to try for DH; they were not fast probably because they had too much energy and vibration on the straights, but they were an absolute blast for hi-speed free-skiing -- just crazy spring out of the turns -- I was sad to have to turn them back in since they weren't going in my race bag.

Fun times...

</comment></comment></comment></comment></comment></comment><comment><USER7> Here's the actual "Bill Gates Line" that the title references

> And I remember when we raised money from Bill Gates, 3 or 4 months after — > like our funding history was $5M, $83 M, $500M, and then $15B. When that 15B > happened a few months after Facebook Platform and Gates said something along > the lines of, "That's a crock of shit. This isn't a platform. A platform is > when the economic value of everybody that uses it, exceeds the value of the > company that creates it. Then it's a platform."

</comment><comment><USER8> > Remember the conditions that led to Facebook's rise in the first place: the > company was able to circumvent Google, go directly to users, and build a > walled garden of data that the search company couldn't touch.

Umm, not really. In the relatively early days of Facebook, Google allowed Facebook access to its "Contacts API" which let Facebook peek into your contacts and find out your GTalk/GMail contacts on Facebook. GTalk was the popular IM client pre-Facebook Messenger and your "social network" resided within your e-mail plus IM client. OTOH, Facebook did not allow access to its "Contacts List" citing privacy concerns (talk about irony!). Google eventually stopped Facebook from access to GMail/GTalk contact lists [0]. Facebook complained but did find a work around to export contact lists [1]. Twitter found a work around to get access to Facebook contact lists - by using the Facebook app for Twitter [2]. But lady irony died again when, Facebook blocked Twitter's ability to do so [3].

[0] [https://techcrunch.com/2010/11/04/facebook-google- contacts/](https://techcrunch.com/2010/11/04/facebook-google-contacts/)

[1] [https://techcrunch.com/2010/11/08/facebook-finds-a-new- way-t...](https://techcrunch.com/2010/11/08/facebook-finds-a-new-way-to- liberate-your-gmail-contact-data/)

[2] [https://techcrunch.com/2010/06/23/twitter-facebook- friends-l...](https://techcrunch.com/2010/06/23/twitter-facebook-friends- linkedin/)

[3] [https://techcrunch.com/2010/06/23/facebook-blocks- twitter/](https://techcrunch.com/2010/06/23/facebook-blocks-twitter/)

<comment><USER9> That's... exactly what the article says. That _Facebook_ created a walled garden that Google couldn't get to.

<comment><USER10> I think the quibble is that Facebook didn't circumvent Google, they used an open API that Google themselves provided. It wasn't an end-around, it was just Google leaving the keys in the door.

<comment><USER11> The "circumvent" part is that Facebook's content isn't indexable by Google.

For example, a website review on Yelp winds up on Google, but a review from Facebook won't show up. Insofar as they're creating content in a walled garden that Google can't access, they're circumventing Google.

(It might not be the best usage of the word circumvent, but I still think it's clear what the author is going for here)

</comment></comment></comment></comment><comment> eigen-vector Pertinent to revisit Yegge's famous platform rant[1].

Companies like calling themselves platforms—more so in the modern times—because they can usually provide one or dimensions of value. For everything else, they need external entities to bring in value which in turn brings more users. Facebook, for instance, could have simply been a directory of friends, maybe with a chat feature and would have continued being that till the next Facebook took its place. They'd have never been a 'social network platform' However, to make money and commoditize the swath of data users were giving Facebook and in turn, make users give them even more data, they needed other companies to provide value in a few other dimensions—games from Zynga, articles from publishers, ads from everyone under the sun. For this, they had to become a platform and market themselves as such.

It is the same case with say Google where they needed companies like Rotten Tomatoes, or Wikipedia to exist so Google can make search results better. Platform today isn't what the Bill Gates quote indicates but is just a way for companies to meet their value providers halfway. I have the data, come build services on top of it. It is a win-win till it isn't—see the Weather Channel pulling out of FB videos[2].

Maybe platforms of yore vied to make their value providers richer than they are, but platforms of today are goldmines for value providers to commercialize that value. For instance, YouTube creators are the value providers without whom YouTube isn't valuable, but for those value providers to make money off the content they create, they are reliant on YouTube. Each YouTube channel is a company of sorts as many many YouTubers are doing it as their full-time job. To say that the value providers' companies should be more expensive than YouTube itself is a funny proposition.

[1] [https://gist.github.com/chitchcock/1281611](https://gist.github.com/chitchcock/1281611)

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

<comment><USER12> > To say that the value providers' companies should be more expensive than > YouTube itself is a funny proposition.

Why? That's the Gates Line. Why is it funny ?

<comment> eigen-vector That's my entire comment about. The Gates line made sense when platforms brought infrastructure. It doesn't when the platform is less about infrastructure and more about providing an audience for the services built on top to succeed.

To clarify, maybe these comparisons are not justified when we're comparing different kinds of platforms altogether. Infrastructure platforms still exist, like AWS and Azure. The solution is likely classifying—in Ben's terms— 'aggregators' into an entirely different bucket called data platforms.

When dealing with infra platforms, the value providers build things on top of the platform and that's where the relationship ends. If company A works on AWS and makes $X MM a year, it could still make the same $X MM if it is built on Azure (all infra costs being the same). Whereas, a content creator can produce the same video and would make less money by hosting on Facebook as compared to hosting it on YouTube. The platform has a direct impact on commercializing the content/value/whatchamacallit.

</comment></comment></comment><comment><USER13> There's a small mental disconnect at the beginning of this article.

The author accuses 60 Minutes of not balancing the story. But does so immediately after noting that Google refused to talk to 60 Minutes.

Sounds like 60 Minutes tried to balance it, but Google wasn't interested in or capable of providing that balance.

An alternative would have been to get industry types to try to explain Google's side of the story, but that's not usually a good idea since nobody really knows what Google is up to except Google. Anyone else is just speculating.

<comment><USER14> They might have done some investigation besides asking the competition to tell them how bad Google is. For example, instead of asking Yelp's CEO if his results should be on top, they could have run a UX study to see if non- interested people find a reordered SERP more or less useful than what Google serves. Maybe this isn't the best alternative but it seems to me it is clearly better than the path they chose.

Also, IMO the claim that 90% market penetration = abuse of monopoly power is very questionable. If the 60 Minutes team wants to run a story taking a clear position on a controversial issue, they ought to assign a team member to play the devil's advocate and point out where their key arguments are so flimsy as this. Then they can either remove or shore up these points. I don't think every news story has to give equal time to "both sides" of the story, but this story did appear to give 100% of time and thought to one side with no scrutiny about whether that side has 100% of the truth.

<comment><USER15> I find it funny that 60 minutes neglected to mention the Yelp documentary Billion Dollar Bully that exposes Yelp's business practices.

[https://www.youtube.com/watch?v=l2dkJctUDIs&t=3s](https://www.youtube.com/watch?v=l2dkJctUDIs&t=3s)

</comment></comment></comment><comment><USER16> Please humor me this reductio ad absurdam question: So does that make a toothbrush company a platform? Because arguably lots of people are avoiding cavities, and that fact seems more economically valuable than the total dollar value of all the toothbrushes sold, or the net present value of all the toothbrush customers in the world. What am I missing here? (I don't think a toothbrush company is a platform company, for the record).

<comment><USER17> I think in this context it's about businesses built on top of the platform and their direct revenue. A person brushing teeth is not building a business and generating revenue.

<comment><USER16> Well it gets defined in the article as 'economic value' not necessarily building businesses using the platform company's features.

</comment></comment></comment><comment><USER18> > Gates said something along the lines of, "That's a crock of shit. This isn't > a platform. A platform is when the economic value of everybody that uses it, > exceeds the value of the company that creates it. Then it's a platform."

Funny how the largest tech companies and many silicon valley startups of this wave are trying to do the opposite.

<comment><USER19> For an Ad-driven revenue company to become a "platform", they must remove themselves from the actual media content and pay royalties to content producers.

Neither Facebook or Google are able to do this wholly, because their user adoption is based on content curation and personalized delivery of repurposed content (page rank, graph rank, feed).

<comment><USER20> Google is a _content_ aggregator and an _ad_ platform, and a lot of people have made a lot of money advertising on google.

<comment><USER19> The point of the article is that the money made by others must exceed the platform.

SEO experts and Doubleclick partners make money only at the whim of Google's policies. Google can make or break a partner's revenue stream with just one change.

<comment><USER21> > The point of the article is that the money made by others must exceed the > platform.

I'd posit that the economic value derived from Google's ad network, exceeds its own revenue from the ads by several fold at a minimum. The majority of the ad network value is going to the businesses that are doing the advertising.

Companies overall have used Google's advertising systems to such a massive degree, because the advertising measurably generates a greater sales/business return than the money they put into the ads. Google's ad network (which yes they ripped off from GoTo.com) was the first large scale advertising system in history to offer such an easy way to judge return on advertising spend. Previously neither radio, TV nor newspapers could offer the kind of instant information that Google ads could on performance (and often they didn't offer any accurate information at all, by which to judge advertising results). Businesses have been voraciously using it for all these years, because it has worked extremely well.

</comment></comment></comment></comment></comment><comment><USER22> I think the article misses one important point. Google is not _just_ an aggregate. They are also a publisher/provider and therefore have massive advantage in placing their products within the results: Home, YouTube, GCP, Gmail, Shopping(!), Etc.

This is the problem, not that they are an aggregator.

</comment><comment><USER23> _Google has had the luxury of operating in an environment — the world wide web — that was by default completely open. That let the best technology win_

What is the effect of Google? Is the web now more or less open than it used to be? Has any of that change been attributable to Google?

<comment><USER24> I am exactly ten years older than the internet and here is what I would say:

1) Google (not Reddit) is the "front page" of the modern world wide web. Before Google, it was AOL (which was a closed network with access to the open internet) and Yahoo. The public internet existed some time before the world wide web, and that was an important distinction back in the mid 90s.

2) Definitely a lot less open and more controlled and regulated in 2018. There was no dark web back then, it was just one web. My first online purchase was a pre-order of Diablo II, tax free and it took forever to arrive :)

3) Yes, Google has been the heaviest and richest lobbying power representing Silicon Valley in Washington for years now, ever since hiring Eric Schmidt and before debuting their IPO. Whether this is a good thing or bad thing will be the measure of how open (or closed) you think Google and companies like Amazon have made the web with their lobbying efforts.

<comment><USER25> > I am exactly ten years older than the internet

Wait wait wait, does InterNet have a precise date of birth?

<comment><USER26> Yes, 1969.

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

<comment><USER25> Why not count NPL? That'd be 1969.

What makes an internet an internet is that it's an interconnection of networks. In 1969, ARPANet is still only one network; by definition it's not an internet. So by that conception, maybe we should date the internet from 1977.

I skimmed that very article before asking my question. The internet isn't the kind of thing that really can be said to have one birthday, unless there's some kind of artificial-but-nonetheless-widespread consensus to declare one.

</comment></comment></comment></comment></comment><comment><USER27> It's ironic that the report criticizes 60 Minutes for being biased while showing its own bias in the same paragraph

> The 60 Minutes report was not exactly fair-and-balanced; it featured an > anti-tech-monopoly crusader , an anti-tech-monopoly activist, an anti-tech- > monopoly regulator, and Yelp CEO Jeremy Stoppelman

Characterizing these people, especially Margrethe Vestager, as "anti-tech" (i.e. simply _being_ against technology) when they're just critical of certain aspects and developments in the industry and don't paint such a rosy picture, is very misleading.

<comment><USER21> Not anti-tech.

Anti tech monopoly. Against technology monopolies.

There's a critical difference.

<comment><USER27> Thank you! That's exactly my point

<comment><USER28> Yeah, I didn't like the barb aimed at Vestager either, mostly because as I'm Irish and appreciative of her making our Government collect taxes properly.

</comment></comment></comment></comment><comment><USER29> The underlying reasoning about Yelp's argument here is not that great:

 _> There are three problems with this argument [that the answer box is anticompetitive]... First, the answer box originally included content scraped from sources like Yelp and other vertical search sites; under pressure from the FTC, driven in part by complaints from Yelp and other vertical search engines, Google agreed to stop doing so in 2013._

This is not really a problem with the argument. Scraping content is just another form of anticompetitive behavior.

 _> Second, in a telling testament to the power of being on top of search results, Google's ratings and reviews have improved considerably in the two years since that video was posted..._

Also not really a problem. Blocking your competitors is probably going to help you gain more market share, which is a major factor in the quality of crowdsourced content.

 _> Third — and this is the point of this article — what Yelp seems to want will only serve to make Google stronger._

So, Google is incapable of engaging in anticompetitive behavior by blocking Yelp because they're really only hurting themselves in the long run _if you really think about it_? This is contorted reasoning. Even if blocking competitors is an ill-advised strategy, it is still anticompetitive behavior.

<comment><USER30> The question is what specific anti-competitive action Google is taking. It would be very strange to decide that, simply because Google's made a really good service everyone prefers to use, they should be forced to pay Yelp for permission to display Yelp's content in their results.

</comment></comment><comment><USER31> I'm not sure I buy this thesis. If companies were not making more money than they were spending then they wouldn't be advertising. This suggests that the vast majority of the value is captured by the ecosystem and not Facebook or Google. Moreover, how many billions of people get value from Google and Facebook every day?

</comment><comment><USER32> From a user of both services, and not a lawyer - Yelp has burned all benefit of the doubt by seemingly basing their business on deception. I find using Yelp to be extremely difficult as I end up frequently reading an advertisement instead of a review despite double-checking first (!), I find myself locked out of Yelp content frequently (I have an account! Maybe I'm not signed in? Who knows? Or am I trying to use the website and not their app? etc).

Yelp frequently leads users to believe they have information right in front of them when the user has no such thing. Given that this is the current state of affairs, and has been for years (always?) I would think Yelp would have exactly 0 credibility when it comes to them trying to make things "fair" in search results.

Why should a society bend for Yelp when Yelp has done everything in their power to deceive us through poor UI, poor UX, misleading links, what I would even call false advertising? We shouldn't.

\--

Edit: As a point of comparison, on Google you know when you're reading a review and when you're seeing an ad right away, there's no confusion or deception or lies there.

<comment><USER33> The app wall is extremely frustrating for me.

<comment><USER34> It makes no sense. Why do I need a separate app to view a web site? That's right. I don't. I always have to switch the the desktop version on my phone. They had to go out of their way to hinder their mobile web site and make it nag to install the app.

</comment></comment></comment><comment><USER35> Hmm, this is interesting but not completely clear.

In this paradigm, what's the difference between a platform and a tool?</comment>


Last Mile Logistics: Amazon vs. Fedex vs. Startups - <AUTHOR> http://www.datafox.co/blog/last-mile-logistics/

<comment><USER2> What's interesting to me is that "last mile logistics" is essentially a commodity business. But there are two very common trends in the space that don't quite make sense to me:

1\. Treating delivery drivers as "independent contractors". This seems to be a very common approach, with all kinds of plausible motivations (limiting liability, making variable demand handling easier, being able to call your service a "platform", keeping headcount cosmetics appealing for parent VCs, etc). Historically, delivery driving is a usually regulated and often unionized industry, so I wonder if this approach will scale. There are also often distortionary impact of these contractors on overall regulated wage industries (hint: your postmate probably does not make a living wage for the time spent being a postmate). Viewed from the lens of potential acquirers, if your "efficiencies" are based around not paying drivers in the same way they have been historically paid, that is not something I need to acquire.

2\. User acquisition seems to be at a premium - quite a few of the delivery- on-demand businesses in San Francisco have been running generous new user and user referral discounts recently. It makes sense if their goal is to increase user rolls, but I find that most of these services have limited, if any, lock- in effects [a]. Obviously, in order to innovate on delivery-at-scale, companies must first achieve sufficient scale to be able to prove out new ideas. But, from my peanut gallery seat, the user acquisition strategies appear to be driven more by the "acquire users first and monetize later" strategy that happens when many similar VC companies are competing for the same users. Amazon/Google/etc don't tend to get excited about acquiring you for your user base, unless you can demonstrate high brand value or user loyalty, which seems particularly challenging in this industry.

So, my $0.02 is simply that platformization followed by paid user acquisition seems to be the template for this industry, and yet it does not make sense to me.

[a] I have heard recently of a local, "last mile" food delivery start-up that is approaching it's vendors with exclusive sales agreements. I am not sure how effective this well be - the business from whom I heard that also found the request completely ridiculous.

</comment><comment><USER3>
      Amazon's in-house delivery initiatives have not been
      without hiccups. [...] Perhaps Amazon could benefit from
      the slew of startups entering the space, either through
      acquisition, or by learning from and copying and
      identified best practices.

Seems to me if you're going to acquire a company for its experience, it would be better to acquire a company that had experience.

The startups that are legible in their 'age vs quality estimate', Kanga and Shyp, rely on self-employed subcontractors using smart phones. Here in the UK, delivery services like Yodel that use self-employed drivers have shitty reputations [1]; if Amazon want to improve end-to-end customer experience, I'd be surprised if they went down that route.

[1] [http://www.theguardian.com/money/2014/jan/10/yodel-worst- par...](http://www.theguardian.com/money/2014/jan/10/yodel-worst-parcel- delivery)

<comment><USER4> Most of my packages from Amazon over recent months have come via Amazon Logistics. Since our office reception takes delivery I don't know if they are using self employed drivers, but they do seem to have the notification infrastructure right as I get an email about the package being delivered before office reception can phone me. If they can start to narrow the estimated delivery time down then I think they'll have really improved things.

</comment></comment><comment><USER5> With Google Shopping Express & Instacart as well as the Postmates and DoorDash's of the world - I keep wondering...at what scale do these become huge businesses? Especially Instacart and GSX - they have someone go shopping and bring stuff to my home for $4 and for free right now. I guess it's user acquisition land grab + demand aggregation? And then they can go the route of private labeling the best goods and ultimately own the customer and then charge higher prices? They can't possibly make real $ at $4 per delivery, can they?

<comment><USER6> These services charge more for the items purchased than what you would expect if you were to purchase them at the store yourself. The $4 per delivery is simply a facade.

<comment><USER7> No, they don't. Google is quite clear that its prices for Google Shopping Express are the same as in store: [https://support.google.com/shoppingexpress/answer/3423377?hl...](https://support.google.com/shoppingexpress/answer/3423377?hl=en)

<comment><USER8> Google Shopping Express will also use your own Costco membership to make purchases (and I believe they do similar for other store discounts/memberships). I just got a delivery of Frozen on bluray at the Costco sale price of $15.99 and I get my 2% back too ;)

Kind of a shame Google won't charge more for the service. I do not want it to go away. I would pay $30/hr and up if they also did perishables instead of having to figure out how much more random amount I'm paying instacart or other services. I would even use it to replace my Amazon purchases to an extent...

</comment></comment></comment></comment><comment><USER9> [https://www.youtube.com/watch?v=urs68vf7ZFY](https://www.youtube.com/watch?v=urs68vf7ZFY) I've been doing my last-mile logistics by drone for a while, is that OK?

</comment><comment><USER10> Same as supermarkets - once you own more of the wallet you'll get the margins. They're just shifting it from the supermarket to them.. quietly.</comment>


Twin primes conjecture: A huge discovery about prime numbers - <AUTHOR> http://www.slate.com/articles/health_and_science/do_the_math/2013/05/yitang_zhang_twin_primes_conjecture_a_huge_discovery_about_prime_numbers.html <comment><USER2> I am not that much strong in mathematics but I know what he has found. (y)

If his theory can predict the bounded gaps between two prime number then it is really a huge milestones. The article that you have shared is really very insight full with great citations and hyperlinks.</comment>


Hosting company stole my website, and my domain name – what should I do? - <AUTHOR> http://whoapi.com/blog/1091/hosting-company-stole-my-website-and-my-domain-name-what-should-i-do/

<comment><USER2> That's a long account, but without anything remotely resembling useful advice. Here's the advice that should have been included:

1\. Always register your domain name with a company other than your hosting provider. Don't even allow the domain registrar to be owned by the same corporation.

2\. Always maintain a complete, separate copy of the website's content. Never allow the only copy of a Website to be in the hands of an ISP.

If the above two steps had been taken, the story told in the article would have been impossible, and the client could have told the ISP to go to hell and moved on to another provider.

In the above 100 words, I explain everything you need to know to protect yourself from unscrupulous Website providers. By contrast, in the linked article's 900 words, there is not one useful piece of advice, just a long, incoherent narrative about how unfair life is.

<comment><AUTHOR> Thanks lutus, I included your tips, they are on the spot. I will try to explain my post. The tip "keep a separate copy localy" or "domain name and hosting shouldn't be in the hands of the same company" wouldn't mean anything to my friend who is an artist. She just "lost her website". To her, there is no domain name, hosting, files, its just a website.

This article wasn't about advanced user such as yourself, you don't need protection and advice how to avoid this. And my writting style is passionate, I am telling a story, not providing bullet points on advice like - Here's 10 advice you should follow so you don't get screwed over by a hoster. It was about a friend of mine who is an artist and got screwed over, and now she will go around tell people how techies are bad guys.

<comment><USER2> > To her, there is no domain name, hosting, files, its just a website.

Yes, and we can see from your article where that got her, and what she needed to know -- solutions not in your article.

> This article wasn't about advanced user such as yourself, you don't need > protection and advice how to avoid this.

Yes, that was my point -- because your article is meant for the average nontechnical ISP client, it should have included the two pieces of advice I gave. And my points could be phrased in a way that would be comprehensible even by a liberal arts graduate .. I think. :)

> And my writting style is passionate, I am telling a story, not providing > bullet points ...

But if the points I made had been known to the victim, no passionate recital would be required. Therefore I think they should have been included.

> It was about a friend of mine who is an artist and got screwed over, and now > she will go around tell people how techies are bad guys.

Please try to understand that your article only generates heat, not light. The remedy for the problems it describes requires far fewer words than a rant about the consequences of not knowing a few simple principles. And remember this is Hacker News, not a tabloid -- people come here for the light, not the heat.

<comment><AUTHOR> Ok, thanks for the honest feedback. I'll do better next time.</comment></comment></comment></comment>


Portrait of an Artist as an Old Man: Mel Brooks in His 90s - <AUTHOR> https://www.theatlantic.com/entertainment/archive/2018/07/portrait-of-an-artist-as-an-old-man-mel-brooks-in-his-90s/564683/?curator=MediaREDEF&single_page=true <comment><USER2> I find it bemusing to imagine Mel Brook's movies being released today. Think about Blazing Saddles. It'd be met with nonstop claims about all sorts of _isms_ and _ists_ with coordinated Twitter attacks to try to hurt Brooks or any company that facilitated it or its release. And of course he is not, nor are his films. In a way it's the same thing that's already happened to Mark Twain and The Adventurers of Huckleberry Fin. It's now been banned in numerous US schools under typically facile implications of _isms_ and _ists_ , because of a certain word.

The thing I find most bewildering though is that people seem to no longer actually care about content or context - it's all about the most incredibly superficial approach to everything. It's interesting that both Mel Brooks with Blazing Saddles, and Twain with Huck Fin, made a point of contrasting the superficiality and nonsensical nature of labels against the strength of character of those being labeled. The slave/prisoner in both tales being one of the only decent and honorable peoples in their respective stories.

Just kind of sad to feel like we're regressing so much and calling it progress.

<comment><USER3> Oh come on, Huck Finn has been banned in stupid schools for _decades_.

</comment></comment><comment><USER4> Mel Brooks features in two Joseph Heller (of Catch-22 fame) books: No laughing matter and From Coney Island to here. It is amazing to read about how Mario Puzo (of The Godfather), Mel Brooks, Joseph Heller, Speed Vogel spent their evenings together, playing cards, eating dinner, watching TV and just 'shooting some shit' as friend do. The passages in the book reminded me of impressionist painters gathered in a Parisian cafe talking about where to get cheap turpentine (as depicted in the book 'Lust for life'). Worth a read! There is also an article where two old friends (Brooks and Heller) meet again:[https://www.washingtonpost.com/archive/entertainment/books/1...](https://www.washingtonpost.com/archive/entertainment/books/1979/03/11/mel- brooks-meets-joseph- heller/1f2e9a54-724f-4bf7-b000-460d1d778d18/?utm_term=.e18d582009f7)

Also, in one of the brilliant episodes of Jerry Seinfeld's Comedians in Cars Getting Coffee, he pays a visit to Mel Brooks and Carl Reiner (with Chinese Take-out food) — I highly recommend watching that to get a glimpse of sharp incisive wit in full action at age 90!

Edit: this link is better [http://articles.latimes.com/1998/feb/27/news/ls-23428](http://articles.latimes.com/1998/feb/27/news/ls-23428)

<comment><USER5> Chinese? There were definitely sandwiches. Maybe there was also Chinese, but definitely sandwiches.

<comment><USER4> Yes. Roast beef sandwiches, Potato salad and soup :)

</comment></comment></comment><comment><USER6> It's a great pity that today's generation can't appreciate Brooks' greatest works. Too politically incorrect.

Of course the irony is that Brooks' work was groundbreaking for it's time. He skewered everyone equally, except for bigots who got a double dose. But in today's society, much of it would be considered too raw. It really is a shame, because it teaches us all to laugh at ourselves.

<comment><USER7> Really a whole generation? Anecdotal but I and so many of my friends in our early twenties adore Mel Brooks

</comment></comment><comment><USER8> Spaceballs and Blazing Saddles are my favorite movies from him.

</comment><comment><USER9> Young Frankenstein was written and developed by Gene Wilder. It was definitely not born out of Brooks' obsession with Mary Shelley's novel and even Brooks would hardly say so!

<comment><USER10> You may well be right, but they certainly share a screenplay credit.

</comment></comment><comment><USER11> This passage resonates especially well with today's times:

Audiences hoping for safe spaces—especially Jewish audiences—can be rudely jostled by Brooks's wilder moments. The musical number "Springtime for Hitler," first unleashed in the movie version of The Producers (1968), of course turned Nazism into merry choreography—boys and girls singing and dancing in S.S. uniforms and regalia. The joke was something more than a joke. Those who had seen Broadway shows in the '50s and '60s knew how closely Brooks adhered to the shape and sound of Broadway style. The audience for musical comedies was heavily Jewish, so the wit was partially aimed at them and at Jews in general—an audience inclined to feel itself a victim of history.

</comment><comment><USER12> Lil' old man!

</comment><comment><USER13> Profiles like this seem to only be published when someone's pretty near death. (the Leonard Cohen new yorker profile being a good example).

not looking forward to that—Mel Brooks is a national treasure.

<comment><USER14> Excellent use of confirmation bias?</comment></comment>


RubyConf 2008 Keynote - Fuck Ruby - <AUTHOR> http://rubyconf2008.confreaks.com/keynote.html

<comment><USER2> Interesting talk, although as he calls out, his ideas are reinventions of other languages.

I really like ruby in the historical context of scripting languages. It's a perfect child of perl, has roots in shell scripting, and makes "normal" tasks trivial. Open a file, print all lines is quick and easy for instance.

I feel like ruby has mastered it's niche and other languages have mastered theirs. If I want parallelism, haskell makes a lot of sense, due to the riggerous math and magic it has to verify everything.

For his closure based language, he invented javascript. And so on.

I'm not against any of these ideas in particular, but I don't think Ruby is a great start language to shoehorn into other ideas, or other types of languages.</comment>


Automerge: JSON-like data structure for building collaborative apps - <AUTHOR> https://github.com/automerge/automerge <comment><USER2> Wow! I really, really like this because the goal appears to be to expose CRDTs in a developer-friendly way. I truly believe that well-designed CRDTs are the future for a _lot_ of distributed systems problems, but they've been a bit hard to get into for people who just want to solve problems and not read 10 papers first.

The only thing I miss here is a clear spec of the CRDT itself so that people could implement compatible versions in other languages.

<comment><USER3> Conflict-free Replicated Data Type[0], for anyone else who didn't know what CRDT means.

[0]: [https://en.wikipedia.org/wiki/Conflict- free_replicated_data_...](https://en.wikipedia.org/wiki/Conflict- free_replicated_data_type)

<comment><USER4> I've spent almost a decade working on CRDTs, largely from an industry perspective but also some academic side.

They're great, and not too hard to understand if you take time to think about them.

Here are some animated/interactive cartoon explainers we've made to help teach the concepts:

\- How a CRDT version of Operational Transformation (Google Docs) works: [http://gun.js.org/explainers/school/class.html](http://gun.js.org/explainers/school/class.html)

\- Why CRDTs are better than centralized alternatives like PAXOS/RAFT: [http://gun.js.org/distributed/matters.html](http://gun.js.org/distributed/matters.html)

Martin Kleppmann's work (author of Automerge) is outstanding, especially check out: [https://youtu.be/yCcWpzY8dIA?t=29m36s](https://youtu.be/yCcWpzY8dIA?t=29m36s)

<comment><USER5> I have a rather specific question, in case you know. What would be the best CRDT algorithm for editing a document consisting of (i) nested lists, (ii) strings, and (iii) some primitive values?

I'm looking at Kleppermann's JSON work. But it doesn't look like it handles collaborative editing of strings very well: they have to either be treated as an immutable value in a register, which doesn't allow for collaborative editing of the string, or treated as a list of characters, which would have to represent large edits (e.g. deleting a word) as a sequence of character edits, which sounds inefficient. Kleppermann's work also handles maps, which I don't need, which is fine.

For context, I plan to make a tree/structure editor, and am considering representing the document as a CRDT.

<comment><USER6> (not an expert)

Treating the long string like a list of substrings should work, I guess the optimum substring length could be determined experimentally based on real- world interaction patterns.

</comment></comment></comment></comment></comment><comment><USER7> CRDTs can provide an elegant solution to some problems but they are not powerful enough to be used as a general tool. If you change the title of your task card on two different devices, there is not much you can do to automatically merge those changes besides using some simplistic policy like last write wins which will not yield the desired result in general.

CRDTs require the operations on them to commute or equivalently that state changes are monotonic. If your application fits those constraints you can probably build a quite elegant solution but unfortunately that is the exception rather than the norm, most operations are not commutative.

EDIT: This was meant to be a reply to [1] instead of a top-level comment.

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

<comment><USER8> In fact, one of the purposes of this project was to test exactly what it was like to use a Trello-like tool implemented this way.

What happens is that humans have intuitive coordination systems and tend to fix the same problems.

In other words, if the card title is "rename auotmerge" then both of us are likely to change it the same way, or at least either resolution is fine. In the event of a conflict we flag the multi-value in the UI so that a human user can decide if they care.

Where this approach shines is in domains where it helps avoid conflicts rather than resolving them. Naively adding replies to a comment thread might result in collisions or misordered comments across nodes of a distributed team. Automerge captures enough metadata from the operations created by users that changes "tend" to merge well.

I realize this is an argument not from first principles but from experience. We weren't able to find examples of other people building web applications with quite this approach (though we would love to hear from them if they are out there) and so the question was "will this feel alright?"

Apparently it does.

If you find this result provocative, I would encourage you to challenge it by attempting to build something with automerge and letting us know how it goes. I believe it will work well in applications where all user operations can always commute to produce a subjectively reasonable result. To make that concrete, a bank account is a poor domain to model with a tool like this, but a shared drawing is much better.

<comment><USER7> As you say, I am certainly working in the wrong domain for this and such an solution would never be acceptable. You certainly don't want edits to things like insurance claims, medical records, or financial transaction made in a way that edits somewhat randomly disappear and hope that people will notice and fix it.

This might work to some extend for a toy example like a simple task management application but I would bet even then users would quickly get annoyed about losing their edits. And you also can not really claim that your are not losing edits because you keep them in a list of conflicts because for all practical purposes they are gone unless you build a solution to explicitly deal with them which renders trying to use CRDTs mood.

I think unless your operations map cleanly to CRDTs and you get the expected and correct behavior all the time, trying to use CRDTs will just cause additional pains and not provide any benefits. Trying to force general data structures with general, non-commuting operations and CRDTs together just seems ill-fated to me.

</comment></comment></comment><comment><USER9> Worth noting is the fact that this does not require a central transformation server unlike Google Docs' OT approach.

This means you can sync peer-to-peer without an Internet connection if say you have a Bluetooth connection between your phone and your laptop on an airplane.

Martin Kleppmann explains CRDT in detail in an episode of Software Engineering Daily.

[https://softwareengineeringdaily.com/2017/12/08/decentralize...](https://softwareengineeringdaily.com/2017/12/08/decentralized- objects-with-martin-kleppman/)

</comment><comment><USER10> When I learned one thing about collaborative apps, it's that there is no automerge that works for all use-cases.

Couchdb does it the right way, it simply keeps all versions and lets the application logic decide which is the "one true state".

<comment><USER11> Automerge is very similar.

If there are conflicts, it returns a _conflicts property on the object so you can retrieve the other conflicting alternatives so the application logic can write another change if it wants to use a different alternative than the one that was automatically chosen.

<comment><USER12> I'm confused. What's the point of `_conflicts` property if conflicts are automatically merged?

The linked project README, and even the CRDT Wikipedia page, seem to claim that conflicts are _avoided_ , whereas, at least in my mind, these are more like _strategies_ to automatically privilege one version in the event of a conflict.

<comment><USER13> From my reading of the docs, Automerge will arbitrarily pick a "winning" document in the case of a conflict, but guarantees that the same winner will be chosen if the merge were to occur, for instance, in a different order:

        // Pretend doc1 and doc2 are already Automerge objects
        let doc1 = { x: 1 }
        let doc2 = { x: 2 }

        // x will be either 1 or 2 (arbitrarily chosen), but
        // res1 will always == res2 regardless of choice
        let res1 = Automerge.merge(doc1, doc2)
        let res2 = Automerge.merge(doc2, doc1)

        res1 == res2 // true

However, there may be cases where you want to manually resolve conflicts, and if that is the case, the `_conflicts` property is there so that you can undo whatever merge occurred automatically and set the "winner" yourself.

<comment><USER14> If it's "arbitrarily chosen", but the result is always the same regardless of order, what is the algorithm that decides?

<comment><USER13> There's different ways you could do it, like calculating some hash of the value and picking the one with the greater value. If the hash function is good, then you get an "arbitrary" result that would still be consistent regardless of order.

</comment></comment></comment></comment></comment></comment><comment><USER15> Several years ago I made jsonmerge, a Python library for merging standard JSON structures. The rules for resolving conflicts are encoded in a standard JSON schema document that is extended with some (non-standard) keywords.

[https://github.com/avian2/jsonmerge](https://github.com/avian2/jsonmerge)

[https://www.tablix.org/~avian/blog/articles/talks/tomaz_solc...](https://www.tablix.org/~avian/blog/articles/talks/tomaz_solc_jsonmerge.pdf)

</comment><comment><USER16> This is how you're supposed to write documentation. Excellent descriptions, explanations and examples.

</comment><comment><USER17>
        To change the state, you can use the regular JavaScript array mutation
        methods such as push(). Internally, Automerge translates this mutable API
        call into an update of the immutable state object. Note that we must pass in
        doc1, and get back an updated object which we assign to the same variable
        doc1. The original document object is not modified.

Hmm. I like having the _option_ to use mutations to describe changes to the document, but in many cases I would actually prefer to use pure functions. Can I just return a new document with the necessary changes? I don't see any such examples in the docs here.

</comment><comment><USER18> > If the state was concurrently changed on different devices, Automerge > automatically merges the changes together cleanly, so that everybody ends up > in the same state, and no changes are lost.

> Different from git: no merge conflicts to resolve!

This is impossible unless there are significant restrictions on what kind of operations are possible.

If I have a bag of 15 apples, and I take 10 of those apples at the same time as somebody else takes more than five apples then we have a merge conflict right there because we can't end up with a negative amount of apples in the bag.

<comment><USER19> Another problem is this. Let's say there is a counter that is at value 100. I increment the counter. Simultaneously another user increments the counter, so the stable value should be 102. However, a operation-agnostic "merging" approach like described here can never catch that, and sets the final value to 101.

<comment><USER20> My experience is with OT, so I can't speak for CRDT, but I can imagine it's similar.

With OT, you send a na[1] (number add) operation, so this would work fine. Indeed, if you treat the number as a string, then you have a problem.

[1]: [https://github.com/ottypes/json0#summary-of- operations](https://github.com/ottypes/json0#summary-of-operations)

<comment><USER21> This doesn't compose with all operations. One users adds and another user multiplies, for example. That is to say, not all operations are associative.

I bet you can run really far with this general idea. But there is no panacea.

<comment><USER20> You're absolutely right, but I'd also never suggest a collaborative system for anything critical. As I've said earlier in this thread: If you're in a Google Docs document with a buddy and you write "A" and he writes "B" at the same time, you also don't know whether that'll show up as "AB" or "BA". In practice, this isn't an issue.

<comment><USER21> To underscore our point, concatenation on strings is not associative, either.

To that end, the basics of math in associative, cumulative, distributive, etc., go together to create an algebra of what you can automate rather easily. I think most of us stopped thinking in terms of those laws years ago. To the point that it is probably odd to folks that stayed close to them.

<comment><USER22> > To underscore our point, concatenation on strings is not associative, > either.

I think you mean commutative. It certainly is associative.

<comment><USER21> Ha! Yes. I meant to draw attention to all of the fundamental laws people are used to. Messed up in some edit.

Thanks!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> The description contradicts itself:

> Different from git: no merge conflicts to resolve!

But later:

> The only case Automerge cannot handle automatically, because there is no > well-defined resolution, is when users concurrently update the same property > in the same object (or, similarly, the same index in the same list). In this > case, Automerge arbitrarily picks one of the concurrently written values as > the "winner":

...

> Although only one of the concurrently written values shows up in the object, > the other values are not lost. They are merely relegated to a _conflicts > object

<comment><USER24> Sooooooo

>git merge --strategy-option=theirs

</comment></comment><comment><USER25> This is cool! I've been thinking about this a lot in a similar domain (JSON / YAML for configuration), and I've come to the conclusion that anything approaching manual merge is pretty much the worst thing ever.

The domain I'm specifically thinking of is managing routing rules, like nginx configs or control-plane configs for Envoy. It's really tempting to simplify it down to a config file, then you version-control it, then you get merge conflicts, and all of a sudden a bad merge makes 10% of your services unroutable. Which is hilariously bad.

Having an auto-merge for those sort of configs seems like the only reasonable way to do it. Escalating conflicts up, from easy merge, to trying an automatic strategy, to surfacing conflicts to the user in a domain-specific way, seems like the only way to do it!

</comment><comment><USER26> Does anyone have any experience and can offer a suggestion on javascript libraries that will handle text editing (like google docs or etherpad) and which can be dropped into a site and which aren't locked into a particular service or backend?

I.e. basically something like this but for text?

<comment><USER27> [ShareDB]([https://github.com/share/sharedb](https://github.com/share/sharedb)) is the most commonly used, we use it extensively - also has bindings to rich text or code editors. [Y-js]([http://y-js.org/](http://y-js.org/)) is a more academic project, also based on CRDTs I think.

</comment></comment><comment><USER28> I've been working on Observed-Remove Map and Set implementations that replicate the native Javascript API, as well as versions that use IPFS PubSub for synchronization.

* [https://github.com/wehriam/observed-remove](https://github.com/wehriam/observed-remove)

* [https://github.com/wehriam/ipfs-observed-remove](https://github.com/wehriam/ipfs-observed-remove)

The inherent tradeoffs can be challenging to explain. For example in these implementations, there are caching constraints on certain delete operations.

Automerge looks fantastic, and I look forward to more progress in the space.

</comment><comment><USER29> How does this compared to differential synchronization used by google drive? [https://neil.fraser.name/writing/sync/](https://neil.fraser.name/writing/sync/)

<comment><USER30> I love Differential Synchronization. Howevr, Google Drive doesn't use it.

More specifically, by Google Drive, I assume you mean Google Docs. And Google Docs doesn't use diffsync, it uses OT.

<comment><USER29> What's OT?

why doesn't google docs use DS? Who uses DS?

What's the best choice of making something similar to google docs' co-edit feature?

<comment><USER29> I found this page informative and interesting

[https://operational- transformation.github.io/visualization.h...](https://operational- transformation.github.io/visualization.html)

it has a live visualization of the OT algorithm

<comment><USER31> The live visualization was a lot of fun to play around with.

</comment></comment></comment></comment></comment><comment><USER32> So this is to paths (keys and indexes) in a JSON object what git is to lines in a text file ?

Could git be configured with a different diff algorithm to have this functionality, or is it too tied to lines ?

</comment><comment><USER33> This would work great with Firebase too. I remember writing a collaborative document editor similar to Google docs and the "document" was basically JSON with nodes for headlines, paragraphs, etc that multiple users could edit in real time.

That time I just used to write the whole JSON to firebase (with flock like locking) and it was really bad but since it was just a weekend project I didn't care much at that time. Bet a library like this could have saved me a lot of headache.

</comment><comment><USER34> This seems to be Martin Kleppman's work - worth noting that his book, "Designing data intensive applications" is also very good :)

</comment><comment><USER35> This looks great, depending on the nature of the "collaborative app".

E.g. perhaps the most popular collaborative app is Google Docs. This would be a terrible choice for Google Docs, as it doesn't have specialized transforms for text editing/formatting (which turn out to be rather challenging).

</comment><comment><USER36> My experience with collaborative sync is that it is really application specific. Most of the time, I used a dumb store (just storing all versions) and had the app decide of the logic to produce the current state.

But, this library looks nice, and I'm sure it can fit some use cases.

</comment><comment><USER37> Very similar to Realm (also syncing CRDTs), though this seems more lightweight and works in client-side web apps. [https://realm.io](https://realm.io)

</comment><comment><USER38> Recently I created jkt library for my NodeJs project. [https://github.com/slaveofcode/jkt](https://github.com/slaveofcode/jkt)

</comment><comment><USER39> This is pretty interesting. I've seen similar problems at various places I've worked, and having a library that uses a CRDT to solve it is a winning proposition.

</comment><comment><USER40> Thank you very much for the publication, may I ask a few questions:

* How to integrate this with a decent pagination library?

* How to integrate this with vue.js?

* How does this compare to [http://y-js.org](http://y-js.org) ?

* How does this compare to [http://gun.js.org](http://gun.js.org) ?

Thanks for your attention!

</comment><comment><USER41> I am planning to doing the same thing, but using OT.

<comment><USER41> My idea about conflicts is, since OT is a centralized protocol, the server can refuse some conflicts and let user to resolve it.

Another thing I don't like about CRDT is for text editing, it requires a uuid for each char you type. this is a huge waste of memory and disk imho. on the other hand OT requires no metadata

</comment></comment><comment><USER42> Can't wait to try this.</comment>


A Million Random Digits with 100,000 Normal Deviates - <AUTHOR> http://www.amazon.com/dp/0833030477/

<comment><USER2> I'll see your random digits and raise you a reverse-biased diode's quantum noise as a source for much less expensive, and provably random, random digits. Not pseudorandom, random -- a sequence extremely unlikely to be repeated in the history of the universe.</comment>


Ask HN: What cool videos have you been watching? - <AUTHOR> Hello there,
As per my post title, why not paste in some URLs to cool videos/documentaries you like (for others to enjoy).
They doesn't have to be software related, could be science or history or business related, movies, or anything else. Also feel free to add more than one. There's no judgement at all, just post stuff you think is cool.
Cheers <comment> who-knows95 Hey there, i watch a load of channels, but here are some recommendations i have.

Rare Earth. (travel, doc, deep-investigation) [https://www.youtube.com/channel/UCtGG8ucQgEJPeUPhJZ4M4jA](https://www.youtube.com/channel/UCtGG8ucQgEJPeUPhJZ4M4jA)

Historia Civilis. (military, history, tactics) [https://www.youtube.com/channel/UCv_vLHiWVBh_FR9vbeuiY-A](https://www.youtube.com/channel/UCv_vLHiWVBh_FR9vbeuiY-A)

CruisingTheCut (narrow boats, relax) [https://www.youtube.com/channel/UC6SNxiLzSlh8e0yjndE9o_A](https://www.youtube.com/channel/UC6SNxiLzSlh8e0yjndE9o_A)

Sam O'Nella Academy (funny, history, trivia) [https://www.youtube.com/channel/UC1DTYW241WD64ah5BFWn4JA](https://www.youtube.com/channel/UC1DTYW241WD64ah5BFWn4JA)

Fact Fiend - With Karl Smallwood (short trivia show) [https://www.youtube.com/channel/UCaR-e8ComPih10DqPi3sdWg](https://www.youtube.com/channel/UCaR-e8ComPih10DqPi3sdWg)

Kurzgesagt – In a Nutshel (info graphic show) [https://www.youtube.com/user/Kurzgesagt](https://www.youtube.com/user/Kurzgesagt)

Abroad in Japan (japen, travel) [https://www.youtube.com/user/cmbroad44](https://www.youtube.com/user/cmbroad44)

just some of the many channels worth a glance.

<comment><AUTHOR> awesome, thanks!

<comment> who-knows95 let me know if any of these take your fancy and i'll check if i follow anyone like them.

have a good day</comment></comment></comment>


Skills aren't taught at university; we develop them to cope with university - <AUTHOR> http://jeffdechambeau.com/skool-sux.html <comment><USER2> > _Why not make the problems harder and let students use every possible tool > or resource to solve them?_

Some of us do exactly that. Many of the exams I sat in grad school (Brown) were that way, and nearly all of the exams I have set are open-book, open- notes, open-internet, and take-home. I've always felt that's a better reflection of what I actually want to be testing anyway.

I'm not the only professor that does this, but the cost is that exams take a lot longer to grade, generally. So it's impractical at scale.

<comment><USER3> In my experience, a lot of students strongly prefer memorizing to thinking, and will penalize you on student evaluations if you force them to.

My evaluations went up a full point when I switched from writing my own open note/open book exam to using the department's standard "memorize all the things and do mechanical transformations" exam. Students complained a lot less also.

<comment><USER4> I had a professor who offered a novel scheme that left me pretty happy with take home exams. Students are usually turned off because a good take-home is really, really hard. What this professor did was give you the exam, mark incorrect problems, and then if the class average was poor, give you a second copy. You would turn the second copy in a few days later, and you would get some fraction of the credit for any improvement in your score. (Say you got a 60 the first time and an 80 the second time, you might end with a 65-70)

The result was that, after being challenged by difficult problems that require your complete focus, you are given some feedback on what you got wrong, at which point you go back to the book to work out what the real answer is. That revision step is key; the promise of some recovery points is mostly just motivation to take it seriously

I felt like those exams were huge learning experiences. The caveats are: it is more work for the professor; this was an upper division course, so students were serious and the class size was small; the best problems are hard and open ended.

</comment></comment></comment><comment><USER5> In reference to memorizing material the OP writes: _In the "real world," having a copy of your notes is called being prepared. Instead, university exams expect us to tie one hand behind our backs and master a skill we'll seldom if ever use again._

The truth is in the middle of the dichotomy you setup. Yes having notes, referencing materials, etc in the real world is being prepared. BUT, even in the real world, there's a reasonable expectation that you'll store and retrieve as much of that information as possible in and from your own memory. For example, I'm a pretty adept with python. I occasionally need to look at the standard library reference; yet, I try to commit as much as I can to memory. If I didn't, I would spend the majority of my time searching instead of doing. It goes without saying that a person who knows something off the top of his or her head is more efficient than someone who doesn't. You're correct that in the real world you'll rarely be in a situation where you don't have access to a reference of some kind. However to say at the same time that memorization is a skill that you'll seldom if ever use again is incorrect at best and reckless at worst.

<comment><USER6> The counterpoint here would be that memorization happens more naturally when practicing, as frequently used knowledge is automatically memorized.

I remember school courses in history and chemistry where requirements of memorization was the largest component of the course credit. What I suspect is the real reason is that measuring student understanding and engagement is a hard problem, and memorization is easily measured proxy for the above. The problem is that it is easily gamed, learning decays into this gaming process and then, students promptly forget material after the exams. In my experience, though, universities mostly do allow for notes in exams.

<comment><USER7> Precisely. My math courses never tested my memorization outright.

But if after pouring 40-50 hours a week into a class for a couple months didn't result in memorization of the important stuff as a byproduct, you probably weren't going to do well anyway.

I'd like to be optimistic and say that that this is how memorization began to be tested in schools. Instructors noticed that the best students seemed to have things memorizes, so they started testing this as it's an easy thing to test.

For some reason, the analogy of a doctor treating symptoms rather than the cause of the illness comes to mind.

<comment><USER8> I had a statistical machine learning course whose exam was mostly factual questions, closed-notes, and oddly enough I think it was reasonably relevant, despite the fact that I usually dislike pure memorization. It didn't ask for specific formulas, but more like concepts and terminology, and how they'd be applied. It's not that these are specific things you should memorize, but that it's at least a necessary condition: if you can't, without notes, say what an expectation is, what a loss function is, what nonparametric regression is, etc., and when you might use some of these things, then you probably didn't pay attention in class or work any of the problem sets, because after a semester of actually doing the course you should definitely know all that without even really thinking.

So even if an A doesn't guarantee you actually know statistics, it's at least, imo, justifiable to say that a low grade means you definitely don't know statistics. You can always argue that you'd look things up if it was open book, but past some point if you don't know _any_ of the material or even the basic terminology of the field, saying you could look it up amounts to saying that you could learn statistics from scratch if you needed to. It's sort of a test of, "can you hold a reasonably intelligent conversation on the topic without constantly checking Wikipedia on your smartphone for basic definitions".

(That kind of exam is probably also particularly suited to statistical ML because _not_ knowing those things is the most common kind of real-world mistake... the details of an algorithm you can always get from an R package or Weka, but not knowing how to analyze a problem or what the main issues even are can't be solved by open-source code.)

<comment><USER9> > It's not that these are specific things you should memorize, but that it's > at least a necessary condition: if you can't, without notes, say what an > expectation is, what a loss function is, what nonparametric regression is, > etc., and when you might use some of these things, then you probably didn't > pay attention in class or work any of the problem sets, because after a > semester of actually doing the course you should definitely know all that > without even really thinking.

Terminology is easy to remember once you understand the concept, and those things you mentioned are something that you do _not_ memorize. Those things you have to understand. You can memorize a formula, and you can memorize a list of applications of a given concept, but both of them are worthless if you don't understand on a gut level, what the concept is and thus where to apply it.

</comment></comment></comment></comment></comment><comment><USER10> > _Why not make the problems harder and let students use every possible tool > or resource to solve them?_

In science, we call this a thesis or research project. I don't see the need for all exams to take the same format (although some do so successfully), as closed-book exams test something quite different - the depth and breadth of your internal, longer-term comprehension.

> _An "education," whether for its own value or to help you get a job, is–at > least to me–about developing the skills to find the information you need, > assess its value, integrate it into the context at hand, and make a better > decision than you otherwise could have._

An education -at least to me- is about building up an inner edifice of knowledge, so you can work fast, and formulate original and hopefully brilliant ideas and insights, with the skills the author mentions being accessory to this (and something that should really be in place by high school). The author writes as if knowledge is something to be retained as fleetingly as possible, to make room for whatever the next task is. But information you have committed to long-term memory can cross-pollinate, become a greater structure, open up new horizons. Information that you merely load and discard cannot - at least not in the same way.

> _In the "real world," having a copy of your notes is called being prepared._

In my world, being (professionally) prepared means that you have authoritative mastery of a subject. Of course you often refer to notes, and have the skill to quickly and perhaps temporarily assess and assimilate new concepts. It does not follow that holding the detail of our degree subjects at arm's length is a virtue, and that having to rely on our own memories in examinations is somehow "bad education". Yes, the open book exam format has its place, but so does the traditional one.

If you want a better education, try regarding your knowledge as something to be made more enduring, not more ephemeral.

</comment><comment><USER11> I go to the University of Redlands.

In the past two years, they decided to remove my major (Computer Science) completely from the curriculum for new students (so current sophomores are unable to join the department except to minor), they cut tens of professors from the faculty, and they cut down on several other costs.

In the same time period, they spend tens of thousands of dollars redesigning the main website, several more thousand redesigning the internal student- facing website (based on Blackboard and Moodle in a bizarre zombie formation), and upgraded several nonfree services they provided (Outlook Web Access, Blackboard, Datatel). They also bought and paid for the construction of a park just south of campus, which cannot be feasibly used by students but serves to essentially advertise the university. They also purchased additional radio ads, several front-page ads in the LA Times, and well-placed billboard advertisements.

Higher education in America has made its priorities clear, I think.

</comment><comment><USER12> I couldn't agree with this more, the education system seems to obsess over structure. Concepts get clumped together into classes, which are clumped again into majors. Prerequisites seem to cripple broad intellectual development and force specialization.

I do see the importance of this changing, with increasing weight being given to public work shared over a blog or Github vs. academic transcripts. Hopefully institutional education can evolve to help individuals learn how to search, triage and analyze in a given field.

</comment><comment><USER13> I had lots of open book/note exams. They were also much harder. I even had an exam where the professor allowed us to use our laptops and the Internet. You can imagine how much harder that exam was.

There were very few exams where I wasn't allowed a limited amount of notes (usually a full notecard or sheet of paper). The ones that weren't were in classes like intro psychology where most of the class is just memorizing things anyway.

</comment><comment><USER14> I'd have hoped branding was a skill taught at "Western" and their top-notch Business School could have helped them avoid this disaster.

Given I am in the same province as this university, I actually had to look up which school he was talking about, because I wasn't sure. Everyone in Ontario, and most of Canada, already calls this school Western, rather than its (now former it seems) official name, The University of Western Ontario. Calling it Western University is missing the point of what the Western brand is, party school or not, that isn't as an adult among the first few things that I think of when it comes to Western. As opposed to when I was an undergrad driving to their campus for a weekend party.

While the naming issue is off-topic, and my apologies for that, I did find this helpful/humourous article on the re-branding effort.

[http://oncampus.macleans.ca/education/2012/01/26/thats- weste...](http://oncampus.macleans.ca/education/2012/01/26/thats-western- university-to-you/comment-page-1/)

</comment><comment><USER15> I agree with his sentiment for the most part. The reason I imagine hiring managers prefer those with university degrees is that without knowing other information they have some idea that such a person has those coping mechanisms to deal with the rigors of university. This is of course not perfect but when you're looking at a stack of resumes I imagine this has to be a differentiator.

FTA: "Why not make the problems harder and let students use every possible tool or resource to solve them? Even students singularly focused on learning for its own value would get so much more out of the experience."

From my own experience my open book exams in Physics were ridiculously difficult. We would use all sorts of tricks to cram as many equations onto the double-sided piece of paper we were allotted. I feel if you agree to an open book exam the difficulty of the exam can (and should) increase dramatically. Be careful what you wish for ;-)

<comment><AUTHOR> Real life is pretty hard too. We let so many people into university that difficulty almost necessarily has to drop in order to keep enrollment numbers up.

Did your school push you nearly hard enough?

<comment><USER15> Of course real life is difficult. My point was regarding open-book exams.

</comment></comment></comment><comment><USER16> For those referring to open books, one of my law professors explained it to me this way.

It's a trap for the unprepared. Poor students think that they can rely on the books in an exam, but there's just not enough time to read, parse and apply the source material. Either you _learned_ ahead of time or you didn't. Students who learned the material use it as a reference, not a source.

It also, he said, allows him to give "proper exams".

I quit studying law, but it was still an eye-opener.

</comment><comment><USER17> (Relatively social) people also learn from the examples of others, which is why it can be so helpful to go to a school filled with smart high-achievers.

</comment><comment><USER18> "Don't let your schooling interfere with your education"

</comment><comment><USER19> It's not what your degree makes of you, it's what you make of your degree.

University is as much about learning coping skills as it is learning to get things done under the silliest circumstances. Strangely, this has a bearing to real life once entering the workforce.

Likewise for learning, as soon as we stop learning, we're no longer growing. Anything that no longer grows gets left behind.

What skills do universities teach startups? If we're lucky to have the instructors who can spark our minds, anything.

</comment><comment><USER20> Mastery (or taking a few notches down, competence) has both a memorization, and application component. Can't get around that. The problem is that people assume that the memorization component must be learned by memorizing, and that the application component by applying. Rather, the memorization component comes from applying, and the application flows from memorization.

You're ability to apply your knowledge to the world hinges on your ability to remember what your knowledge is. Even now, when you just 'google it', that relies on your memory of broad concepts and ideas. Recognition IS memory (a specific kind of memory anyways).

So yeah, on one hand, over the top tests of memorization is ridiculous, since it just results in everyone cramming, and then forgetting 3 hours after the final, and then when the next course rolls around building on the knowledge, you lose 3 weeks doing review, you can't get away from memorization, or testing your memory in school.</comment>


US says it can hack into foreign-based servers without warrants - <AUTHOR> http://arstechnica.com/tech-policy/2014/10/us-says-it-can-hack-into-foreign-based-servers-without-warrants/

<comment><AUTHOR> If the U.S. claims this power I can't see how it can then turn around and say anything about China (or any state) hacking into American servers.

This is spectacularly poorly thought out.

<comment><USER2> Well, they can always say "The Silk Road was violating American laws and the [other nation]'s hacking was not a legitimate law enforcement effort or done in response to a violation of laws in their country."

That does not make the present claim by the US justifiable, but with the right qualifying words, one can construct an objection that is not in conflict.

</comment></comment><comment><USER3> _" Given that the SR Server was hosting a blatantly criminal website, it would have been reasonable for the FBI to 'hack' into it in order to search it, as any such 'hack' would simply have constituted a search of foreign property known to contain criminal evidence, for which a warrant was not necessary"_

Quoted from one of the G-Men in the article.</comment>


TFHE: Fast Fully-Homomorphic Encryption Over the Torus - <AUTHOR> https://tfhe.github.io/tfhe/ <comment><USER2> One interesting thing about this: You are performing known operations on unknown data. But theoretically you could simulate a generic computer whose program is encrypted data as well, thus enabling unknown operations on unknown data. However, with speeds in the ms per gate we are a long way from that being practical right now.

<comment><USER3> > with speeds in the ms per gate

I wonder if you could write your programs in such a way that the bulk of the computation was done publically, and only sensitive ops were shunted out to the secure processing network.

Maybe in a language similar to Erlang, but instead of writing code that's amenable to sharing between multiple CPUs, you'd be sharing between multiple degrees of privacy.

<comment><USER4> > I wonder if you could write your programs in such a way that the bulk of the > computation was done publically, and only sensitive ops were shunted out to > the secure processing network.

Do you have some example of what such an application may be?

<comment><USER5> Encode computations as NP hard graph optimization problems. Use the public computation resources to solve the hard part, but keep the labels of the nodes and edges in the slower encrypted computing resource.

</comment></comment></comment></comment><comment><USER6> For a layman like myself, downloading and skimming the reference papers at the bottom of the page, starting with Craig Gentry 2013's paper[1], really helped.

[1] [https://eprint.iacr.org/2013/340](https://eprint.iacr.org/2013/340)

</comment><comment><USER7> What operations can I do homomorphically with this library? The page says

"With the cloud-keyset, the library can evaluate a net-list of binary gates homomorphically at a rate of about 50 gates per second per core, without decrypting its input. It suffices to provide the sequence of gates, as well as ciphertexts of the input bits. And the library computes ciphertexts of the output bits."

but what does "evaluating a net list of binary gates" come to in practice? What operations could I expect to be able to perform?

<comment><USER8> "The library supports the homomorphic evaluation of the 10 binary gates (And, Or, Xor, Nand, Nor, etc…), as well as the negation and the Mux gate."

So you'd program it by designing a digital circuit using AND, OR, and NOT gates, somewhat similar to how you would make a circuit with physical components.

You have millions, maybe billions of these gates in your CPU, each capable of doing millions of calculations for each tick of your homomorphic gate, so the "fast" in the title should be taken with a grain of salt. Your homomorphic circuit could have a noticeable delay adding two 64-bit numbers.

[https://en.wikipedia.org/wiki/Logic_gate#Symbols](https://en.wikipedia.org/wiki/Logic_gate#Symbols)

[https://tfhe.github.io/tfhe/tuto- cloud.html](https://tfhe.github.io/tfhe/tuto-cloud.html)

<comment><USER9> Why would we expect to need a full modern CPU? An 8080 had thousands, and that's still general purpose. Something built for a specific task might well be substantially smaller. Still slow, but possibly realistic for some tasks.

<comment><USER10> It's a long way from even an 8080. The 8080 had a couple thousand gates and ran at 2+MHz. At 50 gates per second, this would run an 8080 at maybe 20 _milli_ hertz.

<comment><USER9> Yeah, I didn't mean to imply that it'll happily emulate an 8080 at useful speeds. I wanted to illustrate the orders of magnitude between "minimal something useful" and "a modern cpu", and an 8080 is a reasonably familiar point on that spectrum.

Anything you can do in 10 or 20 cycles of an 8080, you can now do _to secret data_ in a few hours. And you can probably do much, much faster than that if you design a special purpose circuit. It's still sloooow by the computational standards we're used to. But it might be fast enough that there are useful applications.

<comment><USER10> Makes sense. I am definitely excited to see something that even vaguely approaches practicality, even if it's a long way from megaflop territory.

</comment></comment></comment></comment></comment></comment><comment><USER4> What does "over the torus" mean here?

<comment><USER11> I think it means that this implementation of homomorphic encryption relies on polynomial computations being done on the plane of a geometrical torus? See the relevant paper here:

[https://eprint.iacr.org/2016/870.pdf](https://eprint.iacr.org/2016/870.pdf)

Someone with more background could probably expand on that.

</comment></comment><comment><USER4> Would it be correct to say that general homomorphic computing is now (and perhaps already before this) possible, though slow?

</comment><comment><USER12> Sounds very interesting!, I'm going to have to look at in more detail. I'm just wondering how it compares to something like [https://github.com/shaih/HElib](https://github.com/shaih/HElib)

<comment><USER13> The best analogy is that Helib is a homomorphic GPU while TFHE is a homomorphic CPU. Elementary operations (addition, multiplication modulo p) with Helib are slower (especially bootstrapping), but are performed on a huge vector of data simultaneously. In the opposite, elementary operations with TFHE (binary gates) are extremely fast, but deal with a single bit.

In other word, if the application you are aiming at is suitable for running on a GPU, go for Helib, else if it would be faster on a CPU, use TFHE.

<comment><USER12> Interesting! Thanks for the reply.

</comment></comment></comment><comment><USER14> This looks very interesting!

However, not being an expert on FHE, is there a way to leverage this on current RDBMS systems for example?

It says the library can evaluate binary gates. If we would like to run a SQL query for example, how do we translate it to a series of gates? Is it possible?

Or is this so low level that we basically would need to build our own "processor" with binary gates and then build the rest of the stack on top of it so we can, in the end, run a query?

Can anyone shed some light on how exactly can we take advantage of this library?

<comment><USER15> I would apply it instead of garbled circuits here [https://eprint.iacr.org/2016/591](https://eprint.iacr.org/2016/591).

Although slower, it feels like TFHE would provide better security against an active adversary. So, at least, simple server-side encrypted queries would well be possible

<comment><USER16> Can you explain how you would use FHE instead of garbled circuits in the Arx range query data structure? I don't see how that would work - wouldn't you have to (re-)introduce interaction to let the server learn intermediate results?

</comment></comment></comment><comment><USER15> That's a seriously cool thing to have in the toolbox!

Does it produce only encrypted output, or can it optionally produce unencrypted results also? Can it optionally use public data as an input?

Also I am guessing if it could be accelerated on GPUs. I worked with a guy who accelerated a standard FFT on CUDA 100..1000 times for scientific computations (and later NVidia copied his code, lol). I wonder if something similar can be done here

<comment><USER17> The point is to be able to give encrypted data to a third party and have them do operations on that data (ex. sum all the values) and give you an encrypted result back.

tldr. computations in the cloud with encrypted, private data

<comment><USER15> Yes, I understand. I was thinking about:

a) smart contracts controlling something within the encrypted data based on publicly available data;

b) encrypted key-value store where you traverse the tree structure based on encrypted query and encrypted tree buckets, but get a publicly available result about which bucket is next (similarly to how it was done in Arx paper using garbled circuits).

</comment></comment></comment><comment><USER18> This looks like the slowest routines are FFT and GEMM (CPU bound). I wonder if one can find DSPs easily for racked servers. Maybe hardware h264 encoders can be repurposed that way? I obviously don't know what I am talking about! Would an FPGA implementation accelerate execution?

<comment><USER19> Yes, FPGA can help, as can GPU.

The real problem tends to be the (CPU to other thing and back again) latency, not the how fast can the other thing do the computation.

</comment></comment><comment><USER20> Will this be useful for machine learning in the same way as this ?

[https://medium.com/numerai/encrypted-data-for-efficient- mark...](https://medium.com/numerai/encrypted-data-for-efficient-markets- fffbe9743ba8)

<comment><USER21> Yes, but not to the same degree. Numerai uses structure-preserving encryption / neural encryption. This allows people to use any existing machine learning algorithm on the data. For fully homomorphic encryption you would need specialized algorithms. These are way more difficult to design. They also run slower.

<comment><USER22> Worth pointing out that Numerai actually doesn't use encryption in any standard sense (including structure-preserving encryption), but instead seems to be using some heuristic method of obfuscating their data.

Their (closed-source) method of obfuscating their data apparently does have the property that it preserves the structure of the data, but calling it "structure-preserving encryption" is misleading imo since it risks confusing it with standard notions of encryption and structure-preserving encryption which have much stronger security guarantees.

(Their marketing seems to encourage this conflation by, for example, citing academic advances in standard notions of homomorphic encryption and SPE and implying that these advances have enabled Numerai's technology)

[https://medium.com/numerai/encrypted-data-for-efficient- mark...](https://medium.com/numerai/encrypted-data-for-efficient-markets- fffbe9743ba8)

<comment><USER21> They switched from structure-preserving encryption to neural encryption (using a neural net's layer activations).

> Just a few months ago this package was released by Louis Aslett at Oxford > [http://www.louisaslett.com/HomomorphicEncryption/](http://www.louisaslett.com/HomomorphicEncryption/). > Louis helped me use his package to do Fan and Vercauteren homomorphic > encryption on my dataset. Because the ciphertexts are polynomials it's not > too easy for an average data scientist to use the data. That's why I came up > with more chill ways of encrypting Numerai's data that the article mentions > like order-preserving encryption. There's a security vs easy of use trade > off, for sure. But homomorphic encryption is a real thing.

[https://www.reddit.com/r/MachineLearning/comments/3zvuge/enc...](https://www.reddit.com/r/MachineLearning/comments/3zvuge/encrypted_data_for_efficient_markets_an_mnist_for/cyprq84/)

Louis Aslett authored [https://arxiv.org/abs/1508.06574](https://arxiv.org/abs/1508.06574)

<comment><USER22> Thanks for that link! I was never able to find any details from someone who works for Numerai (or claims to at least)

I still don't think it's fair to market their method as comparable to Aslett's scheme or "standard" notions of homormorphic/order preserving encryption, no matter how "chill" they are :)

<comment><USER21> Do you think neural encryption is closer to encryption? GAN-style: One network encrypts while preserving structure, another network tries to reverse engineer to the original features.

Edit: No specific sources for what Numerai is using, but in general: [https://arxiv.org/abs/1610.06918](https://arxiv.org/abs/1610.06918) "Learning to Protect Communications with Adversarial Neural Cryptography".

Edit2: Yes, in general. I would say "yes, this is a valid form of encryption". But I do agree that their marketing was perhaps a bit too optimistic. I have no problem calling it "obfuscation" either (I just think their method of "obfuscation" is way more advanced than removing headers and normalizing within 0-1).

<comment><USER22> I've never heard of neural encryption before, do you have a good source for me?

From the Wikipedia page for "Neural cryptography", it seems like there's some success in using NN's for cryptanalysis, but not for constructions...

Edit: Do you mean the Google GAN experiment? ([https://arxiv.org/pdf/1610.06918v1.pdf](https://arxiv.org/pdf/1610.06918v1.pdf)) Ahh ok, well at least for this there looks like an attempt at defining a security model (security against some other NN). I don't really believe the security model is realistic (how do we know NN's are really that effective as adversaries?), but at least there is a model, so calling that "encryption" sits somewhat better with me. I'm pretty sure this is not what's being used by Numerai since it seems like it would not result in ciphertexts with the structure necessary to perform ML operations on.

Edit2: Maybe you're right and it is more advanced. In any case, as a crypto nerd I wish they would disclose what they are actually doing / the rationale instead of tantalizingly suggesting that they have made (what would be) a breakthrough in a practical use case of advanced encryption schemes, but not saying how.

<comment><USER20> That particular paper got a LOT of flames when it was posted to /r/MachineLearning

[https://www.reddit.com/r/MachineLearning/comments/59v9ua/r_1...](https://www.reddit.com/r/MachineLearning/comments/59v9ua/r_161006918_learning_to_protect_communications/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> Is this available now? Can we do fast homomorphic encryption baby??

<comment><USER24> "Each binary gate takes about 20 milliseconds single-core time to evaluate"

So yes, for varying definitions of "fast".

<comment><USER25> If you equate a binary gate operation with an instruction, then that's 50 instructions per second, which compares to UNIVAC's 2000 IPS (0.002 MIPS).

[https://en.wikipedia.org/wiki/Instructions_per_second#Timeli...](https://en.wikipedia.org/wiki/Instructions_per_second#Timeline_of_instructions_per_second)

Of course, an op on a single bit is still far short of a CPU instruction, AIUI.

You gotta start somewhere though!

<comment><USER26> So a cluster of modern cores could approach a UNIVAC...

</comment></comment></comment></comment><comment><USER27> so who's going to write the Python wrapper to this?

</comment><comment><USER28> I feel like there are so many use cases for this library.</comment>


Trump agrees to an extra debate moderated by Joe Rogan - <AUTHOR> https://www.businessinsider.com/trump-agrees-joe-rogan-debate-biden-2020-9 <comment><USER2> Wasn't Rogan big on supporting Sander's and legal marijuana. Seems like a strange platform for Trump?

<comment><USER3> From the start of the article:

> Rogan has previously said he would vote for Trump over Biden and has > speculated that Biden is suffering from some sort of cognitive decline.

<comment><USER4> The amount of doublethink required to look at Biden and think cognitive decline when faced with Trump is so bizarre to me.

Biden has done long form podcasts and speeches, I've listened to them - he's not as sharp as he was but he's fine. He's a terrible public speaker, but he's fine.

Trump is also not a gibbering wreck, but - even ignoring the bleach comment - he cannot remember pertinent details from his briefings (Swan interview), he gives away extremely damaging information about himself on the phone to a reporter who he knows despises him (Woodward). He seems to have little to no control over his own actions. I could be more aggressive and cite the Daily Show's compilation of trump looking lost "Where's Rudy" and confused.

The whole reason why they are pushing the sleepy Joe line is because everything the Donald is accused of, they fling back mirrored against the opponent. Donald Trump, ever since his Nuclear speech, has been accused of being mentally deficient so that's their play.

Edit:

Downvote all you like but please counterargue.

<comment><USER5> > He's a terrible public speaker

Yes, this is the problem, it's always been the problem. Biden is a human gaffe machine, and this derailed his previous Presidential runs. Not sure why Democrats thought he was the "safe" choice. In the past, Biden would have been considered a loose cannon, but of course he seems rather tame compared to Trump. As does anyone compared to Trump.

<comment><USER6> I believe they were planning to lose this election from the outset. Ten Presidents have failed to win a second term in 230 years.

</comment></comment></comment></comment></comment><comment><USER7> I personally don't listen to the debates, find them mostly a waste of time. But as someone who occasionally listens to Rogan, I would probably listen to this debate...Might be a good way to get more people to take an interest in this election.

<comment> core-questions > find them mostly a waste of time

They are, and it's specifically because the format never allows (or, perhaps more importantly, never _requires_) the participants to get into real detail about anything ever. It's all just talking points. The opposition never has the chance to actually ask questions that might potentially lead to a situation where someone has to say, "gee, I hadn't thought about that, that's a good point, it will take some careful consideration".

Given the format the only game-theoretical move that makes sense is to employ Arthur Finkelstein style tactics and simply attack the other person, get people scared of them and the world they'll perhaps create, and/or demoralize people that might have voted for them and get them to stay home instead.

This needs to change. Why can't the debate be a day-long event, where they sit down and have serious conversations, not rhetoric but a real dialectic with one another?

I suspect it would reveal a tremendous lack of depth and understanding on _both_ sides. Any cognitive decline, any lack of awareness about world issues, etc. would be exposed immediately. That would pop the bubble, for sure.

<comment><USER8> The purpose of the very public political debates is not to discuss issues and learn from one another. It's an opportunity for two political opponents to convince other people why they should be elected and not the other person.

There may be a place for actual political discussion between the two sides, but expecting two warring politicians to do so publicly just before an election is not going to happen.

<comment><USER9> Sure but by the same token, the point of discussing issues is that if you can do it passably, it can be a bit more convincing towards the audience than the usual soundbites and lazy negative claims about The Other Guy. But perhaps it's not exactly fair to expect that sort of semi-real discussion from either Biden or Trump.

<comment><USER8> It sounds more convincing to what demographic? It may convince people of above average intelligence, but half of all people have below average intelligence. For those people, emotional appeals will probably be more convincing than boring, logical arguments.</comment></comment></comment></comment></comment>


Fab after nine months (slideshare) - <AUTHOR> http://betashop.com/post/19627427924/slideshare-fab-after-9-months-london-web-summit

<comment><USER2> Found the recorded presentation of this: <http://new.livestream.com/websummit/LWS/videos/348135>. It's only 30 minutes long.

</comment><comment><USER3> Fab is testament to the fact that those annoying Launchrock type pages can help you launch a startup bigtime. I hate signing up to mysterious new apps with content-less landing pages as much as the next hacker on HN, but they can work sometimes.

<comment><USER4> We didn't use a launchrock page. We built our own viral mechanics. But, honestly, it's the products that get people to share.

<comment><USER3> I'm sure once you had the products, that's what drove engagement. You did a great job of curation there. But before you launched the ecommerce side of things, you clearly got lots of signups just using a landing page.

You guys have that rare combination of good product sense and marketing genius.

</comment></comment></comment><comment><USER4> AMA: Jason Goldberg, Fab.

<comment><USER5> Just wanted to say congrats. I purchased something for the first time yesterday. It's missing a few things, such as search and links to each brand, but overall it's a very nice execution. Examples:

1\. Search: I found a few things that I wanted to purchase. Came back later and couldn't find them again.

2\. Links: I found myself often (web and iPad) on a product page and wanted to see more by that brand.

Also one thing that has annoyed me, but I understand why you do it. You show sold out items. 99% of the time I don't want to see it.

<comment><USER4> Search - 1 month.

Links: We're working on something big there, mainly to showcase the designers. Give me 2 months ;-)

Sold out? ummmm, we're working on getting more inventory too. basically the rule is: First sale is an emotional test, 2nd sale is based on predictive data, 3rd sale is based on history.

</comment></comment></comment><comment><USER6> Fab is just another testament to why design-centric companies like Square and Apple are so hugely successful.

<comment><USER2> I don't know, I think calling them "design-centric" is to trivialize what they are doing. I think the great design is just a necessary consequence of the larger philosophy behind the company that informs the look of the website.

<comment><USER4> design is a lifestyle.</comment></comment></comment>