Why I'm still using jQuery - <AUTHOR> https://arp242.net/jquery.html <comment><USER3> > In my experience server-side generated templates lightly sprinkled with > "progressive enhancement"-style JavaScript are still the best way to do > that. Those apps are easier to develop, tend to be faster, tend to have > fewer bugs, and your laptop's fan won't wake the neighbours.

Thanks for that part. Really. A heartfelt thank you. Every time I see another "hey, I only want to show you text, but for some reason I thought using one of the modern js frameworks for it is a good idea" pages I feel years older. Instead of showing me text using html they pack that text in js on the server (it usually exists in an html compatible form already), then they shove that JS down the connection, then my browser has to interpret the JS, so it can get the html, which it then has to interpret too. And then, finally, I see my text.

And because all of this is so slow we get techniques like "server-side rendering". The first time I read about server-side rendering I didn't understand what it was: so, you produce the html on the server. And send it to the client. Yes ..? What is the new part? Why is this something that people present as the next savior of the web?

This is some special kind of madness and I wonder when it will stop.

<comment><USER4> This is the part that often gets forgotten in these discussions: it shouldn't be "SPA for everything" vs. "vanilla HTML / CSS / JS for everything"; rather, we should be using the most appropriate set of tools for the job.

I've worked on simple static sites, for which I typically lean more on vanilla HTML / CSS with a sprinkling of JS as recommended here. I've also worked on heavy-lifting applications, for which the limitations of this approach quickly become evident; in those cases, I use reactive component frameworks like Vue and React.

But there's also approaches in between! For mid-complexity sites / apps, I've used vanilla HTML / CSS / JS, with some additional Python / Makefile plumbing to generate more repetitive parts. I've also used hybrid approaches, where vanilla HTML / CSS / JS is used for more static parts of the site and Vue is used for more dynamic parts. You can use Vue in full-on SPA mode with "server- side rendering"...but you can also just generate HTML server-side as you would have before, then progressively enhance parts of it with Vue / jQuery / whatever.

I've also used "unfashionable" frameworks like Spring before, simply because it met the client's available in-house expertise. As developers, it's incumbent upon us to step back, assess the task / team / environment at hand, and pick tools accordingly.

<comment><USER5> AT&T's website account pages only serve static html. But they are rendered by js and I have to wait looking at a loader after every click.

Why is that?

Why do so many static websites and blogs use SPA technology for all their pages?

It can't be that it's just to make _me_ mad (although it works). Are people insane? How does spending 10x the $ and effort for a worse result make sense?

</comment></comment></comment><comment><USER6> I'm heavily inclined to agree with this. In fact, only this weekend I was working on a very simple one page tool and from the get-go I decided to adopt this "vanilla" only approach, i.e no JS libraries really at all.

Pretty quickly I found myself wishing I had just used jQuery or at least some other library to make stuff easier and get things done faster. When I finally got it completed in the end I wasn't sure why I bothered to struggle and waste so much time instead of just including jQuery and making things a bunch easier and less verbose. Sure, there may be other libraries worth using instead but the point against the "vanilla JS is all you need" argument.

I actually found the cited website in this post [http://youmightnotneedjquery.com](http://youmightnotneedjquery.com) to be so strange as examples of why you may not need jQuery that it may be satire. I was surprised to find out that it was not satire. So I actually forked it and created [https://youmightneedjquery.com](https://youmightneedjquery.com), on which I may change some text in the future. It may not load for you yet as the DNS propagates.

You can find the fork on my Github account here: [https://github.com/JaTochNietDan/youmightnotneedjquery](https://github.com/JaTochNietDan/youmightnotneedjquery)

I'll make some changes later to show the satirical nature of it.

<comment><USER7> You have some pretty unidiomatic JS in there. For example:

Array.prototype.filter.call(document.querySelectorAll(selector), filterFn);

What's more idiomatic is document.querySelectorAll(selector).filter(filterFn)

The same holds for forEach.

I suggest you look into how javascript prototype based OOP works

<comment><USER8> .filter() is not a method on the NodeList though, it only has forEach(), and even that is quite recent.

This is why people convert it to an array, and one of many reasons the standard JS API (and the DOM one in particular) are annoying to work with.

<comment> 52-6F-62 There are still more idiomatic methods you can use, ie:

        [...document.querySelectorAll(selector)].filter(filterFn);

<comment><USER9> That's a significantly newer syntax, so I wouldn't say it's "more idiomatic" than explicitly referencing the original function on the prototype (which is idiomatic to JS) and was the way to do it until the spread proposal, Array.from, and similar additions, what, ~5 years ago?

If anything isn't that code _less_ idiomatic in that it's less specific to JS and more of a generic operation?

<comment> 52-6F-62 In this instance I understood it to be idiomatic as it calls a JS Array constructor and iterates on the passed parameter to create it. It's been more common than the call/apply methods for years—at least as far as I've seen. The use of the array literal is always preferred, AFAIU.

<comment><USER9> I agree it'll probably become the new idiom in JS, but it probably needs another few years to begin taking over from the idiom that existed for decades before (and still works).

If you've seen that more common than call/apply for years then you probably work almost exclusively on new projects, with people that convert things to bleeding-edge, or with heavy transpilation: The spread operator as used there has only existed in regular released browsers/node for 3-4 years. I don't think it's a stretch to say the vast majority of code out there at this time won't be doing it that way.

<comment> 52-6F-62 Yeah could be. And my client base, as it were, are solely internal to the company I work for at this time and we have some knowledge and some cooperation over what versions of browsers people are using when it comes to web-based software. So support for older systems is largely unnecessary. That and building node backends the ES version doesn't affect them anyway.

Definitely colours my work, and knowledge base.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> To give you an idea where I come from... I started doing front end in the late 90s, and for the past 5 or so years I've been mostly doing SPAs with Vue, React, Inferno, and Angular.

I'm done with SPAs and the whole modern front end workflow. If there was a solid benefit to a SPA it would make sense to endure all the complex development, ever changing ecosystem, etc, but in the vast majority of cases there is no benefit. Users don't care about SPAs, some of the most successful biggest websites are not SPAs (Amazon, Ebay, Wikipedia, etc).

A static site generator like Jekyll with some sprinkled JS offers a much better experience. When that is not enough a good old server side rendered app with sprinkled JS is the next step I will consider.

There are some perfectly valid use cases for SPAs but those are rare.

And don't get me started on libraries/frameworks figuring it out as they go along. jQuery has had a stable API and methodology like forever. React has made major changes in only 5 years. From createElement, to JSX, to classes, to stateless components, to hooks, and only god knows what they will come up with next year.

<comment><USER11> Vue gets that part pretty right at least, they work hard not to break things unnecessarily across versions and never in version (in my experience).

Nothing like jQuery's track record but they don't have the history yet to call on.

<comment><USER10> Yeah, you can still use the component object notation in Vue 2.

AFAIK they will keep that in Vue 3 too but the team is moving onto a new hook- like API after cancelling the class based components.

<comment><USER11> I was bummed they cancelled the class based approach as it's one I use and like but they did it before 3 was released so not the end of the world.

</comment></comment></comment></comment><comment><USER12> I'd like to introduce a new measure: Expected Complexity (EC)

Possible values: \--> Static webpage \--> There's a Form! \--> I can click things and the URL doesn't change! \--> I spend a few minutes on this site and click a few things \--> I spent a couple hours on this site and click lots of things \--> My office hours are spent clicking on things on this site!

How to determine at the start of development what EC value will be reached: Using a crystal ball (as usual)

Pick your technology according to the value of EC.

There's a good chance that (= :jQuery (choose-tech ["There's a Form!", "I can click things and the URL doesn't change!", "I spend a few minutes on this site and click a few things"])

is `true` and that's ok.

</comment><comment><USER13> The given example of element.nextSibling is a great example of what jQuery gets wrong. In jQuery, that's going to be $(el).next();

On first encountering $(el).next(), you need to answer a bunch of questions. Next what? Why is this a function and not a property of the object? Why not call it getNextSibling? What the hell is $() doing?

element.nextSibling is very clear. It's the next sibling of the element. It's idiomatic javascript, and it follows a good naming convention, which is a skill that is language agnostic.

The author is also conflating their time learning as a pro for jQuery. Had they learned vanilla javascript first, their point about not knowing which nextSibling to use would be moot. What they are referring to here is an idiosyncrasy, and jQuery is jam packed with them. The difference is they have learned them already.

If you learn jQuery today, you're not learning core JavaScript, and considering the trajectory of web technologies you'll be doing yourself a disservice not to use that learning time on actual JavaScript that you could use in future tools. jQuery isn't a bad choice if you know it already, but if you are a new developer do yourself a favor and learn the foundation it's built on first.

<comment><USER8> > element.nextSibling is very clear. It's the next sibling of the element. > It's idiomatic javascript, and it follows a good naming convention, which is > a skill that is language agnostic.

The only catch here is that it will give you the wrong answer, and that you should (almost) never use it since it includes whitespace nodes, which you practically never want. This is why nextElementSibling exists (get the next sibling that is an element).

As for the naming: this is an old old discussion we will never agree on, but I think that in the context of a DOM traversal library "next" is pretty clear.

> The author is also conflating their time learning as a pro for jQuery. Had > they learned vanilla javascript first, their point about not knowing which > nextSibling to use would be moot.

Your assumptions about my knowledge couldn't be more wrong. I spent years writing plain JavaScript. I even wrote a jQuery alternative back in the day as I didn't like various aspects of it (I think I was the only user), before giving in and "just using jQuery". I _still_ don't like those same aspects, but it's not bad enough to use something else.

I have also, recently, tried very hard to use plain JS, and this post is the result.

> if you are a new developer do yourself a favor and learn the foundation it's > built on first.

This is just a variant of the old "kids these days, they just learn Python instead of REAL development with C, they don't even know the difference between the stack and heap!!" Okay, _shrug_. In the meanwhile, those "kids" are solving real problems, so well... Programming isn't some kind of intellectual exercise, it's a tool to solve problems.

<comment><USER13> > The only catch here is that it will give you the wrong answer, and that you > should (almost) never use it since it includes whitespace nodes

But that's perfect, because it does what it says. If I wanted to get the next element only I would used the correctly named nextElementSibling. How do you get the next text node sibling in jQuery?

> Your assumptions about my knowledge couldn't be more wrong.

My apologies. I was reading between the lines and I guess I got it wrong.

> This is just a variant of the old "kids these days...

Not at all, it's advice for the future of the web which will be more plain javascript based but within frameworks like React and Vue. They're grabbing more and more of the job market share. I am being pragmatic here, knowing jQuery won't help you navigate the world the "kids" are busy building right now with frontend SPA frameworks.

jQuery obviously has it's place, and if you prefer using it then no one can stop you. I just don't agree that it's better, and I don't believe it's as useful to know for new developers with the way the industry is changing.

</comment></comment></comment><comment><USER14> I didn't know about [http://youmightnotneedjquery.com/](http://youmightnotneedjquery.com/) , but to me it seems very convincing that I need jQuery :)

<comment><USER15> Small detail, what's with the plus in this code from that site:

        last = +new Date();

<comment><USER16> It is a trick to coerce it to an integer.

        >> new Date()
        Date 2019-05-27T12:52:41.932Z
        >> +new Date()
        1558961556913
        >> +"4" // works on anything else :)
        4

<comment><USER15> \+ can concatenate strings. So I guess there is an implied: 0 + in there to make it in integer mode.

<comment><USER17> There's no implication involved. It's the unary operator, and it performs the type conversion exactly as specced.

<comment><USER15> TIL, [https://scotch.io/tutorials/javascript-unary-operators- simpl...](https://scotch.io/tutorials/javascript-unary-operators-simple-and- useful#toc-unary-plus-)

</comment></comment></comment></comment></comment></comment><comment><USER18> Sure. But as always. It depends. If you're writing a highly interactive app and your jQuery script starts containing a lot of view state, eventually you'll go mad and probably duplicate a lot of logic on server and client too.

Seeing your app as a function of a data structure/state is then much simpler. Although it will require a bit more thought initially. App = f(s).

Again, it depends. If you're writing static sites and sprinkles will stay sprinkles, jQuery will probably be a solid choice.

<comment><USER19> As always, it comes down to: use an appropriate tool for the job.

Sadly, that's not a nice title for your blog post to go viral, so people make posts like "x is dead, long live y", and "why are you still using x?", or "the era of x is over", in which they present very narrow viewpoints, and try to solve every single problem in the world with the hot new fotm framework.

</comment></comment><comment><USER20> If JQuery is all you need to get the job done, go for it. It's still fast, simple and easy to develop.

If you need state management, build a very complex app, etc. ... don't.

<comment><USER8> > If you need state management, build a very complex app, etc. ... don't.

I'm not so sure you do for many sites. Take something like Reddit for example; I don't think the new SPA redesign is any better than the old template-driven app. In fact, IMHO it's worse in every way. Part of that is just a matter of design and not technical, but part of it is just "SPA hell": CPU goes to 100% on load, takes ages to load stuff, etc.

On the other hand, I find something like FastMail's web UI to be quite pleasant. So it certainly _is_ possible, but I do think it's a lot _harder_ to get an SPA right than it is to get a classic template-driven app right. It's also a lot more complex, which results in all sorts of problems.

I don't think jQuery is the "perfect" way to develop stuff; the lack of structure means things can get messy (we've all seen that), but I'm not convinced that React is the best answer to that (just because A is imperfect doesn't mean B is the answer, a common fallacy in these types of discussions).

I'm not quite sure what the best way is, and perhaps it already exists and I'm unaware of it, but in the meanwhile I prefer to stick with the "KISS" solution. If I look at the websites I really like using then they're all classic "progressive enhancement" ones, and not SPAs (in fact, FastMail is the only exception that I can think of).

Either way, the post was mainly intended as "vanilla JS vs. jQuery", rather than "classic JS vs. modern SPA" (although they're obviously related discussions).

<comment><USER21> With the way Reddit tries to shove it's app down your throat while using their SPA the cynic in me wonders if it's not designed to be as painful as possible if you persist. The last time I tried, I got THREE separate UI components prompting me to use the app.

</comment></comment></comment><comment><USER22> As someone who does application security assessments for a living, the biggest problem with jQuery is the lingering, outdated, vulnerable versions that are pervasive (1.x and 2.x in particular) in so many applications. I don't care if you decide to use jQuery or not, just have a plan to maintain it and be able to update it without breaking everything, should the need arise.

/preaching

<comment><USER23> I'm curious - what are the types of vulnerabilities that lie in the client- side jQuery?

<comment><USER24> If you allow unchecked data to be stored & retrieved there are some XSS vulns in older versions. Ideally this would be prevented in a sane environment.

</comment></comment></comment><comment><USER25> > Pages like You might not need jQuery try to sell the idea that it's easy to > ditch jQuery[...]

I wasn't aware of [http://youmightnotneedjquery.com/](http://youmightnotneedjquery.com/), but that's an inaccurate summary of what the website tries to do and really does it a disservice.

It very specifically says, _in the first sentence on the site_ , that you should use jQuery for regular development - it's specifically talking about people developing _libraries_ , and encouraging them to not force other people to load jQuery as an extra dependency, which is a very reasonable position. And I don't think it's trying to sell how easy plain JS is, as much as just giving translation code from common jQuery code to plain code, so that if you want to go that route, it'll be easier to do so!

Here, I'll just quote the first text on the page (emphasis mine):

"jQuery and its cousins are great, _and by all means use them if it makes it easier to develop your application._

If you're developing a library on the other hand, please take a moment to consider if you actually need jQuery as a dependency. Maybe you can include a few lines of utility code, and forgot the requirement. If you're only targeting more modern browsers, you might not need anything more than what the browser ships with."

</comment><comment> Aaron-goshine Fist let me say this thread has turned out to be possible the most important thread in regards to modern web development.

Single page Applications (SPA) and frame works that are used to develop such applications are over used which have led to a whole host of problems in the software engineering industry, I truly believe that if you are building software solutions 90% percent of the time you will be building them to solve business problems, so that should be of paramount importance not necessarily the latest shines concept and tools, especially unproven tools.

A very high percentage of the developers you will interview will be using front end frame work such as Reactjs, Anuglar, VueJs ... etc as a substitute for truly understanding the the native technologies and standards support by various user agents.

The consequences of this is usually very expensive for business while resulting in software products that are convoluted, complex and unstable; I have seen this too many times.

The JavaScript eco system at the moment is littered with these kind problems, pseudo stars developers who want to re invent the wheel (without first understanding the existing mechanics), not only is reinventing the wheel already an idea that has been frowned upon for thousands of years, in the context of software development most of the times it turns out to be a much buggier and less efficient solution.

I have encountered SPAs that have been built out to be so complicated and convoluted to say the least; in order to support server side rendering, hot module reloading, dynamic DOM refresh, Virtual DOM… etc. speaking as if these concepts are some holy gifts from the gods, and when you ask the most fundamental question what are the business values behind all of these concepts, there are no good answers.

</comment><comment><USER26> I'm a bit sceptical about this article... I understand the point... jQuery is a nice place to get started for beginners and see how things have been done in the past and I also HATE the boilerplate with most modern JavaScript- Frameworks, but

> I want to build webpages that are fast

I don't think that jQuery is fast... Especially the fact, that jQuery hooks in every event handler to control the possibility to remove all Event handlers is something that is slowing down every app... event if jQuery is hardly used.

> use the simplest feasible code

I don't think that code is simple, when it is ONE single function that takes nearly every type as argument with different outcome...

And I don't like that developers could use this article as a justification... especially while modern frameworks like vue.js can also be used without setting up a webpack project...

But: If you read between the lines, there is something to learn ;)

<comment><USER27> > is something that is slowing down every app

If that is slowing down your app, something was done wrong.

This comment reads (and feel free to correct me for a wrong assumption) as written by someone that really hasn't used jQuery in a serious production capacity.

</comment></comment><comment><USER28> The thing that really got me to start thinking twice about jQuery, much more than the youmightnotneed... website, was this performance test for selectors —

[https://jsperf.com/getelementbyid-vs- queryselector/25](https://jsperf.com/getelementbyid-vs-queryselector/25)

<comment><USER8> You can build jQuery without the SizzleJS engine and then it'll just use document.querySelectorAll. You can, of course, also still use document.getElementById('foo'), so if you have a specific performance issue you can opt-out for that one function.

</comment></comment><comment><USER29> I've been doing front-end for years and still use jQuery for almost 90% of my projects. It's not because I'm resistant to change, I've done my share of SPA style projects.

Simply said, jQuery is still the best plug-n-play solution for most small projects.

The numbers are not against jQuery. There's no real gains to skipping it. At 27.77 KB (Minified and Zopflinated file size) it's not as if it's weighting down your pages. On the rare occasions I actually come across something done faster in raw JavaScript (often because jQuery has some heavier polyfills), I simply use the raw JavaScript in my jQuery project.

</comment><comment><USER30> If it's not broke, don't change it. I could write more, but I'd just be echoing the post's points.

I think the biggest win would be avoiding all the insane complexity of a modern npm/webpack JS development experience.

</comment><comment><USER31> Javascript libraries ecosystem in post jquery era is also inefficient.

More duplicated efforts on making reusable uis because they (React/Vue/Svelte/Elm/Ember etc) don't mean to integrate well with each other. Mostly they live their own world. Nothing integrates well with server rendering approach because most of them are based on virtual dom or compiler, vm that takes over the whole ui containers.

When you change a frontend language/lib/framework, your design system also need to change. All of your branded ui components need to be reinvented although some people just wrap libs such as Sortablejs, Select2 with their favorite js thing.

I've experiment Phoenix LiveView with a bunch of mentioned js lib/framework/language (above), nothing really integrates well for production uses. Vanilla js is still best bet for working with server-side rendered html (Unpolyjs or Stimulusjs is nice, but it only serves small purposes)

I hope there would be more js that works with good old html that you are already rendering.

</comment><comment><USER32> > Pages like "You might not need jQuery" try to sell the idea that it's easy > to ditch jQuery. ... good reasons to not use jQuery: if you're writing code > that you want to be re-used by others...

Literally the first thing youmightnotneedjquery.com says is:

> jQuery and its cousins are great, and by all means use them if it makes it > easier to develop your application.

> If you're developing a library on the other hand, please take a moment to > consider if you actually need jQuery as a dependency.

</comment><comment><USER33> When you are done designing your Webpage, disable JavaScript, disable CSS (if your browser supports that) and check that you are still able to grasp what you want to present your visitors.

If you then don't find the relevant information in the first second, congratulations, you just made a page which is useless to people with old Screen-readers.

I may be old fashioned in this regard, but i only see JS as a Add-on to the text you want to get out and only use it to add functionality which would be impossible with html and css alone. e.G. to give a hint when there are new articles to read, or when a article has changed.

Comment sections for example don't require JS at all, but you can use JS to make it needless to reload the page after you send that HTML Form.

<comment><USER34> >When you are done designing your Webpage

What do you mean by 'webpage'? Because SPAs are really applications that are served over http(s) and executed by the browser.

>I may be old fashioned in this regard, but i only see JS as a Add-on

You are. People want to build applications served over the web instead of installed locally. In those cases JS is not an add-on. In fact, the DOM is an add-on as it is nothing more than a layout manager and UI component set.

Sounds like you just want webpages to be nothing more than a medium for publishing text content in which case CSS and HTML is all you need ... but that ship has sailed in early 2000s.

</comment></comment><comment><USER35> I'd be curious to see how many people have a cached copy of jQuery from one of the popular CDNs and what the overall real world effects are of that.

(That got me thinking of another potentially interesting analysis/discussion about the distribution of jQuery versions being used…)

</comment><comment><USER36> I'm one of the original creators of You Might Not Need jQuery. Most of the examples still date back to 2014, with modern JS they get much simpler and shorter (the fetch API and async/await help tremendously in the first example cited).

<comment><USER32> Thanks for your work. OP maybe didn't read the first two paragraphs of YMNNJ, which clearly states:

> jQuery and its cousins are great, and by all means use them if it makes it > easier to develop your application.

> If you're developing a library on the other hand, please take a moment to > consider if you actually need jQuery as a dependency.

</comment></comment><comment><USER37> I'm pretty much in agreement with this, to a point. jQuery is a reliable and fast way to make a age do just about anything, except maintaining state.

The __KISS __principle is practically unheard of in web development lately - <USER2> see teams using more "hip" technologies like React or Angular for simple sites, but then the complexity of the app increases considerably for not that much in the way of gains. Sometimes simpler really is better

</comment><comment><USER38> I think, as with anything else, it's important we understand the tools we are using. I started with jQuery and the problem was (like many others) I learned it before I actually learned javascript. I've since backtracked and dug into vanilla JS so I can have a better understanding of what my code does.

Since then, I haven't found a situation where I miss jQuery. However, I don't damn anyone who uses it (beyond jokey arguments with the wordpress dev on my team).

It seems like this opinion won't fit in well here, but at this point I find vanilla more than enough for anything where Vue or React will be overkill. However, I'm obviously biased as a front-end app dev and am open to seeing what other people have to say.

I'm not sure what to think about the server side vs. client side comments in the article since that fall outside my area of knowledge.

<comment><USER39> You will soon come back to using jQuery again thinking what the point of just saving 30KB by letting your code become longer.

<comment><USER40> Doubtful - 30 kB minified & gzipped is a lot of code, and the fact that jQuery doesn't help with your code organization/keeping code DRY much is a huge negative.

</comment></comment></comment><comment><USER41> Is there a plan (or is it possible) for jQuery to look at going with some kind of modular approach where you can just import the stuff that you / your plugins want?

I know there are libraries that claim to have 100% parity with jQuery's selector library. Are there any ones that are making this claim reliably?

<comment><USER42> Zepto comes to mind: [https://zeptojs.com/#modules](https://zeptojs.com/#modules)

</comment></comment><comment><USER43> I still use jquery too and it doesn't have to be a tangled mess of insanity nowadays.

Webpack + ES6 modules + jquery is a reasonable option IMO if you like the idea of server rendered templates with sprinkles of Javascript.

Plus, with the way things are heading with certain web frameworks (like Phoenix), you can do really interesting things like push the diffs of your server rendered templates over a websocket channel without having to write any user land Javascript yourself, and on the initial page load it just gets served without Javascript using the same templates. It's like the best of both worlds (super fast feeling apps, SEO just works and you don't have to duplicate templates and logic on both the client and server).

</comment><comment><USER44> convenience is the primary reason I still sometimes use jQuery. Sure dropping one more dependency always seems rewarding, but jQuery is just a tool which when used properly saves a lot of time.

</comment><comment><USER45> Something seldom considered while discussing the use of libraries and frameworks: green computing.

Mind that you're multiplying any overhead thousandfold or even millionfold when transferring the overhead to each client connecting to the service (including several instances of network infrastructure). So,"how much effort it can be to use vanilla JS", – it may be well worth the extra effort, once, on a single side of the communication chain.

<comment><USER39> Your assumption that everyone can write more efficient code than jQuery isn't making sense.

<comment><USER45> It's certainly a matter of balance: if you need just a simple functionality or a single effect, loading (and compiling) the entirety of jQuery may not be the wisest. Similarly, I've seen d3.js loaded just to get a canvas element by 4 lines of code, where a single vanilla line would have done.

(Edit: Notably, my argument was about the effort involved.)

</comment></comment></comment><comment><USER46> I would argue that the comfort of using jQuery comes at the cost of speed and obfuscation. I stopped using jQuery about 2 years ago and for the most part had no problems whatsoever even when I was forced to support IE9. Also I found that searching [http://youmightnotneedjquery.com/](http://youmightnotneedjquery.com/) helps a lot when deciding how to implement certain features.

</comment><comment><USER47> Hardest part to get rid of jQuery was the $.ajax function. Happily now, we can all use the fetch API with some extra polyfills, but pretty much that's it.

`el.insertAdjacentElement`, really? Yeah if you carry jQuery thinking with you, you will probably want to translate the code literally and find substitute for everything. No... You can just use to recreate the part of the DOM that needs to be updated and replace it. It's faster to write and easier to read.

Anyway most of the arguments are not considering, vanilla JS + webpack / babel es6 + npm packages. In a world where side-effects are not well accepted anymore using jQuery is nightmare to maintain.

What's this fuzz about btw, I thought this argument was over?

</comment><comment><USER48> I've seen a few apps that began as vanilla JS or jQuery updated to use react as the requirements grew and the "simple" JS started crumbling under its own weight. So I'm sympathetic to the idea of just starting with a framework from the get-go.

That's why I'm excited to see how Phoenix's LiveView turns out. It gives the "server side rendered, sprinkling of JS" approach more room to go in. It won't replace something like Google Maps, but there's a whole class of applications that would previously be on the border of the decision between react and server side that can be pushed into server side.

</comment><comment><USER49> If it works for you and is easily maintained by whoever is looking after it, great.

In my experience, sooner or later you're gonna want modern functionality / user experience and you're in for a world of pain trying to hack it together with jQuery.

These days I'd only use jQuery for sites where I'm the sole developer and the project won't change much over time. Or for legacy projects where the cost of moving everything to an SPA wouldn't be worth it.

If you're not the only developer on a project and the project is liable to morph over time, jQuery will be a costly mistake.

</comment><comment><USER50> Idk in regards of how better the code can be structured with React or Vue, but opening apps based in these frameworks makes similar effect to starting Monero miner locally.

</comment><comment><USER51> It's a mature library that takes the pain out of cross browser compatibility (yes... you read that right, cross browser compatibility is still a thing in 2019) and the verboseness of using native JS (yes... you read THAT right, using native JS is verbose), so why wouldn't you want to use it?

Oh and on more thing... If you're not using jQuery but instead using native JS with polyfills... YOU ARE A MORON AND DOING IT WRONG and should just you jQuery.

<comment><USER34> >yes... you read that right, cross browser compatibility is still a thing in 2019

When it comes to manipulating the DOM, I'm not sure it actually is anymore - especially if you can cut out IE11 (and IE11 isn't too bad).

What would be an example of cross-browser compatibility that JQuery takes care of that would be a pain to do with DOM apis.

</comment></comment><comment><USER52> I have had my share of grief with jquery, but I'm not quite sure it was jquerys fault or the tools built around it. Many a time I had to reimplement stuff like radio button exclusion when a pop-up would render an HTML string as is.

Did anyone have problems like that? What are the jquery limitations I should be aware of?

I am asking because I am mainly backend and infrastructure developer and feel like I have little experience with frontend tools

</comment><comment><USER53> _one line of trivial jQuery code gets replaced with 10 lines of vanilla JS code!_

Actually those 10 lines are replaced by the entire JQuery library.

</comment><comment><USER54> This is all fine and dandy; use what works for you. However, as many of us have learned when trying to aggressively optimize performance, execution time is generally much longer for jQuery than with vanilla JS. So if you're after high PageSpeed scores, for example, jQuery is the damn devil (or at least one of them).

</comment><comment><USER55> I like the progressive enhancement approach using a small amount of JS, and I'm fine with jQuery. The thing is that I don't _use_ very much of jQuery. Rather than pull in all of jQuery you could just define your own `get` and `post` to abstract the XHR verbosity. No need to pull in a giant library to do that

</comment><comment><USER56> Great reminder that old does not equal bad!

</comment><comment><USER57> You are not alone mate, I am also using jQuery in 2019 :-) It's one of my favorite JavaScript libraries.

</comment><comment><USER58> jQuery is an idiomatic DSL but far from intuitive (does "after" imply a DOM modifying action or just a selector?). So I find it okay that browsers have a verbose API as it makes it clearer. Bare DOM API is nowhere close to jQuery in terms of practicality though.

</comment><comment><USER59> This is pretty much the reason I still use jQuery too. Although JavaScript now offers much of the jQuery functionality as built-ins, the very concise syntax that jQuery offers is more convenient to use.

</comment><comment><USER60> I think the most compelling reason to keep JavaScript is "it's already there."

I see no reason to yank it out unless you're already doing some front end refactoring

<comment><USER61> If you yanked JavaScript out, you wouldn't have jQuery either.

<comment><USER60> Slip of the fingers, obviously

</comment></comment></comment><comment> forgot-my-pw When you don't have to support Internet Explorer, using ES6 (fetch) is nice enough. When you need to support IE, it's best to use jQuery.

<comment><USER62> It's not. It's better to use fetch polyfill.

</comment></comment><comment><USER63> I'm still using jquery and bootstrap for mvp web app using, of all things, PHP and Slim Framework which surprisingly is not horrible.

</comment><comment><USER64> el.insertAdjacentElement('afterend', other) seems a way more intuitive than $(el).after(other). I don't code JavaScript yet the meaning of the first is intuitively obvious to me while I can only know what the second form does because you've told me.

</comment><comment><USER65> So, what is a good jQuery replacement nowadays, for just XHR and a bit of CSS manipulation?

</comment><comment><USER66> > Pages like You might not need jQuery try to sell the idea that it's easy to > ditch jQuery, but the very first example is a good reason to use jQuery: one > line of trivial jQuery code gets replaced with 10 lines of vanilla JS code!

There's no such thing as one line of jQuery, it's 10K lines before you add your one line to do that one thing that 10 lines of vanilla JS code can do.

<comment> rlv-dan True. But it's 9 more lines that _you_ have to write yourself. And some people prefer being productive rather than figuring out how to do it in plain JS for the sake of it.</comment></comment>


Google admits Hangouts doesn't use end-to-end encryption - <AUTHOR> http://9to5google.com/2015/05/12/google-hangouts-security/ <comment><USER2> I thought is was pretty clear that the move from XMPP to Hangouts was to have greater control over user data _including_ snooping into it.</comment>


CoreCLR building on ARM - shahid-pk https://github.com/dotnet/coreclr/pull/1210 <comment><AUTHOR> There is still work to be done, [https://github.com/dotnet/coreclr/issues/1192](https://github.com/dotnet/coreclr/issues/1192) . RyuJIT has legacy backend code and the new RyuJIT backend, only the former is functional on ARM but won't be supported. Exception handling, also unwinding for GC is seemingly blocked by an LLVM bug resulting in bad unwind information being output for the exact build settings we need [https://llvm.org/bugs/show_bug.cgi?id=24146](https://llvm.org/bugs/show_bug.cgi?id=24146) . It is quite surprising to me how much visibility this has gotten though even in the very rough state it's in now.

</comment><comment><USER2> .NET everywhere, that makes five platforms in less than six months. Windows, Linux by MSFT and OSX, FreeBSD, ARM done out in the open by the community via GitHub pull-requests!

<comment><USER3> Try using it on Linux or OS X. It isn't there yet.

<comment> shahid-pk So it is on windows too (As the software is in its beta phase) .

<comment><USER4> RyuJIT is included with .Net 4.6, which RTM'd last week. It's production quality on Windows. It's probably an older and more stable version of what is on GitHub.

<comment> shahid-pk You are correct. Ryujit is ready for production but coreclr has other parts that are different from .net 4.6 and coreclr specefic (like PAL for non windows) which is not production tested yet.

</comment></comment></comment></comment></comment><comment> shahid-pk Coreclr now compiles on arm tested on rasperi-pi 2. This port was a community effort. It is still rough (debugging and exception handling not supported currently) but it will reach their eventually.

</comment><comment><USER5> Is Visual Studio written completely in .net at this point? Meaning will this get ported over automagically once all the .net pieces are in place on other platforms (assuming machine resources are available)?

<comment><USER6> Speaking for myself, not MSFT:

No, VS is a hellish mix of C++ and .NET. My personal prediction is that VS is unintelligible and will never be ported to anywhere else.

<comment><USER7> Isn't it amazing that code can get to that point? I mean, even insanely complex things like space shuttles/stations are understandable. They're documented, compartmentalized in functionality, and maintainable. If they need to build onto it or swap out some functionality, they can do it. It's pretty sad that we let some software turn into behemoths that don't accept change.

<comment><USER8> I'm working on some C code now... functions that span a thousand (or more!) lines. With all variables declared at the beginning, many having one letter names or being reused at various points. With lots of chunks of code repeated. Shit, one chunk of code writes out a whole XML format to a file. Then the whole thing is is copy and pasted to write the same XML format to a socket.

To add to the incomprehensibility, add feature-hacks everywhere. "get_flag" just does "thing->flags[name]". But "set_flag"? Hah, that's about 500 lines long and has all sorts of secret logic. (Does your flag name have a '[' in it? Does it start with "from_" or "to_"? Then you get a special code branch!)

And then, just to give you the finger, we'll sprinkle newlines everywhere, seemingly at random, just to make the formatting look bad. Oh, and there won't even be a line of documentation detailing which structs do what, or any general logic or guide at all. But that's OK because code _is_ documentation. Enjoy figuring out the custom "XML preprocessor" invented because "XML is too limited".

This project was started fresh because a previous one was "bad". If you don't have someone with a strong sense of aesthetics that can push back on feature hacks and cheap implementations good intentions quickly decay.

<comment><USER9> I don't mind large functions if they make sense. I have one (god) function that is around 900 lines long, but it is just a series of function calls in order that checks each call for errors. Keeping the code linear like this reflects the data flow and makes it easy for me to remember the call order.

</comment></comment></comment></comment></comment><comment><USER10> Did anyone know they issued a CLR already that worked on ARM, PPC, OSX and FreeBSD and is open source?

It even requires perl to build!

[http://www.microsoft.com/en- us/download/details.aspx?id=4917](http://www.microsoft.com/en- us/download/details.aspx?id=4917)

(they yanked official support for half of the bits bit its still in the tree)

<comment> shahid-pk Their is a problem with that. First that is 15 years old and is not open source (it is just source open). This was for educational purposes and first ever implementation of the common language runtime. It was a prove of concept project.

<comment><USER4> > source open

"Shared Source." I.e. Never look at that code, ever. Just pretend Rotor doesn't even exist. There are projects that will not have you (Mono) if you've read Rotor code.

</comment></comment></comment><comment><USER11> The Raspberry Pi 2 port is not complete, but it is well on its way (props to benpye who did the bulk of the work.)

The FreeBSD port is a community effort as well.

</comment><comment><USER12> Niiice. Back when I tried doing some of this, it was pretty much an uphill struggle.

<comment><USER2> Come join us over at [https://gitter.im/dotnet/coreclr](https://gitter.im/dotnet/coreclr) we would love to have you. Contributions are very welcome and are well received: [https://sec.ch9.ms/ch9/d47a/a2eb1f1d-e95f-424d-8f40-e93e218c...](https://sec.ch9.ms/ch9/d47a/a2eb1f1d-e95f-424d-8f40-e93e218cd47a/firstdotnetportaward_high.mp4)

<comment><USER13> Non-GUID URL for that video: [https://channel9.msdn.com/Blogs/dotnet/First- NET-Port-Award](https://channel9.msdn.com/Blogs/dotnet/First-NET-Port-Award)

(Side rant: I wish they'd just upload stuff to youtube, the C9 codec/cdn support never works right for me, even on 100Mbit fibre the low quality streams stall out)</comment></comment></comment>


It's time to balance the power between workers and employers - <AUTHOR> https://www.washingtonpost.com/opinions/lawrence-summers-its-time-to-balance-the-power-between-workers-and-employers/2017/09/03/b1c9714e-901e-11e7-8df5-c2e5cf46c1e2_story.html <comment><USER2> Wage slavery is a real thing in America today. I'm in almost the 95th percentile of income in the US today (although I wasn't always so lucky), and, if I were to somehow lose my job tomorrow, my first priority would be to find a new one ASAP, because I wouldn't be able to pay rent after less than 6 months of unemployment. Most people are not so fortunate. Even the most well- off Americans only have about $164K saved in their retirement accounts [0]. Real wages have been flat for decades [1]. Half of Americans don't have $500 in emergency savings [2].

My employer has nearly 100 employees; I have one employer. The job "market" is designed to create information asymmetry between me and my employer that ensures I'm not getting the best deal I can when negotiating for a job. I'm expected to give a reasonable amount of notice before leaving my job, but no such expectation generally exists on the other side of the table. I can be fired for almost any reason, or no reason. When I was hired, I had to sign an agreement signing away any right I had to ever sue my employer in court for any reason.

Now, even granted that some of these things are not necessarily going to be relevant to my particular situation ( _e.g._ I don't really foresee any need to sue my employer, and I don't think they're going to fire me for no reason at all), what side of the table does the huge majority of the power lie on?

[0]: [https://www.cnbc.com/2017/04/07/how-much-the-average- family-...](https://www.cnbc.com/2017/04/07/how-much-the-average-family-has- saved-for-retirement-at-every-age.html)

[1]: [http://www.pewresearch.org/fact-tank/2014/10/09/for-most- wor...](http://www.pewresearch.org/fact-tank/2014/10/09/for-most-workers-real- wages-have-barely-budged-for-decades/)

[2]: [https://www.creditdonkey.com/average-american-savings- statis...](https://www.creditdonkey.com/average-american-savings- statistics.html#emergency)

<comment><USER3> The solution is pretty straightforward. Replace all taxes on labor and earned income with a land value tax. This will increase disposable income of workers by directly decreasing taxes on wages, by lowering the cost of housing by disincentivizng speculative land investment, and by increasing the supply and margin of production of rent-free land, the later of which increases the bargaining power of workers per Ricardo's Law of Rent. The lack of private savings can also be addressed by creating a Citizen's Savings account for all citizen residents over the age of 21, into which a dividend is regularly deposited raised from natural resource rents.

The supply of land, and the degree to which land has been monopolized, is still the primary determining factor of wages even in a high-tech economy.

The price of rent for access to land in proximity to capital and dense concentrations of skilled workers of complementary skillsets determines how much savings one has to have before they can start a competing business or work for themselves, and the ease at which people can create a new business and go into competition with their previous employer determines the fairness at which equity is distributed in the average firm.

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

<comment><USER4> Isn't a land value tax punitive to poor people who buy cheap land which then becomes valuable for some reason?

Let's say I have low cash flow and bought a reasonably priced house in silicon valley in 1975. Should I basically be forced out of my house in 2010 because a bunch of ultra wealthy companies opened offices a few miles away?

<comment><USER5> The companies are ultra-wealthy because they are producing high value for society.

<comment><USER6> Or enclosing the value generated by others.

Because that works too.

</comment></comment></comment></comment></comment><comment><USER7> > The central issue in American politics is the economic security of the > middle class and their sense of opportunity for their children.

Maybe for Mr. Summers, it is. And maybe as well, for liberals generally.

But there are at least a couple problems. First, many Americans are apparently convinced that some other issue is central in American politics. Maybe it's threats from foreigners. Or from Satan, or some proxy of his. Or perhaps, it's losing their guns. Or whatever.

Second, even among those who agree that the economic security of the middle class is the central issue in American politics, many have been convinced that rewarding wealthy capitalists is the best strategy.

So it goes.

Edit: Indeed, many middle-class Americans think that they're wealthy, and so don't care so much about the middle class.

<comment><USER8> The article is from a while ago, but I wouldn't be surprised if it were still true: 19% of Americans think they are in the top 1% and 20% more expect to be one day [1]. So a full 39% of Americans either suck at math or actually believe that by rewarding wealthy capitalists they are actually rewarding themselves!

1: [http://www.nytimes.com/2003/01/12/opinion/the-triumph-of- hop...](http://www.nytimes.com/2003/01/12/opinion/the-triumph-of-hope-over- self-interest.html)

<comment><USER7> That is funny :)

Maybe ~20% of Americans are well-enough off that they feel wealthy. But they have no clue what real wealth is. And indeed, in day-to-day life, it's pretty much invisible.

Edit: Gotta quote this:

> All of this adds up to a terrain incredibly inhospitable to class-based > politics. Every few years a group of millionaire Democratic presidential > aspirants pretends to be the people's warriors against the overclass. They > look inauthentic, combative rather than unifying. Worst of all, their basic > message is not optimistic.

> They haven't learned what Franklin and Teddy Roosevelt and even Bill Clinton > knew: that you can run against rich people, but only those who have betrayed > the ideal of fair competition. You have to be more hopeful and growth- > oriented than your opponent, and you cannot imply that we are a nation > tragically and permanently divided by income. In the gospel of America, > there are no permanent conflicts.

<comment><USER9> > But they have no clue what real wealth is.

I think measuring "real wealth" by some relative metric like "top 1%" is misguided. To me, being wealthy means being able to live a comfortable life without worrying about your next paycheck.

I'm from Germany, but studying in China on a scholarship. The 1000 euros per month I get wouldn't put me among the German 1%, but in a country with a lower cost of living, I spend only half of what I get. When the scholarship runs out next month, I have a year of runway at my current spending level. That's wealthy enough for me.

<comment><USER10> > To me, being wealthy means being able to live a comfortable life without > worrying about your next paycheck

Americans generally use middle-class to refer to this state. Things are good, you have a paycheck or two of slack, you can make a healthy retirement contribution and save a little each month, own (via debt) a decent house and car, go out to eat a few times a month, not pinch pennies at the grocery store, etc. Major changes like moving, getting a new car, putting a kid through college, etc. require some planning, maybe some financing, but are doable.

Real wealth would be owning a grand house and luxury car, not needing to work to sustain the same lifestyle (before retirement age; after retirement age this is baseline for not being poor), ability to self-fund a capital intensive business, casually owning multiple residences, frequent international travel, etc. Luxury cars are toys and putting a kid through college is painless. That kind of stuff.

<comment><USER11> Real wealth is not having debt.

<comment><USER12> I have no debt, some liquid assets, but still rent. I know I'm better off than a lot of the country but being in the top n% of income in the wealthiest country in the world but enjoying little of the amenities besides basic infrastructure seems difficult for me to think of myself in any way as "wealthy." Unencumbered is ahead of many but I think I'd far rather have $400k income (and, more importantly, the social status and connections that kind of occupation or niche implies) with $1MM in debt than some low six figure income with much more in common socially with the homeless and nonfunctional mentally ill.

<comment><USER13> With the increasing number of the middle class including full-time workers becoming homeless (especially now in Houston) some homeful people would be best to become less rejecting of the homeless and/or mentally affected who lost traction before them. Especially in such a case where it's so obvious that there but for the grace of god they go.

Regardless of natural disaster or not, the prevailing cutoff line is coming after your low six-figure income, since there's not much foundation remaining below that level.

If you are providing shelter or a more extensive domestic environment those are not functionally very much like six significant figures anyway, but you knew that.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> 100 years ago in Australia, there was a 'great strike'. It was about a lot of things, but the straw that broke the camels back was timecards. Workers felt like management were 'Americanising' labour, and the pressure of worsening or stagnant conditions wasn't helped by the country being in the middle of contributing to the war.

Anyway the strike was overall 'a failure', but filling in the outline I've given above was some wonderful bits of colour and detail to the story that were on the national radio here in Australia recently. I hadn't heard before - and while I can't find the radio link just now, a summary is here [1].

I thought it was interesting to note that the issues from 1917 are remarkably similar and understandable to those in 2017, for employees and employers.

[1] [http://www.abc.net.au/news/2017-07-28/100-years-on-the- great...](http://www.abc.net.au/news/2017-07-28/100-years-on-the-great-strike- of-1917/8748132)

<comment><USER15> Interesting.

I'm an American labor lawyer and often find myself thankful when an employer actually keeps accurate time cards. "Time shaving" and wage theft are so rampant today and are a significant part of the billions of dollars that workers lose each year in this country [1]. It's a lot easier to do that when you fudge the time records, or don't keep any at all.

[1] [http://www.epi.org/blog/wage-theft-by-employers-is- costing-u...](http://www.epi.org/blog/wage-theft-by-employers-is-costing-u-s- workers-billions-of-dollars-a-year/)

</comment></comment><comment><USER16> Richard Wolff has also been evangelizing co-ops and worker-owned businesses for some time.

[http://www.rdwolff.com/faq_worker_coops_wdes](http://www.rdwolff.com/faq_worker_coops_wdes)

[https://youtu.be/urCy3UOGgx8](https://youtu.be/urCy3UOGgx8)

<comment><USER17> I don't understand why there are not more co-ops in this world.

In Canada, Mountain Equipment Co-Op (MEC) is the all-in-one kick-ass outdoor store (like REI). It is a co-op, so you pay $5 for a lifetime membership.

The place does not make a profit. All expenses are paid, all employees earn their living. At the end of the year, if they accidentally made a profit, they simply return the extra money to all the members of the co-op as a percentage of whatever that person spent for the year, thus they make no profit.

This, to me, is brilliant. Customers get what they want, employees get paid. Win. Win.

Why do we need stores that make profit?

Why do we need banks that make ever-increasing billions in profit?

I imagine a world where banks, Apple, Ford, etc. all worked like this. I want to live in that world.

<comment><USER18> Sweden has quite a few dominant coops. The ones listed here all have history dating back to between 1899-1931

Around 20% of grocery retail is by co-ops [https://en.wikipedia.org/wiki/Kooperativa_Förbundet](https://en.wikipedia.org/wiki/Kooperativa_Förbundet)

The largest dairy [https://en.wikipedia.org/wiki/Arla_Foods](https://en.wikipedia.org/wiki/Arla_Foods) The second largest dairy [https://en.wikipedia.org/wiki/Milko_(Swedish_cooperative)](https://en.wikipedia.org/wiki/Milko_\(Swedish_cooperative\)) The third largest was a co-op until it was sold to a French conglomerate in 2012 [https://en.wikipedia.org/wiki/Skånemejerier](https://en.wikipedia.org/wiki/Skånemejerier)

One of the largest housing corporations [https://en.wikipedia.org/wiki/HSB_(Sweden)](https://en.wikipedia.org/wiki/HSB_\(Sweden\))

The largest insurance provider [https://en.wikipedia.org/wiki/Folksam](https://en.wikipedia.org/wiki/Folksam) as well as another of the largest ones [https://en.wikipedia.org/wiki/Länsförsäkringar](https://en.wikipedia.org/wiki/Länsförsäkringar)

</comment></comment></comment><comment><USER19> Union, Yes.

The US has weak unions because labor law enforcement is so weak. No administration has done much about that in decades. 11% of US employees belong to a union. 32% in Canada. Read "Confessions of a Union Buster" for background.

In theory, whether to organize a union in the US is entirely up to the workers. The employer has no say in the matter. Few people even know that. Employers try hard to maintain that ignorance and keep workers from organizing.

In many European countries, McDonalds is unionized. The SEIU is trying to unionize it in the US.

<comment><USER20> Unions are implemented differently in the US and elsewhere. IMHO the case law around unions in the US sets up a perverse incentive structure that results in an antagonistic relationship between capital and labor, ex: Supreme Court ruling requires that unions protect all of their members from firing, even the obviously terrible ones, this has resulted in huge inefficiencies for workers AND capital alike. Other countries like Germany have better union implementations, such that the union usually has a seat on the board of directors and is able to better set company policy in a non antagonistic non zero sum way.

<comment><USER21> > Supreme Court ruling requires that unions protect all of their members from > firing, even the obviously terrible ones

What is this ruling?

<comment><USER22> [https://en.wikipedia.org/wiki/Duty_of_fair_representation](https://en.wikipedia.org/wiki/Duty_of_fair_representation)

</comment></comment></comment></comment><comment><USER23> Things that could actually be done to make for a more level playing field:

        * 'Single Payer' healthcare (tax everyone for basic healthcare)
        * Allow all kinds of debt to be discharged via bankrupcy
        * Have the government complete as (several) providers in all 'basics'.

The last one includes (some of these are already utilities):

        * Water
        * Sewer
        * Power
        * Transport (of all kinds, including last mile data)
        * Housing / organizational locations
        * Education
        * Medicine

Maybe private businesses can be more efficient than a not-for-profit government owned (and run) organization; if so let them actually compete.

<comment><USER24> > Allow all kinds of debt to be discharged via bankrupcy

Credit would dry up overnight and interest rates would go through the roof on many loans.

Also why would anyone ever offer a student loan under these conditions?

>'Single Payer' healthcare (tax everyone for basic healthcare)

We are about to have net neutrality repealed over the objection of everyone except ISPs basically. Medicare isn't even allowed to negotiate drug prices, but our govt run single payer system will definitely be immune from regulatory capture. Right?

Instead of this single payer fake solution I would much rather hear real solutions from the left. Such as, no medical service or prescription can cost more than the average price from a basket of oecd countries. If we could cut through all the bullshit and just implement that one idea it would solve most of our healthcare issues.

<comment><USER25> > why would anyone ever offer a student loan under these conditions?

Are you saying that it's not possible to offer profitable rates on student loans that could be forgiven in bankruptcy like other debts are? If so, how is that not saying the same thing as "to fund the education of the successful requires perpetual funding from the unsuccessful"?

<comment><USER24> I'm saying why would you extend a massive loan to someone who is broke, has no credit, and can immediately discharge the debt. They could and many of them would immediately discharge the entire balance of the loan upon graduation by declaring bankruptcy.

They don't offer 40k+ loans to people with no credit at any rate.

<comment><USER26> There are different ways to do that by redefining the way bankruptcy works. E.g. Personal bankruptcy could result in 2-3 years of handing over most of your income to the state (which distributes across the original loan providers), expect any major assets to be liquidated (e.g. Your house), before you're considered debt free.

<comment><USER24> If you just graduated from college with no money and debt how could you have a house? Also that is currently how bankruptcy works anyway.

>Personal bankruptcy could result in 2-3 years of handing over most of your income to the state (which distributes across the original loan providers)

That is even worse than how bankruptcy works right now for most debts. There already is loan forgiveness after so many years for student loans.

Also even if they did offer some faster path to discharging student debt the interest rate on the loans would go up to handle the increased loss from defaults. That would not really make the situation better either.

<comment><USER18> > If you just graduated from college with no money and debt

Require a guarantor

<comment><USER24> Then just don't get a student loan at all. Just get a regular loan.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> This observation came to a head for me during a conversation with my fiance about tuition costs.

I went to Stevens Institute of Technology, a private engineering school in New Jersey. When I started my schooling in 2005, the average tuition, not including room and board, was a little under $27,000. [1] It is now a little over $50,000, again, excluding room and board. [2]

I studied Computer Engineering. The average salary for a computer programmer in 2009 (I didn't graduate until 2010 but had a job starting in 2009) was $64,036. [3] Today? $79,840.

So despite the average wage for my work increasing by 20%, my school's tuition went up by __over double that __.

After factoring in rapidly increasing housing costs, it became evident to me that (a) I'm in a race to increase my compensation before everything else goes up, and (b) unless our government does something to curb these rapidly increase college tuition prices, there is a significant chance that unless I make and save A LOT of money in the next 20 years, my future children, should we have any, will either not be able to attend the same college as me (or similar), or they will be in debt for MUCH longer than me.

[1] [https://books.google.com/books?id=HiS0BrWXz9QC&pg=PA562&lpg=...](https://books.google.com/books?id=HiS0BrWXz9QC&pg=PA562&lpg=PA562&dq=stevens+tuition+fees+2005&source=bl&ots=oW- QuhvUyZ&sig=Y5-Neiinm_MKlQQCcYVgjAHjR0o&hl=en&sa=X&ved=0ahUKEwiAnf_FiYzWAhXDLSYKHfOPCuEQ6AEIUDAI#v=onepage&q=stevens%20tuition%20fees%202005&f=false)

[2] [https://www.stevens.edu/admissions/tuition-financial- aid/tui...](https://www.stevens.edu/admissions/tuition-financial-aid/tuition- fees-costs)

[3] [http://www.worldsalaries.org/computerprogrammer.shtml](http://www.worldsalaries.org/computerprogrammer.shtml)

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

</comment><comment><USER28> Software developers are already highly paid with lots of perks. Do they need unions?

<comment><USER29> I think the argument goes: We make table scraps compared to the amount that a corporation rakes in. Yet we're the sole reason they're able to rake in that amount of money.

Not that I agree with it, but that's an argument.

<comment><USER30> I think we're fully in the "see what little you can pay someone to get them to do a job" optimization mode. The marginal cost=marginal benefit argument doesn't seem to apply anywhere.

On the contrary, if you're actively making something (burgers, computers) then you're usually not paid enough to actually consume those things on a regular schedule. I think that's a symptom of an emergent caste system.

<comment><USER31> So each Boeing worker should be able to buy their own 787 Dreamliner in any fair society?

<comment><USER32> Do you believe that to be a reasonable, charitable interpretation of what OP said?

<comment><USER31> I believe OP repeated a good sounding slogan ("workers should be able to buy the things they produce!") they had heard, without having spent any thought to what it would mean in reality.

My example is meant to show that principle is absurd, not that OP actually believes in that consequence. I admit the point could have been delivered friendlier.

As for charitability, we are all prone to agree to what fits with what we already believe without critical thought. This time OP slipped up, many times it's been me.

<comment><USER30> That's not how I perceived your comment. You took the statement and came up with another statement and claimed it was a logical extension of the first. But it was not faithful to the original statement. Nor was that my only point. You essentially found a logical exploit and dumped the rest of my meaning. That's violent.

<comment><USER33> Well, there are "reductio ad absurdum" arguments - which attempt to show that an argument is bad because it leads to absurd conclusions. And as its fancy latin name suggests, its as old as the ages, and is often a reasonable form of argument.

<comment><USER34> The poster "reductio ad absurdum"ed after he "non sequitur"ed. A valid reductio requires applying the principle of charity first though.

We do need a Latin phrase for the principle of charity!

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER35> Geez, Larry, that's a simplistic view of workers.

What should be the proper expectations for someone entering the workforce?

Is everyone actually equal?

Certainly not.

Some earn qualifications to do various types of "Knowledge Work" and others don't.

Some will take smart risks, work hard, create value, build capital, and be able to employ others. Others take dumb risks, create little value, and go from personal bankruptcy to personal bankruptcy.

And still others will take their qualifications and work for large companies or organizations, and get used to not taking on any risks. They put in their time, create marginal value, and go home.

If they're not earning what they think they deserve, they can take their complaint to the marketplace, line up interviews, put their best face forward, and see if they can convince an employer to see it their way.

I'm disappointed in Larry's pandering to the "I'm a victim" mentality. We need more people with an "I can do anything" mentality.

</comment><comment><USER36> One thing I'd been wondering about was how minimum wages interacted with the obvious power imbalance between low-skill, low-wage workers and their employers. If I'm right then employers would basically be compelled by competition to take advantage of their most powerless employees, in the absence of such legislation.

In the free market ideal, the wages would be getting forced higher than is ideal by government intervention, but apparently reality hasn't supported this theory, and one obvious reason to me is that the wages were being suppressed below their true level due to this asymmetry.

Tangential aside: is this the same Larry Summers that suggested we should ship toxic waste to 3rd world countries because their lives were worth less? Things must be getting pretty grim if he's speaking out in favor of unions.

</comment><comment><USER37> If only we could figure out and implement some kind of system where every person had one equal say in choosing leaders, regardless of wealth or social position. Then those who were disadvantaged could outvote the privileged few and elect leaders who would set policies to make things more fair.

<comment><USER38> The problem is that there's no one to choose. First past the post prevents voting for your favorite and party control prevents populist candidates. Trump broke past but Bernie didn't despite his popularity. Gerrymandering and voter restrictions disenfranchise and secret $ flows from corporations to astroturf campaigns. We exist in a mirage of democratic control, vote reform is necessary.

</comment></comment><comment><USER39> Why doesn't somebody make an app that makes it easy to start (and run) a union?

<comment><USER40> Could you write down the requirements for this app?

</comment></comment><comment><USER41> Ironic that the Washington Post is owned by Jeff Bezos.

<comment><USER42> Perhaps the election of Trump and the near-election of Sanders showed him and people like him that current economic practices were creating an unstable sociopolitical environment. It's in the best interest of the rich to keep people from revolting.

Edit: To those who are downvoting me, could you please explain why? If there's a flaw in my statement, I would love to learn it.

<comment><USER43> Or maybe Larry Summers just wrote this for the newspaper and having influential people like Summers on the bylines is good, regardless of what he writes? Why does it have to be a political thing for every op-ed writing? Bezos isn't hand-approving every single post.

<comment><USER42> > Why does it have to be a political thing for every op-ed writing?

You're right, but most media companies in the US pretty much act as spokespeople for one political wing or another. They are all generally very biased towards the direction of their donors or owners. I also find it interesting that no(or few) major media outlets were so against big business until this recent election cycle. Why else would the recent election cycle trigger discussion on the declining quality of life for the lower and middle classes?

Or perhaps I am just too pessimistic nowadays. That is why I appreciate the feedback on my comments.

<comment><USER43> >>They are all generally very biased towards the direction of their donors or owners.

Yes, I agree with that. But Larry Summers' article would have been welcome anywhere, probably even Fox News. He is accomplished like few others, and having him write for you is good no matter what. It is important to separate the cases indivdually.

>>I also find it interesting that no(or few) major media outlets were so against big business until this recent election cycle.

Cases like Uber help for sure, and the income gap is ever-widening. I think it's just a natural state of being. It couldn't last forever. An opinion of a significant number of Americans was that HRC/Trump offered us no real alternative in regards to labor/business reform, and the media is playing that up after the fact.

I don't think there is anything nefarious going on or anyone trying to get on the right side of history. I think in large part the media is reflecting what most Americans are feeling right now: Malaise.

 _(For the record I am upvoting you, I have no idea who is downvoting your posts.)_

</comment></comment></comment></comment></comment><comment><USER44> maybe companies should have a maximum size, if after a certain amount of they are still market leader they need to split into two?

</comment><comment><USER4> Finding a solution to the returns of labor vs capital would essentially solve the worker v employer phenomenon. (See: basically anything piketty has ever written).

Right now, labor is double taxed. You are taxed in the form of your time and mental energy to perform it, as well as on your return by the government. Accounting for the time tax of labor and putting the combined tax on par with capital taxation would go a long way to correcting this imbalance.

</comment><comment><USER45> It's 100 years this November since a well-known fix to this balance was initiated. Anyone wants to repeat it?

</comment><comment><USER46> i am working on a labor platform to help educate labor as well as provide, and develop, tools to assist labor in understanding and asserting their rights

[http://www.alaborplatform.com](http://www.alaborplatform.com)

</comment><comment><USER47> I don't disagree with anything in TFA, but a cynical devil on my shoulder is whispering that one way of discrediting these ideas might be to put them in Larry Summers's mouth. It would be difficult to select anyone more "talented" at over-arguing a point until everyone is tired of hearing about it.

</comment><comment><USER48> Isn't the balance of power between workers and employers in Silicon Valley massively lopsided in favor of the former? We have companies that are losing money paying their engineers six-digit salaries. Restoring the balance is the last thing this place needs.

<comment><USER49> > We have companies that are losing money paying their engineers six-digit > salaries.

I assume that's a tactical decision on their part to bootstrap a new company. A brief analysis I did a few months ago suggests that six digit salaries aren't bankrupting established companies. The largest SV employers could arguably double or triple engineer salaries without dipping into negative salary territory:

Facebook Employees: 18,000 Profit: 11.51B Profit per employee: ~$600,000

Google Employees: 57,000 Profit: 20B Profit per employee: ~$400,000

Apple Employees: 115,000 Profit: 45B Profit per employee: ~$390,000

Microsoft Employees: 114,000 Profit: 17B Profit per employee: ~$150,000

And for comparison:

IBM Employees: 380,000 Profit: 11B Profit per employee: ~$29,000

Wal-Mart Employees: 2.3 million Profit: 13.64B Profit per employee: ~$5,000

And yet we have cartel-like behavior from SV's largest firms agreeing not to bid up the price of engineering talent not all that long ago.

<comment><USER50> Where are people getting the notion that engineers should be paid whatever the current profit per engineer is? Engineers are not shareholders.

You can't have it both ways where employees get to take all of the upside of a business without all of the risks of being an investor. When IBM has a bad year, would you be okay with clawing back all of the salary paid out that year?

<comment><USER51> Employees take on a lot of risk. They risk being laid off and they have to put all their eggs in one basket. They also risk damage to their career if their company assigns to them work that doesn't look good on resume. In my view investors have less risk.

<comment><USER50> >Employees take on a lot of risk. They risk being laid off and they have to put all their eggs in one basket.

That's not a lot of risk. If they get laid off, they don't lose an initial investment like the shareholders do. If I get laid off today, I will just go find another job. I don't lose my previous wages.

>They also risk damage to their career if their company assigns to them work that doesn't look good on resume.

Doing something shitty is entirely the employees choice. If they aren't happy with the compensation they get for doing that thing, then they should move to a different company.

<comment><USER51> Most of us live in a world where it's not so easy to just take another job if the current doesn't meet expectations. In addition you have almost no way tell upfront if the new job will be any better.

<comment><USER13> This is by design.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> Countries are best off that empower their people: the individual citizens.

<comment><USER52> I really don't like the framing of that. Good countries get the hell out of the way while people use their inherent power of self-determination. If someone powerful spends their time "empowering" you, it means you had none in the first place.

<comment><USER30> I was attempting to paraphrase Adam Smith.

"No society can surely be flourishing and happy, of which the far greater part of the members are poor and miserable." Adam Smith

That's the context I meant for the word "empower".

<comment><USER53> Would you agree that among the best things an individual blue collar worker can do with that empowerment is to team up with others in a union?

<comment><USER54> I'd agree that it is one of the smartest things they could do since they are selling their labor.

</comment></comment></comment></comment></comment><comment><USER55> I don't like or want egalitarianism. No thank you.

<comment><USER56> This amounts to trolling whether or not that was your intention: ample provocation and a dearth of substance. Please don't post like this here.</comment></comment>


Ask Notch (the developer of Minecraft) anything - <AUTHOR> http://www.reddit.com/r/Minecraft/comments/di1d0/ask_notch_a_question/ <comment><USER2> Notch I am currrently writing a game called the Source and was wondering because when I was halfway through the book I discovered you're incredible game minecraft and noticed the crafting square which I already had in my game but was wondering if I could, Use it with you're permission and if you do allow me I will and have planned on tweaking it a little but what Im asking is "May I have you're permission to use you're idea of the crafting square in my game The Source?"

</comment><comment><USER3> Will be more interesting with answers.

</comment><comment><USER4> Genuine question (no disrespect intended): what do people find interesting about this game that so many are willing to spend $10 on it?

I tried the single player and don't see what the fuss is about, perhaps I'm missing something?

<comment><USER5> The game mechanic is based around survival, and an open world. You are free to effect change as you wish, to suite your needs to survive in game. To survive you must gather limited resources just to live through the first night. As you progress into the game, you become more secure in your survival, so you can risk more to establish yourself more. Eventually the mechanic is that you've ended up with concrete changes upon the world you play in, can take pride in them, and then expand on them. Emergent gameplay, where non-scripted events happen, making your experience unique provides a great deal of re-playability. Additionally since Minecraft is under active development, I think a lot of people are looking at the game with an eye towards it's ultimate potential in their mind.

See <http://en.wikipedia.org/wiki/Open_world>

Also <http://en.wikipedia.org/wiki/System_Shock_2> <http://en.wikipedia.org/wiki/SimCity_4> <http://en.wikipedia.org/wiki/Dwarf_Fortress> <http://en.wikipedia.org/wiki/Little_big_planet>

Also <http://www.youtube.com/user/davidr64yt#p/c/E005D335B57338D1> \- A play through of the game from a first time users perspective

<http://www.youtube.com/watch?v=DS3s4iVijpA> \- Minecraft Calculator

<http://www.youtube.com/watch?v=f6JqoE7MZEE> \- Minecraft 16bit adder using sand.

<comment><USER4> Awesome, thanks, the play-through by david was very helpful for getting an idea of what the game is about.</comment></comment></comment>


Page Rank is the Ultimate Measure of Online Influence - <AUTHOR> http://www.micropersuasion.com/2008/10/page-rank-is-th.html <comment><USER2> If you're blogging for profit, pageviews is the only relevant stat. If you're blogging for shits and giggles, none of them matter at all.

Me personally, I measure it in user participation. Total comments, or maybe comments per post, would be a better metric.</comment>


Show HN: Notably, a minimalist markdown notes app - <AUTHOR> Hi, I just launched a new app called Notably and am looking to get some feedback:
https://notably.cc
Notably is a web based notes app that supports markdown syntax and is intended to be as distraction-free as possible. I've never found a notes app that I've been totally happy with, so I think there may be a gap in the market for something like this
Notably is completely free - I may add premium features at a later date, but for now its just an idea that I'm validating to see if anybody finds it useful
Thanks for looking, Chris <comment><USER2> Could you please provide a link?

<comment><AUTHOR> That would probably help! It's [https://notably.cc](https://notably.cc) (updated the post now)</comment></comment>


CEO of Cleo resigns after it was discovered that her resume contained lies - <AUTHOR> https://www.forbes.com/sites/bizcarson/2019/06/18/exclusive-investigation-how-lies-and-a-troubled-workplace-brought-down-shannon-spanhake-cleo/ <comment><USER2> "There was not enough hustle..."

Canned phrases from company leadership is too often a sign of cluelessness. In practical terms is means the CxO does not know how to grow or improve the business, and falls back on "Work more! Work harder! Forget smarter!"

Also:

[https://www.merriam-webster.com/dictionary/hustle](https://www.merriam- webster.com/dictionary/hustle)

2b: "to sell something to or obtain something from (someone) by energetic and especially underhanded activity"

</comment><comment><USER3> > _One bullet point from the slideshow spelled it out: "Expect to work 50-60 > hour weeks." Her presentation got cut short before she could get to the next > part. The company's work-from-home policy was being eliminated._

> _The harangue stunned some of Cleo's employees, who felt that it flew in the > face of the company's mission to create a better workplace for parents. One > employee handed in the company laptop and walked out the door, quitting that > afternoon._

So this CEO didn't believe in her company's mission enough to apply it at her own company?

</comment><comment><USER4> Jeez, are these really the big ideas coming from SV these days? Pedestrian applications of technology to mundane problems which deserve billion dollar valuations?

<comment><USER5> No, but a lot of the people building tech ideas, or other big ideas, are too busy to be in the magazines.

There are still WhatsApps, quietly building a huge customer base with nobody paying attention except the actual users. A bunch of interesting semiconductor work going on (various "AI" chips, too many to succeed; SiFive grinding away slowly but surely, invisible to all but us nerds, etc); I think what my company is working on (barely an SV company with only two in northern CA) could change the global economy, yet we barely had time to put up a static website.

But since "tech" has replaced car magazines, computer magazines, and some sports writing, people show up to write about whatever looks interesting, and what looks interesting is 1> understandable to someone not steeped in it (TBF that's true of the readers as well) and 2> has people who will seek you out to tell you how amazing they are. I'm fascinated that that article mentioned more than once that their B round was a steep percentage! Oh, it didn't; it only quoted some large-sounding numbers and let the reader do the math themselves. Probably the reporter has no idea how it works either.

Most of the action is in the Valley, where there are fewer deals, though more money being spent. There's much more deal flow in SF, typically for plans like this one that need less capital in the earlier stages -- giving more to write about in a nicer place to be walking around than down here in SV.

So don't worry, big things are happening, but the revolutions always start out under ground.

<comment><USER6> The other thing is tech writers have become victims of click-bait too. Unfortunately, due to tech being integrated across such a wide variety of industries, they can't realistically be expected to understand how the underlying technology works, even if we assume they were super tech savvy to begin with. They might Google a few sources or just partially regurgitate manufacturers claims. They can't do any kind of in-depth research because it would exceed the time allotted, and it probably doesn't matter anyway, because more quality is very rarely rewarded with more ad-revenue unless you're an established brand like NYT/Forbes/Guardian etc.

</comment></comment></comment><comment><USER7> She lied about her age and her graduation date, and then a few other things.

What's the point of lying about your age? I can't imagine a 36 year old is less likely to be funded than a 42 year old?

<comment><USER8> Does it say she made herself look older? Investors generally prefer younger AFAICT. It's assumed if someone is 42 and not successful yet, they never will be, but someone 20 has a chance and will be more in touch with modern technology. A lot of Y-combinator events target high schoolers, even. IBM has also gotten in trouble a lot for unfairly eliminating old people. I would think she would have made herself look younger.

<comment><USER3> The article says her actual age was 42 (according to voting records), but she claimed to be 36.</comment></comment></comment>


Show HN: Bloomberg-like crypto trading terminal - <AUTHOR> https://cryptocontrol.io/en/terminal <comment><AUTHOR> Hey guys! I'm building a crypto trading terminal that'll give all kinds of crypto-related information to traders; Think a lot of fundamental data like social media sentiment, articles, trending #hashtags; RSI reports etc..

<comment><USER2> Can you make this more mobile-friendly? It isn't really usable on a cell. The popup doesn't go ever away, there's no images that show the featureset. And the UX looks pretty dated. Seems like a no-brainer but maybe it's better on a laptop/desktop...

If I can't see what this can do in an accessible way, I'm not going to hand over a grand. Others probably would feel similarly, especially if they're more price sensitive.</comment></comment>


Monitoring your health with mobile devices - <AUTHOR> http://www.nytimes.com/2012/02/23/technology/personaltech/monitoring-your-health-with-mobile-devices.html?_r=2

<comment><USER2> Solution in search of a problem.

Steve Blank speaks about the technology lifecycle adoption curve [1], and I think this entire "health + mobile" market is (optimistically) on the far left end of the curve.

The problem isn't the problem - it's how people feel about the problem. I know I can have a completely digital banking solution, with even phone support 24/7 if I need it, but I don't want that. Banking and my money is important to me, and when I need advice or have problems, I want to walk into a branch and speak with a real person. I'm not a dinosaur or a luddite - I'm 24, and I'm well versed in emerging technology.

I feel even more strongly about my health: I don't care that I can take a picture of my ear drum and send it to a doctor and have an antibiotic prescription that I can forward to my pharmacy and pick up in 30 minutes: there is something wrong with my body, I am concerned, this is important to me, and I want to speak to someone who is trained, credible, and can offer medical advice. The trouble with digital services that attempt to melt themselves into the physical world is that important things need to be dealt with by people. A doctor offers credibility and that is what I want. A 99c iPhone app offers no credibility, and for important things, credibility is important. If a doctor waves off my ear problem as "sleep on it for a few days, here's a note", I trust his advice and I'm more than willing to go through with it. If an iPhone app told me the same, I'd be probably reaching for the uninstall button around the time I'm dialing a doctor to make an appointment.

1\. [PDF] page 23/45 [http://www.stanford.edu/group/e145/cgi- bin/winter/drupal/upl...](http://www.stanford.edu/group/e145/cgi- bin/winter/drupal/upload/handouts/Four_Steps.pdf)

<comment><USER3> I think speaking to a person is an expensive luxury. Far more of a luxury than a smartphone. Smartphones aren't cheap, but if you could get the ear thing to work, a few hundred random emergency room visits/year could be saved. average cost for one of those visits is about a thousand dollars, so this would literally save a million dollars.

I guess i'm arguing that very soon, everyone will have a smartphone. For a lot of poeple going to the doctor means going to the emergency room. being able to "ask the internet" and get some sort of quick treatment will ultimately help more people and cost less than what we do now. Sure, there is quack medicine, and that's clearly a bad thing. I'd wager there are more people who are sick but do nothing because the cost in time or money or both is just to high. Lowering the barrier to basic care is a good thing.

</comment></comment><comment><USER4> This is one emerging technology area that gets me beyond excited. I can't wait to strap on a wristband and then pull up the "Google Analytics" equivalent for my body on my iPhone. I would love to geek out on that.

The Jawbone Up was the closest I've seen yet, but unfortunately the device had some inherent flaws. (I wore one for 2 months) No blue tooth syncing, not quite durable enough for 24/7 wear. Some ergonomic issues. But the price was right, the software was good and the hardware looked good enough to wear all the time.

Personal biometrics monitoring is coming in a big way, and I can't wait.

<comment><USER5> I think there's a difference between mobile health devices and mobile "wellness" devices such as the Jawbone Up. The first are used for clinical purposes and have much more potential to affect the health of people vs niche gadgets like Jawbone/Fitbit that rely on people having the discipline to use them.

</comment></comment><comment><USER6> Recovery Record is doing some interesting stuff with bringing cognitive behavioral therapy treatment to mobile. They're starting out with eating disorders - bulimia, anorexia, binge eating and obsessive eating. Apparently 1 in 10 women will live with an eating disorder at some point in their life.

[http://itunes.apple.com/us/app/recovery-record-eating- disord...](http://itunes.apple.com/us/app/recovery-record-eating- disorder/id457360959?mt=8)

</comment><comment><USER7> Agreed this is exciting, emerging stuff. Related... Checkout my Android app for monitoring and maintaining your caffeine level.

<https://market.android.com/details?id=com.cafapppro>

</comment><comment><USER8> The one device I've been waiting eagerly for is the Basis band.

I tried fit bit but it was a glorified pedometer for the most part. For weight training, etc. it was just "plug in how long you exercised and we estimate the calories".

<comment><USER9> Check out Body Media. They've been doing this stuff for a long time. The worn location (upper arm) is also closer to your center of mass to gauge workouts.

<comment><USER10> Body Media is the real deal - my wife is a researcher and that's all they use in her studies, great product.

</comment></comment></comment><comment><USER11> I've been noticing a lot of health related submissions lately on HN including my own. The future is looking bright in this industry, hopefully we can get more collaboration to bring some of these ideas together.</comment>