The 'microworkers' making digital life possible - <AUTHOR> https://www.bbc.co.uk/news/business-48881827 <comment><USER2> > Why do the media keep running stories saying suits are back? Because PR > firms tell them to. One of the most surprising things I discovered during my > brief business career was the existence of the PR industry, lurking like a > huge, quiet submarine beneath the news. Of the stories you read in > traditional media that aren't about politics, crimes, or disasters, more > than half probably come from PR firms.

[http://www.paulgraham.com/submarine.html](http://www.paulgraham.com/submarine.html)

<comment><USER3> This. I worked at a midstage startup for 3 years. Even the major newspapers would print (or at least publish online) your press-releases practically verbatim. They seemed particularly susceptible to anything which contained some dubious statistics.

</comment></comment><comment><USER4> I was having a hard time deciding which pair of glasses to buy a few years ago, so I posted a survey to mTurk with selfies in a bunch of different frames. About $20 got me ~150 responses and a clear winner. I've been fascinated with the service ever since.

<comment><USER5> Aren't you worried choosing your look based on the demographics of mTurk would make you attractive to a non-representative sample of the population?

<comment><USER6> People have more in common than differences.

<comment><USER5> Attractiveness is very cultural.

</comment></comment></comment></comment><comment><USER7> If you want to catch a glimpse into the lives of some of those workers, kolostories.com[1] "interviews" the workers of their captcha solving microworking site. It's macabre yet fascinating.

1: [https://kolostories.com/contents/list](https://kolostories.com/contents/list)

<comment><USER8> Wait, is this a real company? What employment agency (sort of) promotes their service by showing how easy it is to ditch their workers and visualises that by shooting them down?! [1] If it is not a parody, macabre doesn't even capture it.

[1]: [https://anti-captcha.com/](https://anti-captcha.com/)

<comment><USER9> So you are doubting the integrity of a company that circumvents captchas, which are supposed to prevent fraud?

> Wait, is this a real company? What employment agency (sort of) promotes > their service by showing how easy it is to ditch their workers and > visualises that by shooting them down?!

The buff guy wearing the mask and cape is supposed to shoot the _cheaters_ , not the honest workers. On the other hand, at your command, he will shoot the second guy who is clearly filling in the correct answers. In other words, if you just want to see the world burn, he will be your willing henchman.

</comment></comment></comment><comment><USER10> So we're automating repetitive physical work and then shove people into repetitive information work that pays peanuts, has no benefits, forces you to work in isolation and spend tons of time sitting in front of the screen. And a lot of this information work goes towards training more systems that will automate away more jobs.

And _this_ gets semi-positive coverage from the same press who gladly calls for erasure of individuals from the digital society based on the notion that any "incorrect" opinion can potentially constitute grave societal harm. Hah.

Obviously, the solution isn't to delete automation. It is to make AI algorithms into tools directly usable by average individuals. What is happening right now is kind of the other way around.

<comment><USER11> I had a really mind bending conversation with someone a while ago that actually liked this kind of work. They where supported by their significant other and no job they could take would really change the couples standard of living.

It's competition is daytime soaps not a 9-5 jobs. It's still flexible and a little extra spending money makes themselves feel better.

</comment></comment><comment><USER12> Man, I didn't realize Venezuela was so fucked that dentists are now doing mTurk.

<comment><USER13> It's been like that in Cuba for years. These guys made an actual commercial, for an actual Cuban doctor, who actually sold cars, that ran on actual late night TV, lampooning it.

[https://www.youtube.com/watch?v=7b5CKSqlz60](https://www.youtube.com/watch?v=7b5CKSqlz60)

Plenty of examples in Cuba of luggage handlers making more money than doctors.

<comment><USER14> Ew a luggage handler? What makes them think they can earn money, the horrendous little urchins.

Cuba.... Cuba... isn't that the country with the best healthcare system in the world? Don't they send thousands of doctors to the USA on humanitarian missions, because the USA doesn't give healthcare to its people? [1].

Now, you'll laugh at this because of decades of anti-Cuban propaganda (the luggage handlers!), but your anecdote of a Cuban doctor dissatisfied is very cute in the face of what is actually the best healthcare system in the world.

Hard to believe that an industry runs better when a handful of individuals aren't a huge, profitting strain on its resources.

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

<comment><USER13> There's nothing wrong with manual laborers making money, what's wrong is that doctors can't.

<comment><USER14> But they can.

<comment><USER13> If doctors are running in droves from Cuba to be luggage handlers or car salesmen in the US, you don't see a problem with that?

From the Wikipedia link you posted:

> According to Luis Zuñiga, director of human rights for the Cuban American > National Foundation, Cuban doctors are "slave workers" who labor for meager > wages while bolstering Cuba's image as a donor nation and "the Cuban > government exports these doctors as merchandise".[34]

And the reason it's luggage handlers and not other kinds of laborers is because luggage handling specifically puts you in contact with wealthy foreigners whose seemingly small tips are big money in the local currency.

In order to make any kind of real money in Cuba, you must find yourself in a position to interact with foreigners. The local economy will never provide that opportunity.

<comment><USER14> I begrudgingly cited wikipedia, but there's enough in there to show, at the very least, that Cuba has a better healthcare system than the USA.

Cuba is desperately poor, like most post-colonial countries. Despite this, Cuba has: [1]

\- a greater life expectancy than the usa. \- more hospital beds per capita than the USA. \- more than double the number of physicians per capita than the usa.

The list goes on. Communism works in theory, but in practise the CIA spends trillions of dollars making sure it doesn't. And even then it puts them to shame.

The only way Cuba's way of doing things, not their embargo-induced circumstances, is sub-par is if you toy with the fascist idea that not everybody deserves basic human rights like healthcare.

BTW, this is across industries like healthcare, education etc. The war on Cuba is the same one waged on the poor in America.

[1] [https://www.nationmaster.com/country- info/compare/Cuba/Unite...](https://www.nationmaster.com/country- info/compare/Cuba/United-States/Health)

<comment><USER13> I'm not going to wade into the muddy waters of trying to argue that Communism doesn't work at all, but rather to point out that a) the CIA doesn't have 'trillions' of dollars to throw around, and b) the American embargo doesn't prevent Cuba from making trade deals with other nations. It just prevents them from drinking from the teat of American foreign aid and access to limitless American markets and investment.

The US has enough soft power to make Cuba's life difficult on the international plane but it can't render Cuba impotent. If Cubans need to flee to the US for a chance at a better life that's the fault of Cuba's atrocious institutions and politics making opportunity impossible to find.

The CIA is an organization with tens of thousands of people in it and Cuba is a country with millions. The CIA has to spread its 15 billion dollar budget all over the world, while Cuba is free to spend its 50 billion dollar revenues on whatever she wants.

<comment><USER14> And I'll stop wading through the waters of arguing with somebody void of the history of the topic. After I point out that the CIA made hundreds of attempts to assassinate Castro.

You seem to be missing a whole portion of the story. So all I have for you now is, you are wrong.

<comment><USER13> Fine by me but can I point out before you leave that your points keep wandering. First it's "trillions" of dollars, when challenged, you say I know nothing of the history and state what just about anyone knows, that the CIA has attempted to assassinate Castro.

I don't even know what point you're trying to make here. Cuba does not have a world-class medical industry, it's not a better place to live than the US, people do not flee the US to live in Cuba.

Do I think the embargoes should end? Yes. Do I think the US interfered with Cuba's politics? Yes. Am I going to play a weird shell game with where I try to figure out what point you're trying to make? No. Cuba's a hellhole, we didn't make it that way, Castro was more than capable of doing that all by himself. He certainly was capable of resisting hundreds of assassination attempts, if indeed Escalante's 638 number referred to actual attempts.

<comment><USER14> Manufacture your own victory if you wish. No better way than to nitpick an estimated figure in a quip, which incidentally is a correct one. I could suggest your next move: claim that I didn't mean spending over decades and imply I meant all in one day.

Britain, the U.S., a selection of European countries, Russia , Israel and allies have fucked the world for the benefits of their elites. But, please, another anecdote about how people don't flee the USA (despite the glaringly obvious ramifications of wealth distribution on infrastructure). I conjecture that your inability to fathom my point is not my problem.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Isn't it rather the digital life that is making microworkers possible ?

</comment><comment><USER16> I went into full-time freelancing career as a graphic/web designer in 2007, then came the financial crisis and by mid-2008 I was struggling to feed myself because of the lack of work.

So in my desperation I tried mechanical turk.

I worked very hard for 8 hours tagging stuff, correcting text and selecting things with boxes. It was horrible, repetitive, mindless grunt work. And I earned like 5 dollars. That was not going to work.

So instead I advertised my very limited PHP and JavaScript skills and I started working as a programmer instead of a designer. It turned out there was still a demand for those.

I am very thankful that I had some coding knowledge because I don't know what else could I've done.

(I also tried 99designs, which paid better while still being dehumanizing, but that's a story for another day)

<comment><USER17> I had a logo made on 99designs last year. I quite liked the experience as a customer; with limited experience in hiring a creator, I got what I wanted. But the process made me a little uncomfortable.

Basically the process went like this...

\- put up description of what I want

\- declare how much I am willing to pay

\- have people submit proposals

\- ask designers I like it iterate on design as needed

\- pick a winner

I wasn't comfortable asking people to do work and have no money change hands if I rejected all the designs, so I committed to selecting a winner so that at least someone got paid. I was OK enough with this part of the process, as it felt a bit like people applying to a job and hiring one of them, and I was doing my best to make the job not crappy.

The part that got under my skin was that I got so many submissions. Like 50. I was paying like $400 for what I had originally thought would cost $99 (paid more to attract more submissions, so not sure why I am surprised). It hadn't really registered with me how much work I'd be creating for other people by through this process.

In the end, I am OK with the platform as a tool for finding designers I like. I have since hired the designer who won for more work, so in a sense it's a recruiting platform for me. But I can see how many would put in a lot of work and never get paid at all. Kind of like real life :P

<comment><USER16> As a designer I didn't really liked the experience (but things may have changed since 2008). But I had to basically enter as much competitions as possible every day, that meant doing as much as four or five proposals daily. The quality, as one could expect, wasn't as good because a) I spent little to no time refining each idea and b) there was no time to edit myself. Out of the tens of competitions I entered I won two (I won 3k which was very welcome at the time) and both become regular clients outside the platform.

I may have getting used to working on 99designs eventually, but I'm just not wired to that staggering amount of rejection and sense of uselessness.

<comment><USER17> I was surprised at how much quality some of the people cranked out. I suppose a logo is tightly scoped, especially when the directions were "make a ninja pope". I didn't even need to do much back and forth. I got what I wanted with some Minor feedback eye colors and pose.

</comment></comment></comment></comment><comment><USER18> I was expecting something about Fiver but this is even more micro.

The killer is spending 20 minutes to get 60 minutes of work, so 8$/hr only nets 6$/hr

</comment><comment><USER19> What are your favorite microworker hacks?

<comment><USER20> My favorite hack is trying to avoid the 2019 equivalent to sweatshop labour.

<comment><USER9> You seem to disregard that in many countries the alternative to "sweatshop labor" is becoming a beggar.

A dollar an hour can be a good income in some parts of this world, believe it or not. If you can't compete on price like that, don't bid.

<comment><USER14> > You seem to disregard that in many countries the alternative to "sweatshop > labor" is becoming a beggar.

Know who hasn't disregarded this? The wealthy people exploiting it, who pointed it out to you in the hope that this level of depth on the matter was all you needed.

Nobody on HN is a participant in a race to the bottom. Don't advocate it as a career strategy.

<comment><USER21> It's the neoliberal Panglossian response -- the best of all possible worlds!

<comment><USER9> You have named your nemesis, but can you show that he's wrong?

</comment></comment></comment></comment></comment></comment><comment><USER22> I've read somewhere that mturk was never profitable for Amazon. I wonder if this is still the case since there are now a plethora of labeling service companies out there

<comment><USER23> I was really surprised at Scale AI's recent 1 billion valuation considering it's also more or less just another labeling service: [https://news.ycombinator.com/item?id=20614672](https://news.ycombinator.com/item?id=20614672)

<comment><USER24> I dunno - having done my own share of labelling, a company to make that horror go away is certainly of value - that said, converting people to cogs in AI systems is worrisome</comment></comment></comment>


ShowHN:BTC-like cryptocash with arbitrary tradeable computation in proof of work - <AUTHOR> https://docs.google.com/open?id=0B3qaT-ZL6aeKMWFhNmIwOGYtNWM2Yi00ZTU0LTkxZjMtZGYzNjUwNWJhZTBm

<comment><AUTHOR> Abstract:

      I describe the design of NooShare, a decentralised ledger similar to
      Bitcoin with the novel feature that its proofs of work are iterations
      of essentially arbitrary Markov-Chain Monte-Carlo (MCMC) chains, the
      scheduling of which can be purchased using the currency itself.  It is
      a novel economic basis for sharing fallow computational resources.

I've given serious thought to this problem, but I am by no means an expert on any aspect of it, and I welcome all critical feedback on all aspects of it.</comment>


An HTML5 remake of the original Super Mario Brothers - <AUTHOR> https://github.com/Diogenesthecynic/FullScreenMario

<comment><USER2> or not...[http://www.fullscreenmario.com/](http://www.fullscreenmario.com/) DMCA complaint from Nintendo But thanks for the source :)

<comment><AUTHOR> Exactly - that's why I posted the link to Github repo.

The game still works - just clone the repo and start index.html.</comment></comment>


Front-end design, React, and a bridge over the great divide - <AUTHOR> http://bradfrost.com/blog/post/frontend-design-react-and-a-bridge-over-the-great-divide/ <comment><USER2> > While I'm definitely a lot more fluent in it now, I dunno, it just still > feels a bit weird to me. I could share some specifics but that would only > invite a bunch of angry nitpicking comments. All I'll say is that when I go > over to projects where I'm writing HTML or HTML-like stuff (Vue, for > instance), it feels like a breath of fresh air.

JSX is fine, the real power is building your HTML in pure JavaScript. I'll never go back to a template language, in my mind they're a fundamentally flawed design. They necessitate introducing extra concepts and implementing some magic rendering voodoo -- for what? So I can write my code twice, once in the JavaScript and once in whatever weird template directive language the framework uses.

So for me the only real alternative to JSX is to do elm-html style nested function calls which tends to be much uglier. JSX isn't perfect but it's the best we have by a mile.

<comment><USER3> I suspect that, in 2-3 years, server-side rendering is going to be rediscovered as a cure for the plague of spaghetti frontend code, just as current template-in-javascript metalanguages are being discovered now as a cure for spaghetti frontend-plus-backend-rendered code.

<comment><USER4> _> I suspect that, in 2-3 years, server-side rendering is going to be rediscovered as a cure for the plague of spaghetti frontend code,_

Maybe your prediction is informed by different internet usage scenarios but _for general mainstream web surfers_ , I can't see how the industry will migrate back to server-side rendering in 3 years.

The unavoidable technical issue is the _round-trip latency_ of the network. The same delays from the speed-of-light will still be there in 3 years. Most of the world is accessing the web through _mobile phones_ which has worse latency than desktops. Server-side rendering (which means painful page reloads) is user hostile on slow network connections.

<comment><USER5> You didn't mention all of the new features coming to HTTP 2 that will alleviate network performance issues (prefetch, multiplex connections, etc.)

I've found many sites that use frameworks like react to be much more user hostile, particularly from a performance and accessibility standpoint. The reddit redesign comes to mind. It's so much slower now than it used to be on a browser (perhaps they're intentionally doing this to push people to their mobile app), that it's noticeably reduced the quality of the experience.

I guess I just don't understand how people see page reloads with proper caching as unacceptable from a performance standpoint compared some JavaScript app maintaining a virtual DOM, which is also likely regularly communicating with a server.

<comment><USER6> Same with TechCrunch, every time I visit I am reminded how frustrating react sites can be compared to server rendered pages with all the flicker, slow page reveal, and odd navigation it introduced.

<comment><USER7> Late loading artifacts is _all_ the fault of JS, not server-side rendering. Not sure what you mean by "odd navigation."

<comment><USER6> To close an article there is a x button and back swipe is disabled. I agree that flicker is introduced by Javascript. That is what I was saying. Might be ok for an app, but a content driven site seems like it should stick to the concept of pages where navigation is like turning a page. Just seems like server rendering fits that mental model better. Not sure why react even makes sense for a blog.

<comment><USER2> It doesn't, but blogs aren't built to present content they're built to sell advertisements and collect data. That's much easier with an SPA than a SSR app.

<comment><USER7> _they 're built to sell advertisements and collect data. That's much easier with an SPA than a SSR app_

How easier? By dint of additional JS that an SSR doesn't have/need? Not sure how pulling a header nav (or any cell/element) from a server on pageload plays into that, but even today I've watched sites (plural) loading, pushing loaded parts all over the page for 30sec until everything settles down. Maybe blogs aren't _quite_ so affected by this set of popular dark- and anti-patterns, but even so the post is almost always the last thing to load. Presumably, the monetization and data collection takes precedence over all else.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I love Brad Frost's work and writing, but I seriously disagree with this.

Imagine being a designer at a place like Netflix. Your product is among the most ubiquitous in the world - if there's a device with any kind of screen, Netflix has an app for it.

Now imagine developing a skillset, as a designer, that totally locks you into one platform (the web in this case). It makes absolutely no sense. I don't care how "easy" React makes things, or how "easy" layout now is with CSS Grid. It takes serious time and effort to develop these skills.

So I ask myself, why would a designer do this? It's one thing to have domain- specific knowledge (iOS design is _very_ different from web, for example). It's another to have implementation-specific knowledge, which IMO a designer really doesn't need.

This is great and all for Netflix's web designers, but what about iOS, Android, Apple TV, Playstation, Xbox, Roku, etc etc etc?

<comment><USER9> I thought Netflix was pretty notable for using React Native or something similar in most or all of its native apps.

<comment><USER8> Perhaps. I don't know anything about how Netflix does their design. But the underlying point was that implementation details change, technologies change, and it's hard enough to keep up with the changes while you're focused solely on development.

I'm not opposed to individual designers learning how to code, but my fear is that the industry will come to an _expectation_ that designers should be able to build UI's. I think that's a very very bad idea.

<comment><USER10> The expectation is already there. I feel sorry for designers who simply worked in html who's lives keep getting more difficult. At one point you drew in photoshop/sliced then you had bootstrap which would give you a base but you needed to override styles.

JSX makes a lot of sense for those writing components but makes little sense for a designer to be forced to think in that way. Using vue with html templates allows designers to copy and paste html.. it's not that easy with jsx..

</comment></comment></comment></comment><comment><USER11> > Crafting semantic HTML markup with a strong focus on accessibility, in order > to make experiences that are friendly to browsers, assistive technologies, > search engines, and other environments that can consume HTML.

> Creating CSS code that control the look and feel of the web experience, > tackling colors, typography, responsive layout, animation, and any other > visual aspect of the UI. Frontend designers architect resilient CSS code > with a focus on modularity, flexibility, compatibility, and extensibility.

> Optimizing the performance of frontend code in order to create lightweight, > fast-loading, snappy, jank-free experiences.

I can't help but chuckle at this. I admit that _good_ frontend designers do this, but they are extremely rare. Judging solely by the top Google results, 95% of frontend designers don't do any of this: they don't care about accesibility, friendly experience, compatibility or anything like that.

I applaud the author for caring about these things. His website is the biggest evidence that he does, but most designers don't do these things.

<comment><USER12> How many of us get to walk into green field projects or even decently architected projects? Accessibility isn't too hard if you build conventions around doing it from the first commit, but adding aria tags and labels to 100s of old files is going to be a massive undertaking that few product managers will sign off on. I think it is less incompetence and more when it comes down to the wire, those are the first things to get cut or ignored.

<comment><USER13> It doesn't really matter what's there already. If your job this week is to add a new feature, spend some time this week thinking about accessibility. If you're just fixing something old, then don't worry about it.

I'm not even going to be prescriptive about how much time. If you have 5 minutes, fine, good.

</comment></comment></comment><comment><USER14> The last time I did a bit of frontend for a side project was in 2004. Then I took a long break from dev and computers in general. Earlier this year I'd decided to brush up on the whole frontend/JS ecosystem. It was weird initially and there was a lot of friction, as I was especially fixated with a "why can't I stick this in a <script> tag, what even is NPM..." mindset.

I have the say, after getting the hang of typescript, react, Vue and the tooling in general, I don't exactly hate it as much as I was led to believe I would. Also, typescript is very nice.

<comment><USER15> I continue to believe that the loudest perpetrators of JavaScript hate are those who overcomplicate simple things or follow other people's advice to overcomplicate simple things. Things like using SPAs for five page sites, throwing Redux into every CRA installation, npm installing useless packages like is-odd or leftpad (lol), etc.

You don't need to use <new framework on reddit>! You don't need JSX! You don't need <CSS alternative>! Surely you still don't need to support <version of IE released in 1997>!? Vanilla JS is fine! Most modern browsers have rich enough feature sets that you don't even need transpilers like babel or dozens of polyfills (or Webpack, which almost nobody needs unless you're averaging 10M+ views a month...)

Or maybe you do, or think you do. Maybe your bosses made these choices in the past. Maybe you had to compromise in a team. In which case, I get it. You call the shots or you're working for someone who does.

But don't blame the language, the frameworks, or the ecosystem. JavaScript stepped up to the plate because _nobody else did._ Electron is there because nothing else could provide the same level of power for total novices to come in and make groundbreaking applications. Node is there because nothing else let you hire a guy who could handle literally every single aspect of your business's digital presence, from front end sites to internal employee portals to mobile apps to APIs to vendor integrations. And there's so much stuff on NPM because everyone who works in this space for a few years always gets a brilliant idea for some abstraction that could fix everyone's lives. Many people who make packages on NPM have only a few months experience _programming in general_ , which is why (1) we have so many dumb problems that "professional" software organizations avoid and (2) there are so many new frameworks all the damn time.

And that's a good thing! The whole point of our field has been to make computers more helpful to humans. A dumb little language like JavaScript (or Python if that's your cup of tea) is the perfect candidate to take any normal person and get them working on critical business problems, whether those require web dev skills or data science or anything in between.

For most of computer history, the role of today's pioneers has always been to offer up their shoulders for the pioneers of tomorrow to stand on. I'm sure bare metal logic electricians made fun of COBOL developers when it first came out, and COBOL developers made fun of C developers, and C developers made fun of Java developers, and Java developers made fun of Python developers...JavaScript is neatly filling the need for a "stepping stone" language that gives everyone the power to build their own applications, as opposed to using someone else's application which previously cemented the wall between "users" and "developers."

I'm excited to unleash a world where _everyone_ has the power and know-how to develop their own applications, social networks, data processing services, etc. It sure beats a world where only an elite few have the power to manipulate society and capitalism to such a large degree.

-

Full disclosure: I'm currently writing a web service back end for my small business in Racket, so I'm not just a JS developer. However, I have 4+ years of Node experience professionally and recreationally, having built Express/React/Mongo web apps, Electron desktop apps, and React Native mobile apps, so I've experienced most of the ecosystem at this point I think. It's really not that bad.

<comment><USER16> But seriously why can't I just do modern webdev with a <script src="">?

<comment><USER17> Wait, is there some other way to load scripts now? Asking for a friend...

<comment><USER18> I suspect what corebit means is loading a script that has been manually created rather than a file that contains resources bundled by webpack or similar.

</comment></comment></comment></comment></comment><comment><USER19> every time Brad Frost writes something a bit controversial, it always feels like he can write and understand html and css, but anything else (including React) is way over his head.

No disrespect, it just feels like he's not spending the time necessary to understand how things work and instead of doing so, he just goes on and vents on his blog.

<comment><USER20> For me, it's not that I'm overwhelmed by the learning. I understand the "what" and "how" just fine. But React is a paradigm shift that I have yet to fully grok the "Why" for. It often feels like I'm having to re-solve problems we've had solutions to for a decade, on top of all the brand new problems React introduces. The core problem React solves, "re-usable reactive components", just doesn't come to fruition in most projects I have seen. It mostly ends up in a greenfields component stew.

We can write re-usable components in pretty much any language with as bit of file organisation. So React takes a whole heap of convolution and tooling to end up in pretty much the same place as before, just written differently.

Don't get me wrong though, I have enjoyed learning it and it is very cool technology, and I'm still open to having that "aha" moment when I finally get why people think it's great. It just hasn't hit me yet.

<comment><USER21> What about the whole component based approached? You could certainly take a component based approach with simple code organization in HTML, CSS, and JS frontends. I've done that before, in a sort of pseduo-web components way using directories and naming schemes.

React and Vue makes it easier with single file components and wrapping it in functions which makes handling state and configuration. Which increases reusability and helps further encapsulate the components.

One of the most obvious gains to me is helping manage huge CSS files in legacy projects [1]. Components are way better than a giant BEM'd [2] CSS file, it's much nicer writing .box in a <style scoped /> in Twitter.vue instead of .twitter__layoutBox among a ton of other nested layers. All just to avoid global clashes and maintain some sanity.

Or a ton of global jQuery plugins for select boxes and modals and everything else.

Everything is so much more portable across projects.

That's not even mentioning the whole plug-and-play reactivity that is baked in.

[1] Here's a good list of the problems of CSS-in-JS helps solve: [https://i.imgur.com/LbE1kqc.png](https://i.imgur.com/LbE1kqc.png)

[2] [http://getbem.com/](http://getbem.com/)

<comment><USER22> > _React and Vue makes it easier with single file components and wrapping it > in functions which makes handling state and configuration_

But is this really true? If you have simple presentational components, this is probably true. But your app is tied together by "container components". The state is unique to the app you're writing. You have to somehow map the state to the components. Maybe you use "container components". In one project, you use Redux, in another, you drill props down to all children. In the next, there's React Context or whatever the next thing is. Do components load their own data (like some widgets) or is there a root component that loads all data and handles the state for the entire app?

I'd argue writing presentational components isn't that different from writing just HTML and CSS. The tough parts of React is where all the unique state logic is placed.

<comment><USER21> It's true Redux/VueX creates a habit of coupling your components to the specific usecase. But I've been using them for over a year now and whenever I've had to reuse a component, often in very different environments, it takes about an hour of tweaking to make the component reusable. Sometimes you have to rewrite parts of the DOM to make it more flexible.

But this is like any abstraction in programming. When you have a function you want to be reusable you usually have to do some work to make it more portable across your codebase and create a proper flexible "interface" for it via arguments.

The UI components are particularily easy to reuse. If you look at something like Rebass it uses predefined constants to add consistency of values across the entire site + a theming system which simply tweaks those constants (ie, colors, the scales of font sizes across h1-h6, etc).

[https://rebassjs.org](https://rebassjs.org)

<comment><USER23> On your last point, I feel like components this basic should really rather be addressed at the real theming level, i.e. in CSS.

Utility-first CSS frameworks are awesome if you get past your first impression. I've been using TailwindCSS [0] both at work and for all my personal projects ever since I read Adam Wathan's justification on it [1]. In TailwindCSS those constants are configured in one place and generated at build time (through Rollup/Webpack/PostCSS etc.). Consistency and theming for free basically.

Even Bootstrap has now a decent collection of them in v4.

[0] [https://tailwindcss.com/](https://tailwindcss.com/) [1] [https://adamwathan.me/css-utility-classes-and-separation- of-...](https://adamwathan.me/css-utility-classes-and-separation-of-concerns/)

</comment></comment></comment></comment></comment></comment><comment><USER24> In our agency a lot of our backend developers have moved their work on the business logic side of the frontend with React, managing state and routes, interacting with API's. While the traditional frontend developers work more on the visual part of the frontend with styling, JSX, images, animations.

I now call them technical frontend developers and visual frontend developers during interviews. I am not sure what terms will stick in the end.

Our senior frontenders handle both the technical and the visual part.

We have some experienced senior full-stack developers who can work on anything from hosting, server-side code, client-side business logic in React, but they usually stop there and let visual frontenders implement the design.

Observing our junior frontend developers I noticed it is very difficult to be effective in both areas. You really need years of experience before you can grasp the whole thing.

Managing state and business logic is so different from implementing a design. It requires very different skills. I can really sympathize with traditional visual frontender feeling overwhelmed with the whole javascript madness that is going on. Companies who just dumped it on them because "it's frontend", are making a huge mistake.

</comment><comment><USER25> I remember when I was messing with MooTools and Prototype and then I saw jQuery. OMG, yes, I want that! So powerful, freeing and easy.

I've never felt that way since with JS.

Backbone didn't have much appeal. Angular, I knew I didn't want to touch it with a ten foot pole. React was interesting, but usually more trouble than it was worth. Vue feels the nicest of the bunch, but not breathtaking.

I guess what I'm saying is that, after seeing jQuery, I knew I would not use anything else. It solved a problem so well (DOM manipulation) there was no need to.

With recent JS frameworks, it feels like we haven't even defined or come to agree on what the problem we are trying to solve is.

<comment><USER26> The problem being solved IS (manual) DOM manipulation. It's messy and error- prone. Using React et al to generate the DOM as a clear function of state is much better.

<comment><USER25> I'm not convinced.

Again, jQuery was an easy sell. Saying manual DOM manipulation is messy… not so much.

</comment></comment></comment><comment><USER27> Things I get from designers: 1\. Wireframes 2\. Layouts (bitmaps) 3\. Assets (fonts, images) (4. Occasionally, interactive prototypes made with designer- friendly tools.)

Designers already suck so badly at HTML & CSS that getting them to do any wastes more time than it saves. They don't need to be let near any other implementation tech either, not Android layouts, not iOS storyboards, and not React.

Designers don't really want to do implementation either, why make them learn a bunch of things they don't care about?

<comment><USER28> The author makes the point that "frontend designer" may not be the right title, so perhaps "UI developer" or one of the other titles he listed is more appropriate.

So I don't think he's talking about making designers learn implementation. The point is that the scope of frontend development has expanded so much that it makes sense to split responsibility between "front of the frontend" UI responsibilities and "back of the frontend" responsibilities like managing state, cache invalidation, routing, etc.

In any case the line between design and dev turns gray when you consider that designers can't practically mock up designs for the web for every viewport size, define what every micro interaction looks like, etc. There are so many nuances to creating a great UX that it makes sense to have a class of front end devs with those kinds of proficiencies.

</comment></comment><comment><USER29> > While I'm definitely a lot more fluent in it now, I dunno, it just still > feels a bit weird to me. I could share some specifics but that would only > invite a bunch of angry nitpicking comments. All I'll say is that when I go > over to projects where I'm writing HTML or HTML-like stuff (Vue, for > instance), it feels like a breath of fresh air.

There's something to be said for constraints, and easy parse-ability

I experimented with a project once that could programmatically build a DSL for running e2e tests. The enabling factor was constrained html-like templates[0]. It would never have gotten even close to working with JSX.

[0] [https://samsieber.tech/posts/2019/06/type- safe-e2e-testing-d...](https://samsieber.tech/posts/2019/06/type- safe-e2e-testing-dsls-in-kotlin/)

</comment><comment><USER30> This feels so foreign to me. Just...use React? JSX syntax isn't hard :<

Like if it was Haskell or something I would be understanding, but this just sounds like lazy.

<comment><USER31> I don't think it is the syntax that is difficult, it is the overall layout and design of a React app, and the tools that come along with it. When you start a website with regular HTML/CSS/JavaScript, you just open up index.html and start putting in HTML tags, and maybe add a .css or .js file. When you start a React app, you (usually) run create-react-app, which pulls in a million dependencies and tools you use to develop your app. Now in the long run, for a large app, those tools are useful since they make it easier to actually host your website somewhere, but the learning curve is far steeper than just opening up index.html in your web browser.

Also it is hard to determine what the best way to solve a problem in React is when there are so many different versions and additional packages people are using (ex. Redux).

<comment><USER32> Please don't stop creating your website n the way you need it. It worked 15 years ago and it still does.

Then, start have your codebase grow and grow, and you will find yourself to rebuild it again and again. Good luck

</comment></comment></comment><comment><USER33> I think HTML is bad. I think DOM based development is bad. I really feel that Desktop UI development is much more mature and has much less legacy to compete with when developing a web UI.

I think the very near future will be web assembly code that paints a canvas. Mature desktop methods with GUI design tools will be ported to web assembler and retrofit for the web. QT5, imgui, are just the beginning.

I think a good exercise would be to open the Full Stack React book again and port the first few running examples to a Qt Quick Controls application and then target webassembler. I am willing to wager that anyone who gives it a real shot will be impressed at the productivity gains -- which generally stem from QML's expressiveness and not having to deal with React's over-complicated design. Not to mention, you'll not waste time because some component you made behaves differently across browsers. You'll also notice a complete lack of the dogma that tends accompany modern JS frameworks and libraries.

It also feels good to know that your UI may be a bit more performant that DOM based UI's.

<comment><USER34> > I think HTML is bad. I think DOM based development is bad. I really feel > that Desktop UI development is much more mature and has much less legacy to > compete with when developing a web UI.

I secretly hope this becomes true. I always think back to how nearly everything done on the frontend are essentially hacks to really sex-up a document description language for scientists.

I think it would be really neat if we did end up building UI's in a responsive way like you describe. It would feel more like the right tool for the right job. But that seems so far away when I start to think about what it would take to get there.

</comment></comment><comment><USER35> I'm a "font-end designer". I've been one for since 2000 or so. To me, that basically meant I was a designer that could write HTML and CSS. At some point Sass was thrown into the stack and things became really awesome. I did this for very big companies and even my own startups that I sold.

Before React came around I wrote and used some mootools/prototype/jQuery, but very frankly didn't really know JavaScript and just used them for tricks like carousels or basic AJAXy things. For example, in the Django or Smarty/PHP days (yes, like I said, a long time at this) I just had regular old CSS/HTML with a whole set of "filters" in whatever the templating system was. It was very, very easy to read the docs and do |dateformats or something for example. I could also |sort things really easy. It was just a filter. I didn't need to learn the actual python and it already did the hard work to make sure whatever I had WAS sortable.

When I started getting into React I was somewhat taken aback. I needed to actually learn Javascript (for real this time) to just do basic things. I also needed to understand very Reacty type things like how things mount. States were fun and easy to understand, except dealing with previous states. With states I could replace all that jquery which was mostly me just adding and removing classes onto things anyway. That side was much better, but it took me months to actually learn enough JS to actually understand how the "template" format of a React component was structured. Also, EVERYTHING needed to be imported. Want to do some basic color stuff? There's a library to import. Want a way to truncate things? Sure, again, let's import something that works for more than just simple string limits. Eventually you end up just writing a lot of JS that does this without some huge dependency, but that took awhile to learn as well. The biggest thing I missed was something like Django's template docs. All that stuff was just built in, and I didn't need to piece it together myself. Ultimately I think that's what makes it harder. The world of Javascript is fractured at its core. Want to learn how to write a function? Which version? Have fun doing a google search and getting something that is the "right" way to do things. OK. Now it's fat arrows...etc. JS just has years of old examples available.

Once I got past all this, it was obviously fantastic and feels like the right way to do things. It let me realize some personal dreams by really building a design system of shared components, not just a CSS library. Now I could take those design skills and build out stateless components that you could piece together like lego bricks. Engineers would then take that stuff and build to their hearts content and I didn't have to worry so much about them abusing a selector. I could even document things and show real variations with very simple prop changes. All of this sounds pretty rote and is of course what React is there for, but man did it require much, much more knowledge that what I was doing for "frontend design" back in the sever side rendering days. To this day I know what redux, context and hooks do, but have real difficulty dealing with them day to day. It's beyond the rendered DOM and so far away from what I'm looking to do as a designer who just wants to make things look good.

I continue to think coding is invaluable for web designers and to be honest is the only true way to hit zenith in your understanding of the medium, but I really don't envy people starting from scratch that have React as the "easy" way to do things if they are moving from just handing you a mock. I think it used to be much easier to get into "coding" as a designer 10 years ago. It's likely why I run into more and more designers that simply aren't interested in it or think it is impossible. They work in these React houses and suddenly have to learn a whole lot more just to do the basics.

I guess what I'm trying to say is. Hey, I work at a big company with a great team doing what most people would consider high-level React work that is used by at least hundreds of engineers. But most days if I'm honest I struggle with it too, and I've been at it now for 20 years. That's totally normal if you still call yourself a "frontend designer" rather than "frontend engineer". I know and work with the later all the time. They are fantastic people with a different skillset even though we work within the same files.

Anyways, if you're a designer who hit the wall with this stuff: keep at it. You'll get there. The great part about React is that you can start small. Start with the React Create App and just build a widget. Don't jump into Gatsby and suddenly have to worry about GraphQL, routing, image resizing and all that stuff. Just build what you built in HTML, but in React. Add some props as "variables" in your document. Move on from there. You'll get there.

I still have trouble with JavaScript and have to look up how to deal with arrays and objects all the time. Maybe in 20 more years that part of my brain will match what I can do on the CSS / design side. Until then, thanks to all he engineer folks who put up with me and take on the hard stuff.

<comment><USER36> > I work at a big company with a great team doing what most people would > consider high-level React work that is used by at least hundreds of > engineers. But most days if I'm honest I struggle with it too

> The great part about React is that you can start small. Start with the React > Create App and just build a widget

Great points! Your whole comment is worth reading.

PS. I had no idea Elastic open sources its internal React UI components. Interesting. (found this via your HN profile). Should I be using this if I want to provide an interface to an API that exposes an Elastic Search DB?

<comment><USER35> It's Apache 2. You can use it for anything though we do road-map against our own uses of course (mostly Kibana). There's nothing specifically tied to ES in it. The only difference with our library vs. someone else is we tend to have to deal with things like data density, form layouts and visualizations more often than other folks.

</comment></comment></comment><comment><USER37> So, if you read between the lines, React was basically built for a better "Like" button according to Dan's blog post here: [https://overreacted.io/the- elements-of-ui-engineering/](https://overreacted.io/the-elements-of-ui- engineering/)

Hmm...

<comment><USER38> React was written for Instagram. Nothing to do with Facebook's Like button.

<comment><USER39> That's inaccurate. React originally was extracted from the Ads codebase. (Complex forms for creating ads.)

Instagram was the first time it was used to drive the whole page (rather than a small widget).

</comment></comment></comment><comment><USER40> "everything is a component"

That is a major misconception. In reality, that is simply not the case. (see all those 'container' like components trying to tame underlying components and the awful state juggling dance we are now accustomed to.)

And most JS frameworks confuse the logical structure of an app with the 'physical' structure of the DOM.

Components are in the end rendered sub-trees in the DOM. But that forces you to lay out your app logic along these lines.

It's limiting, it's wrong and there is a very good reason why there's a C in MVC. It stands to argue we dismissed the C part in the front-end world way too easily.

<comment><USER2> > And most JS frameworks confuse the logical structure of an app with the > 'physical' structure of the DOM.

Because that's what JavaScript does. How is it any different than document.getElementById or the window event handling system?

The point is if we're going to do it we might as well do it well.

</comment></comment><comment><USER41> The deeper I get into front end javascript the more I think Vanilla JS is the way to go. As it stands I am just using preact for rendering jsx, I am not using anything for state management or routing. I might as well hardcode most of my html, write some functions that target a few small areas of the dom, and some code triggered by 'onhashchange' that hides all but a single div so I can still be SPA.

I'm not really worried about this causing spaghetti code because, well... I know how to program. I've always been mystified that salvation from bad architecture comes from frameworks.

</comment><comment><USER42> I already loved the productivity of Vue and after using React for a while it makes me appreciate Vue even more.

I genuinely think picking React for a new project over Vue is a mistake.

</comment><comment><USER43> Anyone else using Firefox get a big ol security warning when you try to access brad frost's site?

<comment><USER44> No, but he's got a self-signed certificate there, so you'll get that warning when trying to access via https (the link posted to HN is just http).</comment></comment>


Please give some feedback on my brother's startup - <AUTHOR>

My brother has just created a startup website.
http://www.collabrr.com/
The idea is that it is a site to collaborate ideas, and share content. It is kind of like a aggregate site where you can comment on topics in real time.
Please give any feedback or ideas that you have about it.
edit: "Scarface" is the actual creator. I am helping him with improvements and feedback right now.
on the signup page, an email is not required, that is just if you forget your password <comment><USER2> 1\. Visually too 'busy'. My eyes don't know where to go, and the interface is probably too complex.

2\. "Interact with others" is an incredibly non-descriptive slogan, call it "Realtime Digg" instead. I don't 'get it' soon enough. Visitors should see what this is and why it is awesome for them, within 10 seconds.

3\. Entices me to start chatting, but then dissapoints me by saying I need to login first. I suggest you remove the login requirement for chatting.

Looks like an interesting concept, just needs a little more polished execution.

<comment><USER3> Thanks a lot edo, really great feedback. I am the creator of that site.

1\. Any specific suggestions out of curiosity?

2\. Realtime Digg is not really unique, if you have any other suggestions, lol I would love to hear them because it takes me forever to think of these things, and I really want to involve intelligent people like yourself in the building process.

3\. If I remove the login requirement, don't you think it could get way too chaotic, and invite spammers to have their way with the site?

<comment><USER2> 1\. Start with the minimum viable product and expand your idea from there. It is really hard to improve a product if you don't know where to start. Radically slim down your app to do and show only the bare neccessities, the core, the meat of your service. From there, you can always slowly start to expand the feature base as long as you remember that it will never be the extra features that get you your users, it is the core that matters.

I strongly suggest you to(at least temporarily) remove: Display of people online, all the sorting buttons, the red in yellow notification, the need to sign up or login, the amount of views per post. Next to each post, only show amount of viewers, don't discriminate between guests or users.

After you have done this, start working on color-schemes, and read online guides on typography to make the interface less confusing and complex. Make sure a visitor's eye is drawn towards important elements, and that less important elements are in the background more ( smaller, less bright typography/elements).

2\. If realtime Digg is not unique, why create one? It doesn't matter if it's unique or not, as long as your users get what you are offering them. "Interact with Others" is a slogan that could apply to an alcoholics anonymous group or a dating website. What does your website do that is appealing to me, in a maximum of 5 words?

3\. Your first and foremost concern right now is to get users, if the site gets too chaotic- at least it will be used. In the event that you start to get serious spamming issues, you are most likely successfull already and you will have plenty of time to fix the problem. Don't think that far ahead.

Cheers, -Edo

<comment><USER3> Edo, you have provided really great feedback for me and I appreciate it more than you know. I am going to work hard to get this going and build on all these suggestions. Will you be checking this post in the future, (tommorow or the day after for example) so I can check back in with you when I have made the changes? Your feedback is highly useful for me, since this is the first site I have ever made.

</comment></comment></comment></comment><comment><USER4> I'm about to get back to work so I'll make this brief.

My first impression is that it's a decent site design but there is too much information.

First, I suggest you omit the "users online" and "guests online" stats, as they are going to be low until the site gets a little bit popular. For awhile, it'll appear to be a ghost town and actually repel people from using it. It's a great feature, though! Just put it on the backburner and release it when the time is right. (Or, you can extend the meaning of "online" to mean a longer time span so that the number are higher)

The font is too squished together and it impedes readability. I suggest each topic have more height to it, and more space. Definitely needs some padding in the description and the font-width (or whatever it's called) needs to be higher.

The sorting options appear to be broken, and there's no way to get back to the original view besides hitting the logo button. Make "what's new" a link to the page.

When clicking into a post, I'm confused as to what it is is supposed to be going on. I clicked on some democracy thing, and it showed the same truncated comment, and then 4 comments below. What caught my eye was a big box saying that I can't "collabrr" (which I don't even know what that entails), and a thing on the right flashing "no host".

Very confusing as to what the site does in general. "Our long-term goal is to create a unique site in which users can interact in a variety of ways to seek information, present information, or just interact in a community of unique individuals." It might hurt to hear this, but that sentence is essentially meaningless to somebody who knows nothing about the site. You could describe any number of websites that way.

Hope that helped.

<comment><USER3> Thanks a lot photon_off, it is hard to take criticism on something that you worked hard on, but it is necessary. It is better to get told your site needs improvement rather than be oblivious. Really appreciate your time. PS the sorting tabs are not broken, they just depend on having users online using the site, which like you said is confusing if your site is a ghost town lol. Thanks again.

<comment><USER4> Believe me, I know how it feels. I think the most common thing you might hear is that people just "don't get it". You have to understand that people visiting your site have zero vision of what it is supposed to do, and how they can use it. They haven't spent x hours a day for the past y days with this idea stuck in their head, nor have they loaded the page 10,000+ times. The problem is, it's kind of hard to erase your current perspective and take a fresh look at something. Impossible, really.

<comment><USER3> Yeah it really is, but a lot of people have given me some good feedback, so at least I have a place to start. Thanks for the reassurance photon, its good to hear from someone who has experience with the same process.

</comment></comment></comment></comment><comment><USER5> 1) Use line-height in your css to make the text farther apart.

2) Get rid of whatever isn't necessary on the homepage. Thats probably about half of the statistics you show (ie. guest viewers vs online viewers? Who cares about that?)

3) Nobody wants to use a service that doesn't offer anything new, solve a problem, or isn't targeted to a specific crowd. Figure out what you're building, for who, and why.

Good luck!

<comment><USER3> Thanks coryl, great comment. Appreciate your time. I definitely will address those issues. The problem is the service is really for anybody. I think, based on your feedback and everyone else's, I just have to work to define the service more clearly through its presentation, interface, and marketing strategy (slogan and information on the site included). Thanks again!

</comment></comment><comment><USER6> I agree with edo that it is very busy and difficult to read. Way too much going on.

However, I think my biggest issue is in the diverse or lack of focus of the site.

Sharing content, and collaborating on ideas is two different things. There are TONS of ways to share content. Digg, Facebook, Twitter, HN, etc. Where does this fit into the picture?

Note that when PG created HN, he didn't just make a space to share any content, it had a focus. Is there a niche collabrr should be targetting?

then there is the 'collaborate ideas', again very broad, which is good for some things, but to collaborate on ideas I think requires some domain knowledge of those ideas. Is there any site today where people collaborate on any random idea.

Do I go to collabrr because I want to collaborate? Or do I go there to discover content? Maybe it's a messaging thing that I'm not getting. At HN, Digg, Reddit,etc. you discover and discuss. You don't collaborate.

So how is this site enabling people to collaborate?

<comment><USER3> Great comment pedalpete. I will work on the interface and focus of the site. What I want to realize is a site where people can discover content, interact in a topic to share their ideas on the content, and read interactions in other topics and past topics they have created. This is why I included a 'bump' feature where empty topics can be bumped and are arranged under the 'bumping topics' heading so that, content you enjoy, you can promote so that others will come and talk about it. The site is meant to be broad but you are absolutely right that there needs to be a focus so that users can use the site more easily and have an idea of what to do. Looks like I have a lot of work to do lol.

</comment></comment><comment><USER7> Warning: Cannot modify header information - headers already sent by (output started at /home/collab13/public_html/statistics.php:17) in /home/collab13/public_html/statistics.php on line 301

Sanatize/Check that input better.

Warning: Cannot modify header information - headers already sent by (output started at /home/collab13/public_html/statistics.php:17) in /home/collab13/public_html/statistics.php on line 524

Warning: Division by zero in /home/collab13/public_html/statistics.php on line 1588

statistics.php needs to be relooked at.

<comment><USER3> Thanks for the feed back woodall. What browser are you using, and what did you do to achieve those errors. I have accessed the page, and all the tabs logged in and out in chrome, firefox and did not get those errors.

<comment><USER7> You can recreate this in any browser. It's because data/input is not being sanitized/checked properly.

I forgot where the errors came from, but the originated at: <http://www.collabrr.com/statistics.php>. Try this string: ?user='

Go back and check those files/lines and make sure there are no blank lines or ";" being left out. I can't really tell you much about the problem without seeing the code. Hope that helps!

<comment><USER3> I noticed the error now woodall, thanks a lot for pointing that out, appreciate it.

</comment></comment></comment></comment><comment><USER8> * Not every website is a startup. I don't really see anything startupesque about the site.

* I can't figure out why I would use this rather than Reddit, Hacker News, Digg, or one of the various StackOverflow sites.

* "You cannot collabrr at this time" Just call it posting already.

* Links on one page are the same color as non-links on a different page.

* I find the interface in general to be clunky

* I'm not sure what you mean by "drag" content during post creation. It didn't work for me in Google Chrome at all.

<comment><USER3> To me, I believe that with some time, and work to improve the site based on user feedback, and with some more users, the site will begin to become useful and a unique experience for users. I will change the collabrr thing to posting lol and fix the links issue. There is a slight glitch in the drag-drop in chrome, which I will fix. I do agree about the interface, and I will address that. Really appreciate the feedback 27182818284.

</comment></comment><comment><USER9> How is this better than Slashdot/Reddit/Digg/whatever if it has less users and I have to wait until someone is actually online and willing to chat about a particular topic, instead of just posting a comment and checking back later like I'd do in one of the sites I mentioned?

Also, how does it deal with spam/abuse/hate speech, etc?

And if it's a start-up, how is going to make money? (I assume ads, so where will it be getting users from?)

<comment><USER3> Currently it has less users, but building a site takes time. You can post a comment and check back later if you please. The point is that if you want, you can interact in real time within topics. You can also bump other people's topics to talk about them. This allows those users to check back later and review other people's interactions in their topics.

As for spam and hate speech, their is a standard report topics icon, and obviously it is the job of the admin to monitor activity. Additionally you can prevent people from commenting in your topics by 'banishing them'. This feature can be accessed by reviewing another user's page by clicking on the other username.

I will eventually add ads but I would like to receive feedback first to help fix issues and build site content before I can even get approved for an ad service.

</comment></comment><comment><USER10> I like the idea but it is not a startup. Agree the font is too close together. Remove the user counts for now.

You've done the easy part, now comes the hard part.

<comment><USER3> I really appreciate your time, thanks for the feedback.

</comment></comment><comment><USER11> Clickable: <http://www.collabrr.com/></comment>


Google Outages Damage Cloud Credibility - <AUTHOR> http://www.pcworld.com/businesscenter/article/172614/google_outages_damage_cloud_credibility.html <comment><USER2> Google is cloud-based? Geeze, all this time I was under the impression that they owned their own data centers, managed their own servers, and built-out their own network!

The article should be titled "Scaling your server infrastructure to Google levels is difficult and Google needs better QA and perhaps changes to their network topology to insure fewer outages." But I guess putting the words 'cloud' and 'credibility' in your articles gets more attention.

The press needs to better understand what they're talking about. The only people utilizing a "cloud" in regards to Google are those people running apps with AppEngine. Either that or _everyone_ who uses an externally run and manager mail service is running in the cloud in which case the 'cloud' is amazingly stable and it is simply Google that is having issues.</comment>


Agile Won't Fix Your Products - <AUTHOR> http://firstround.com/review/im-sorry-but-agile-wont-fix-your-products/

<comment><USER2> "Agile" is a transition point.

A better idea would be for the entire team to be motivated, for them to be aware of the customer, to be able to drop something half-way and pick up a priority as a customer scenario unfolds.

In nearly every effective team, I've been part of, the most important detail was that anyone of us could be swapped out for someone else - it's not that we were fungible, but that the UI guy could write backend, the backend guy could write the deploy code. All coming to one point - the specialist could do it faster and neater, except they could do a hack-job in someone else's module anytime.

And if you can get yourself five people who are like that, manage some conflict then you can get a lot more done than any other method I've seen.

Take away the pride, the motivation, point them at misdirected goals, then you end up with nearly nothing.

Agile is the middle ground here - you're demotivated? Go pick something off the burn down chart. You need to leave early? Tell us at the standup. Can I borrow two developers for a week? No, the sprint plan has them accounted for, can I drop features?

Not as a bad as that, but it's not a substitute for a tiny cross-functional team which isn't pulled about by external forces.

<comment><USER3> I agree that Agile can be the middle ground, but it can also can be dangerous.

When my previous employer implemented "Agile" they payed what I imagine was tens, if not hundreds of thousands of dollars for an "agile framework's" consultants to come in and teach us how to agile correctly.

1.5 years after that I saw that our time was more micromanaged than before. We were told regularly we were "empowered" and to speak up when we had any doubts or anxiety or saw a problem with our plan, but when we did it we were either chastised or disregarded or in some cases convinced it wasn't an issue.

That and the entire development organization treating estimates as infallible. That was the worst. Being told to estimate as best you could because agile was about adapting to change. Then getting reamed for being wrong. I gave up pointing out all the double-speak (release dates are flexible! as long as it is done by the release date) going on in the "agile ceremonies" (2 day 4-hour Release planning meetings with all 30 dev teams in one room.)

I know it's just one org I'm speaking about, but after almost 3 years I don't know if their dev organization is any better off than when they were waterfall. Now I'm curious just how wide spread this particular issue is.

</comment></comment><comment><USER4> Agile won't fix your products because you can't fix clueless, bumbling, incompetent engineers. I've done the whole agile thing in small teams of 5 and gotten more done than working with 100 offshore developers who find excuse to complain about everything every chance they get. Agile doesn't fix the pride you have in the work that you do. That's the primary motivation for good work. Knowing that your work matters and you're not just there to collect a pay check and check out as soon as possible.</comment>


Doordash needs to be called out for their bad behavior - <AUTHOR> https://sfist.com/2020/07/08/after-sf-restaurant-complains-doordash-apologizes-for-error-in-which-it-was-exceeding-15-fee-cap/ <comment><USER2> The last time I used Doordash, they had an outage that affected all active orders. I did not receive my meal because of it. And from their Twitter feed, it seems that has happened multiple times.

When I tried to reach out to customer support, I realized the processing time for customer support inquiries is 3 business days.

I am surprised Doordash still exists. It's a subpar service and the founders have shown poor ethics.</comment>


Ask HN: Should I go through with a Google interview - <AUTHOR> I've been asked to interview for a software engineer position at Google, and I'm on the fence as to proceeding.
I've got an excellent academic pedigree (including PhD from top British university), and a solid career that has been has focused on robust software engineering alongside engineering management and leadership - I was CTO of a startup with a reasonable number of folk, as well as a principal in a large organisation running a team that made over $100M. I presume this is why they contacted me (of course, I might just have been found in a sweep of LinkedIn).
However, my raw algorithmic skill has atrophied. My ability to build scalable, high quality software (and teams) is exponentially better than it was, but my ability to devise solutions to NP hard problems on a whiteboard is probably not what it used to be.
The material I've been sent to "prepare" with, and the information I can find online, suggests that a reasonable amount of the interview is basically going to be a "coding olympiad". Essentially, "Have you memorised a bunch of approaches to algorithmics, and can you recall them all under pressure?".
I'm currently inclined to cancel the interview, because honestly, I don't think I can right now. I'm not really up for spending weeks of time "revising" as if I was an undergraduate again. Either:
1) They need people who can do this type of thing, in which case, I'm not interested in the job 2) They don't need people to do this work, and ask it as some kind of bizarre ritual, in which case, I'm not interested in the job. 3) I've misunderstood the interview process (though when I asked the recruiter about the interview, she gave me some "trial questions" including "What's the complexity of Quicksort, best and worst case? When should you use merge sort", which suggests to me I've not).
Should I pull out now, or try and "prepare"? <comment><USER2> > The material I've been sent to "prepare" with

This is likely the most telling. Asking you to prepare in a specific way [1] is both a red flag and can reasonably be used to make assumptions about the job itself, if not the culture.

Recently, after a positive technical phone interview, the followup call with the recruiter included strong encouragement that I study the specific (configuration management/deployment) tools they were using, prior to my in- person interview, as I had admitted I had no exposure to them, despite having used other ones. Shortly after that call, I e-mailed a rejection.

The first problem I had was that such a request disrespects a candidate's time. Even between jobs (and even for a new grad before a first job), time isn't necessarily valueless. Viewed more cynically, they were trying to get me to start training up on their specific tool choices in advance of paying me.

The second, more important problem, is that it implied a desire to hire for proficiency with specific tools rather than overall ability, something I personally consider an anti-pattern, especially for startups (and especially since I consider myself a generalist within my profession). I'd much rather hold out for a company that subscribes to some variant of "Hire for {Attitude, Fit, Talent, Ability}, Train for Skill".

> Should I pull out now, or try and "prepare"?

All that said, this is a false dichotomy.

If the interview itself isn't a huge imposition, you could go without "preparing". See if you can steer the discussion and even whiteboarding to something that's relevant to you. If nothing else, it's a way to get in a _real_ practice interview, something that can be surprisingly helpful if one hasn't been interviewing in years.

You can always cut it short, too, if it looks like it's truly going to be a waste of everyone's time to continue. Look up in advance some polite ways of doing this.

[1] as opposed to something along the lines of "please research what's important to you about us" which might seem insulting to have to say out loud but otherwise seems harmless, IMO

</comment><comment><USER3> Google is a "ball pit" company, like a children's restaurant. As a professional, you don't take clients to restaurants that feature ball pits. As a professional, don't interview with companies that play the "whiteboard" child's interview game.

That said, if you need the job, take the interview.

<comment><USER4> What does ballpit mean in this context? By your definition, what does it mean to say Google has a "ballpit"?

If I wanted to determine technical competency in addition to a verbal interview, why wouldn't I use a whiteboard?

Why wouldn't I take my client to a restaurant with ballpits? What if they have children and can't find a babysitter?

<comment><USER3> Microsoft made clever interview questions popular, such as "How many pingpong balls can a tractor-trailer hold?". The justification was that it revealed the way you thought. Google whiteboard interviews use the same justification.

There are two things to note here. First, there is no evidence that these tests reveal anything. I'd be happy to see a published, peer-reviewed study in a psychology journal showing just what you can learn about thought patterns in a standup whiteboard interview. Second, Google's head of HR (sorry, I don't remember the pretentious name they actually use) has said that their interview technique does not work.

Having been through this game I'll give you some advice. Get a book on algorithms and memorize the worst case order of each algorithm. Also memorize the algorithm with the best behavior. You'll have whiteboard interviews with people who just graduated and their last course was on algorithms. It is the institutional version of frat-house hazing.

If they want to determine technical competency perhaps they might ask for github code authored by the person. Or perhaps they could read the resume (google interviewers don't seem to do that) and ask them details about topics related to the job you will be doing.... oh, wait... the google interviewers don't know what job you are interviewing for, nor who you might be working for, or even what you might be doing. It doesn't matter. The interview isn't about you at all.

The upside is that you might get a free google t-shirt.

<comment><USER4> Thanks, this is helpful and informative.

</comment></comment></comment></comment><comment><USER4> You have a great question, but the answers given exhibit the wrong attitude.

The short answer is that the recruiter likely didn't know what they were doing and that you belong in a principal or management role, not in an SWE role.

If correct, all this anxiety (and derogatory opinion about Google) is about fitting yourself into the wrong shaped peg, created by a stressed out recruiter who glanced at your profile for 30 seconds.

How about using these CTO skills (or just being an adult/professional or big boy) and contacting them to say, "hey shouldn't my profile bring the most value in a <principal or manager>" and "look at all my skills along these lines, etc."?

</comment><comment><USER5> Do yourself and the industry a favor, tell them gfy.</comment>


Students Learn as Well from Software as from Live Teachers - <AUTHOR> http://www.insidehighered.com/news/2012/05/22/report-robots-stack-human-professors-teaching-intro-stats <comment><USER2> _So far that research has failed to persuade many traditional institutions to deploy the software -- ostensibly for fear of shortchanging students and alienating faculty with what is liable to be seen as an attempt to use technology as a smokescreen for draconian personnel cuts... the resistance of many professors to prefabricated courses that they did not invent and cannot modify to their own needs and tastes._

This is a perfect illustration of why non-profit education is broken. There is no principal, so the agents are running the show. (See <https://en.wikipedia.org/wiki/Principal-agent_problem> if you are unfamiliar.)

In a competitive market dominated by for-profit principals, this wouldn't be an issue. The effective principals would order their agents to cut costs and they would, allowing these principals to dominate the market by cutting costs.

<comment><USER3> "...ostensibly for fear of [...] alienating faculty with what is liable to be seen as an attempt to use technology as a smokescreen for draconian personnel cuts."

If the product educates students just as well, and at a better price point, why would the cuts be "draconian"?

I would deem it intelligent business and a better use of government resources.

<comment><USER4> Because schools are in the business of employing well-organized constituents and educating students is a not-unwelcome industrial biproduct.

</comment></comment></comment><comment><USER5> As interesting as the finding is, it's not exactly surprising that _college_ students learn as well from software as professors. What I want to know is whether K-12 students (especially the lower end of that) learn just as well. My intuition is no, that early childhood education will always require some amount of human educational support, but I'd love to see research confirming or denying as much.

</comment><comment><USER6> This is like saying "People find food made by machines as tasty as human made food" and failing to mention that you only did the test at McDonalds

Looking at the original study:

These were intro stats classes with 100-1000. These classes are already basically a teacher lecturing, minimum engagement, simple material, no ability to have complex homework, and from the looks of things not in the student's major specialization (so super 'in-depth' learning is unnecessary)

Universities have realized for years that they are not very good at these types of classes. They've tried to move these courses online or encourage students to take these at community colleges. But, you don't (or shouldn't) go to university for these classes, you go to the university for the more specialized upper division training in your department. I would be more interested to see if a high level, small, for majors course could be replaced by a similar program. It's worth noting the even the Khan Academy classes are still the 'factory' classes, he has very few 'specialized' classes in more complicated subjects.

</comment><comment><USER7> First, the title should be changed. The source article is titled "Score One for the Robo-Tutors" or "Machine Learning: Score One for the Robo-Tutors", not "Students Learn as Well from Software as from Live Teachers".

Secondly, this is an interesting result, but not too surprising. Working through exercises on your own with software that presumably identifies and targets area of weakness ought to put the onus of learning on the student.

On the other hand, many college students sitting in a lecture don't engage the material themselves to the same degree and instead rely on the professor to "teach" them instead attempting to learn it on their own.

In fact, I'm sort-of surprised the machine-learning students didn't do better than the lecture-listening ones.

<comment><USER8> > First, the title should be changed. The source article is titled "Score One > for the Robo-Tutors" or "Machine Learning: Score One for the Robo-Tutors", > not "Students Learn as Well from Software as from Live Teachers".

Where does this idea come from that the title should be the same? Granted, the current title isn't quite perfect either -- "Study Reports Software Speeds Up Teaching" would be more accurate -- but it's at least more informative, and certainly no more editorial, than "Score One for the Robo-Tutors".

<comment><USER9> _Where does this idea come from that the title should be the same?_

It is suggested although not mandated by the Hacker News guidelines:

<http://ycombinator.com/newsguidelines.html>

"Please don't do things to make titles stand out, like using uppercase or exclamation points, or adding a parenthetical remark saying how great an article is. It's implicit in submitting something that you think it's important."

. . . .

"You can make up a new title if you want, but if you put gratuitous editorial spin on it, the editors may rewrite it."

The retitling in this case seems to have been effective for eliciting more discussion, and I appreciate the various interesting comments here. I regret cases where I submit an article with an original title, only to find out that the same article was submitted hours before with a retitled submission title, one that is missed by Hacker News participants and does not elicit discussion. Most professionally published articles have well written headlines, and it is often hard for HN participants to improve upon those.

<comment><USER8> It's not even suggested. The guidelines are explicit that the original title should be edited or replaced to bring it into line with our community standards.

Headlines may be professionally written, but they are written with incentives which don't favor HN readers. Most of the time, I'd prefer to hear why the submitter thinks I should read something rather than why the author does.

</comment></comment></comment></comment><comment><USER10> Students need a guide, not an assistant.

<comment><USER3> Software can't guide?

</comment></comment><comment><USER9> I read this interesting article and then shared with friends on Facebook who are higher education teachers. Thinking about exactly what the study in the submitted article shows, in view of having had a child recently take an introductory statistics course, I think that the result may be rather limited to the course described, an introductory course in statistics for students who will not go on to major in statistics. This result may not generalize to other subjects (although, for reasons suggested by other commenters, it is important to do the research and find out what teaching methods are effective for all subjects).

Most introductory statistics courses are crap, going wrong right at the start by hiring the wrong instructor and specifying the wrong textbook.

<http://statland.org/MyPapers/MAAFIXED.PDF>

Statistics, the "science of data," is actually an endlessly fascinating subject, from the introductory level on up, but few statistics courses are taught in a manner that requires anything but a robot to present the material, and those statistics courses are so dull that they don't encourage student engagement. In fact, statistics gets into some deep issues about the nature of correct inference right from the beginning,

<http://escholarship.org/uc/item/6hb3k0nz#page-1>

and it occurs to me that a really, really good statistics course might be a lot harder to automate (although this would be a worthy challenge for artificial intelligence researchers) than the bleak general run of introductory statistics courses.

As a good human statistics teacher, and perhaps even a good automated statistics teacher, would say, further research on this point is needed. One of the best examples I have seen of application of artificial intelligence (software) to teaching of a foundational subject is the ALEKS

<http://www.aleks.com/>

online K-12 mathematics course, used by a variety of higher education institutions to supplement remedial courses, and used by an increasing number of secondary and elementary schools and self-taught learners of all ages to learn mathematics and some closely related subjects. (ALEKS has a statistics course

[http://www.aleks.com/about_aleks/course_products?cmscache=de...](http://www.aleks.com/about_aleks/course_products?cmscache=detailed&detailed=ghighedmath11_cocostatistic#ghighedmath11_cocostatistic)

that mostly covers the dull issues rather than the cool issues in statistics.) I like ALEKS a lot for my children learning mathematics and for myself and my wife learning basic principles of sole proprietorship accounting. The ALEKS learning spaces model

<http://www.aleks.com/about_aleks/research_behind>

is based on some very interesting research, and I have previously recommended that the Khan Academy developers assimilate that research base as they continue developing the Khan Academy courses.

Based on real-world examples, it just might be that automated presentation of many forms of course content will be more efficient (resulting in more learning for fewer dollars in less time) than current in-person models of instruction. And everyone should be happy about that. There will always be a role for in-person teachers, and they do their best work if they use their comparative advantage of being able to do some things better than machines, even if everyone acknowledges that some machines do some kinds of teaching better than most human beings. Let the research continue, until we have an abundance of good data.

</comment><comment> excuse-me My university was one of the pioneers in self directed learning.

It was during the black death when there was a shortage of lecturers and many students wanted to go away from the city to learn remotely in their own homes

So they came up with these portable reading tablets, a sort of p-book, which contained the lecturers words and could be read anywhere, even in bright sunlight. Eventually large stores of these were collected together in data repositories- a bit like tape libraries but with human robots.

\- they also invented exams when they realised it was cheaper to examine a 100 students at once and outsource the marking than have the professor viva each student individually.

<comment><USER11> Yes, they should be testing software-based learning against other forms of private (self-directed) learning, as well as (face-to-face) instruction.

Remote-instructor learning through software differs markedly from the same through books in a variety of ways. ie the software can provide more compelling extrinsic motivations, but can also provide increased distractions (both if used on a computer with internet access, and through the affordance of screen-based tools).

So its good not to treat this as an either or problem (does software work as well as face-to-face) because there's a number of other considerations (is the face-to-face personal or lecture hall, is the software highly interactive with immediate feedback, etc

<comment> excuse-me Except the software is almost always a Powerpoint-ized version of the book with "an interactive multimedia experience" consisting of either a diagram being drawn piece by piece by an animated gif, or a video clip in the corner with a talking head reading the lecture notes.

</comment></comment></comment><comment><USER12> My attitude toward automated teaching is the same as my attitude toward automated cars: you won't beat the best humans (in the near future), but you'll probably rival or beat the average humans (mediocre training, tired, grumpy, etc.)

I had enough teachers who were barely able to grasp the material themselves, vindictive, or emotionally unfulfilled in their personal lives, that I'd rather have learned from a book, computer, and videos. But hey, maybe dealing with crazy or incompetent educators is an important socialization step for young people...

</comment><comment><USER13> If the AI system compiled their Facebook IDs before class (we expected school IDs to Facebook, so why not vice versa? Why shouldn't we expect Facebook and unis to advertise together? -- aren't bars validating age against FB IDs by now anyway?), it could determine an upper limit on analogical connections which might be possibly not included in the set of students corresponding to those IDs. In this way, an AI system can make inferences into successful analogical connections which might similarly function as a growth method for shared knowledge.

As opposed to _generating_ successful anthropological-demographic predictions of linguistic behavior? Shouldn't students be "liking" professors' "asides" anyway?</comment>


14 Productivity Tools for Developers of All Disciplines - <AUTHOR> https://www.7pace.com/blog/the-14-best-productivity-tools-for-developers-of-all-disciplines <comment><USER2> I'm far from being a developer, but I do work on the internet so I always appreciate productivity tips. I like Cold Turkey's UI over some of the other "distraction blockers" I've tried. Might have to add that to my ever-growing struggle not to get sucked into the black hole that is the internet. (Like is happening right now...)</comment>


Wink Subscription – Pay $4.99/month or lose access to devices on May 13 - <AUTHOR> https://subscription.wink.com <comment><AUTHOR> Email sent to customers:

> Wink has taken many steps in an effort to keep your Hub's blue light on, > however, long term costs and recent economic events have caused additional > strain on our business. Unlike companies that sell user data to offset costs > associated with offering free services, we do not. Data privacy is one of > Wink's core values, and we believe that user data should never be sold for > marketing or any purpose.

> We have a lot of great ideas on how to expand on Wink's capabilities and > satisfy the many requests from our user base. In order to provide for > development and continued growth, we are transitioning to a $4.99 monthly > subscription, starting on May 13, 2020. This fee is designed to be as modest > as possible. Your support will enable us to continue providing you with the > functionality that you've come to rely on, and focus on accelerating new > integrations and app features.

> Should you choose not to sign up for a subscription you will no longer be > able to access your Wink devices from the app, with voice control or through > the API, and your automations will be disabled on May 13. Your device > connections, settings and automations can be reactivated if you decide to > subscribe at a later date.

</comment><comment><USER2> This is at the convergence of several problems:

1\. Companies that are selling a thing, but don't have a sustainable business model selling that thing, and; 2\. The Internet of Shit, where you buy things that used to Just Work, but now they require subscriptions and access to servers, and can be turned off or bricked at any time.

</comment><comment><USER3> I would love to see the user acquisition model they used to calculate the viability of this business move. If a Wink Product manager is reading this, please make notes and in a couple of years when the Wink Lawyers are long gone, please create one of those "We failed but this is what we learned" posts.

This pretty much seems like the end, they don't seem to have a buyer for the organization, no one to bail them out, and they most likely are running out of whatever cash remains.

Thank you Wink development team for 4 good years, it was not always perfect, but I did enjoy the user experience.

</comment><comment><USER4> If the US had functioning regulators, they might require Wink to let you update the device's server

</comment><comment><USER5> Sounds like extortion to me.

<comment><USER6> Yep, pretty much extortion with a gun to the head: [https://imgur.com/a/OER5oxZ](https://imgur.com/a/OER5oxZ)

</comment></comment><comment><USER7> hahaha, nice, i love the cloud and peoples naive mindset, its a never ending entertainment</comment>


A Formula for Fame - <AUTHOR> http://www.guardian.co.uk/lifeandstyle/2008/jul/28/celebrity.bigbrother

<comment><USER2> Ben Goldacre, of Bad Science, points out some fundamental flaws with this "formula": <http://www.badscience.net/2008/08/fame/></comment>


Vale Arthur C. Clarke 1917-2008 - <AUTHOR> http://www.techcrunch.com/2008/03/18/vale-arthur-c-clarke-1917-2008/ <comment><USER2> Bio: <http://en.wikipedia.org/wiki/Arthur_C._Clarke>

</comment><comment><USER3> This is a sad day for all, indeed.</comment>


CBP Flew a Predator Drone over Minneapolis Amid George Floyd Protests - <AUTHOR> https://www.forbes.com/sites/krisholt/2020/05/29/cbp-predator-drone-minneapolis-george-floyd-aclu/ <comment><USER2> Ongoing discussion here: [https://news.ycombinator.com/item?id=23352785](https://news.ycombinator.com/item?id=23352785)

<comment><AUTHOR> ah, thanks! hadn't seen it.</comment></comment>


Ask HN: How can I make my blog better? - <AUTHOR>

So, I've decided to start posting at least once a month on things I'm working on or learning about. The idea is more or less to detail what I'm learning and show employer's that I have good communication skills.
Here's my blog:
http://adambourg.posterous.com/
Any Thoughts? <comment><USER2> \- 95% of your blog should be on the same topic, and in the same style, stay consistent.

If people come back to your blog it's because they like an existing post, so if your writing about programming 95%+ of your posts should be about this.

Thinking about writing about another topic as well? Start another blog!

Note: This is actually something that I fail at :)

</comment><comment><USER3> Set a real goal so you can measure "better". It could be "X new subscribers every Y weeks" or "N comments per post", anything that will let you objectively measure how what you do impacts the way people react to your work.

<comment><USER4> Goals shouldn't be all about you.

Good: "Deliver 2 blog posts per week that can help small business owners with their internet marketing."

Bad: "Get 100 new subscribers and 10 new comments."

</comment></comment><comment><USER5> the basic tips are:

\- write in your own voice

\- write often, at a regular interval

\- bring value to the reader - stuff they care about, stuff they need to know, etc. learn, share, grow.

\- take positions, don't be afraid to offend someone like that

there you go. this more or less works. ultimately figure out what your blog is about. the above assumes you mean "how can i get more readers and interactions?" but ultimately figure out what it is you want to achieve: visibility, knowledge, interactions, etc. your blog may or may not be the best place to do that then.

</comment><comment><USER6> fix the 403 error that results from clicking on your "portfolio" link</comment>


Xiaomi Mi-Two Android Jelly Bean Smartphone Announced In China - <AUTHOR> http://www.pcgerms.com/xiaomi-mi-two-android-smartphone-to-go-on-sale-in-china-only-for-315/

<comment><USER2> The battery and the Android OS version are the best deals. Wished if they could supply outside of China as well :(</comment>


Is Pre-K All It's Cracked Up to Be? - <AUTHOR> https://fivethirtyeight.com/features/is-pre-k-all-its-cracked-up-to-be/ <comment><AUTHOR> Here is a link to the study publication from Vanderbilt University about the program in Tennessee:

[http://peabody.vanderbilt.edu/research/pri/VPKthrough3rd_fin...](http://peabody.vanderbilt.edu/research/pri/VPKthrough3rd_final_withcover.pdf)</comment>