Docker extensions: the new Docker plugins model - <AUTHOR> https://clusterhq.com/blog/docker-extensions/

<comment><USER2> Be mindful of incentives and you can see into the future.

Docker wants to grow (a direction that's out of their hands, as they have a board to answer to). They must do this while playing the delicate balancing act of tightly controlling the project's direction towards their desired list, while at the same time maintaining the goodwill of its community. Part of this is defensive enterprisey blog posts, part of it is singing their praises at their conferences, and part of it is reigning in fractures in their platform back under their own umbrella with a plugin model. I'm not even judging Docker for doing these things; as a funded company they almost _have_ to do these things.

CoreOS wants to ride the same wave, but they know that Docker is encroaching on their turf and will increasingly do so (see above). That's why they're deliberately breaking away with their own format. Core hopes that they can lock away enough of an audience behind their platform before Docker can do the same. They basically _had_ to do this to survive, because Core, being composed of modular components, can't make money when everyone takes their moudlar components and simply runs them under the umbrella of Docker's growing platforms.

And this whole API wrapping thing? It's a power play. Whoever controls the UI holds a captive audience -- literally -- whether that's Docker, Core, or someone else. This is basically war over your servers, though I'm sure nobody involved will commit the PR suicide of admitting it. You are encouraged to engage in healthy skepticism and wonder if this comment itself is written by one of the players.

I have no idea who (if anyone) is in the right here, but I encourage everyone reliant on these platforms to see what's going on beneath the waves. Be mindful of the incentives these companies have, and make your technology choices accordingly.

<comment><USER3> Disclosure: CoreOS employee.

The application container specification (ACI) and the initial implementation, Rocket, are here to provide balance to the container ecosystem. If you review the draft spec ([http://bit.ly/1s4Om8p](http://bit.ly/1s4Om8p)) you can see it's clear that the proposed specification is designed to remove the need for a "vendor" when it comes to building, distributing, and running containers. As an example everything in the spec can be accomplished using a handful of Linux command line utilities such as gpg, tar, and systemd-nspawn -- you could use lxc or libcontainer as well.

When it comes to distributing container images the ACI spec only requires hosting ACI images (tarballs) behind a HTTP webserver and leverages DNS instead of custom registry APIs. The ACI spec skips the app store model in favor of simplicity -- think RPM and YUM.

docker vs rocket?

Don't really care about that right now. Nothing wrong with Docker providing value, and yes, docker provides tons of value. Rocket is just our (CoreOS) attempt at providing value in a slightly different way. IMO the only people that should "own" the container spec are the people using it, and right now I believe that is the main driver behind our (CoreOS) intentions for proposing the ACI specification.

I know I'm biased by association, but trust me, I want using containers to be a simple thing. In reality using containers should be about as exciting as:

$ yum install app; service start app

<comment><USER4> (disclosure: another CoreOS employee)

> When it comes to distributing container images the ACI spec only requires > hosting ACI images (tarballs) behind a HTTP webserver

Just to clarify a little: the spec [1] actually only stipulates that the _metadata_ for image discovery is provided over HTTPS. The actual ACI images (i.e. tarballs) can be distributed using any desired mechanism. For example the meta discovery service can provide HDFS and BitTorrent addresses, and then a client can choose how to retrieve the payload. This is one of the parts of the spec I'm personally most excited about, so would welcome feedback and/or implementations!

[1] [https://github.com/coreos/rocket/blob/master/app- container/S...](https://github.com/coreos/rocket/blob/master/app- container/SPEC.md#meta-discovery)

</comment></comment></comment><comment><USER5> Luke here, the author of this post. I just wanted to say that Solomon did a great job pulling this meeting together, and that this meeting is an example of a pattern that Docker is using to get community feedback in gradually increasing circles (finally resulting in a proposal on GitHub). IMO, it's a good balance between completely open design and sane forum for discussion!

<comment><USER5> And huge thanks to Alexis for proposing the meeting in the first place and inviting me along. ;)

</comment></comment><comment><USER6> The model sounds like it _might_ be inspired by git. If it truly is, that would be wonderful. (Example git extension: [http://blogs.atlassian.com/2013/04/extending- git/](http://blogs.atlassian.com/2013/04/extending-git/) )

The idea of supplying a convenient set of low-level primitives and then letting you compose them, in any language, and become a first-class citizen (at least in cli exposure) is wonderful.

I could see a world where docker plugins simply work by "docker XYZ" doing a "docker run XYZ" and bind-mounting the docker.sock in as well as providing a few additional convenience sockets / functions / potentially container links.

Making docker plugins also docker containers sounds really appealing to me and if anyone has more information on the actual details being considered I'd love to hear.

<comment><USER5> The current thinking from the meeting (correct me if I'm wrong) is that Docker extensions are late-bound named Docker containers; each extension defines a set of "drivers", which have privileged communication to the Docker daemon, and which speak libchan (which is msgpack over HTTP 2) to interface with well- defined "internal" (but public) APIs in the Docker daemon.

Each driver can bind to sets of internal APIs, which allow it to insert blocking hooks in e.g. a networking API, for "network create" or for volumes, before "volumes create".

In terms of extending the CLI, there was some mention of standardizing on JSON Schema for specifying the APIs, such that CLI user interfaces could be auto- generated.

A lot of detail here remains to be thrashed out, but yes, the git model is definitely one to look at. We also talked about modelling this on other successful plugin models, such as the one that ships with Eclipse.

</comment></comment><comment><USER7> I wonder why CoreOS weren't in that meeting. They provide a ton of stuff that could be seen as a docker plugin (flannel being the most obvious imo)

<comment><USER8> CoreOS got a dedicated meeting the previous week. I pitched all this to them in person and seemed to get a cautiously optimistic response with agreement to follow-up soon. The next day, they announced rocket without warning.

I'm happy to spend as much time as needed with everyone to build a great ecosystem together. But if someone is not interested, they're not interested. I can't force them.

<comment><USER7> Oo so that's why you're so pissed. ah well

<comment><USER8> Doesn't excuse my initial knee-jerk reaction... Anyway, let's move on and focus on building cool stuff now :)

</comment></comment></comment></comment><comment><USER9> Ah ffs, again another tool another system reinventing/adding-support for the whole application stack from networking to "business logic".

Docker is starting too smell like Java Enterprise Edition, but none-Java, and comes from Linux.

It was supposed to contain an application, now there is special networking needs to support an "application" that is made to run "in" docker, and special software /orchestration to faciliate what is a middle-ware business-domain problem.

Are we going to see books soon with titles such as "Programming your E2E business app on the platform of Docker in 24hours". "Inside your social media networking platform up and running in and with Docker."

<comment><USER2> The cynic in me thinks that this is a highly desired end-state for Docker, and engineering such a situation is precisely the goal plan.

It would certainly be profitable for them.</comment></comment>


The American midwest is quickly becoming a blue-collar version of Silicon Valley - <AUTHOR> https://qz.com/1212875/the-american-midwest-is-quickly-becoming-a-blue-collar-version-of-silicon-valley/ <comment><USER2> As a tech worker in a startup in the midwest I find this article vaguely insulting. On the one hand I am happy to see more acknowledgement that tech does happen in places other than Silicon Valley, but on the other hand apparently it is only "mid-tech" and only good enough for "blue collar" workers.

<comment><USER3> I found it extremely difficult to find any employer in Indiana that wouldn't scoff at paying a senior engineer more than $75K in 2015. That is less than my inflation adjusted junior engineer starting salary 15 years prior. The entire industry has a problem with fair pay and rushing to the middle is just a way to squeeze more profit from the labor of tech workers.

<comment><USER4> It's hard making this point if you don't have access to capital, but if the talent is comparable, doesn't this represent an opportunity to go after an idea with above-average talent through simply paying globally-optimal market rates and pricing out the competition for talent?

It seems that there's an opportunity here to incubate ideas at a discount globally by "overpaying" locally.

Are there VC funds that are exploiting this? And I don't mean simply by making margin on the back of exploiting the CoL adjustments, but by drawing on regional talent pools with lower CoLs? I'm shocked there isn't more innovation coming from the upper midwest hub that lies along the belt connecting UICU, Purdue, CMU, etc.

<comment><USER5> _> the belt connecting UICU, Purdue, CMU, etc._

Look at the first destinations reports for those CS programs and you'll see what happens. People leave the region after getting the degree. In droves.

</comment></comment></comment></comment><comment><USER6> Bizarre article full of unsubstantiated claims (e.g. Midwest cities generally "spending years in the doldrums" huh? Twin Cities, Chicago, Kansas City, Indianapolis, etc. have consistently been doing well) and sketchy assumptions (mid-tech blue collar?). This whole tendency to bunch all mid-west cities together is ignorant and condescending. Also, "decline of mid west cities" is mostly a story of _cities_ not necessarily the entire region or even the cities' suburbs (Detroit's wealthy suburbs are as rich as ever). Generally muddled piece.

<comment><USER7> _Indianapolis, etc. have consistently been doing well_

I can't speak for the other examples, but...ask me how I know you don't live in Indianapolis. This city definitely has a lot of potential to really be something even greater (than I think it is now), and I'm proud to call it my home-but don't romanticize it _too_ much.

We are having a series of existential crises here; just jumped out of one political fire and into another with state and municipal leaders (oh dear god are we about to see the end of Unigov? Probably not but a man can dream), schools are laughably bad, roads are hilariously worse (I challenge you to drive a few miles north on Meridian street and try to not have your car swallowed by one of the hundreds of near-car sized potholes), but hey....rent's cheap, so we've got that going for us. Which is nice.

Don't sleep on Naptown, if that was your overall sentiment, for sure. Don't sleep on us because there's some rumblings of a real explosion of change underneath it all, and I think we've got nowhere to go but up...same time though yeah we've got a LOT of problems that are going require some very painful decision making in the next 10 years and we gotta look that horse square in the mouth.

<comment><USER8> Let's not pretend things are any different in California.

<comment><USER9> And CA doesn't even have nature to blame it's infrastructure problems on (earthquakes aside).

<comment><USER10> The landslides taking out various mountain roads every few years says otherwise. A single two hundred foot section of road recently got an expedited replacement so it cost 10 million dollars to fix and that was just a two lane low traffic road.

[http://sanfrancisco.cbslocal.com/2017/12/19/highway-35-repai...](http://sanfrancisco.cbslocal.com/2017/12/19/highway-35-repairs/)

</comment></comment></comment></comment></comment><comment><USER11> > "The modern factory job is a mid-tech job"

No it is not.

Anyone could work a factory job. The least intelligent, least motivated people could punch a clock and earn a decent living tightening the same bolt a thousand times a day, all day long.

At best, mid-tech jobs are like modern clerking jobs, but even that's pushing it. The modern factory job is fast-food, and the lack of associated pay and benefits is a major problem.

Too many people are simply not smart enough to be programmers.

<comment><USER12> >Anyone could work a factory job. The least intelligent, least motivated people could punch a clock and earn a decent living tightening the same bolt a thousand times a day, all day long.

I don't have personal experience as a '50s factory worker, but I do have some experience assembling things and working on cars.

I doubt this description of factory work being completely brainless. If you've ever tried to watch someone who isn't mechanically inclined assemble anything, you can see that there is a skill in fitting things together. Even if your job is to tighten that same bolt every day, you've still gotta figure out how to properly torque it; too loose and the bolt comes out, too tight and you shear the goddamn thing off. Use one of those old style torque wrenches and you're gonna be way slower than the next guy.

<comment><USER11> Low-level factory jobs really aren't that complicated.

You can take a person off the street and have them pressing the "go" button on an injection molder within minutes.

<comment><USER13> There seems to be a level of arrogance coming across in your descriptions of "Low-level factory jobs."

Having spent time in both worlds I have to say that your assessment of the skill and devotion required to work in those positions in inaccurate at best. Insulting at worst.

<comment><USER11> I have actually worked these jobs.

When I was a teenager I had temp jobs where I was literally bussed into a plastics factory, given a few minutes of instruction, and put on the shop floor to press a button on an injection molder.

No "skill" or "devotion" required. Just a warm body.

<comment><USER13> There is a distinction between working a temp position and people that worked in factories for a career. I'd argue that temp positions will bias away from skill and devotion by the nature of position undermining your anecdote.

It's like saying you worked as a fry cook at McDonald's for a day so you understand the in's and out's of all restaurant workers.

<comment><USER11> > It's like saying you worked as a fry cook at McDonald's for a day so you > understand the in's and out's of all restaurant workers.

Based on a quick search, in the U.S. there's something like 5-6 million restaurant workers, and nearly 4 million of them are fast food workers, so a fry cook at McDonald's _can_ say they understand the ins and outs of the majority of restaurant workers.

Which, is my point.

Most factory jobs are not skilled in the sense that programming is, and the least-skilled tech job is still more complicated and difficult than the least- skilled factory job - meaning, tech jobs are _not_ the new factory jobs, because by definition fewer people are able to work them.

<comment><USER12> >Most factory jobs are not skilled in the sense that programming is, and the least-skilled tech job is still more complicated and difficult than the least- skilled factory job - meaning, tech jobs are not the new factory jobs, because by definition fewer people are able to work them.

Ah. well, my main point was just that I think most of the 'high paying factory jobs' were jobs that took some skill and experience. You didn't just walk in and say "I've got hands!" and get a good wage for easy work. I'd guess it'd be more like working at one of those tech support script farms today, I mean, if you show up without obvious skills or credentials. "Here, read this script, we will judge you on how fast you get the customer off the phone, rather than, you know, actually solving problems."

My own career came up through the really low paying jobs in tech, and I spent some time in such a tech support farm; the difference in both the number of people who could do it and what we get paid is vast between level one scripted tech support and the sort of systems administration/production engineer work that I do now. Much like how one could work one's way up from a very basic factory job to something that was comfortable and remunerative.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> "mid tech" is an interesting descriptor because I'm doing the much the same work as Silicon Valleyites despite not having a degree. Not having a degree has cut me off from some opportunities but I can just pursue those in my own time.

I guess I find as I get older less value in the opinions of folks out in SV as I read more and more crazy things about the place and the environment out there. I do appreciate the opportunity for folks who love that environment to partake of it though.

I also appreciate the functional advances coming out of SV like libraries and frameworks that I get to use and improve my own work but at the end of the work day I love getting home to my .25 acre lot with my two dogs glad to see me and go for a nice walk in a green-belt.

I'm going to be dead some day so why not enjoy what I have.

</comment><comment><USER15> 52% of _network architects_ don't have a degree but 95% of app developers do? This is the exact opposite as I would expect.

<comment><USER16> A network architect is an experienced technician (the "blue-collar" form of IT) who graduated from help desk and break/fix to helping out with project work to getting to design and lead projects. In that world, you may have a trade-school degree in IT/MIS and/or vendor certifications, but a CS degree isn't going to help you operate the Windows Server admin panel, configure Cisco routers, know which model number of HP switch is appropriate for a situation, or make sure that your underlings get the low-voltage cabling and patch panels right. It's going to help you write Windows Server and the router firmware that technicians operate.

Planning, installing, configuring, and integrating off-the-shelf components to create an IT environment for a business is a totally different world from software engineering, particularly in the Silicon Valley style.

<comment><USER15> Thanks, this is very clear now. I must have been confusing "network architect" with "software architect".

</comment></comment></comment><comment><USER17> I have family in the trades (electric & plumbing) - but I would love to hear from anyone who works in advanced manufacturing, automation, or other specializations about their career path and field growth/career longevity.

I am considering a career change. I went into k12 education due to the mission, but I'm burning out on the time/emotional investment in relation to the compensation.

</comment><comment><USER18> Silicon Valley is mostly a place for group thinkers with a "get rich quick" mentality and rich parents. That was my impression after living in Sf working as a CEO for 5 years.

</comment><comment><USER19> What is the difference between a computer programmer and a software application developer?

Aren't these titles used interchangeably?

<comment><USER20> As titles they are often used interchangeably, but the BLS categorizes them separately based on kind of an old-fashioned idea of how software is developed. The distinction is that software developers[1] plan out how software will work and the computer programmers[2] write the code to make it work.

The idea that these are separate roles is rapidly going out of fashion in the industry and is already pretty outdated. Only 300k workers are categorized as computer programmers while 1.3 million are categorized as software developers and on top of that the number of software developers is projected to grow by 24% over the next decade while the number of computer programmers is projected to decline by 7%.

[1] [https://www.bls.gov/ooh/computer-and-information- technology/...](https://www.bls.gov/ooh/computer-and-information- technology/software-developers.htm)

[2] [https://www.bls.gov/ooh/computer-and-information- technology/...](https://www.bls.gov/ooh/computer-and-information- technology/computer-programmers.htm)

<comment><USER21> I have always listed my occupation as "Computer Programmer" on my tax return, though I have a CS degree and do everything from database administration to network administration to software design and development (including writing code).

<comment><USER22> I think you might be missing the point. Think of it this way. Ask yourself, is there a difference between a software consultant and a software freelancer? Everything else equal which person do you think gets paid more a consultant or a freelancer.

</comment></comment></comment></comment><comment><USER23> Quartz is quickly becoming a glossy version of a clickbait farm</comment>


Peter Thiel: Silicon Valley 'brainwashed' by higher education - <AUTHOR> https://www.sfgate.com/business/article/Peter-Thiel-Silicon-Valley-liberal-brainwashed-13232245.php <comment><USER2> >"This perhaps is not so true of the founders [of Silicon Valley], but certainly for many of the rank and file people," he said. "If you're a really good engineer or really good at some specific thing, your education typically does not involve you thinking that much about politics, so [being liberal] is not necessarily from deep ideological conviction, it's often more of a fashion statement than a question of power."

Peter Thiel thinks that only CEOs are capable of holding authentic political views. Everyone should find this offensive.

<comment><USER3> A large part of the HN audience seems to struggle to read straightforward assertions without freaking them in some polarizing all-out us-vs-them war.

"If you're a specialist, your education typically did not involve you thinking that much about politics" != Only CEOs are capable of holding authentic political views

Reminds me of the reaction to his 2009 essay

"welfare beneficiaries and women — two constituencies that are notoriously tough for libertarians" != women should not have the right to vote

<comment><USER4> Its ego driven, not political. Nobody wants to admit that their schooling put them in financial and philosophical debt once graduated.

</comment></comment></comment><comment><USER5> > "it's super hard to know whether people really believe this, whether they're > just going along"

If only there was some way for people to demonstrate their political preferences in a way which was costly, but not something that was generally talked about or publicized.

[https://fivethirtyeight.com/features/nearly-all-of- silicon-v...](https://fivethirtyeight.com/features/nearly-all-of-silicon- valleys-political-dollars-are-going-to-hillary-clinton/)

Or if there were some way for them to express their collective political preferences in a quantifiable way, with secrecy ensuring there was no possibility of virtue-signaling.

[https://www.politico.com/2016-election/results/map/president...](https://www.politico.com/2016-election/results/map/president/california/)

I guess we'll never know.

<comment><USER3> > voting

That's the "they're just going along with it" argument voiced by both sides of the aisle.

> campaign contributions

> not something that generally talked about it publicized

There's gotta be some reason Eich made it less weeks as Mozilla's CEO.

I guess we'll never know.

</comment></comment><comment><USER6> So... learning things brainwashes you to be liberal? Makes sense to me.

<comment><USER7> Not quite the most telling statement is something close to: engineers are intellectually invested in their work that most don't have time for caring about politics, so they just follow what people around them are doing.

<comment><USER6> Or maybe they have strong political views, but choose to leave them at home - rather than have conflict with their coworkers?

I know I personally have very strong opinions that I largely put aside at work.

<comment><USER8> Bingo. I'm left-leaning in a left-leaning environment, but I avoid talking about politics, especially in writing, because it can only hurt me.

</comment></comment></comment></comment><comment><USER9> Is "Higher Education is not a good thing" a new trope among the financial elite? Washington Post columnist Megan McArdle had something along the same lines a month ago: [https://www.washingtonpost.com/opinions/imagine-a-world- with...](https://www.washingtonpost.com/opinions/imagine-a-world-without- mandatory-college- diplomas/2018/08/24/6ac9bcac-a726-11e8-8fac-12e98c13528d_story.html?utm_term=.f50cbcfd05a3)

<comment> lloyd-christmas It's part of the Trump Effect:

[https://i.imgur.com/17PHH1d.png](https://i.imgur.com/17PHH1d.png)

</comment></comment><comment><USER10> How engineering education implies not thinking that much about politics?

<comment><USER11> Most SV employees don't have an engineering education, they have a computer science education - not quite the same thing.

</comment></comment><comment><USER12> So is an MS in Computer science worth it?

</comment><comment><USER11> It's interesting to see such a high profile person refer to higher education this way. I've been thinking the same myself for a while and I recall a few comments on HN expressing the same sentiment ... do universities make people somehow educated but stupid simultaneously?

I've personally concluded that they do, and that society would be better off if all government money was removed from the higher-ed system entirely (which would presumably shrink it a lot, at least outside of the USA).

The problem is that academic culture imbues students with the notion that educated people = smarter people = better people, that the worth of people can be measured very precisely via grades, and that with education comes the ability to solve any problem.

But the problem solving value add of a degree is actually not that high even in very STEM oriented fields, and is virtually non-existent in many other fields like economics or the social sciences. So society is suffering from this huge river of people entering it who have little experience, little understanding of the real world in which success and self-worth is _not_ entirely a function of grades dispensed by your betters, and yet who believe more than anything that they are vastly superior in almost every way (intellectual, ethical, etc) to people much older than them.

Meanwhile Silicon Valley companies drowning in money and with a culture of never returning funds to investors via dividends or buybacks struggle to find experienced employees to hire, so gorge themselves on this stream of new graduates, bloating up to enormous levels with people who believe intellectuals _can_ and _should_ do anything they believe will "make the world a better place".

These students quickly come to dominate, and yet nothing causes their world- views to self correct. In the artificial womb of SV where going bankrupt because you don't make money is virtually unheard of, success and self-worth is _still_ being determined by arbitrary scores dispensed by your intellectual betters via promo committees and bonus schemes which are largely closed-loop and unconnected to real world goals like happy users. See the discussion of Googler incentives in the Inbox discussion elsewhere.

To older people who have had a much wider range of experiences, these Silicon Valley types come to seem impossibly naive in their utopian beliefs that any and all dissatisfactions can yield to their skills, if only 'experts' like themselves were permanently in charge. And the SV types see in the Republican party a bunch of uneducated angry old white men who don't value expertise and question intellectual authority all the time; and who are obsessed with the concept of markets - a concept that most of them have never really been exposed to outside the lecture hall.

It is therefore inevitable that a liberal/conservative divide springs up, oriented around the Valley. It doesn't have to be this way. If SV tech firms were culturally capable of admitting when they've run out of ideas and are generating too much money, re-allocating funds via to other firms using dividend payouts and buybacks, they'd hire fewer graduates and have a more experienced workforce overall. This in turn would reduce their "computers can build utopia" mentality, and make it easier for them to fit in with the rest of society.

<comment><USER13> All money taken out of higher education?

That's the kind of idea that would only likely happen in the USA where education is looked down upon.

But I guess for the richest country in the world to be ranked around 30th in terms of education. A feedback look to make the country even more stupid could feasibly happen.

What about people going to university to be Doctors? Civil engineers? Architects?

Do they need educations? Or I guess in your world the only two professions are computer science and business.

<comment><USER11> I didn't say all money, I said all government money.

People who wanted the training from universities would have to get regular bank loans to afford it, not subsidised student loans. This would mean only those who are likely to be able to pay the money back would be able to study at universities: doctors and architects would probably still go.

<comment><USER14> So then universities have to completely rely on money from the private sector? Don't you think that would lead to an environment where the sponsors tell what to teach? Don't you think that could be problematic? Not to mention what your solution would mean for young people with less money or professions in the humanities. You think studying history is not important?

University is not only there to teach you knowledge but more importantly critical thinking and scientific best practices (like checking your sources). If anyone has problems with critical questions about their reasoning or their sources, that not the problem of the one who asked. If anyone think questions show lack of respect, maybe they should first think why anyone should respect them.

I'm pretty sure there is a certain culture of feeling superior if one has a degree from a university, but this is definitely not fixed by frowning upon higher education. Actually it makes everything worse.

<comment><USER11> Yes to all the questions in your first paragraph bar one. Completely rely on the private sector, check. Sponsors tell what to teach, check - that in fact is the entire point! The closed-loop unaccountable nature of current teaching is hugely wasteful and damaging to young people who frequently graduate in huge debt and essentially unskilled. Don't I think that could be problematic, no, otherwise I wouldn't propose it. I think asking whether studying history is important is a low-value question to ask: anyone can argue any field of human endeavour is "important". It's better to ask, important relative to what else? People can easily study history outside the context of subsidised academia, and the opportunity cost of subsiding huge numbers of people who (a) don't care about history and (b) won't use anything they learned post- graduation is enormous.

 _University is not only there to teach you knowledge but more importantly critical thinking and scientific best practices_

Universities like to claim this. I do not believe them.

I think this angle is pure marketing spin that can't be substantiated and covers up the truth - universities make people worse at critical thinking, whilst giving them an undeserved sense of superiority and entitlement.

After all, if they were so devoted to critical thinking on campus, trigger warnings and safe spaces wouldn't exist. But even putting those aside, which parts of university courses are supposedly teaching these skills? I've studied computer science, history and archaeology at university and at no point was any attempt made to teach even the basics, like what the different logical fallacies are and how to spot them.

 _Actually it makes everything worse._

Why would it? Removing the notion of academic superiority from public life would re-orient social status towards practical experience and away from the ivory tower. That doesn't seem likely to make things worse.</comment></comment></comment></comment></comment>


Firefox Will Soon Get Sponsored Suggested Tiles Based on Your Browsing History - <AUTHOR> http://techcrunch.com/2015/05/21/mozilla-will-soon-launch-sponsored-suggested-tiles-based-on-your-browsing-history/

<comment><USER2> This has been posted numerous times.</comment>


Why the iPhone $99 dev program is limited - <AUTHOR>

I was accepted yesterday.  The agreement states the installing test software on the device will render the device unusable for normal use. <comment><USER2> The agreement states that, but is it actually true? What happens to your phone?

<comment><USER3> It becomes locked to 4chan, where practically nothing is normal ...

</comment></comment><comment><USER4> Get an old 4GB iPhone secondhand as your test machine.</comment>


Show HN: Ballotter, an Online Video Debating Platform for Our Discussions - grif-fin https://www.ballotter.com/ <comment><AUTHOR> The big suggestion I have for your team is to structure live sessions with television-like scheduling. Early-on, a live experience web site does not have enough usage to generate a good time for users. I learned this while running rapt.fm, a live web platform for freestyle rapping.

Have a calendar and use twitter or other means to announce upcoming events to concentrate the attention of users. Create well-promoted "prime time" slots, later add in regular programming, and overall make it clear to the users that all other times are "down times" and not likely to have a lot of debates going on.

<comment><USER2> _(not OP of course)_ This is a really excellent idea, thank you. I've never thought of arbitrarily creating scheduling as a way of improving engagement, as previously the thought of old fashioned "tv show scheduling" would make me very uneasy - with that said, low population makes it much harder not to have events/etc.

This seems like a big boon for an active community site. Interesting!

</comment></comment><comment><USER3> Hello. I really like this idea and just watched a debate and did enjoy it.

I do like the idea of it of aggregated and real time feedback from the viewers however, My only suggestion is to make the cheers and jeers a little less intrusive. I'm just not that interested in the peanut gallery and, (for me) it interferes with the fluidity of the very short time frame people have to talk.

Great work though - I'm very interested to see how this does.

<comment> grif-fin Fantastic. The sample is prerecorded. Any new debate will have the cheer and boo with much lower volume.

</comment></comment><comment><USER4> I had literally the same idea. I had actually started researching webrtc. the tech looked a little fragile so I decided not to go forward. I hope you can work out your kinks and get it running, because I would be interested in giving it a go. It's like trying out my idea without putting in any of the work!

<comment> grif-fin Webrtc is growing and improving everyday! We are aware of the current issue. Will resolve and update this comment.

Out of interest how would you have done your idea differently?

<comment><USER4> I felt like webrtc is pretty much the only option as a desktop client. I hope you get it fixed soon. Also is your code OSS?

<comment> grif-fin It is fixed for desktop. Mobile may face issues due to network difference but a new version for mobile is a possibility if debates come through :)

It is not OSS yet. May go OSS later though.

<comment><USER4> I'm sorry to hear it's closed source. Open sourcing it could go a long way to helping get the word out. I'll check it out.

</comment></comment></comment></comment></comment><comment> grif-fin We have created Ballotter as an online (live/recorded) video debating platform to bring the discussions worth sharing on an online stage. Ballotter has just came online and is at the beta stage. We hope to gather a collection of amazing debates and people who want their voice heard with spectators voting and sharing. Couple of questions for HN:

\- What is your take on Ballotter?

\- Any suggestions on the product?

\- Any suggestions on user gathering?

<comment><USER5> I was thinking about the same idea but for coming up with more interesting political candidates. The current candidate pipeline is stagnant. Could this be repurposed as a competition + publicizing platform for political candidates. From local to National level. The biggest hindrance is validating up/down votes in my use case.

<comment> grif-fin True, Ballotter very much matches the political debating scene but it is whatever users make it to be. To narrow it down to political area we would need to know many politicians to provide the content. We do not know any politicians willing to debate live yet.

</comment></comment></comment><comment><USER6> Great MVP!

You might want to look for supporting [https://www.temasys.io/plugin/](https://www.temasys.io/plugin/) for Safari and IE, though rumour has it that Apple is planning to support WebRTC.

Also honored to see that you're enabling Redux DevTools Extension, so we can look inside the processes there.

</comment><comment><USER7> Don't require WebRTC on the landing page. Apple browsers don't support it but I can't imagine you want to prevent those people from even learning about your product.

<comment> grif-fin You are right, by using WebRTC we are ignoring Safari users. Since this is a prototype we are looking forward to get majority browser users involved (Safari is around %3.5).

<comment><USER8> Doesn't work on iOS 10 either, so it seems 3.5% is very low.

<comment> grif-fin You are right when taking into account the mobile users safari is way more than 3.5%. As I said currently we are not targeting mobile users.

We think a specific app would be required which having it on both iOS and Android requires resources.

Do you think the current MVP shows the potential of the idea?

<comment><USER8> I use HN with an RSS reader on my iOS devices so I wasn't able to check it out.

</comment></comment></comment></comment></comment><comment><USER9> Small typo on the loading screen, "If it's taking to long" should use 'too'

<comment> grif-fin Thanks, will fix it.

</comment></comment><comment><USER10> In the end of the debate, it would be interesting to show the score of each participant.

<comment> grif-fin The number next to thumbs ups indicates the votes each debater has got from the spectators.

</comment></comment><comment><USER11> Looks promising BUT I'm on mobile and it does not show the video.

<comment> grif-fin We are aware of the issues on mobile. We think an app would be required which we will launch if more debates are made via Desktop users as we think they are the major users.

What do you think?

<comment><USER11> Sounds perfect !

</comment></comment></comment><comment><USER12> "An error has occured" Error message: "error: Is the gateway down?"

\- It's down but the reload button had a nice, blue color

\- Maybe do a little more load testing?

\- Don't be down.

<comment> grif-fin Fixed.</comment></comment>


Apple's Siri Knows When You're Drunk - <AUTHOR> http://i.imgur.com/J5SEK.jpg

<comment><USER2> Nice. Warms your heart to see thoughtful software design to this extent. Who knows, maybe a few lives a year are saved by design choices like this.</comment>


Mini Amazon Store Demo, Help me to set a price please. - <AUTHOR> http://motyar.info/a/

<comment><AUTHOR> I want to sell it, not sure about prices. Help me. Its easy to install just copy and paste store, you just have to change your Amazon Associate Keys, and you are ready.</comment>


The Ship of Theseus Paradox of XPS15 9550 - <AUTHOR> https://trzeci.eu/dell-xps-15-9550-was-the-most-problematic-device-for-me/ <comment><AUTHOR> Can somebody confirm if XPS13 is as problematic as old XPS15? As a fan of Dell's product I've started to have some concerns after my story with XPS15</comment>


What's it like living with schizophrenia? - <AUTHOR> https://www.youtube.com/watch?v=A-H7iJMo4fc <comment><AUTHOR> I'm submitting this because she talks about breakthrough symptoms and how she copes with them. Anti-psychotic meds can have heavy duty side effects, and so if you can cope on lower doses that's probably a good idea. She describes the balance of wanting to get rid of auditory hallucinations but not wanting to be over medicated, and needing to tweak her meds occasionally.</comment>


Demonstration Proves Nuclear Fission System Can Provide Space Exploration Power - <AUTHOR> https://www.nasa.gov/press-release/demonstration-proves-nuclear-fission-system-can-provide-space-exploration-power <comment><AUTHOR> A little more background on the power source:

[http://oakridgetoday.com/2018/02/15/y-12-reactor-core- could-...](http://oakridgetoday.com/2018/02/15/y-12-reactor-core-could-be- used-for-power-on-moon-mars/)</comment>


Good Engineering - <AUTHOR> https://goodengineering.dev/ <comment><AUTHOR> Idea to launched in under 48 hours.

At build time, I crawl a list of feeds, take the most recent 3 stories. Then from that list, I build a page with the most recent 100.

The site is built on the hour with an IFTTT event triggering a Netlify build against master.

Total cost to build an maintain: $0.00</comment>


5919 Default Passwords from Open Sez Me - <AUTHOR> http://open-sez.me/ <comment><USER2> The subheading is:

5919 Default Passwords for thousands of systems from 777 vendors!</comment>


Ask HN: Rate my startup, Go Test It (cross-browser testing) - <AUTHOR>

Hello HN,
Just recently, at Future of Web Apps in London, we launched our startup, Go Test It. Our goal is to make automated functional testing of web applications incredibly simple and efficient.
We have an infrastructure hosting various different browsers, and we have a fantastic test recorder which can pick up mouse clicks and keyboard events to create test scripts. Test scripts can be converted to Ruby or Python, and run directly on our infrastructure.
It would be awesome to get your feedback on what you think and how you would use Go Test It in your own projects.
Please sign up for free at: http://go-test.it/hackernews (use "hackernews" as invite code)
Thanks :) <comment><USER2> Nice. And that's coming from someone who has been thinking about an app like this for quite some time.

One minor thing: On the "Welcome to Go Test It!" page (/welcome), you have "I have existing Selenium scripts that I want to upload." and "I do not yet have any test scripts." I bristled at that slightly. I _do_ have a bunch of test scripts (that I worked pretty hard to create), but they are not in a ruby, python or selenese form. Maybe something in the gray text for the second option that acknowledges something like "or I don't have scripts in a Selenium format" would create less of a false dichotomy and help me feel better about myself than selecting "I do not have test scripts" does. Maybe I'm overly sensitive.

One bigger thing: I like the options for the "New Test Script" (projects/*/scripts/new) page. I'll probably go back and install the Firefox plugin when I have more time, but I wanted to see how it works quickly, so I backed up and went to the "Write a new script in a text editor" option. Now I'm presented with a blank text editor, with little or no clue as to what I'm supposed to do there. At the very least you should have links to samples or documentation for the scripting language, but you could do better than that. You know my app's URL at this point. You could pre-populate this script (for new users) with a basic "Is it up?" script, maybe checking the title and some H1 text on the page, just to give me a working example to modify. I think for new users you should minimize the number of steps to a running test. As it stands I either need to install a firefox plugin (a pretty big hurdle, imo, although it is right to offer that) or (I'm guessing) go off and research how to write Selenium scripts and then come back and create one on your site. As a random user looking to solve my functional testing problem, I'm not that motivated to do either. Once I'm off writing Selenium code I'm likely to forget about GoTestIt. I'd suggest that you either auto-populate a basic script for new users, so that I can click "Run Test" right away and see what happens or find a way to record basic scripts directly in the browser without installing a plugin (or both).

(Also, personally I find the "Feedback" tab on the left to be a little distracting, but I'm on a netbook so my monitor is smaller than most. Of course, it looks a little funny when glued to the scroll bar too. I wish UserVoice would let you attach that to the top or bottom of the screen.)

<comment><AUTHOR> Thanks, those are some very good points. We've tried to make it easy to get started, but clearly we can do better still.

In what language are your test scripts currently?

<comment><USER2> I have a bit of history with writing automated functional tests and testing frameworks. I've used a large number of tools, most frequently HttpUnit, custom scripts built on top of Apache's HttpClient, a Jakarta Commons subproject called Latka that sort of died on the vine (although I think it may have replaced Apache's watchdog servlet engine compatiblity test for a time), custom Ruby scripts based on Hpricot, and others.

My current project is Drupal based so I'm using a php unit testing framework called SimpleTest. I've found it pleasantly easy to work with for basic HTTP and HTML level testing but it doesn't have any JavaScript or browser-driving capablities, so I'm probably in your target market (i.e. I have unmet needs).

</comment></comment></comment><comment><USER3> A pay-as-you-go pricing option might be useful. The monthly pricing model works well if you plan to run the tests every day/week, but I'm guessing that a lot of people will want to run the cross-browser tests on every new deployment, but perhaps not between deploys.

<comment><USER4> I strongly agree with this. Also, the prices seem quite steep to me -- though they may not be. Instead it may be that I'm not seeing how many tests can be completed with the allotted actions at each price level. The "what can I do with 15000 actions" is a step in the right direction, but I think it would be easier to comprehend if you said something like "a typical application of x size can be thoroughly tested y times a month w/ z actions".

</comment></comment><comment><USER5> This seems really really expensive.

Say it takes me 10 actions to fully test one feature and all its cases. Spread that across FireFox 3 + 3.5, Safari, and IE 6 + 7 + 8, that would take a total of 60 actions for one feature. With a web app that has 20 features testing it once a week I would have to pay $326. What if a test fails, do I have to pay again?

I don't see how anybody can use this with such a hefty price tag.

<comment><USER6> I have seen a bunch of these and many are priced at this level, which is around US $0.15 per test. It astounds me as it seems ridiculously high.

Most of my automated tests run in about 5 seconds or less. With EC2 prices at about $0.10 per _hour_ , I can't imagine ever using a service with such a high premium. Not only because the price is nominally expensive, but also because it's a commodity service that's being priced at a HUGE premium.

For me, I'd consider the service if I could offload my grid testing to the cloud for around $20 / month.

That way I could run a bunch of smoke tests after every push to make sure nothing broke and a larger set before commits. But that can get to be a lot of tests especially when you re-run for failures.

</comment></comment><comment><USER7> Looks nice and useful, but scheduling is a bit unclear to me:

I have 1 testscript, 7 browsers, which makes 7 tests. If I schedule to run every "day", will those 7 tests run every day, or 1 a day? I expect the first, but "Our scheduler will try to start one of the tests above with the start times separated by the time you specify." seems to imply the second.

(oh, and check this out: <http://vldtr.com/?key=go-test.it> )

</comment><comment><USER8> I love the service. Its a great idea, and the scriptability of it makes integration into an existing pipeline extremely easy.

All praise aside I cannot say I personally would use it much beyond experimenting with it. My project uses google maps too extensively and ends up failing out too much. Thats more my problem than yours as scripting events for GMaps would be overly complicated and useful to only a few.

Thanks for the demo!

<comment><AUTHOR> Google Maps is actually one of the sites which we use internally for testing Go Test It -- many features of it can be automated quite nicely. Particularly with such complex JavaScript, you don't really have a choice but to test in every browser you want to support!

</comment></comment><comment><USER9> I like it.

Sign-up nice and concept good.

Couple of comments/bugs: 1) When you first record something and click 'run' it brings up a confusing dialog box with a textbox. I figured out eventually this is a save dialog box, but it isn't obvious

2) Appreciate the need to queue things up, but I didn't find the queue status thing very intuitive.

3) I used news.bbc.co.uk as my test site, and all the IE ones died opening the front page.

<comment><AUTHOR> Thanks for your comments -- I know we need more work on the user experience. We'll also look into those IE failures.

</comment></comment><comment><USER10> I did something similar a couple of years ago called Blue Violin. It was a web app that recorded web events, saved them, then ran the test script. The source code is available at <http://code.google.com/p/blueviolin/> \- you might find some code of use to you. If you have any questions, you can find me at @JoshWatts or josh.watts at gmail.com.

</comment><comment><USER11> Support of Selenium scripts is great. I was afraid only Ruby/Python were supported from your description.

How can I delete or rename existing scripts?

it would be great to have more browser available: Safari on Windows & Mac, Opera 8 to 10, Chrome, etc., along wit hthe option to disable javascript, Jva, Flash, etc.

</comment><comment><USER12> I like the concept and the sign-up was easy.

I noted that you can't run a test until you first save it, even though there is a Run button. You may wish to make this piece a little smoother.

I got a little confused by the queueing though. Was I supposed to wait when it said queueing? I did, but nothing happened for a while. Then I selected the browser type again and clicked the button to run the test. This time I had my results.

My problem was that my application requires authentication - in particular Twitter OAuth. Do you have any plans to address authentication in general. I didn't know how to work around it, so I couldn't evaluate the playback.

I tried to leave a comment, but when I submitted it, the message came back "Not Found".

\- Scott

</comment><comment><USER13> Clickable link: <http://go-test.it/hackernews>

</comment><comment><USER14> I am in the market for such an application and my budget is up to $150 per month but I find the 'action based' pricing model a huge turn-off. If I am paying $50 upward, I want to be able to automate tests freely and run them nightly without ever thinking how many 'actions' I have left.

The UI is decent, it lacks support for pages that require authentication from what I can see, and I couldn't find any features for running tests regularly (e.g. nightly).

I find it hard to imagine that anyone would sign-up and pay that much money to be limited by an 'actions' meter and for an application that is not mature by any means.

If you adjust the pricing and address some features it could be a good application though.

</comment><comment><USER15> The signup process is rather effective -- gets you to running your first test nice and quickly.

<comment><USER16> I agree the sign up process is very slick - I like it a lot.

</comment></comment><comment><USER17> How does this differ from Selenium or what the guys at Sauce Labs are doing?

<comment><USER18> The Sauce labs guys assume you have already recorded the script. With go- test.it you have a firefox extension that does the recording and uploading of scripts. Jason Huggins doesn't have a good opinion about recorders/IDEs. Selenium is very developer focussed (As JH himself said at one of his talks),but most testers don't code. Go-test.it seems to be based on Selenium and focussed on the average tester. I know for a fact that there are large companies that are willing to pay for this kind of product.

Update #1: Saucelabs records the video of tests which go-test.it currently doesn't seem to do.

</comment></comment><comment><USER19> Now that is a really useful application! well done guys, if the price is right (bit high at the moment for the individual / small business)

</comment><comment><USER20> I just ran through bunch of tests for my application. This is very nicely done.

</comment><comment><USER21> How does this compare to BrowserCam? [ <http://browsercam.com> ]

(disclosure: I work next to the BrowserCam team)

<comment><AUTHOR> Go Test It is much more focussed on the browser automation and functional testing; BrowserCam is more about checking that the design looks right.

<comment><USER21> BrowserCam does screenshots, selenium based testing, and raw VNC support, but lacks the site design and product focus. They are part of a larger company and don't have the same amount of control over external appearances.

I didn't mean to imply that Go Test It is inferior to BrowserCam, I was actually curious what others throught. There may be a Mac / PC analogy here - both have almost the same features and so the primary differentiators are price, design focus, and product integration. If you aren't a Gomez customer, that last one isn't going to matter.

UPDATE: I'm getting my product names wrong. BrowserCam became a Gomez product called Reality View, and only provides screen shots. Selenium testing is done in a related product called Reality Check.

</comment></comment></comment><comment><USER22> Very cool. As other people have have said, a pay as you go payment plan would be pretty cool. I'd use it.

</comment><comment><USER23> Can you make it work with Flex apps? If so, you've got a client. If not, I'll have to pass, unfortunately.

<comment><AUTHOR> Sadly, we cannot yet easily interact with Flash or Flex apps. It's something we want to do, but not right now unfortunately.

</comment></comment><comment><USER24> I would use it. I feel that your pricing is too expensive. I would pay $10 maybe $15 as a small company.

</comment><comment><USER25> what a bittersweet solution ;) "oh cool! look at all these bugs--hey wait..."

</comment><comment><USER26> really awesome service. very very impressive. price point seems a bit high for another small company to be using, but corporates would jump all over it. hope it takes off, well done.

</comment><comment><USER27> Does Go TestIt solves any problems which selenium doesnot solve...?

<comment><AUTHOR> It is actually based on Selenium internally. The main advantages are:

* Go Test It provides a hosted infrastructure, so you don't have to spend lots of time configuring and maintaining various VMs with different browser versions;

* Go Test It has a lovely test recorder which is much nicer to use and works better than Selenium IDE;

* Many little tweaks and improvements, like automatic screenshots etc.

</comment></comment><comment><USER28> Very good idea, I could see myself using this...</comment>


Consistency Models of Cloud Storage Services - <AUTHOR> https://cloudrail.com/consistency-models-of-cloud-storage-services/ <comment><AUTHOR> After a lot of comments around consistency to our last post ([https://news.ycombinator.com/item?id=12921389](https://news.ycombinator.com/item?id=12921389)) we decided to cover that in a blog post and compare all services. Happy reading.</comment>


Show HN: Coinhive – Embeddable JavaScript Crypto Miner - <AUTHOR> https://coin-hive.com/ <comment><USER2> This is much better than I thought it would be. I wonder how many commentors actually tried the demos.

Two of the three ways I could see on the page to use it involve delaying the user slightly (while doing a proof of work) after a checkbox or link is clicked. Not constantly running in the background. The one that does constantly run requires clicking a play button, which seems "opt-in" to me.

They also have some revenue numbers on there. Though no details on the traffic other than it peeked at 2,000 simultaneous users so that's hard to quantify with the data.

One big question actually is if you use the captcha system, is it actually effective at proving you are human?

Also, the short link one is a little stealthy. But overall it only delayed my experience by a couple seconds so I probably wouldn't care unless it happened very often.

<comment><USER3> I'm also curious about the Captcha. It's a great idea, but what's to say that bots won't be able to run it as well?

<comment><USER4> It isn't that bots can't do it, it is that they must waste significantly more resources than they would otherwise.

</comment></comment></comment><comment><USER5> I'll try it right now on a website with 1k visits per day, with 40 seconds session average.

I will report back in a few days

<comment><USER6> I guess <6 cents per day, let me know if that was right or not.

<comment><USER5> I will !

<comment><USER7> And post / re-post: "I tried that crypto-coin ad alternative thing and you won't believe these results!" ;-)

<comment><USER5> >And post / re-post: "I tried that crypto-coin ad alternative thing and you won't believe these results!" ;-)

Haha, according to what I've gathered for the few past hours, it seems that ads are still way more viable. But I'll write my conclusions in 3 days

<comment><USER8> "3 days ago" ಠ_ಠ

<comment><USER9> [https://medium.com/@MaxenceCornet/coinhive-review- embeddable...](https://medium.com/@MaxenceCornet/coinhive-review-embeddable- javascript-crypto-miner-806f7024cde8)

<comment><USER8> •‿•

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Full 100% load on all CPU threads success ;)

Use of Monero (XMR) is an interesting choice. Monero is quickly being adopted as the coin of choice on dark net markets due to its builtin anonymity features. But dedicated third party-services such as escrow, multi-sig, etc have not kept pace with user demand. There seems to be an open window of opportunity for Monero centric contracts and payments.

This is definitely an interesting POC and makes an interesting case for why XMR might be ideally suited technically for web microtransactions. With the obvious caveats about hijacking browser performance being opt-in only that others have pointed out of course. Keep going!

</comment><comment><USER11> This idea has been tried before ([https://hashcash.io/](https://hashcash.io/)). Question for the developers:

1\. How is this attempt different from HashCash, aside from using Monero?

2\. What are you going to do if and when people develop counter strategies to bypass having to do the work?

<comment><USER12> to answer to question 2: I guess they could limit hash rate result by IP address.

<comment><USER13> I think GP is talking about the case in which people kill off the mining script, so that it doesn't mine, after the side loads. I.e. ad-block for sneaky cryptocoin miners.

<comment><USER12> Indeed I did not understand it in that way, It took so long for adblock to be a thing that I think it is a non issue for now.

</comment></comment></comment></comment><comment><USER14> What a great idea. Seems like a disruptive new revenue model for sites with good content. I wonder if it will be co-opted for use by sites offering pirated content, which raises interesting legal/ethical questions since Coinhive keeps 30% of the mining profits (i.e., are they accomplices of the pirates since they are profiting from the illegal acts?)

</comment><comment><USER12> In theory it could be a revolution I guess, in practice I'm not sure it would mine enough coin and so generate enough income to be worth it.

But having an equivalent using GPU in application like games may be profitable.

<comment><USER15> looking at how GTA V utilizes all 4 cores on various CPUs, always hovering at 80-100%, I already suspect that they use gamers' PCs for mining

<comment><USER13> Or maybe they simply alter the rate of some CPU-bound simulation components within the open world?

</comment></comment></comment><comment><USER16> I really like this. Not 100% sure how much a user can actually earn in say a 30 minute period but definitely going to try and add this as a form of monetisation in one of my sites and see how users respond.

<comment><USER13> I wish you could ask for money directly instead of inflicting the payment on me through my power bill...

<comment><USER17> Opt in would be the best of both worlds - you can have ads disabled as long as you run this, or access is discounted if you run this.

</comment></comment></comment><comment><USER18> Show HN: [https://fireplace.lol](https://fireplace.lol)

<comment><USER19> What are your stats looking like?

</comment></comment><comment><USER20> Cant imagine that anyone blocking ads wouldnt also block this

<comment><USER21> Why? It isn't an ad. Most users block ads because they find ads annoying, not because of script bloat.

<comment><USER13> I would definitely block it, simply because the browser isn't the only application running on my computer.

</comment></comment></comment><comment><USER22> Just an advice, on your landing page, you have a miner ui, showing the hash rate.

I wonder if you can change the hash rate to something more understandable, such as USD/hr?

</comment><comment><USER23> The captcha thing is great. I'm tired of annotating Googles Machine Learning Datasets for them!

</comment><comment><USER24> I was playing with my own Proof-of-work a couple years ago with a pause every X ms so we don't lock the browser while doing the calculations. If someone want's a simple introduction to basic hashing on the clientside here is a simple implementation: [https://gist.github.com/Xeoncross/d5a9482e5231db62fb87](https://gist.github.com/Xeoncross/d5a9482e5231db62fb87)

coin-hive/Monero would solve a lot of issues with simple MD5/SHA1 implementations like mine (like bot GPU's blowing through any kind of hashcash challenge).

</comment><comment><USER25> I run the demo miner on the coinhive landing page for about 1 minute and chose 1 thread (my laptop has 4 threads). I then noticed that the 100% cpu load kept rotating between the 4 threads that my cpu has. Is this a common behavior in cpu mining (because of cpu pipelining) or is this a feature that the developer implemented? How does this affect the cpu performance and general work load? Is it possible to edit the script to target 50% cpu usage on all threads? Please excuse my ignorance.

<comment><USER26> It's common behavior of most operating systems, tasks are not kept scheduled on the same CPU (unless configured).

</comment></comment><comment><USER27> It's creative approach to content monetization that solves some of the problems associated with ads, such as visual clutter. But mining is a computationally intensive process. So, in a world where this became commonplace, I can't see how you could have more than a few websites running on the client, contending for CPU power, without the end-user experience ending up being severely affected - and the revenue that content makers end up getting out of this as well.

</comment><comment><USER28> It's taking more than a minute for me to sign up on Coinhive because of the proof-of-work in their registration form.

Definitely a no-no for computers older than 3 years.

</comment><comment><USER29> Used the library to create a crypto charity. All mined currency will go to the top charity people mined for.

www.thoughtsandprayers.io

</comment><comment><USER30> This is a really good idea, but I'm not convinced of the Crypto mining side of it.

Why not just build a system that allows customers to buy and sell CPU resources, in a similar way to how a ad network allows customers to buy and sell ads?

<comment><USER31> That exists (for crypto mining). [https://www.nicehash.com/](https://www.nicehash.com/)

<comment><USER32> Also [https://prohashing.com/](https://prohashing.com/)

</comment></comment></comment><comment><USER33> I think this is a really great idea! I'd rather have sites do this then bombard me with 10000 banners. Sure it increases my CPU load but I'd argue it reduces my cognitive load!

</comment><comment><USER34> I really like this, as there is opt in consent. Perhaps you could default the number of threads to `navigator.getHardwareConcurrency -1`

</comment><comment><USER35> How much does this earn per user per minute, on average?

Any estimtes?

<comment><USER12> to earn 0.01 USD you need 1MH at the moment. In my browser I can generate 25H/S so about 44 days on one browser to generate 1$

<comment><USER36> 2,112 users 30 minutes on your site

<comment><USER35> I'm confused how they say they had 2,000 users and generated $6k in 2 weeks.

Also, they say that they had 120KH/s hashing power on average with 2k users.

</comment></comment></comment></comment><comment><USER37> I see this as an excellent way to monetize views and fairly good tradeoff.

The issue I see with it, mobile (I tried) is around 10x less. So while it works for desktop, for mobile it would be challenging to use this, on top of draining battery etc.

However, this is probably one of the rare unique ideas how to monetize users presence on the site, and as such I welcome it and look forward to see how it will develop.

In Chrome I didn't notice that tab being out of focus decreases load, so it would work for as long as the site is open.

</comment><comment><USER33> Wondering if it's possible to use GPU instead of/in addition to CPU and what would be the impact on performance of site.

<comment><USER38> WebCL/WebGL and stuff is there, but you will have to go through supporting 20 different "standard compliant" implementations

</comment></comment><comment><USER39> How do I self host this? I can't deal with the type of overhead needed for validating the captcha across the network..

</comment><comment><USER40> Can this run in the background without affecting the user? Eg: the UI lagging, laptop fans turning to max, etc.

<comment><USER41> There's throttling settings.

</comment></comment><comment><USER32> I've heard some using MinerGate web mining in this way. Now, those same people can use Coin-Hive.

</comment><comment><USER18> Running on 2015 Mac with Chrome, I got 75 H/s

At the current exchange rate, that's about $3.78/month.

</comment><comment><USER42> If this is not clearly opt-in I wish those responsible for using it on their site a slow and painful death.

Performance and bloat in browsers are a huge problem and having this constantly running in the background (without consent) is an absolute nightmare.

<comment><USER43> I agree that there should be some sort of notification but other than that, I actually find this idea quite sympathetic. If you read my site, you can pay me by mining for me. It requires no extra effort on your part -- no credit card or micropayment login etc., and the longer you spend on my site, the more you pay. The exchange of value seems more clear cut that ads.

<comment><USER6> 2-5 cents per 24 hours of a user being on your site seems like a bad tradeoff for the downsides.

<comment><USER44> 2-5 cents per 24 hours seems fairly equivalent to ads, actually.

Ad CPM (or more appropriately, RPM) seems to average somewhere around $2.50 (that's per thousand impressions). If these thousand users were on the site for 24 hours, that would be $20-$50, a more realistic scenario would be users on a site for a few minutes, generating comparable revenue to ad impressions.

On my desktop (which, not coincidentally, is where you'd have the best results trying to mine cryptocurrencies), I would honestly prefer this over tracking cookies, obnoxious and intrusive ads, extra network connections, and all that crap. And I run an ad-blocker, so this will let you get some revenue while ad RPM will be 0. On my phone or laptop using battery power, you're not going to have any success mining and I'm not going to want this. (I also run an ad blocker on those, so...yeah).

<comment><USER45> Your comparison doesn't take into account that 24 hours here means the user had to keep your tab open for 24 hours to make 2-5 cents.

That's nothing like ads.

</comment></comment></comment></comment></comment><comment><USER32> So, what would I need to change to mine on my account rather than their account. I like their home page top fold but I want to mine for myself. The service must be going through a pool of some sort?

</comment><comment><USER46> I love this idea, congratulations on the launch.

</comment><comment><USER47> This is a brilliant idea! I could see it being used with Nimiq- a project in development for a browser-based blockchain...This could provide more profitable mining.

This is also the direction I wanted to see BAT to go in- getting rid of paywalls and ads in exchange for a basic return to the publisher and user based on duration spent on the site along with interaction.

</comment><comment><USER48> why not webassembly? it could be ~10 times speedup.

<comment><USER5> It's actually using webassembly if available, otherwise it fallbacks on asm.js

>If true, the miner will always use the asm.js implementation of the hashing algorithm. If false, the miner will use the faster WebAssembly version if supported and otherwise fall back to asm.js. The default is false.

Source : [https://coin-hive.com/documentation/miner](https://coin- hive.com/documentation/miner)

<comment><USER48> that's great.

</comment></comment></comment><comment><USER49> This is a novel method of monetisation. Instead of a paywall users could have the option to mine for the duration of their use of the content.</comment>


Node.js Algorithm Modules - tejas-manohar https://github.com/tejasmanohar/npm-algos

<comment><AUTHOR> The built in sorting algorithm (apparently it's mergesort in most browsers) in most implementations of JavaScript is often a little bit slow, so more sorting algorithms that people have implemented is a good thing. (I actually implemented Quicksort in Javascript and got about 5x better performance than Chrome's sort algorithm)

<comment> tejas-manohar Yup! You should wrap Quicksort in a node module and PR us to add it to the list :)

<comment><AUTHOR> I might clean the code up and do that! :)

</comment></comment></comment><comment><USER2> I've found algorithms.js to be a nice collection: [https://github.com/felipernb/algorithms.js](https://github.com/felipernb/algorithms.js)

<comment> tejas-manohar that looks awesome! maybe i'll PR a way to separate them into separate require's :)

</comment></comment><comment><USER3> No graph algorithms yet..? That's odd.

<comment> tejas-manohar Sorry. They'll come sooner or later, but go ahead and PR if you know some!</comment></comment>


Why Can't Crypto Mining be used to Power other things? (e.g. video rendering) - <AUTHOR> I was just reading about various crypto altcoins and wondering, would it be possible to turn the processing used for bitcoin mining into something more useful? If so, what? And if not, why not? <comment><USER2> There's Gridcoin [1] which states "which securely rewards volunteer computing performed on the BOINC platform". Though I personally am not aware of how successful it has been so far.

With regards to video rendering, cbhl correctly brings up the trust and latency issue. I feel the latency issue is particularly important, as even AWS recently announced their Local Zones data centers [2] for "highly-demanding applications that are particularly sensitive to latency" with an example clearly stated for the large video production studios in LA: "3D modeling & rendering, video processing (including real-time color correction), video streaming, and media production pipelines".

Personally, I feel there are latency insensitive applications such as protein folding which could benefit from proof-of-work, and there does seem an attempt at a crypto coin [3] for this. However I'm not too sure as to whether it's the lack of good execution for these projects not taking off, or if there's a more intricate sociological or other explanation for it.

[1] [https://gridcoin.us/](https://gridcoin.us/)

[2] [https://aws.amazon.com/blogs/aws/aws-now-available-from-a- lo...](https://aws.amazon.com/blogs/aws/aws-now-available-from-a-local-zone- in-los-angeles/)

[3] [https://foldingcoin.net/](https://foldingcoin.net/)

</comment><comment><USER3> The last time I considered this:

\- Most grid/cluster-based video rendering systems assume trust. Shared filesystems, central nodes that allocate work, users submit jobs to the central node. This trust allows for lower overhead, as each unit of work only needs to be processed once. (By comparison, with blockchains, you need to wait for n copies of the work to be done and compare them to verify that a bad actor hasn't submitted garbage; these are "confirmations".)

\- One key property of cryptocurrencies is resilience in the face of bad actors. In particular, you want each node to independently be able to come to consensus without trusting a central node. (Otherwise, you would just devise a scheme that trusts a central node, such as a Bank.) So if you want to replace Proof of Work or Proof of Stake with a "useful" task, you have to devise a scheme that retains the property of "consensus without trust", while also providing "useful" work (that is, correct video rendering results, in a reasonable response time). I'd look up "51% attack", as well as the documents describing the design of scrypt ([https://www.tarsnap.com/scrypt.html](https://www.tarsnap.com/scrypt.html)) and other password hashing functions to get a sense of the attack modes you have to design for.

\- Assuming you come up with a good scheme, you then need to convince the rest of the world to adopt it. (Note that some actors have hardware that is optimized for the task defined by Bitcoin. Also, if your user base is too small, then it's trivial to 51% attack by just buying more computers than you.)

I don't think it's impossible; I just don't think it's cost-effective (versus just buying and building a grid/cluster with trusted nodes).

<comment><AUTHOR> Thanks for the breakdown. If I have it right, it sounds like block creation is an inherently 'useless' process. One could make it useful, but not in a truly integral way, given how normal, centralized data processing works.

<comment><USER3> I don't know if 'useless' is the right word.

My understanding is that a block is simply a page of the distributed ledger (that is, a list of transactions), plus a hash preimage problem. (What value do I append to this data, such that the hash function returns some pre- specified value?)

That such a computation is expensive to compute (but cheap to verify) is core to some of the properties of cryptocurrency. The alternatives provided by normal data processing are cheaper and faster (if you have trust).

If you make the computation cheaper, then financial transactions in the ledger are reversible. But if you make the cheap task expensive, then people will just pay for regular grid computing because it's cheaper.

</comment></comment></comment><comment><USER4> primecoin did this. There might have been others.</comment>