Berkeley offers its data science course online for free - <AUTHOR> http://news.berkeley.edu/2018/03/29/berkeley-offers-its-fastest-growing-course-data-science-online-for-free/ <comment><USER2> I find it curious that there are so many courses for data-science related subjects, which superficially seem to cover the same material, and relatively few courses covering more traditional CS topics such as computer systems, networks, OS. I suppose it has to do with the market, but also feels like colleges are skating to where the puck is, rather than where it will be (or perhaps, where it could be).

<comment><USER3> I have also found this interesting. What I don't understand is that the amount of data science jobs are no where near the levels that people make it seem. I am not sure where all these people will end up working if they want to be a data scientist. There is not a need to hire huge teams of data scientists like you might for dev roles, it doesn't scale the same way.

<comment><USER4> Every job that involves data in any way is being relabeled a data science job. Most of them are just generating dashboards and posters in Excel or Tableau for people who are data illiterate. I know many people with maths/stats/comp- sci backgrounds who end up in these sorts of jobs.

"Just add a bunch of green up arrows and red down arrows, your manager will love it" was advice from a co-worker of mine. Sadly, she was right.

<comment><USER5> It's actually become somewhat hilarious to me. Like you said, the data science label is being applied quite liberally (no judgment, I'm not the world's authority on how it should be applied), so here you have companies paying $100k or more to have people do Excel work or Tableau visualizations.

<comment><USER6> "Data scientist" is the new "business analyst".

<comment><USER7> I think data science moved into the hole where analysis used to be.

</comment></comment></comment></comment></comment></comment><comment><USER8> People at Berkeley view this class as kind of a joke. The average grade is insanely high and the topics are covered in much less depth than just the normal intro cs or stats classes.

[https://www.berkeleytime.com/grades/?course1=7765-all- all](https://www.berkeleytime.com/grades/?course1=7765-all-all)

<comment><USER9> Good to know. I looked at this Berkeley course (along with some private offerings like General Assembly) and got the feeling that they really weren't worth the investment for a guy with a Math degree, a CS minor, and programming experience going back to childhood.

But I think I'd like _some_ kind of formal, credentialed program that would build on my existing linear algebra + software skills (and address the weaknesses in my statistical understanding that I _know_ are there based on how I felt about my grasp on the related material for even the classes I passed)... and maybe isn't quite as big an investment as a full-fledged master's degree.

Anybody have any suggestions?

<comment><USER10> This is exactly what we built at Lambda School - our data science/machine learning program has math (linear algebra, calculus) and CS (python) as pre- requisites, and is designed to train the rest of the way. It can also be free until you get hired in field.

It is a big commitment - 6 months full-time or one year part-time.

[https://lambdaschool.com/courses/ds/machine- learning/](https://lambdaschool.com/courses/ds/machine-learning/)

</comment></comment></comment><comment><USER11> I'm a UC Berkeley alum. When I was there this was a course taken by humanity majors to learn some programming so that their Resume looks cooler. majority of STEM majors take CS 61A (SICP) or E7 (Programming in MATLAB). Just noting this as a context, this is not the class intended for CS majors; this : [https://cs61a.org/](https://cs61a.org/) one is.

<comment><USER12> Or if you want to get experience with data science: Stats 134 (easy), CS188 (medium), CS189 (hard).

<comment><USER13> I personally thought Stats 134 was the hardest of those courses by far (though I took it under a visiting professor who was needlessly difficult). 188 was a breeze, and I believe the full course is offered for free on edx

<comment><USER11> CS 189 (with Sahai) (Machine Learning) was by far the hardest course I took in my life.

</comment></comment></comment></comment><comment><USER14> I think this is a bad trend. These university make basic courses free to gain popularity and then ask for big money for their real courses.

This is bad in two ways:

1) The people taking these courses do not learn much for the effort and time they spend. Also it gives them illusion that they know enough as they take course from big university.

2) Industry is already so confused in hiring, they hire by name. So even you take these courses and study in depth on your own you can't get hired. Someone more qualified can not get hired just because they can't pay 100k to get a degree in machine learning from one of these big university.

This is really a bad trend and we should spend time on real courses. Everyone knows that TV series are waste of time, these courses are like TV series. Stop watching them.

<comment><USER15> A course called "[Intro to] data science" should be taken about as seriously in hiring as "Intro to computer science", or "Intro to mechanical engineering". There's no reason these courses should bear any weight in hiring, and it's disingenuous to attempt to lead people to believe otherwise.

<comment><USER14> I was talking about people who study in depth on their own after the course.

</comment></comment></comment><comment><USER16> Always boggles my mind with these "free" online courses that still stick to old method of "registering" for the class and then following a regimented schedule.

Seriously, just upload the lecture videos, put the homework online and textbook. Add a message board and you're golden.

<comment><USER17> Having ~7 moocs and 1 udacity nanodegree under the belt, here is my anecdata :

Before Coursera, i was never able to finish anything on MIT opencourseware. Free flow of information need too much commitment from my end to be digerable.

It was the structure given by

> "registering" for the class and then following a regimented schedule.

that i managed to start and finish. Disclaimer: I discovered Coursera after grad school

</comment></comment><comment><USER18> For those interested in a practical, hands-on course, we just released one at Kaggle [https://www.kaggle.com/learn/overview](https://www.kaggle.com/learn/overview)

</comment><comment><USER19> Berkeley and the UC schools are making major strides in online education, including edX participation and on-campus projects. If you're interested in Berkeley and data science, there's an online masters program too. (Disclosure: Berkeley is in my client roster). [https://requestinfo.datascience.berkeley.edu](https://requestinfo.datascience.berkeley.edu)

<comment><USER20> US$65K for tuition

<comment><USER21> LOL. As someone from third world where local currency is enormously devalued with respect to US$, I wonder why would anyone do this?

<comment><USER22> If you think that's bad look up Executive MBA programs. Corporations basically give a university a nearly six figure donation for their top executives to get a tax-free tuition benefit for a rubber-stamped MBA largely indistinguishable from a real MBA.

I know the above probably sounds like sour grapes, I don't have an MBA or any graduate degree, I just think the whole Exec. MBA thing is a total scam against the companies paying for them and a huge cash cow for universities.

<comment><USER23> Exec MBAs are not for top execs. "exec" is just the marketing tag. It's exactly the same as exec Masters that GATech and UW do to extract tuition reimbursement funds from big companies like Microsoft

</comment></comment></comment></comment></comment><comment><AUTHOR> direct link: [https://www.edx.org/professional-certificate/berkeleyx- found...](https://www.edx.org/professional-certificate/berkeleyx-foundations- of-data-science#courses)

(There are two ways you can follow the course: Certificate Program is paid, but the AUDIT program is free)

<comment><USER24> Pursue the Program ( $357.30 USD - old: $397 )

</comment></comment><comment><USER25> Have anyone followed the curriculum suggested here?

> [http://datasciencemasters.org/](http://datasciencemasters.org/)

</comment><comment><USER26> Okay, here's a view of what appears to be part of the course:

We have a course (right a school application of stuff taught in school!) with two teachers, that is, two sections of the course, each section with its own teacher and its own students. At the end of the two courses, that is, the two sections, we want to compare the teachers. So we give the same test to all of the students from both courses.

Suppose one section had 20 students and the other one, 25 -- the point here is that we don't ask that the two numbers be equal; fine if they are equal, but we're not asking that they be.

So, there were 45 students. So, get a good random number generator and pick 20 students from the 45 and average their scores; also average the scores of the other 25; then take the difference of the two averages.

That was once. It was _resampling_. Now, do that 1000 times -- remember, we have a computer to do this for us. So, now we have 1000 differences. If you want, then, "live a little" and do that 2000 times. Or, for A students, do all the combinations of 45 students taken 20 at a time. Ah, heck, lets stick closer to being practical and stay with the 1000.

Now, presto, bingo, drum roll please, may I have the envelope with the actual difference in the actual averages of the actual scores in the two classes.

If that actual difference is out in a tail of the empirical distribution of the 1000 differences from the resamplings, then we have a choice to make:

(1) The two teachers did equally well but just by chance in the luck of the draw of the students one of the teachers seemed to do much better than the other one.

(2) The actual difference is so far out in the tail that we don't believe that the two teachers were equally good, reject the _hypothesis_ that there was no difference, called the _null hypothesis_ , and conclude that the teacher with the higher actual average was actually a better teacher.

Sure, it happened that the real reason was that one section of the course started at 7 AM and was over before the sun came up and the other section was at 11 AM when nearly everyone was awake. We like to f'get about such details! Or, sure, we might get criticized for a poorly _controlled_ experiment.

This is also called a _statistical hypothesis_ test or a _two sample_ test. It is a _distribution free_ test because we are making no assumptions about probability distributions of the student scores, etc. Since we are not assuming a probability distribution, we are not assuming a probability distribution with _parameters_ and, thus, have a _non-parametric_ test. Uh, an example of a probability distribution with parameters is the Gaussian where the parameters are mean and standard deviation.

Such tests go way back in statistics for the social sciences, e.g., educational statistics.

In more recent years, leaders in resampling include B. Efron and P. Diaconis, recently both at Stanford.

Why teach such stuff? Well, some parts of computer science are tweaking old multivariate statistics, especially regression analysis, and calling the results _machine learning_ and/or _artificial intelligence_ , putting out a lot of hype and getting a lot of attention, publicity, students, and maybe consulting gigs. Also the newsies get another source of shocking headlines to get eyeballs for the ad revenue -- write about AI and the old "take over the world ploy"!

So, maybe now some profs of applied statistics, what for a while was called _mathematical sciences_ , etc., or other profs of applied math want to get in on the party. Maybe.

What can be done with resampling tests? I don't know that there is any significant market for such: Long ago I generalized such things to a curious multidimensional case and published the results in _Information Sciences_. The work was a big improvement on what we were doing in AI at IBM's Watson lab for _zero day_ monitoring of high end server farms and networks. Still, I doubt that my paper has ever been applied.

One of the best areas for applied statistics is the testing of medical drugs. Maybe at times resampling plans have been useful there.

I have a conjecture that resampling plans are closely tied to the now classic result in mathematical statistics that order statistics are always sufficient statistics. Sufficient statistics is cute stuff, from the Radon-Nikodym theorem in measure theory and, in particular, from a 1940s paper of Halmos and Savage, then both at the University of Chicago. Some of the interest is that sample mean and sample variance are _sufficient_ for Gaussian distributed data, and that means that, given such data, you can always do just as well in statistics with only the sample mean and sample variance and otherwise just throw away the data. IIRC E. Dynkin, student of Kolmogorov and Gel'fand, long at Cornell, has a paper that this result for the Gaussian is in a sense unstable: If the distribution is only approximately Gaussian, then the sufficiency claim does not hold.

Other applications of resampling, such applied math, etc. might be in US national security. E.g., maybe monitoring activities in North Korea and looking for significant changes ....

Maybe there would be applications in A/B testing in ad targeting, but I wouldn't hold my breath looking for a job offer to do such from a big ad firm.

For all I know, some Wall Street hedge fund or some Chicago commodities fund uses such statistics to look for significant _changes_ in the markets or anomalies that might be exploited. I doubt it, but maybe! Once I showed my work in anomaly detection to some people at Morgan Stanley, back before the 2008 crash of _The Big Short_ , and there was some interest for monitoring their many Sun workstations but no interest for trading!

Net, IMHO for such applied math: If can find a serious application, that is, a serious problem where such applied math gives a powerful, valuable solution, the first good or much better solution, with a good barrier to entry, and cheap, fast, and easy to bring on-line and monetize, then be a company founder and go for it. But I wouldn't look for venture funding for such a project before had revenue significant and growing rapidly and no longer needed equity funding!

Otherwise look for job offers (1) in US national security, (2) medical research, (3) wherever else. But don't hold breath while waiting.

Now you may just have gotten enough from about 1/3rd of the Berkeley course!

<comment><USER27> What you are describing is known as bootstrapping (if sampling with replacement) jackknifing (if sampling without replacement), or (in the case you want to run a significance test, and not simply create a distribution or stats like confidence intervals) a permutation test. I think you already know that; I'm just mentioning in case others want to look these up by name. Also while they can be called 'distribution free' it only means you are not assuming a prefab distribution. If you want to perform a significance test you'll be creating (explicitly or implicitly) a distribution of your calculated statistic (known as the empirical distribution). If you want to be very explicit about this, you can plot a PDF or CDF of your sampled stats just like you could with a gaussian, exponential, poisson, etc., distribution.

We teach these methods to our students in intro stats at UC San Diego. Have been for as long as I've been here (5 years). Last year a data science program was also created here at UCSD. I've TA'd a flagship course in that program too. It's almost exactly the same content; the major difference is imo are the faculty personalities. The stats profs are smug, while the data science profs are energetically self-important. They teach the same shit. Self motivated students with a STEMy personality tend to learn more in the stats courses because the profs drive on hard core theory; on average though, students do better in the data science course because the profs are so bombastic the kids walk out of each class thinking they are basically ready to join the fellas over at Waymo on some machine learning projects - maybe even show 'em a thing or two, cutting edge tricks learned back at the ol' uni.

<comment><USER26> Nice!

Yup. Thanks.

> known as the empirical distribution

Yup, and I wrote:

"out in a tail of the empirical distribution"

Yup, "rank" tests, "permutation" tests: With my TeX markup:

E.\ L.\ Lehmann, {\it Nonparametrics: Statistical Methods Based on Ranks,\/}

And, yup, again with my TeX markup,

Bradley Efron, {\it The Jackknife, the Bootstrap, and Other Resampling Plans,\/}

Last time I knew, Roger Wets was at UCSD. He read one of my papers and suggested JOTA where I did publish it!

</comment></comment></comment><comment><USER28> why is there no syllabus - as in a list of contents? I want to know what really is behind this buzzword stuff.

<comment><USER29> It's probably around the same content as this semester's iteration: [http://data8.org/sp18/](http://data8.org/sp18/). I would read the online book for more info.

</comment></comment><comment><USER30> There are at least two big turn-offs to this course at first blush: 1) they insist on using anaconda (effectively another package manager complicating the already layered interaction of system pip, virtualenv, virtualenvwrapper etc ). 2) they use Microsoft VisualStudioCode (so, inevitably a good deal of time in this course will be spent learning how to navigate a bloated IDE)

<comment><USER22> Neither of which are the least bit consequential for anyone more interested in learning about _data science_.

<comment><USER30> As it turns out I was wrong about one of those points: in fact the course prefers that you avoid MSVisualStudioCode and instead use the Jupyter notebooks.

But, this bring us back to a much more central topic in _data science_ : the tools and environment DO matter. Hugely.

Reproducibility is central to not just data science but all science. This is facilitated by the use of Free, Open platforms which adhere to common standards.

Imagine trying to debug why someone has a different answer than you when there are x*variant-of-program environments in which they have obtained their answer?

At the most basic level this course should be distributing a Docker image or a VM image of some sort in order to ensure that everyone has the same version of the software.

Even if you do not care about any of the above, please, shed a tear for the student who would like a simple setup.

Thank you.

</comment></comment></comment><comment><USER31> What exactly is Data Science? It seems like such an overused term and the value of the subject really gets diluted for me when I see charts in Tableau being offered as examples of "data science".

What's the difference between, say, a Master's program in Computer Science where one studies machine learning and a Master's program in Data Science? Am I wrong for thinking the Data Science program weaker?

<comment><USER32> _What exactly is Data Science?_

Data Science and DevOps are both just labels for things people have been doing under more mundane terms for 40-odd years.

Even Machine Learning is just a trendy buzzword for what used to be called Predictive Statistics.

<comment><USER33> I did stats before data science was a thing, and then ran a data science team afterwards, and it's dramatically different.

I've never seen any stats text book or course discuss techniques for dealing with large amounts of data to any significant level, but in data science that is a core part of what you do.

I ran production systems before DevOps and after. Again, it's very different - prior to devops, there was no emphasis at all about using software engineering techniques to manage and deploy software. The most you'd get was some scripts _maybe_ kept in source control if you were lucky.

Now I run an AI company, and a key part of the ML we use involves generating structured text files from images. I _guess_ predictive statistics is technically a correct label, but the tools and techniques are so dramatically different that that thinking of them as separate fields is more correct than incorrect.

<comment><USER32> I struggled for years to understand DevOps because I couldn't see what was different from how I worked already... the answer was nothing :-)

<comment><USER23> DevOps gave a name to what your were doing, that other sysadmins and product devs did not. Is that bad?

</comment></comment></comment></comment></comment><comment><USER34> Berkeley also used to have this Data Science with Spark series on edX but they taught it just the one time and now even the archived versions of the courses are closed.

[https://www.edx.org/xseries/data-science-engineering- apacher...](https://www.edx.org/xseries/data-science-engineering-apacher- sparktm)

<comment><USER35> I'm so sad this was never taught again. It's the most useful MOOC I've taken, and it motivated me to start using pyspark on a daily basis. I would say the class is better for learning pyspark than actual data science concepts though.

</comment></comment><comment><USER36> For those interested, you might want to check out [http://data8.org](http://data8.org) I'm not sure how it compares to the OP course, though.

</comment><comment><USER37> Does anyone know how it compares to bootcamps like DataCamp[0] for e.g?

[0] [https://www.datacamp.com](https://www.datacamp.com)

<comment><USER38> Boot camps are stupid.

Go to community college. It's ridiculously cheap, and the credits are worth something.

<comment> barry-cotter If you can learn skills that get you a job from a boot camp they're not stupid. The fact that Lambda School and App Academy don't get paid unless you get a job and they still exist suggests rather strongly that they get people jobs.

<comment><USER38> Skills without the foundations are going to be useless in a technology shift or economic downturn. Also getting a job is great - how about keeping one, or advancing?

It seems very short sighted; community college only takes 2 years. Your career lifetime is what, 45 years? The ROI is insane, why would you shortchange yourself?

<comment> barry-cotter I think you radically underestimate how useful work experience is, both in terms of what you learn at work, and in terms of actually having money, rather than not having any. Technology shifts happen all the time. Being able to keep up is a necessary skill but it's a great deal easier to learn the latest JS framework if you know another one. Given the large number of degreeless programmers and the fact that CS graduates are a minority of working programmers I think we can take it for granted that neither are _necessary_.

The only boot camp grad I've spoken to personally had a degree in Human Genetics, did App Academy after deciding they didn't want to do it as a career and got a Django job out of it, despite having no knowledge of Python. They had learned enough Ruby on Rails in three months of more than full time work to impress in an interview.

Community college is _only_ two years? That's half the time needed for an actual Bachelor's degree, but radically less valuable than one for getting a job. There are two sensible reasons to get an A.A. or A.S., to get a job afterwards or to get the Bachelor's that comes after. You need to pay for it but more importantly you can't get a real job during it and you need to eat and live during it.

Even if a good boot camp is strictly inferior to a median A.S. in Computer Science the first can still be a better choice purely because it takes less time. Having known people with Bachelor's in CS who can't code I doubt an Associate's is better.

Who would you hire? The boot camper with two and a half years work experience or the A.S. graduate with one? What if neither of them has a B.A. to go with it? What if both do?

</comment></comment></comment></comment></comment><comment><USER39> Many if not all of the courses on Edx has a free audit option, like this one. It gives you no certificate and often you cannot access or submit exercises.

</comment><comment><USER40> this would seem to be a playlist

[https://www.youtube.com/watch?v=xcgrnZay9Yc&list=PLFeJ2hV8Fy...](https://www.youtube.com/watch?v=xcgrnZay9Yc&list=PLFeJ2hV8Fyt7mjvwrDQ2QNYEYdtKSNA0y)

</comment><comment><USER41> Who has time for this?

<comment><USER42> Unemployed desperate people thinking that this will get them a job.</comment></comment>


Show HN: Free Cloud9 with Docker and Rackspace Carina - <AUTHOR> http://continuousfailure.com/post/carina_cloud9/ <comment><USER2> Very cool! :-)

I am one of the authors of dvm and was curious why you created a symbolic link to docker after using dvm to install it. dvm should have put the 1.9.1 docker directory on your path, making the symlink unnecessary. If that did not work, I would love to know more about problem. [https://github.com/getcarina/dvm/issues](https://github.com/getcarina/dvm/issues)

</comment><comment><USER3> Nice guide, I didn't know Carina was so easy tu use.

You could make it a bit more awesome without publicly exposing the service, but making it still reachable for you. If you check my submission history you'll see a couple examples of how we enable Docker containers to be even better with overlay networking :)

Congratulations for the article!

</comment><comment><USER4> Carina doesn't allow privileged mode, but Eclipse che needs that. :(</comment>


Disney heir calls on company to give 50% of exec bonus to lowest-paid employees - <AUTHOR> https://edition.cnn.com/2019/04/24/media/abigial-disney-executive-pay/index.html <comment><USER2> Disney heir should give up her unearned wealth to the poor. The guy she's criticizing, that actually worked for his money, increased the value of Disney by many billions.

<comment><USER3> Calling her wealth unearned is disingenuous. Are you saying that children have no right to their parent's wealth.

<comment><USER4> It's not that she doesn't have the right to the wealth, but that she didn't work for it. The executive probably did.

<comment><USER5> It's the Disney machine that really generates the windfall. Sure Iger steers the ship, keeps it from hitting the rocks, so it's worth compensating him highly. I just think some nuance is there.

<comment><USER6> Is there any books about ceos that came up with ingenious ideas to steer the company into profit that you would recommend? I'm interested in what a CEO does that makes his/her so many times more worth than your average man. Not being sarcastic just want to gain those skills.

<comment><USER5> I don't know either, but they seem to be Attorneys so they can navigate complex laws, or Engineers (Alan Mulally). They also seem to be well connected. What makes them compensated so highly is the large risk they manage, they are expected to meet shareholder demands. That said, some of it certainly feels excessive.

<comment><USER6> its interesting that they almost never have a large part of their salary connected to bonuses like salespeople do. They take risks for others and it's an important job. But I do think it has more to do with culture.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> I don't get this outrage over the pay ratio. This seemingly outrageous ratio seems reasonable once you factor in the hard decisions that any CEO or top level executives have to make. Their one mistake can have very drastic effects on hundreds of thousands of employees.

When any company shuts down, the median employee is not blamed it is the CEOs and executives who are blamed.

Companies do not pay CEOs for the hours they work, they pay them to take critical decisions.

<comment><USER7> Everybody gets blamed when they make bad decisions. No different for the CEO.

Its hasn't been considered reasonable to earn 100's of thousands of times more than most people. That's kind of the definition of excess, and is used throughout history to illustrate societies gone haywire (despot kings, religious wealth in the presence of poverty etc).

There are literally thousands of people who would line up to make those critical decisions. They don't earn that much because of the market. CEOs earn that much because the folks at a company that can write checks, write them to each other.

<comment><USER8> That's not how public companies work. CEO compensation is determined by the board and the board is elected by the shareholders. If a CEO makes a lot of money, it's because the owners of the company think it's worth the money.

I work in finance and your buddy buddy old boys club isn't true. Shareholders want as much money as possible and the relationship between them and management is often antagonist: many a CEO are laid out to dry every year by investors.

As such, there's only one reason why Bob Iger gets paid so much: because he's generated _tremendous_ value for shareholders over the years and the shareholders want to incentize him to keep generated value.

<comment><USER7> Yet in the last couple decades we've seen this jump up an order of magnitude. Don't think those board members aren't writing checks to one another, in that company or a different one.

Generating value for the shareholders is a job, and can pay like any other job. The reasons compensation for that has jumped up an order of magnitude has more to do with tulips.

</comment></comment></comment></comment><comment><USER9> If my goal was to advocate to pay employees more, I would just advocate for increasing their pay. Why should it be restricted to 50% of executive bonuses? Seems unnecessarily complicated, unless the goal was to attract headlines or not affect the bottom line numbers.

<comment><USER10> Because a company cannot raise pay infinitely. This is explicitly a call to rebalance pay away from executives and towards hourly employees.

</comment></comment><comment> who-knows95 well, this is a breath of fresh air.

</comment><comment><USER11> Yeah, sorry. Your income is at the bottom 11%. It doesn't qualify for the bonus redistribution program.

</comment><comment><AUTHOR> [https://media.giphy.com/media/119SFXjoMsax6o/giphy.gif](https://media.giphy.com/media/119SFXjoMsax6o/giphy.gif)</comment>


WebAssembly: Mozilla Won - <AUTHOR> http://robert.ocallahan.org/2017/06/webassembly-mozilla-won.html <comment><USER2> People seem way too optimistic about web assembly.

The elephant in the room is download size. A wasm photoshop, even if it works and performs well, is still a multi-gigabyte "web page". The browser is in no way set up to handle that.

Even simple things will be huge compared to javascript webpage. Let's say you write your todo app in Python with Qt bindings. Sure, wasm lets you run it on the web. You'll just have to ship Qt, the python interpreter, low-level graphics rendering code, shims for system calls in the standard library ... overall you'll end up way, way heavier than the javascript + DOM version. Probably 100MB or something.

wasm as it's implemented is going to have a very narrow band of usefulness. Basically, isolated computational modules (e.g. a physics simulation), and games. The games won't be, like, "Call of Duty on the web", they'll be little flash-type games with not too many assets. Creators will have to put a lot of effort into asset loading and compression to get around browser limitations.

<comment><USER3> > The elephant in the room is download size. A wasm photoshop, even if it > works and performs well, is still a multi-gigabyte "web page". The browser > is in no way set up to handle that.

So you split it into chunks and download the bits you need as you go.

Microsoft has already figured out how to do this -- you can run Office (the real, full Windows version) basically streaming from the Internet already.

<comment><USER4> > So you split it into chunks and download the bits you need as you go.

at last, the renaissance of the microcomputer programmers (like the COBOL renaissance of the mainframe programmers)! that kind of technique was common back in the 80s to get things done

[http://www.filfre.net/2017/04/the-640-k-barrier/](http://www.filfre.net/2017/04/the-640-k-barrier/)

</comment></comment></comment><comment><USER5> This article in few lines lists key differences between PNaCl and WebAssembly:

\--- WebAssembly defines no new platform APIs other than some APIs for loading and linking WebAssembly code, relying on standards-based Web APIs for everything else. WebAssembly differs from asm.js by defining a bytecode format with some new operations JS doesn't have, so some spec work was required (and has been done!). Like asm.js, WebAssembly application call-stacks are maintained by the JS VM, outside the memory addressable by the application, which reduces the exploitability of application bugs. (Though, again like asm.js and unlike PNaCl, the compiler is trusted.) \---

<comment><USER6> I don't really understand what "the compiler is trusted" means.

What could an evil compiler really do? Maybe add a spinning loop to waste CPU cycles, but that can be done in JS too.

<comment><USER5> Both PNaCl and WebAssembly need a compiler to a get the machine code run by CPU, but the output of PNaCl is checked via NaCl verifier while nothing checks that the output of WebAssembly is safe machine code.

As the verifier for NaCl is likely to be an order magnitude smaller than a component in WebAssembly implementation that verifies and compiles the bytecode to the native code, PNaCl attack surface is much smaller.

<comment><USER7> >nothing checks that the output of WebAssembly is safe machine code.

The JS/WASM VM does. If unsafe WASM code is allowed to execute, there is a bug in VM. VM must prevent semantically incorrect WASM from executing Control flow integrity and incorrect use of pointers are detected at load time. There are traps for invalid indexes, exceeding stack limits, invalid indexes in the index space.

<comment><USER5> This is not about unsafe WASM which should be rejected by verifier. This is about the raw machine output that the compiler generates from WASM. As with JIT for JS currently nothing verifies WASM compiler output. So a bug in the compiler may result in a WASM that passes the verifier to be translated into unsafe machine code.

<comment><USER7> Same thing applies to NaCl verifier. Bugs in verifier can cause problems. Verification or generation bugs are bug, not security weaknesses in the architecture.

(I should not need to mention this but compiling is form of verification).

<comment><USER5> NaCl verifier in practice is much simpler than WASM compiler leading to a significantly reduced attack surface.

<comment><USER7> This is not true. NEXE has different security boundaries enforced differently on each supported platform. You need to write disassembler for each supported instruction set and verify them. This is more complex task than generating correct code from wasm.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I think this is a good thing. It probably prevented a new DirectX style dark age of the web.

Probably! I don't pretend to be able predict what path companies would have went in the next few years.

It's really good to see that there is a will to agree and that there is more than one player. Could always be more, also for keeping standards sane. (WebSQL officially failed because there isn't more variety)

<comment><USER9> >It probably prevented a new DirectX style dark age of the web.

DirectX was hardly a dark age, DX8 and onwards was a step ahead of GL.

<comment><USER10> But tied only to one OS. I believe this is what the OP meant and something I agree with.

</comment></comment></comment><comment><USER11> WebAssembly is nice and all, but I don't understand why Mozilla is so obsessed with this feature that will be useable by 0.01% of applications. Meanwhile they are falling far behind in a variety of features that are useful to a much bigger % of the web. Safari and Edge have leapfrogged Firefox in providing the important things to web developers.

<comment><USER12> As pointed out, this will be HUGE.

For starters, this will enable client (browser) software development in a language other than Javascript/ES6. With, probably, a plethora of compilers to choose from, some of them giving better optiimizations than others.

I think this will make an explosion of more browser-hosted applications, with much more power than before. And will make many more programmers go into serious frontend app development.

Also, as a personal wish of mine, this enables the possibility of being able to program on the language of your choice, both in the browser side and on your server side. For example Haskell/Haskell, Common Lisp/Common Lisp, Clojure/Clojure, Racket/Racket Python/Python, etc. And i mean using in the browser the FULLY FEATURED version of the language, not a subset or a limited version like ClojureScript, PyJS, Transcrypt, etc, but a full version of the language supporting the full libraries available for it.

This also gives us a little step forward in liberating ourselves from being tied to the mainstream operating systems: Windows, Apple X, Linux, BSD, because more and more apps will target the browser environment, not the operating system directly.

Roll your own operating system and still keep compatibility with most apps!!

<comment><USER13> >full version of the language supporting the full libraries available for it.

Does this mean, simply said, that I can take any arbitrary windows desktop app written in C++, for example, and run it in browser on every other OS?

<comment><USER14> [http://www.quakejs.com/](http://www.quakejs.com/)

It required 3 days of porting from what I remember hearing.

</comment></comment></comment></comment><comment><USER15> What are the main benefits of WebAssembly over asm.js?

I understand that asm.js was a subset of JavaScript that allowed the compiler to create faster code. For example because it could be sure that variable types do not change during runtime.

But what do we gain with WebAssembly? Faster download+compilation times? How much faster?

<comment><USER16> Here's a good overview from the emscripten author: [https://hacks.mozilla.org/2017/03/why-webassembly-is- faster-...](https://hacks.mozilla.org/2017/03/why-webassembly-is-faster-than- asm-js/)

TL;DR: much faster parsing over asm.js (10x to 20x faster), parsing should also use much less memory, 10%..20% smaller downloads (when comparing the compressed sizes, uncompressed WASM is several times smaller then asm.js), 64-bit integers (these have to be emulated on asm.js),

<comment><USER15>
        much faster parsing

Isn't parsing super fast already? From my experiments, jquery seems to compile in a staggering 0.1ms.

<comment><USER17> The partial intent of WASM is to write things orders of magnitude larger than jQuery. Whether or not it will ever be practical to ship e.g. a complete Photoshop clone in a browser remains to be seen, but if that's your goal then you do have to start worrying about things like parse time.

<comment><USER15> Why would the whole Photoshop be downloaded and compiled? I would expect a web app to only download the parts the I use. If I want to blur an image, I don't need the other gazillion filters for example.

And hey, even if photoshop is 1000 times bigger then jquery - that would still compile in one tenth of a second.

<comment><USER18> Developers like you are why apps are slow when they don't need to be.

EDIT: Also, if you think 10%-20% smaller downloads aren't worth it, you're clearly not working at a CDN.

</comment></comment></comment></comment></comment></comment><comment><USER19> It seems there is this effort to get C/C++ code performing fast inside of a browser... then at the same time there seems to be an effort to get people to stop coding in C/C++ altogether and switch to something more memory safe.

Go or Rust for example. Also, I watched a talk from DConf and saw that D is adding memory safety as well. You need to mark any part of code doing pointer arithmetic as "system code" or something like that.

I think it's a shame one couldn't have happened before the other. I wish something like D or Go or Nim or something else would have won. Then there would be this effort to get that language fast on the browser.

Is anything I'm saying making sense? I don't know enough about WebAsm, is it really tied tightly to C or could Go or Rust or some future version of statically typed Python become a first-class citizen?

<comment><USER20> It is not about running C/C++, it is about running native code (or something approximating it). With the right backend, most languages should be able to target WebAssembly. The other complication with supporting Go or Rust is that, even if the language is memory safe, the code still needs to be sandboxed.

<comment><USER21> Gc'd languages will take a while.

<comment><USER22> What does Go's GC need that WebAssembly doesn't have? I understand it might be hard for a language like Java that expects a GC in the VM

</comment></comment></comment></comment><comment><USER23> Asm.js was a brillant idea, but wasm is more like a bytecode. This is where is the part from NaCl the author missed. Wasm is derived from asm.js but also an improvement on LLVM to make a portable bytecode, that LLVM is not. One more step in the LLVM toolchain to get portability...

<comment><USER24> WASM isn't based on LLVM. WASM is a compiler target, but compilers other than LLVM can target WASM.

<comment><USER25> And WASM is now the defacto portable Bitcode. Just as JS took over the world, so will WASM. In six months, WASM will have had more program launches than the totality of .Net and the JVM.

We have yet to fathom how far reaching WASM will be. Did I say WASM enough times? I end with only this. WASM.

<comment><USER24> > "In six months, WASM will have had more program launches than the totality > of .Net and the JVM."

I don't think so. The only languages that can currently target WASM are languages that don't need GC. It'll take a while before the tooling and functionality is mature enough to support the most commonly used languages (aside from C/C++).

</comment></comment></comment></comment><comment><USER26> One of the best things about Flash was that you could pack up all your bytecode and bitmaps and vectors and sounds and fonts into a single compressed SWF file that contained your entire application/game/demo. That made it really easy to do stuff like double-click-able client demos and deliverables for websites. Ditto for Java and JAR files.

Looks like the "compressed bytecode that runs really fast" part is now a reality. I'm hoping they'll work on making deliverable packages that are convenient for programmers and users.

Anyone know if there is there anything like this in the works?

<comment><USER27> Related tangent: sounds like Zeit.co's `pkg` for Node: [https://twitter.com/zeithq/status/858393067241357312](https://twitter.com/zeithq/status/858393067241357312)

</comment></comment><comment><USER28> This is just my personal viewpoint with nothing to back it up, but I doubt Google ever seriously wanted other browsers to implement PNaCl. As this post says, it was never specced and Google's big push for it was in Chrome apps on the Chrome Web Store.

Also, wasn't asm.js just a subset of JS? This line confuses me:

> asm.js and PNaCl represented quite different visions for how C/C++ code > should be supported on the Web

Yes you could compile C to asm.js, but it would still be compiling it to JS at the end of the day. WebAssembly is completely different in that regard.

<comment><USER29> >Yes you could compile C to asm.js, but it would still be compiling it to JS at the end of the day. WebAssembly is completely different in that regard.

WebAssembly (at least to start with) is mostly intended as a more compact binary encoding of asm.js. It still mostly executes the same way and offers the same APIs as asm.js.

</comment></comment><comment><USER30> Is there anywhere a "hello world" or simple DOM modification program which I can implement with WebAssembly?

<comment><USER31> I made this factorial compile-and-run example in NodeJS:

[https://gist.github.com/Recmo/e0b6911992897c5f51c38fda822537...](https://gist.github.com/Recmo/e0b6911992897c5f51c38fda822537c2)

To run it you need at least Node 8.0.0 and the `--expose-wasm` flag.

Sorry for using modern JS, you will need to use babel-node to run it. Or you can port it to old fashioned JS.

<comment><USER32> I didn't know you could run wasm from node, awesome.

</comment></comment></comment><comment><USER33> Is WASM platform independent?

<comment><USER34> To the extent that asm.js and JavaScript are, yes. Everything is well-defined, so in theory any Turing machine should be able to run it, but it's certainly going to be easier to implement efficiently on a typical modern 32-bit or 64-bit CPU in a computer or phone than on something more unusual.

<comment><USER33> So I could write an application in, lets say Rust, compile it to WASM and run it on Linux, macOS and Windows browsers without anything extra?

<comment><USER34> Yep! It's a completely portable target and fulfils the promise of "compile once, run anywhere", although how well it runs depends on the particular browser.

(It is pretty amazing you can compile C code to something that actually runs on multiple machines, it's very nice.)

<comment><USER33> Yes, this sounds awesome.

Can this be used as alternative to native modules in Node.js?

<comment><USER35> That is a good question. I imagine it depends on why it is a native module. If they are native module because it utilizing features at the OS or machine level, then I doubt they could.

<comment><USER34> Well, whatever syscalls you want to make could be made by node.js for you, though that quickly veers into absurdist territory.

</comment></comment></comment></comment></comment></comment></comment><comment><USER36> Seems like a lot of complexity for very little gain in performance. Optimizing JavaScript often gain 100x performance, and after that rewriting it to Web- assembly would only gain up to 4x performance.

<comment><USER37> 4x performance is worth having for many applications.

The other thing is it's not just about performance, but also about running existing and future C/C++/Rust etc code on the Web.

<comment><USER36> those C/C++/Rust apps will perform worse on the web and a lot of glue code will be needed.

</comment></comment></comment><comment><USER38> Keep in mind nacl/pnacl, as a more mature technology, is ahead of WebAssembly wrt features, such as threads, simd, etc.

I know these are coming to WebAssembly, but who knows how long it'll take.

<comment><USER39> More mature, and soon only available in chrome extensions and apps: [https://blog.chromium.org/2017/05/goodbye-pnacl-hello- webass...](https://blog.chromium.org/2017/05/goodbye-pnacl-hello- webassembly.html)

Chromium is refocusing on WebAssembly

<comment><USER38> Yep, I'm aware, my point is it's still behind.

</comment></comment></comment><comment><USER40> Interesting perspective. I've largely kept out of that fight for many reasons, but it is interesting to see a counter-argument to the Mozilla/Firefox just apes Chrome story.

<comment><AUTHOR> > but it is interesting to see a counter-argument to the Mozilla/Firefox just > apes Chrome story

I think looking at Quantum ([https://wiki.mozilla.org/Quantum](https://wiki.mozilla.org/Quantum)) and Phonton ([https://www.ghacks.net/2017/03/31/firefox-photon-new- design-...](https://www.ghacks.net/2017/03/31/firefox-photon-new-design- mockups-show-interface-and-more/)) this becomes even more clear.

<comment><USER41> I agree that Quantum is exciting, but if there's anything interesting about Photon the article you linked really didn't bring it out. What aspects were you thinking of?

<comment><USER42> I think it's just used here as an example of Moz://a not aping Chrome, by moving their UI even further away.

</comment></comment></comment></comment><comment><USER43> Will there ever be a way to have constant-time functions in WebAssembly? Relying on WebCrypto primitives is fairly limiting.

</comment><comment><USER44> In 2016 the global games market had $99.6Bn revenue and a 8.5% YoY. PC had a 27% +4.2% market share, TV 29% +4.5% , mobile 27% +23.7% tablets 10% +4.5% and casual webgames 5% -7.5%. (source:Newzoo) Google with it's presence in mobile, tablets and web seems to be the winner, edge will support webassembly in the future and mozilla which is much smaller than opera on mobile reminds me of Xerox.

</comment><comment><USER45> I wonder if we can do scala native -> llvm -> webassembly. Anyone tried?

</comment><comment><USER46> I don't really like the headline. I don't want Mozilla to "win", and I don't think Mozilla wants to either; I want the open web to flourish.

That said, the article is very informative, and well-balanced. It was really good of Google and the other browsers to join the wasm bandwagon. And yes, although as the author himself points out, "proclaiming a "winner" is unimportant or even counterproductive", Mozilla does deserve a lot of credit here.

<comment><USER47> It is joke - we had 'Chrome won' the other day. There is a hidden point being made which you would probably agree with.

<comment><USER48> i hate how HN now has titles that require knowing previous posts to understand.

That's the domain of reddit.

<comment><USER49> I've seen this on HN, going back to at least 2007 or 2008.

<comment><USER50> I especially remember that in the first few years of HN there was an expectation that everyone had read Paul Graham's essays and would recognize references to them.

</comment></comment></comment></comment></comment><comment><USER51> It's worth pointing out that Mozilla can only continue to put pressure on Google and fight for the open web if people continue to use Firefox and support them. Consider switching to Firefox even if you prefer Chrome. Report websites that don't support FF. We are all better off for the existence of Mozilla, and strong viable competition to Chrome and IE.

<comment><USER52> Even if thousands of developers from HN switch, that would hardly move the needle. Ordinary users just won't care about any of this.

Servo, which I think is the most important software project in the world, is where it will start to change. That's when those of us who may not be directly contributing code into Servo need to come out and do our thing. I still fondly remember the NYT ad and the crop circle. We should do it all over again.

<comment><USER53> I doubt that would help.

As the lead dev of VLC in a recent interview said, they've been offered huge amounts of money to include Google Chrome in their installer, and saying no was the hardest decision he's ever made.

As long as Google has fraudulent ads for Chrome "your browser is outdated, update now to Google Chrome" on their websites, as long as Google intentionally makes the experience worse for Firefox (see the youtube redesign), as long as Google pays developers to ship Chrome as malware with every single installer, as long as Google forces OEMs to install Chrome with Android, Chrome will rule the market.

The only solution now is the EU.

<comment><USER54> Agreed with everything but your first sentence.

MS was a much bigger impenetrable monopoly and the Web was won back. It can be done again. Having a great product and grassroots evangelism certainly help.

(Not that I think Chrome is THE ENEMY. It's constantly evolving, multiplatform and open source. IE was none of that. But I agree Google's practices you described are despicable. Huge kudos to VLC for doing the right thing)

<comment><USER55> Whoa.

Internet Exploder was constantly evolving and multi-platform.

Did you forget IE ran on PPC Macs, X86 Macs, Windows, and CP/M?

IE updated... just slower than Netscape.

<comment><USER56> IE ran on... _CP /M_? What CP/M are you talking about?

<comment><USER57> They probably meant Windows CE or Pocket PC (P/PC)

</comment></comment></comment></comment></comment></comment></comment><comment><USER58> I can't wait to see ad networks abuse WebAssembly. /s

</comment><comment><USER59> Mozilla wins a battle but loses the war

</comment><comment><USER60> Which I believe was Brendan Eich initiative. Mozilla without him is just not the same project.

</comment><comment><USER19> WebAssembly and PNaCL always seemed like a hack. A very elegant thought-out hack, but still a hack. It required a 64 bit OS but could only ever operate in 32 bit space.

Should have been dead on arrival because of that fact alone. For something that was trying to bring C/C++ and video games into a browser setting a 4GB max on memory should have been a non-starter.

<comment><USER46> I'm afraid pretty much every part in the pipeline of getting websites to your computer and shown on screen is a big giant hack of which it's a wonder that it even works at all, most of the time.

<comment><USER17> s/getting websites to //

</comment></comment></comment><comment><USER61> Congrats for winning!

This does not change Firefox being on its final death throes though.

Chrome won where it counts.

<comment><USER62> And that is a sad thing :( I really hope Firefox comes back with a new push towards better web, and keeps pushing it!

<comment><USER24> In terms of usability it's already on a par, it's just a question of waiting for average users to have a strong enough reason to switch. Potential speed improvements from Project Quantum seem like the best hope in the short term.

</comment></comment></comment><comment><USER63> WebAssembly will finally put an end to the constant battle between browser vendors as to who has the fastest Javascript Engine. The endless benchmarks about how V8 is faster, or Chakra is faster, or SpiderMonkey is faster, and so on and so on. Hundreds of thousands of millions of man hours have been poured into building the fastest JS parsers imaginable, and now WebAssembly is going to come along and side step the whole thing in one go by moving the parsing stage off of the client.

Javascript parsing technology will go down in history as ultimately the biggest waste of time that mankind ever indulged in, all because no one stood up and questioned if this language was even a good fit in the first place. In a few years the WebAssembly creators may even win the Noble Peace Prize for finally ending the biggest battle in the never ending "browser war".

<comment><USER64> > Javascript parsing technology will go down in history as ultimately the > biggest waste of time that mankind ever indulged in

If there is absolutely nothing else in this world that you can think of that might be a bigger waste of time than performance optimizations that have benefited billions of users for many years, you're not trying very hard.</comment></comment>


Ethereum smart contracts in a nutshell for hackers - <AUTHOR> http://linuxforme.com/ethereum-smart-contracts-in-a-nutshell-for-hackers.html <comment><USER2> Hell of an article !! Thanks!</comment>


Ask HN: 23, Too late to study Mathematics? - <AUTHOR> <comment><USER2> Yes, you've missed the boat. You have the neuroplasticity of a bucket of dried joint compound. There is no point in studying anything at all, let alone mathematics. You are totally incapable of acquiring and synthesizing new information. To even try would be an affront to God. Whatever subjects you have learned by your advanced age are the only ones you can hope to advance in, contribute to, and profit from forevermore.

<comment><USER3> I know this is a joke, but there's truth in it. If he aspires to hit a high level of mathematical altitude, the time for that has likely sailed.

</comment></comment><comment><USER4> For what it's worth, I don't think it's too late. Your biggest challenge will be to take it seriously, put in the time, and to be resilient in the face of the difficulties.

But I have a friend who is in his late 40s who is coming up to speed in Number Theory, and doing well. But he is serious, and is putting in the time.

With age comes maturity, that can help, but also a more set way of thinking, which doesn't. Also, it depends on what kind of mathematics you want to learn ...

... and why.

</comment><comment><USER5> 23? Ha! No. I went back to school at 34 and got my PhD in pure math from Princeton when I was 40.

<comment><USER6> Raymond Smullyan also got his mathematics PhD from Princeton at 40.

</comment></comment><comment><USER7> Nah. Mathematics is kinda like "brain gymnastics": you'll have a hard time starting but it'll become easier as you go through it.

My advice is to find a place/community where you can ask "stupid" questions without being judged too much. For this kind of questions, every once in a while, I like to ask on usenet, on the sci.math newsgroup.

</comment><comment><USER8> _Whether you think you can, or think you can 't, you're right_.

</comment><comment><USER4> In addition to my other comment[0]:

* What do you want to study?

* How much time can you dedicate to it?

* How will you study - will you have mentors?

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

</comment><comment><USER9> Absolutely not. Karl Weierstrass didn't really get started until he was 40.

</comment><comment><USER10> No, I didn't graduate (in mathematics) until I was 49.

</comment><comment><USER11> It's never too late to start anything.</comment>


The Case Against Responsive Web Design - <AUTHOR> http://www.drawar.com/articles/against-responsive-web-design

<comment><USER2> Good points. As it is with many approaches, responsive design is a technique that should only be used when it makes sense.

Responsive design is still a great concept but it requires a lot of careful work. In an environment where just getting a site look the same across browsers takes major effort, approaches like this simply don't have much priority. At least from my experience.</comment>


Should You Migrate from Linux to BSD? It Depends - <AUTHOR> https://fediverse.blog/~/AllGoodThings/should-you-migrate-from-linux-to-bsd-it-depends <comment><USER2> both articles don't even mention the word "compatibility", -don't attack me, I am _BSD fan but Linux runs almost in every laptop /desktop I had/have, FreeBSD _not* quite smoothly: here I am talking about "basic" things like: laptop brightness or suspend/resume, till then I will stick with Linux....</comment>


Purplecoat.js – Simple Labeled Overlays - <AUTHOR> http://ellekasai.github.io/purplecoat.js/

<comment><USER2> I like when I'm on a run thinking about adding something to my website, and then I get home to find that very feature, nicely implemented, posted on HN! (Also, as a former English teacher, I can't resist pointing out a typo: "(Explanation: The value of deta-purplecoat-toggle must match the value of data-purplecoat to make this all work.)"

<comment><AUTHOR> Thank you! Fixed the typo :)

</comment></comment><comment><USER3> Very nice! Nicely presented as well ... and timely too, I was just thinking about something today this would be perfect for.

It seems like you could extend this to put more information on the coats. For example, I'd like to use one coat for help text and another to convey state changes. A data-purplecoat-class on the button (that then is applied to the generated div) could describe this easily enough ... in general, are you thinking of adding more power to what can be specified?

</comment><comment><USER4> Nice effect! I really like the look of the Jekyll theme you made too, Shiori. Love the simplicity and use of Bootstrap.

<comment><AUTHOR> Thank you so much!

</comment></comment><comment><USER5> Interesting! May I ask how you got the idea for this? I'm thinking about possible use cases :)

<comment><USER6> At the bottom of the page there is an example of using it to highlight the areas of the page the user can customize .

<comment><USER7> That example probably belongs near the top. It wasn't clear to me at all what the usecases were until I got to the end.

<comment><AUTHOR> Thank you! I brought it closer to the top :) [http://ellekasai.github.io/purplecoat.js/](http://ellekasai.github.io/purplecoat.js/)

</comment></comment></comment></comment><comment><USER8> While this is fixable with the customization options, I find the readability in the demo lacking. The transparency, the color choices or some combination of both doesn't make it look nice to me. I like the simplicity of the solution though.

<comment><AUTHOR> Thank you for your feedback :)

</comment></comment><comment><USER9> This is a great thing to have for CMSs. Clients often times don't understand what's `navigation.html` or `top header`, so this could aid in helping them to understand it. Good job!

</comment><comment><USER10> This is awesome, Elle! Tell Shu I said hi! :)</comment>


Ask HN: Who Has Solved the Third Party Payment Aggregator Problem for 2017? - <AUTHOR> Hi all and Happy New Year!
A variation of this was asked many many years ago now:  https://news.ycombinator.com/item?id=1976866
I am facing this very same problem, so I am hoping things have significantly moved on for 2017...
Are there any payment processors which will work with a merchant in the United States, who requests the model of a third party payment aggregator?
My payment flow is pretty simple:
1) Buyer pays for product.
2) Monies from Buyer may be put on hold for a maximum of 30 days, depending on Vendor reputation.
3) Package is sent, Buyer gets notified by Vendor of tracking number.
4) Buyer is notified each stage of the delivery processes.
5) Buyer has access to an APP that releases funds to Vendor, Buyer rates product as well.
6) 48-hours payment is released to Vendor.
More than happy to change the model if that suits the payment processor.  Potentially along the lines of doing a pre-auth of funds and payment when product shipped.  Or in the TOS with vendor, they take the loss should any issues arise with product.  In addition to keeping % of funds aside for the business / vendors to keep funds available for refunds/chargebacks.
In other words, bending over backwards to facilitate needs of payment processor.
Has anyone faced this issue recently and solved it?
I have tried talking to Stripe and to Braintree about this.  Unfortunately, not been able to get past their support.  Would love to discuss with a senior level manager to negotiate a solution with an under-writer?
Anyway, posting on HN as someone from a payment processor may be passing by and can help?
You can reach me on mattwat2017 at gmail dot com.
Thanks! <comment><USER2> (I work at Stripe) Have you checked out [https://stripe.com/connect](https://stripe.com/connect)? We created this product to help solve this problem (creating a multi-sided marketplace).

<comment><AUTHOR> Thanks for replying. When I last contacted Stripe about this. I was told that drop-shipping was against the TOS. As that is what effectively is happening here. We don't own the goods and it's the vendor who does and ships it.

Are you saying that with Connect, it side steps the TOS?

Thanks</comment></comment>


"Sex Wanted" Ads on Craiglist Surge with the DNC - <AUTHOR> http://news.cnet.com/8301-13578_3-10028213-38.html

<comment><USER2> Oh no, 80% increase! Look out!</sarcasm> This is a pretty good example of how big numbers out of context can be presented as a trend.

In order for this stat to be meaningful at all, we need to know a few more things. First, how many of the posts claim to be from people who arrived in town for the DNC, versus those from people who are already in town looking to hook up with out-of-towners? Secondly, how many are posted by the same person? And thirdly, how many people are in town for the convention?

Let's assume 150 of the 340 posts are from unique DNC visitors. And let's assume 50K people in town. That's a 0.3% post rate. Not quite an orgy.

Beyond that, how does the stat mentioned compare to the increase in postings across all of Craigslist Denver? How does it compare to the increase in postings to Craiglist during DNCs and RNCs in year past? How about whenever there's _any_ large convention in town?

I guess this article wouldn't have generated as many pageviews if Declan's editor at CNet titled it, "More People Get it On When More People are in the Same Locale."

Just because you can do the math in a way that yields a big number doesn't make it a trend or a scandal.

</comment><comment><USER3> This effect happens with the Olympics, conventions, Burning Man, and pretty much any large event... I wouldn't blame politicians or political staff.

<comment><USER4> re: olympics, it makes for a funny read

[http://www.timesonline.co.uk/tol/sport/olympics/article45824...](http://www.timesonline.co.uk/tol/sport/olympics/article4582421.ece)

<comment><USER5> Taken from the article -

The old "what goes on tour stays on tour" mantra is still alive and kicking, not just in sport but beyond.

</comment></comment></comment><comment><USER6> Reading the comments, it's amazing remarkably low the reading comprehension and application rate appears to be.

 _Mere correlation does not imply causation_

But what people read and what they choose to understand will forever be far divided.

<comment><USER7> True, but Liberals have always had loose sexual morals, they tend to think if you have a desire or a whim you should satisfy it at once, therefore a causation doesn't sound very unlikely.

<comment><USER8> Or maybe, just maybe, when you get a significant amount of politicians and political staffers into a single city there tends to be some sex going on.

Shock?

<comment><USER7> Is politics a high-libido profession? Hm... maybe, actually it makes sense. But I think a subculture that holds books like Eros and Civilization from Herbert Marcuse in high regard has probably higher time preferences in it.

<comment><USER9> Maybe, maybe not. I'd like to see stats for less-political conventions... I wouldn't be surprised to see an increase in promiscuity for any large group of people on a week-long trip away from home.

But it might be the combination of technological skills and go-getter attitude shared by young political staffers that lead them to post their desires on Craiglist...

</comment></comment></comment></comment></comment><comment><USER10> And next week m4m ads in Saint Paul will go through the roof. Increases like this happen every time there is a big convention

</comment><comment><USER11> What else would you expect when Bill Clinton comes to town?

<comment><USER12> Let's wait and see what happens when Larry Craig comes to town :)

</comment></comment><comment><USER13> Politicians are slimebags, news at 11.

<comment><USER14> Is there something wrong with sex?</comment></comment>


The World Would Be a Better Place if Everyone Was a Hacker - <AUTHOR> http://rdegges.com/the-world-would-be-a-better-place-if-everyone <comment><USER3> Not everyone is a hacker.

I see this in some of my co-workers who only code for a living, not for a passion. They go home to their TVs and Netflix and raise their families. They could care less about Hacker News and the signal/noise ratio of the content.

I see this nowadays - people just expect things to work - my niece (under 6 yrs of age) will go to photo frames and swipe across them, expecting something to happen. From a very early age, she expects touch screen interfaces.

I see this in my parents when I have to do technical support (they refuse to move from Windows - Go Microsoft!) - and have to explain to them that a computer operating system is a dynamic system and, yes, the printer will stop working- just because it worked yesterday doesn't mean it will work today.

When I try explaining to my dad the process for fixing something on the computer, he just doesn't want to do it or can't. He wants a step by step by step process. But I can't give it to him. Because the process is finding out the process.

Isn't that what hacking is?

I would argue, based on a non-scientific sample of some of my friends talking about TV shows they watch and the restaurant food they go to, that the world is divided into producers and consumers. The catch here is that everyone is a producer and everyone is a consumer.

Pre-digital distribution, it was very hard for someone to produce at scale (the Gutenberg press revolutionized information access - previously books were _hand-copied_ , a process taking months if not years).

Now, with digital distribution, people who can produce works that can be copied (sometimes illegally, to detriment of the author's profit) can make a profit off their creativity and hard work. They can produce at scale (software, CDs). Mozart died broke because he lived in an age before distribution, before he could reach an audience that would appreciate and pay - concerts were the only means of distribution - couldn't load his tunes on your iPod.

As hackers, we can produce something that can be copied digitally and distributed digitally. From Youtube Instant search to TwitterVision - <USER2> can consume (even if just for free) - what we can hack. Hacking isn't always fun though - it's not easy (my dad, potential CS students who drop out because it isn't as easy as they thought) which is a subject for another time.

I'm a hacker - though not a great one - I love being able to modify and create things. To create is to live, for me.

<comment><USER4> > I see this in some of my co-workers who only code for a living, not for a > passion. They go home to their TVs and Netflix and raise their families.

Especially this one:

> ... and raise their families.

You think being a coder and raising a family is oxymoron? Or rather not being a 'passionate' coder is a bad thing? Or even being a hacker for 8 hours a day is the same as not being a hacker at all?

Trust me, raising a family (if done properly) involves a hell of a lot more 'hacking' than saving 8ms on some random SQL query...

<comment><USER5> In both cases it's the act of creation, they're just manifested differently. Hacker's enjoy their creation because they feel like stretch the limit of their intellect. Creating a family (IMHO) is both as equally, if not more, challenging.

<comment><USER3> You are both right. Somehow raising a family seems to be more than hacking, though, it is the meaning of life.

</comment></comment></comment></comment><comment><USER6> If only life was so simple. Most problems are not so one-dimensional. Problems in life are typically not math problems - they usually are complex situations with multiple solutions that have numerous impacts with degrees of good and bad.

For example, we would all like our roads well paved at all times but you'd also have to take into consideration the environmental impacts of upping the frequency of putting tar on all of our roads across society. On top of it you'd most likely have higher incidences of road worker deaths. etc. etc.

I'd agree that we need more people attempting to solve problems and that there are many things that could be vastly improved -- but I think the dynamics of true social problems are somewhat misrepresented in the article.

<comment><USER7> _Problems in life are typically not math problems - they usually are complex situations with multiple solutions that have numerous impacts with degrees of good and bad._

Like maths problems.

</comment></comment><comment><USER8> I'd like slightly disagree. I do think more people needs to be analytical but without empathy and morality all hacker qualities would be rendered meaningless and pointless.

As a hacker without empathic skills I could pick any goal and ruthlessly implement it: Goal: Need more organ donors 1\. People are unwilling to donate organs 2\. Force all prisoners on death row to give away they organs for staying in death row accommodation 3\. Kill them in ways that doesn't hurt the organs (they might suffer some inconvenience) 4\. Harvest organs

As Charlie Chaplin in Great Dictator said: "More than machinery we need humanity, more than cleverness we need kindness and gentleness, without these qualities life would be violent and all would be lost."

<comment><USER9> I don't think "empathy" and "morality" are fundamentally required; rather, they are convenient heuristics for interacting with other humans. As long as you are rational, then acting without empathy or morals would still result in similar behavior (depending on how "smart" and well-informed you are, I guess).

A rational agent seeks to maximize utility. It turns out that murdering people for their organs _does not_ maximize utility! At the very least, society is cleverly structured in a way that the probable utility of murdering somebody for their organs is relatively low.

Basically, my point is that your argument is a straw man. The issue isn't too much logic but rather than you (the agent killing everybody in the example) did not use _enough_ of it. For some reason, all the "arguments" about the inferiority of logic always assume the logical person is extremely short- sighted or ill-informed.

<comment><USER8> You can call it a heuristic or a guideline, but I consider them essential. Perfectly rational agents without empathy can commits massive acts of evil trying to achieve their goal. Or as the proverb says "Road to hell is paved with good intentions".

And I don't think short-sightedness or ill-informing was ever an integral part with arguing about how empathy is essential to human live. IIRC there was an example of perfectly informed and rational computer of super human intelligence who was told to calculate a particularly difficult equation, to which he promptly restructured all matter on earth, including people into a giant super-computer.

</comment></comment></comment><comment><USER10> Sorry this deserves dramatic pose. Hackers are not immune from the human condition. What of the irrational triumphs? Of serendipity and of chance? To believe all things solvable through logic, science, and engineering is hubris. Emotions matter. Manipulation matters. Hackers excel at local optimization, but without the turbulence, the conflict, and the occasional "kick" delivered by those that think differently, we would face a gradual descent into extinction.

</comment><comment><USER11> The conclusion I come to from some of the points made almost equate to: "To make everyone a millionaire print more money".

Increasing taxes and the average income really does little in the scheme of things other than create/abolish a disparity. The talk of money offers no real solutions, throwing money to fix US education has done next to nothing.

I have been in places where most people had very little money and it was wonderful, while in some rich places it was anarchy with people living behind razor wire and armed guards.

There are a lot of books that have been written about how to fix things in poorer countries. Take a look at William Easterly or if you like Bono try Jeffrey Sachs. Whatever your politics there is no easy answer. Try reading some books and see the mess that has been made by people trying to make things better, and all they've done is make it worse.

</comment><comment><USER12> No it wouldn't. Rather than being a monoculture, the world needs more respect for the differences that naturally exist.

</comment><comment><USER13> I agree. It is all too natural to accept things as they are--just go with the flow. The world would benefit having more people take a hard look at systems and situations we take for granted, call out short comings, and take action to improve things. The trouble is that hackers are more apt at noticing these deficiencies than the laymen. How do you encourage this heightened awareness in everybody? Entrepreneurs have profits and hackers have their curiosity. What motivations are there for everyone else?

<comment><USER14> > What motivations are there for everyone else?

In a worst case scenario, survival.

</comment></comment><comment><USER15> I believe that's the second part, there is a first part although: realizing there is a problem. For example, you may not see cancer as a problem and not try to find a cure as you may see this as a special destiny.

And to help people to realize problems you need to teach them to doubt. And not only doubting about religion, but also science (didn't Eistein somehow prove Newton wrong?) and their life choises and everything basicaly.

Who is good at doubting? I believe usually really good scientists or people that have a grasp of good philosophy (the greeks, Popper, etc.).

So, as it's not even that difficult to learn, I believe the world needs more (good) philosophy...

</comment><comment><USER16> The world would also be a better place if everyone was a police officer, and a chef, and a plumber, etc. That doesn't necessarily mean it's practical.

</comment><comment><USER17> > Increase the average income of residents of your community.

Let's aim for raising the median income instead</comment>


The Education of a Libertarian - <AUTHOR> http://www.cato-unbound.org/2009/04/13/peter-thiel/education-libertarian <comment><USER2> I just got it, Peter Thiel is literally a Bioshock villain in real life.</comment>


Ask HN: Your development environment on Windows 10? - <AUTHOR> I'm a full-stack web developer and I've recently built a pc, having previously been working on Macs for the last 5+ years.
Im finding it difficult to create a productive development environment on Windows. There seem to be a couple of popular approaches; WSL, Hyper V vms, VirtualBox vms, git bash, ...
What does your setup look like? <comment><USER4> For Windows dev, Visual Studio as the IDE, VSCode as the text editor, Powershell running within Cmder, and any required git extensions for running on the command line like Posh Git.

For Linux dev, I have Debian installed on a VM in VirtualBox, and this workflow works pretty nicely for me. It can be a pain in the ass to get the Guest Additions set up, but once you've got the hang of it for your system it's not so bad.

For Node, I tend to side more with Linux than Windows, purely because I use a Mac at work. Node and Python work great with Windows, but I can't say I've ever tried nvm in Windows, so it'll be down to your personal workflow and whether you can translate that over. For me, Python works just as well on Windows as it does on Linux.

</comment><comment><USER5> I have used Vagrant for a few years and never had an issue. All of my source code is shared/synced on the system drive. I use Go, Python, and lots of Javascript frameworks which are all installed and compiled in Vagrant. It's really nice not having all of the frameworks and compilers installed on my work environment. If I need to run a web server or DB I will either apt-get install it in the current Vagrant VM or create a second VM and configure ports in the Vagrantfile to make sure they can talk. I recently started to use Docker to run those services so my Vagrant environment is quickly just becoming the area where I run the tools associated with code compiling.

</comment><comment><USER6> I don't regularly use Windows as a development environment so I'm no expert on that matter but whenever I occasionally have to use Windows the solution for the most part is: Create some sort of UNIX-like environment for example by running Linux in a virtual machine or by installing Cygwin.

Git Bash is a lightweight alternative if you don't want to completely switch your OS. Though mainly intended to provide you with a proper UI for running Git commands in order do so it has to create a UNIX-like shell environment, which provides many additional benefits for running other development tools with a CLI as well.

</comment><comment><USER7> VSCode for most of the editing work, jumping to Sublime for very large files and IntelliJ for Java work.

Git for Windows, and SourceTree for all serious Git work except interactive rebase.

For building, testing and packaging, Docker. This way I don't need to spend lots of time maintaining runtimes for all languages and environments. If things go weird I just factory reset the Docker installation.

I used to do choco and a lot of tools maintenance, but that is all history with Docker in the mix.

</comment><comment><USER8> I always install Sublime on a new Machine. Also, Cygwin is a must for be because I have to connect with X and ssh to remote computers.

I don't know if the Linux subsystemd for Windows ([https://docs.microsoft.com/en-us/windows/wsl/install- win10](https://docs.microsoft.com/en-us/windows/wsl/install-win10)) would work instead of Cygwin but looks quite good.

<comment><USER9> I've been using Cygwin years now and there are some gotchas; no Cygwin node or go packages, so you have to use the native windows ones. Where this gets you is some funky path resolution problems. Another pain point is network proxy config inside corporate firewalls. I personally think it worth it though.

</comment></comment><comment><USER10> Coming from a Mac, your best bet'd be switching to a UNIX-like system; or at least setting up a dual-boot on your PC with a UNIX-like OS. If you just want to install an IDE and the like, you could probably install the bare minimum Arch requires, then install your IDE and the like in under 7GB or so.

If for some reason this isn't achievable, use VMWare?

Alternatively, you could always Hackintosh your new PC.

</comment><comment><USER11> Visual Studio Code as the IDE, Powershell running on ConEmu with poshgit and oh-my-posh. For specific UNIX work I can simply drop into wsl with the bash command.

A whole lot of tools like python, php and node work flawlessly on windows these days. For something that does not work, you can always drop into wsl.

</comment><comment><USER12> WSL and sometimes Docker. If it belongs on the command line I keep it in the Ubuntu environment.

I've been swinging between the Jetbrains IDEs, Atom and VS Code over the last year but I think I'm settled with VS Code now.

I'm using Hyper for terminal, or VS Code's terminal.

</comment><comment><USER13> VirtualBox> Ubuntu >Atom I know HN love to hate Atom, but it works tolerably out of the box on Python, SQL, XML, JSON, Markdown, HTML which covers most of my day job work.

I always have Notepad++ installed on Windows for quick edits, config files etc. Git Bash is helpful on Windows too as it adds a few useful bash tools, I can SSH properly (with keys) to my other machines for example.

</comment><comment><USER14> virtualbox ubuntu - i tried (against my better judgement/instinct) working in Windows at some point and it's just the worst.

</comment><comment><USER15> Windows is not my main dev env but I do some things here and there when i'm booted into it. WSL + Docker for Windows via Hyper-V is pretty great. I also generally run terminator via x server and it's fairly snappy. Need to try the new vscode release, as it had some trouble launching from WSL in the past.

<comment><AUTHOR> Thanks. It seems to be a coin toss between the native WSL + Docker and just running everything in a VM

</comment></comment><comment><USER16> I did a short video on setting up a dev environment in windows 10 if you're interested.

[http://fullbit.ca/create-your-own-development-environment- in...](http://fullbit.ca/create-your-own-development-environment-in-windows- using-virtualbox-and-ubuntu/)

</comment><comment><USER17> I actually use linux subsystem for windows for a few things and it works OK!

Otherwise, PyCharm + Chrome. I have VirtualBox for some VMs that I need sometimes (specific software that needs to be installed, etc..)

I used Conda for Python environments.

</comment><comment><USER18> Text editor: Visual studio code Terminal: Cmder (I can switch to WSL by typing bash)

Stack: Django + SQLite or .net core with MSSQL No VM: My computer keeps freezing. I am thinking about going docker at some point.

Browser: FF and Chrome

</comment><comment><USER19> Do a fair amount of Node and browser stuff on Windows. Use Sublime with a few plugins as my text editor, and git bash as my terminal, Chrome debugger when I really need it. Works pretty comfortably.

</comment><comment><USER20> It depends on what you are building. If you are .NET developer you pretty much don't need anything else but Visual Studio.

If you need some unix tools you should just go for Linux Subsystem for Windows.

</comment><comment><USER21> IDE - Visual Studio 2017 with ReSharper Ultimate

text editor - Notepad++

git client - <USER2>

CLI - <USER3>

</comment><comment><USER22> What is your stack?

<comment><AUTHOR> Python/Django and Node.js generally

<comment><USER22> I only do very minor stuff with Python but for Node.js I use VS Code. For installing programming languages and other CLI tools (PHP, Python, Golang, Node.js, Git, etc.) I use Chocolatey on Windows: [https://chocolatey.org/](https://chocolatey.org/) It avoids the hassle of manual updates and having to modify your $PATH.

</comment></comment></comment><comment><USER23> Windows subsystem for Linux and sublime3</comment>


MIT 6.S099: Artificial General Intelligence - <AUTHOR> https://agi.mit.edu/ <comment><USER2> This is a stacked lineup of guest speakers for a university course!

</comment><comment><USER3> Is video available?

<comment><USER4> The first one is. [https://www.youtube.com/watch?v=-GV_A9Js2nM&feature=youtu.be](https://www.youtube.com/watch?v=-GV_A9Js2nM&feature=youtu.be)</comment></comment>


Project Tungsten: Bringing Spark Closer to Bare Metal - <AUTHOR> https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html?utm_content=14636812&utm_medium=social&utm_source=twitter

<comment><USER2> And on a related note, congratulations to Matei Zaharia for winning the ACM Best Dissertation Award for his work on Spark: [http://awards.acm.org/doctoral_dissertation/](http://awards.acm.org/doctoral_dissertation/)

<comment><USER3> Many congrats to Matei! Well deserved.

</comment></comment><comment><USER4> This is really exciting and important Matei, can't wait to see it in action.

* Matei Zaharia is the creator of Apache Spark

</comment><comment><USER5> I'm not sure I completely buy their claim that network/disk IO is no longer the bottleneck in many situations. Their recent NSDI paper ([https://kayousterhout.github.io/trace- analysis/](https://kayousterhout.github.io/trace-analysis/)) is compute bound for a 20 node cluster, but they never evaluate it in a larger cluster with fixed data size. The availability of on-demand cloud resources would potentially make it easier to solve the bottleneck by just increasing the cluster size.

<comment><USER6> For most workloads, increasing the number of machines does not increase the amount of data sent over the network, so the ratio of computation to network bandwidth stays the same. As a result, increasing the cluster size doesn't make workloads any more I/O bound.

At some point, a larger cluster will be more bandwidth-constrained because of oversubscription, but given the network utilizations we saw (<5% at the median in Figure 5), a cluster would have to have pretty high oversubscription for the network to become the bottleneck.

The one caveat here is, for example, matrix workloads, where the data sent over the network increases with the number of machines.

<comment><USER5> Interesting. What about e.g. map-reduce workloads with large fan-in for the reduce step?

</comment></comment></comment><comment><USER7> Are there JIRA issues related to these ongoing projects? I'd be interested to see the current thoughts on llvm code gen and the "Spark Binary Map."

<comment><USER2> Here's the JIRA ticket: [https://issues.apache.org/jira/browse/SPARK-7075](https://issues.apache.org/jira/browse/SPARK-7075)

</comment></comment><comment><USER8> That's a clever name. Somebody at spark has apparently used a TIG welder before.</comment>


Ask HN: JSON Web Token (JWT) Implementation Experiences - <AUTHOR> I have been playing around with JWT for a while now. Looks interesting enough for messing around with. However before adopting it in production, I'd love to hear your experiences, both good and bad, on it. What are some gotchas you've encountered? <comment><USER2> \- Make sure your JWT framework has a way to revoke tokens issued to a user before a certain date and/or when a user changes their password, in case their token or password gets leaked.

\- Make sure there are no XSS vulnerabilities. JWT works best with JSON APIs, because that way (in addition to sanitizing inputs) you can also add CSP headers to prevent modern browsers from executing any JS returned from the page.</comment>


Dishcraft Robotics Takes over Dishwashing from Humans - <AUTHOR> https://spectrum.ieee.org/automaton/robotics/industrial-robots/dishcraft-robotics-takes-over-dishwashing-from-humans <comment><USER3> This is a bit silly. First the fact that one of their "breakthroughs" was discovering it's easier to rack the same dish types before washing them shows not a single on of them have ever worked a dish line.

Second, custom dishware with proprietary magnets baked in is ... unlikely to catch on

<comment><USER4> > custom dishware with proprietary magnets baked in is ... unlikely to catch > on

It says this in the article: _It turns out that many places don't actually care what dishware they use, so if Dishcraft can provide them with new dishware that's much easier to clean, then great._

<comment><USER3> Yeah I'm 1000% not buying that places don't care about dishware.

The ones that truly don't care buy it in bulk for cheap as hell. The ones that do care, selectively chose their dishware. Saying "well actually everyone will be happy to use our dishes" is a bit funny.

<comment><USER5> Yeah, it's hilariously wrong. Some serious gymnastics to make that limitation seem like a nonissue.

</comment></comment></comment></comment><comment><USER6> Wow someone over-engineered a solved problem down to a very specific one track use case.

Call me a luddite but there is nothing wrong with current day industrial dishwashers. Rack up your plates / glasses / cutlery, slide it in, close the cover, it yeets some high pressure water and detergent on it, done in five minutes if that. Few moving parts, super flexible, proven technology, and costs a fraction of what this will.

<comment><USER7> If they're so good and so cheap, then why do so many places still employ human dishwashers?

<comment><USER8> I don't think many places with someone hired just for the dishes makes them do it purely by hand, typically the machine does the washing and the human does the loading, and stacking and return of cleaned dishes.

The dishwasher on display only really simplifies the loading bit.

</comment></comment></comment><comment><USER9> They didn't talk at all about drinking glasses, utencils, or pots and pans.

It takes up a _lot_ of room. And you still need a regular washing station.

It would have to be a very large restaurant to support such a machine, really one that already has more than 1 human dishwasher at a time. Perhaps this would make sense for a large cafeteria or hotel that does catered events.

</comment><comment><USER10> I seriously doubt the economics will work - it reminds me of that laundry ironing startup that went out of business in Japan.

The hardware shown will cost the business atleast a $100-200k - why would you do something like this ? It's inflexible, you can't upsize/downsize with demand, and selling this off is going to be a pain. This could work as a marketing gimmick in the cafeteria of some SV unicorns.

Consumer robotics is hard - no one has really succeeded in this space - <USER2> for good reason. The control/interaction challenges are immense and likely won't be solved very soon (despite hype coming from the RL crowd).

</comment><comment><USER11> The robot itself is ok, it basically holds a dish and rotates a sponge/brush. I can see how it can compete with a regular dishwasher. But the business model really takes the cake. Dishes as a service? If you're going to ship off the dishes to be processed at a central site anyway then do you really care if a robot is washing your dishes? It wouldn't surprise me if the robot only exists for PR and they secretly use dish washers.

</comment><comment><USER12> I get that robots are hard and I suspect they were initially trying for something much more ambitious...but how is this better than a regular commercial dishwasher? It actually seems worse in many significant ways. It focuses entirely on plates, it doesn't seem to have steam sanitation, it's huge, almost certainly much more expensive and much more timely and difficult to maintain and repair.

What restaurant wants this?

</comment><comment><USER13> Level of scrubbing to clean a dish is dependent on what the for was and how long it remained on that dish after the meal.

Restaurants don't need a robot dishwasher to individually scrub and examine each plate; they need a robot busser to collect the dishes as soon as a meal is done and put them directly into the dishwasher, so food doesn't have time to dry and bond with the dish.

</comment><comment> King-Aaron So a human still needs to manually load the dishes, and stack them away afterwards.

I have a Bosch dishwasher that does exactly the same thing.

<comment><USER14> It washes only one type of dish?

</comment></comment><comment><USER15> This machine seems far overcomplicated. Also, the dish at 00:50 in the video had a visible dirt spot after cleaning.

</comment><comment><USER16> Problem: Don't like putting dishes away into your cabinets?

Solution: Two dishwashers. One full of clean dishes. One empty for dirty dishes. Use the clean dishes, put away used in the other dishwasher. Once full of dirty dishes, the clean will be empty of dishes. Wash. Now the two washers change roles.

<comment><USER17> Is is this a real thing that real people actually do? I hear this idea presented here and on Twitter on a regular basis as a solution, but I have never once in my life seen a house that has double dishwashers. At a purely practical level, the whole idea has some issues; most codes require a diswasher to be on a dedicated circuit, and then you'd need to duplicate the plumbing.

It seems like the kind of over-the-top extravagance that you could only support in a thousand square foot HGTV kitchen.

<comment><USER11> I don't get your problem. You just buy a single dishwasher with two compartments. It's that simple.

[https://www.remodelista.com/posts/appliances-dishwasher- draw...](https://www.remodelista.com/posts/appliances-dishwasher-drawers/)

</comment></comment></comment><comment><USER18> > And if your dishwater [sic] doesn't show up for work, everyone else in the > kitchen has to pitch in to make sure that there are enough clean dishes, > slowing everything down.

This is either not a typo or a really extraordinary dishwasher not showing up.

<comment><USER19> Not a typo. Dishwasher in this case means a human. Most places still need people to wash things. They might have a mechanical dishwasher, but people are needed for fragile stuff, pots and pans, big boards etc.

<comment><USER20> The typo in question was "dish-water", not "dish-washer".

</comment></comment></comment><comment><USER21> One of the ideas could be used in my home dishwasher as well: using camera & deep learning to set the water pressure for the dishes. Sometimes I just need to put back some dishes for another round in my home dishwasher.

</comment><comment><USER22> can only handle one shape and must me ridiculously expensive. pls compare to this one: [https://youtu.be/f1dO8UGAq7A?t=61](https://youtu.be/f1dO8UGAq7A?t=61) not the one in my home</comment>


El Paquete Semanal: The Week's Internet in Havana - <AUTHOR> https://dl.acm.org/citation.cfm?doid=3173574.3174213 <comment><USER2> I hope this makes it to the hn front page today. Aside from being some wicked good cyberpunk inspiration, it's also a facinating investigation of how consumer demand shapes a very different kind of internet.</comment>