Why is there so much hate for .NET? - <AUTHOR> I get why people hate Microsoft and why people would "prefer" not to pay licensing fees for their applications.  But do haters realize that you can run .NET on a fully free/OSS stack, in the cloud, AWS, Linux, the works?  That question is not rhetorical.  Do haters realize that?
I wrote an article about the good aspects of .NET, but it really only attracted other .NET developers.  That's mostly my fault because my network is mostly .NET.
Here's the article I wrote.  I'd be curious to hear if it helps the argument for pro-.NET (or at least not anti-.NET): http://steppingback.com/dotnet-strong-were-not-who-you-think-we-are/
I do work in .NET, Node, and most recently I started to dabble in Ruby.  I'm not against any of those other languages, so I don't want to hear how awesome they are.  I want to focus on why people thing .NET is inferior and anyone who uses .NET is ultimately inferior, too.
Comment below on why .NET has such a bad rap.  No trolls, please.  I'd like to have a real conversation about it. <comment><USER3> Our current codebase has had iterations in ASP, C#, ColdFusion, Ruby, and others. At different times, we chose the best platform and language for the job. I was actually a technical reviewer for some of Wrox's first .NET books back around 2001-2002.

I don't think there's a lot of value using terms like "haters". I think that implies uneducated opinions.

You CAN run .NET in a non-MS ecosystem, the same way that I can run Ruby on Rails on Windows Server. My Rails app needs Redis, which really doesn't run on Windows; most (almost all) of the .NET tooling and resources out there are built on the Windows ecosystem.

The .NET "hate" is Windows hate. Everytime I try to eject a USB drive from a Windows machine and it tells me some randome unidentified process still has a file open, it reminds me why I no longer use Windows. Add on licensing costs, etc, and you have the basis for wanting to avoid the Windows platform.

So again, "but you can run .NET on Linux". Sure, but if you're building a solution and the use case calls for open source, is that really the best choice at that time? I personally think the push for Mono isn't because C# is the best language (it's pretty good though) but to preserve investment in existing code and resources.

When people think .NET, they think heavy tooling, configuration screens, and GUIs. They think tooling sold by "sales engineers" with glossy brochures filled with bullets points. "Consultants" with perfect teeth and perfect belts, as opposed to the guy in the hoodie hacking on code. We know this may not be a reflection of reality (look at tools like Powershell and the increased open-sourcing of Redmond), but culture is often as important as technology.

</comment><comment><USER4> Personally it is because the languages feel like they are written for Visual Studio. So if I was using Mono five years ago, I had essentially VIM. Therefore I didn't do .NET.

Another reason is due to how the stack feels like it's playing catch up. ASP.NET MVC trailed behind multiple libraries in Java. The .NET developers were condescending the whole time. They would rant against MVC. They would extol the virtues of WebForms. The same is true with many other ideas. If something is not part of the official stack, .NET developers ridiculed it. I remember conversations where I recommend a library like log4j. Mocked and told how Windows logging was all I needed.

In the end, so many better things exist for free that I see little reason to use .NET. I can get a good editor from node.org built on eclipse. There are paid ides that do that as well, better and cheaper than VS. Because MS was so closed source and proprietary I'm the past I think they lost the PR battle.

<comment><AUTHOR> You know, I've been using VS for so long and I've gotten it for free for the last 3 years since I'm a startup and a part of their BizSpark program that I hadn't even factored that in. That's a very good point.

My IDE consists of a few paid things that you can get for free elsewhere. I've tried using eclipse, but I'm just not as comfortable. But I'm sure I could get there if I jumped.

Things I pay for: * VS - quit expensive * Visual Assist X - $90'ish a year * PHP for VS - $100'ish (because it was cheaper and more efficient to buy a plugin than learn a new environment)

When I add it all up, I have spent quite a bit on the IDE. I don't necessarily agree that the IDE is being beaten by other IDEs. The extensibility is through the roof and I use a lot of tools that really enhance the "shortcomings" of VS. However, because of the plugins, VS is quite bloated and takes way too long to start up.

One of the best arguments I've seen, thanks for posting.

</comment></comment><comment><USER5> The Microsoft stack by and large has a very closed ecosystem. You _can_ use it in a free environment, but that is very much not how people _actually_ use it. The .NET ecosystem is huge, but it hardly ever touches the freer ecosystem most languages exist in nowadays. If you use .NET "on a fully free/OSS stack," you're more or less in the wilderness, because the other Microsoft stack people aren't doing what you're doing and neither is everyone not using the Microsoft stack. It's basically a worst-of-both-worlds proposition.

However, I don't believe anybody actually thinks "anyone who uses .NET is ultimately inferior." Anyone who would express their distaste for the Microsoft stack that way is obviously trolling.

<comment><USER6> I concur. It wasn't until I started working with an OSS guy that I realized how different (sometimes frustratingly so) the OSS mindset is.

I wont try to draw any conclusions here because I don't know how much of our personal conflicts are caused by our platform ethos, and how much is just personal; but I can say that the way we execute architecting and building novel solutions is completely different.

</comment></comment><comment><USER7> I actually think C# is quite a nice language, I just don't like any of the rest of what comes along with it (Windows, ASP, VS, etc). I am fully aware that you can _technically_ run .NET on an open source stack, and I am also quite wary of the shortcomings inherent in that approach. I can theoretically run my Python webserver on a Windows box, but I'm not going to. If I work hard enough, I can put a square peg into a round hole, but I prefer not to. Because I need a bunch of packages that aren't available on another operating system. Because there were assumptions made about certain system commands and the presence of certain an init system when I implemented feature Z. Because the application was built from the ground up to run on the operating system it was written for, and that operating system will never be Windows.

It is my belief that .NET on Linux will forever be a project like Cygwin or Wine, a mediocre substitute for pretending one thing is another. I don't hate .NET, I just consider it irrelevant. A non-option. A second-class citizen. If I had a whole bunch of C# code sitting around I really needed to run on a Linux box for some reason, it might interest me, but I don't. I am never going to use Windows as a server, and .NET seems inextricably linked to Windows. Modern Java does the things I would want out of a compiled language like C#, so I'm not clear on why I should care or be interested in something that looks like an equivalent platform. Perhaps you can educate me. You seem to readily admit that Microsoft has made many mistakes across the technology stack, why is .NET so different?

I am curious about how many production .NET applications you have running right now on hosted Linux boxes, and if you would care to share your experiences. Perhaps I am completely wrong about .NET on Linux, and there exists a great and vibrant ecosystem of .NET devs on Linux and all the third party libraries just work great out of the box. If you want to convince people about how great .NET on Linux is, write a blog post about your experience running a large scale project on such a platform. Elaborate on the great packages and features present in the .NET ecosystem which I can't find in Node or Ruby or in the JVM. Don't just vaguely allude to there being a bunch of great open source .NET developers out there making great projects, because the only example you gave (ServiceStack) is not open source or free. Give us some great examples and tell us why we can't find that stuff anywhere else. Convince me that I should care about .NET even when I want nothing to do with Microsoft.

<comment><AUTHOR> That's a fair argument. I'd love to show you some large-scale solutions I've done and deployed on Linux, but I can't. I really can't do the same for Windows either. All my large-scale projects are on Windows, like you'd expect, and they all happened on big-budget companies where server fees were nominal, so Windows was the easy choice for those Windows-based companies.

The only projects I've deployed on Linux are SS-based and are small scale and they're all API-driven web apps. The server-side implementation doesn't get all that complicated.

You make a lot of very valid points here. I'm still happy with .NET overall and I hope that you're wrong about .NET on Linux forever being a project. I'd love to see it gain traction and have more of a community backing. I want to scale out on Linux and make scaling based on hardware and not complicated license structures. But as it stands, I think you nailed your argument. I'll ask around to see if anyone else can add large-scale production experience on linux to the conversation.

</comment></comment><comment><USER8> Postback creating a stateful web. The web is STATELESS. Event-driven, I'm MAYBE ok with. But the web is stateless and postback attempts to provide pages with state. So what happens is you end up with shitty programmers who write big loops for handling page submission back to itself.

ClientID's making javascript an absolute pain or a mess of inline asp code.

MasterPages with forms on the child. It makes things very...strange.

Finally, most developers I've met are just...subpar. I can't really explain it, they just are good at .net stuff but they lack understanding below the surface. And I should add I don't just hate webforms (I really hate webforms actually), but even the new MVC stuff is just not implemented well in real life, probably because of the developers using web forms before using MVC stuff. I think MVC is the right way to go, but developers are so completely behind its sad. You shouldn't bill yourself as ten years experience if you have spent those ten years doing nothing but falling behind on development practices. Its not physical time that matters in this profession, its all about your knowledge-base, which needs to be worked on continuously. As I said, most .net developers, are just behind (or even scared) of newer development techniques; and when I say new I don't mean bleeding edge, I mean 4-5 year old techniques. If it wasn't 2004 - 2006, it doesn't really get another look by some of the 10+ year experience people I have worked with.

<comment><USER3> _Postback creating a stateful web. The web is STATELESS._

Doesn't every language attempt to create state? WebForms puts pretty much the entire state in the client, but other platforms pass some sort of session ID at the very least.

 _ClientID 's making javascript an absolute pain_

I don't think approaches like the asset pipeline in Rails are much better, IMO

<comment><USER8> Not having RoR experience, I can't comment on their approach to doing things.

Yes sessions are prevalent in other languages, and that is typically the 'default' method for maintaining state. In .net however, you also have the following methods: [http://msdn.microsoft.com/en- us/library/vstudio/75x4ha6s(v=v...](http://msdn.microsoft.com/en- us/library/vstudio/75x4ha6s\(v=vs.100\).aspx)

Most of which are commonly abused because developers don't know what they are doing with what, when. For instance I've never seen profiles used, and as much as I'd like to at-least try the idea, any attempt to move even non-critical information into profiles is met with heavy resistance as it's something 'we just haven't used before'.

One place I was hired at (thankfully to clean up some of the mess), insisted on using query-strings and hidden fields for just about everything-they had no idea of the proper way to handle things. When they did use session variables they would attempt some increment magic and mess it up so it was possible to get everything out of sync and be returning the wrong data. They made no use of Application Settings and instead used a physical control file to hard-code global variables to be used across the site.

Part of my experience and hate for .net is specific to instances I've seen-I will agree to that point, but so much just has to do with developers who use 'whatever works' instead of thinking about the underlying design implications of their application. I really just believe its because they don't take the time to learn what is happening 'underneath the hood'. The thing is, the more I work within the .net environment, it really is apparent at just how EASY it is to forget the fundamentals, to throw some tool or easy solution at something, rather then having to think it out. It's great that development time feels quick but can also feel a bit dumbing-down as-well.

I'm rambling so I'm going to shut up. :)

</comment></comment></comment><comment><USER9> At a prior job, we developed in VS10 on a Windows network and deployed to a Mono/Apache stack. I spent a lot of time debugging glitches in the Mono implementation after pushing "working" code to the production's Mono stack, and then writing work-arounds in my code -- not writing features.

I might avoid this by developing solely on Linux (which wasn't an option at the job) ... but you still may paste in someone else's code written for the MSFT implementation that borks your project.

To chime in with chc, there is such a huge OSS presence on Linux with a wealth of useful libraries to tap into. I must save so much time leveraging useful OSS projects in my Python/Django projects. Thanks, internet.

</comment><comment><USER10> I feel the same way as the author. I got introduced to .NET two years ago at a job. I came from a PHP background. I've come to really appreciate .NET and the CLR, and as a developer, I'm convinced I'm way more productive in .NET. I'm currently building something in Mono outside of my day job, and it's so great to be able to use .NET on linux.

I realize that Microsoft and .NET may not have had that great of a past (WebForms ruined its rep IMHO)...but using the new MVC and EntityFramework...it's clear that .NET is back on the bleeding edge.

Also...most .NET devs like working in .NET because we can be productive in it, but keep in mind--.NET haters--that most of the time we're not the ones that chose the stack...we're just left in a position where hardware/sys-admins/MIS at companies that are still afraid of the cloud are mandating that we have to use Windows and .NET.

<comment><USER11> If the only point of comparison is PHP, everything looks like the best thing ever compared to it.

</comment></comment><comment><USER12> I'm not sure if .NET has a bad rap at all, rather I believe the onus is on the .NET developer to show it was a better choice than the alternatives that are more mature and flexible from a licensing standpoint.

I consult as a software engineer on various projects, frequently C# and Scala. C# is a fine language, and Monodevelop is continuing to improve, but I don't see any advantage over choosing a more 'open' language with a much more mature runtime (JVM) and an overall more advanced language (Scala).

<comment><USER11> I kind of agree.

Another thing to mention is the community/culture of .NET developers. I want to be able to ask "ok, I need to debug/change/fix this, where is the source?" without getting weird looks.

</comment></comment><comment><USER13> For me the problem with .NET is not the libraries but the fact that the two principle languages (C# and VB) are so old fashioned. Hardly any of the useful stuff is part of the language, it's all in the libraries which means that.NET code is very verbose because there is no syntax for things like lists and dictionaries. The latest versions are getting better, at least you can create arrays using a compact syntax but dictionaries are still a pain. Both of them are essentially C without unmanaged pointers and the addition of a few slightly better types but still scalar types are special and cannot be treated as objects.

Also they aren't even usefully old-fashioned, why can't we have arrays where the first item is number 1, or 21 or some other number, Basic had that from the beginning. Why do I have to use a dictionary when I want to use an ordinal type such as a character or boolean as the index (Pascal could use any ordinal type as an array index). Why can't I create subtypes of the integers and reals (Pascal had that and it prevented large numbers of errors). Functional languages have implemented guard clauses, these can simplify your code dramatically and remove the need for a lot of traditional if and case statements. Bertrand Meyer integrated contracts into Eiffel almost thirty years ago, and now MS has provided them by means of a clunky add-on that rewrites your binary after it has been compiled.

And so on, it's not that .NET is bad, it's that after all that effort Anders Hejlsberg (yes, he of justified Turbo Pascal fame) should really have been able to produce something so much better, or at least more interesting.

Rant over, thanks for reading if you made it this far.

</comment><comment><USER14> For me it has nothing to do with .NET's qualities.

Rather, it has to do with trust issues arising from the fact that I lived through the 90s and I remember what it was like when MS was dominant.

Unfortunately Apple is stepping into the same hubristic trap. I will probably have trouble trusting them for decades as a result.

</comment><comment><USER15> "Haters" probably do realise that.

Personally, I just don't see anything interesting that .NET offers. In fact, I consider languages which target virtual machines to be a failed experiment of a bygone age.

The two exemplars, Java and .NET have been thrust upon developer communities by multi-million dollar marketing efforts. And those marketing efforts have not been tailored towards my specific demographic. So they've been pretty easy to ignore.

So it's not a matter of being anti-.NET or Java or whatever. It's just that they're about as relevant to me as Barbie-themed toilet paper - <USER2> and not marketed towards my demographic.

</comment><comment><USER16> Lot of this is historical. When .Net first came out Microsoft projected it as enterprise platform specifically designed for Windows developers. This immediately ticks off any academics who want to use it for classroom or anyone who wants to do cross platform open source projects.

Even as Mono came out later, backing for it has been lacking and nobody knew if it would just die out in long run or would get killed if it ever became too popular.

The result is that most people who come out of college have been using Python/Java/Ruby for class work and then use it to build open source eco- system. This feeds on to itself and before you know now most important open source libraries are built using non-Microsoft platform.

Even though on technical (and now even political) merit C# is richer language miles ahead of Java and .Net CLR is fantastically advanced than almost anything else, there are simply many more people churning out of colleges familiar with Java instead of C#.

Over time, this accumulates and produces laughable outcome where people seem to prefer something as despising as Oracle owned product rather than much- lesser-evil Microsoft.

For languages other than Java, such as Python or Ruby, C# is actually too verbose and even lacked functional features initially. When functional features arrived, they were incremental and more as after-thought. So there was reasonable basis to reject it on that ground. I would say Go has fan base but is more comparable to C# 2.0 than C# 6.0. Some cling to few innovative features in Go and less verbousness while confusing its lack of features as "simplicity" but overall it still has miles to go.

</comment><comment><USER17> I started business development with dBase II, after a while I was forced due to hardware availabilty to upgrade (CP/M going out of style). we Got Macs. dBase Mac was an expensive joke then finally settled on McMax, that became incompatible with system 7 IIRC then slid on over to FoxBase+/Mac, (which was excellent) until OSX, but the new owners, Microsoft, provided an out, FoxPro (at least till intel), then again they shortly dropped Mac support so that was all moot. All these times nothing was really wrong with the code but I was at the mercy of commercial firms in finding compatible versions, getting licenses and having just basic long term support. Most other solutions were either expensive or lock-in to a platform, and from experience no better guarantee of longevity of the platform.

So I went open source - with a LAMP stack - if I want to run old versions there's no problem, maybe with hardware - but that also isn't as big a factor. No worries on selecting client compatibility as it is web based (have had to tweak based on HTML/Browser revisions, but nothing that really broke beyond fixing). Every component was free (enough) for what I was doing, and it pretty much just worked. I feel I had wisely steered clear of Filemaker Pro, Access, Cloudbase, Panorama, Visual Basic, or any other platform where I had to plug in a key and/or ask permission in order to install/use it. I was happy, staff was happy... and still are. Never looked back since.

.Net and other MS technology just reminds me of the struggles of the past added with new licensing schemes and more intricate lock-in. So I prefer to ignore it. If I was going to do local machine development instead of web based Python would be the direction I'd go.

</comment><comment><USER18> Welcome to my world. The only reason that ASP was created and therefore .NET was because years ago, the Allaire brothers told Microsoft "no thanks" when they tried to purchase their programming language called ColdFusion. Since 1997, when I started developing with CF, I've heard nothing but derision no matter how well it can handle complex tasks with ease. Every few months, someone without a clue but a huge audience posts another "death of ColdFusion" article and here come all the Ruby/Node/PHP fanboys piling on the hate.

Never mind that ColdFusion runs on the JVM.

Never mind that ColdFusion 11 was released a few weeks ago.

Never mind that there are TWO open source CFML engines out there.

Never mind that ColdFusion 12 is already under development.

And I don't hate .NET at all. Or Rudy or Node (can't stand PHP, but that's another matter).

Guess what? It's all the SAME S--T, different SYNTAX.

You know which language I love the most? Whichever one someone is currently paying me to use.

<comment><USER19> You make some good points about Coldfusion but the death of Coldfusion is not the language itself or the support and dedication from Adobe, the death is in the job market and demand for it.

Have you looked into Ruby or Node? Compared to Coldfusion and PHP, it to me seems like a new paradigm in web development with tools such as NPM for Node, build tools like Grunt and Gulp.. again, to me, these things make CF and PHP seem old school.

</comment></comment><comment><USER20> > _But do haters realize that you can run .NET on a fully free /OSS stack, in > the cloud, AWS, Linux, the works? That question is not rhetorical. Do haters > realize that?_

Yeah. They just don't care for the sub-par experience of using Mono. (MS opensourcing large parts of .NET / CLR etc is quite recent, so it doesn't have changed the climate yet).

> _Comment below on why .NET has such a bad rap._

Well, not that much bad rap. People just don't use it. From what I read on most forums, hackers using other languages tend to like C# (lots of people, even in Unix land), and respect F#.

But they either want a mature system with longer open source presense and better support than Mono (e.g Java) or they don't work with such managed runtimes at all and they opt for something else.

Note that Java, which has been open sourced and has had a huge hacker community for many more years than .NET, still gets a bad rap because of Oracle's actions and behavior.

</comment><comment><USER21> I think .net is a great framework that is misunderstood.. I think every developer should dabble in .net MVC before working there way into rails.. because so much of rails is abstracted and .net is not you can learn a lot of things from working with this framework that would take you a lot longer on rails

<comment><USER5> What does this mean?

<comment><USER20> He means "less magic".

</comment></comment></comment><comment><USER22> .NET is kind of a cul-de-sac. There's usually only one way to do things and often I don't like the way they choose to do things. Getting some web services going with Visual Studio and I give up trying to get the WSDL->proxy generation working and just do it by hand. The community is filled with people all saying you can't do it that way, you have to use the tool.

It all seems very narrow, very closed quite facist really.

I prefer a more open, more fertile ecosystem. C, C++, Java, Clojure all compare quite favourably in this regard.

I certainly don't hate C# the language. But I don't like the tooling (VS, VS or.... VS) or the community - which don't seem to come up with their own solutions often enough for me. And face it, .NET is only a first class citizen on Windows.

</comment><comment><USER23> Clicky link: [http://steppingback.com/dotnet-strong-were-not-who-you- think...](http://steppingback.com/dotnet-strong-were-not-who-you-think-we- are/)

</comment><comment><USER24> With even Oracle claiming "ownership" over the _open source_ Java, who really knows these days? Especially from an extortionist/litigious company like Microsoft.

<comment><AUTHOR> So if I'm hearing you, the issue is that .NET, while you might be able to do a free stack today, because MS backs it you're afraid that freedom will go away?

If that's the case, I think it's important to note that .NET is based on the open specification of the CLI. It's like the association between JS and ECMAScript. Also, the open reference license for the source code that MS has (which is how Mono has the base framework libraries for its implementation) are pretty wide-open. It'd be hard for even MS to try to renege on that. So while I doubt that we'll ever see .NET be a paid resource gobbled up by MS, with the open specification of the CLI and the support of Mono, it seems like such a small thing to worry about.

And, even if that is your worry, it still doesn't explain why there's so much hate and disrespect for .NET developers.

I appreciate the response, thanks. I'm not trying to disprove your concern here. Just shedding some light to see if that changes anybody's opinions.

</comment></comment><comment><USER25> I've been with C# since the beginning, 1.1, coming from ASP 'classic', I absolutely love C# as a language. But... I'm now working in a Ruby/Linux shop handling some of their legacy app integration and I've come to understand that a lot of the disinterest comes from a complete clash of culture more than anything else. By that I don't mean the old "Evil M$" rubbish - for 10 years Microsoft has not understood Open Source culture. Instead of collaborate it was compete compete compete. NHibernate vs Entity Framework, ASP.NET MVC vs fubu/castle, Codeplex instead of GitHub, everything was done to keep people dependent on Microsoft.

ALT.NET came and went, but there was never a really strong open source community. That combined with the cross sell policy is a barrier to entry. Everything has been tightly coupled, IIS dependencies in ASP.NET makes Mono a second class citizen, MSSQL dependencies in EF made code first migrations break in MySQL. All designed to sell licenses, books and certification.

Talking about productions web apps, at the end of the day it has to be on Windows, even if you want to dev on Mono. If I'm going to start building a production app you start asking yourself questions about licensing costs too, Server, SQL, VS pro, CALs. Okay so you can get it going for free if you join BizSpark, but then there's the waiting etc etc and the niggling fact that eventually you will have to pay. Comparing that to my experience working on Linux is like chalk and cheese. vagrant up -> npm install -> {do work} -> git push heroku master. Frictionless, all for free, with no gatekeepers.

With OSS, people don't sit around waiting for the mothership to fix issues, because there isn't one, they band together and fix it themselves. Additionally, as I've come to realize (flamebait warning) Linux kills Windows on the server. Not by a nose, but like a Red Wedding in ease of use, footprint and resource utilization.

You also have to look at the "why C#" specifically. To do RAD web development it is much faster to use something like Rails. C# is more performant? Then use Java or node.js. C# just doesn't fill a particular gap.

Having said that, it's not all doom and goom, I think C# is the #1 choice for mobile development. I think the ASP.NET Titanic is starting to turn. Scott Guthrie seems to get it. The announcements recently with regards to ASP.NET vNext are all heading in the right direction and address a lot of the glaring issues. There is also some great non-MS .NET work being done at places like GitHub and StackExchange. Will it be enough to convince OSS types to start adopting it? I doubt it.

</comment><comment><USER26> "Public Static Void"

Rob Pike (Bell Labs, Plan 9, Google Go) gave this short speech at OSCON 2010 about what's wrong with programming languages, their thinking, and their recent direction, with a lot of focus on C++/Java/C#, and how Go was a response to that.

[https://www.youtube.com/watch?v=5kj5ApnhPAE](https://www.youtube.com/watch?v=5kj5ApnhPAE)

Apple Swift seems to share much of the thinking, and the huge enthusiasm for Swift this week suggests developers seem to at least subconsciously recognize there is a problem.

<comment><USER27> But you do realise that .NET is not only C#? And that F# had many (maybe even most, but I didn't research enough to say this) features that Swift has?

(And, on the related note, that Swift has not even one (or maybe? as I said, I didn't do enough research yet) novel, unique feature which wouldn't be already explored and implemented in other languages.)

What you're saying is an equivalent of "there's many things wrong with _JVM_ , for example lack of type inference".

<comment><USER26> This is addressed to. Not all languages compile cleanly to the CLR. Running in the VM has serious tradeoffs as well. Garbage collection is a serious problem for soft/hard real time apps. Understanding performance is difficult too because the VM may be doing stupid things behind your back and you can't directly control things like CPU cache locality with this many layers.

Porting the VM is also difficult. It is a really complicated piece of machinery, and if you are in truly cross platform environments, getting the VM up on new systems is a massive engineering challenge in by itself. Often these other environments are CPU and memory constrained too which isn't great for the .NET VM.

<comment><USER5> I'm not sure these are actually problems with the Microsoft stack, though. Most mainstream languages run in VMs these days — JavaScript, Ruby, Python, Lua, PHP, all JVM languages. Off the top of my head, the ones that don't are pretty much the three C's and Go.</comment></comment></comment></comment>


Professionalism in Python or: How To Not Do Bad Things - <AUTHOR> http://artificialcode.blogspot.com/2010/04/professionalism-in-python-or-how-to-not.html

<comment><USER2> He lost me at his extreme advocation for unit tests. I won't rehash the arguments against them here but the short story is that there is an additional burden in writing and maintaining them, and many of their benefits can be had through other means. I agree with the gist of the rest of his points, which were mostly about reducing complexity. Unfortunately, unit tests increase complexity. They aren't a free lunch.

<comment><USER3> I had the same reaction. Unit tests mean you have twice as much code to change when requirements change. And in my experience, whenever a unit test fails you have to spend a lot of time debugging the test itself to make sure the failure is even valid.

</comment></comment><comment><USER4> Hmmm, the last two points about humility and "solving the dirty problems" could very generally apply to the Lisp community as well.

</comment><comment><USER5> The talk by Robert Martin - 'What killed Smalltalk, could kill Ruby too' mentioned in the blog was fantastic

</comment><comment><USER6> What's the reference to the film industry at the end talking about? I'm not active in Python-land, so that went over my head.

<comment><USER7> It appears the author used Python while working for the film industry, see for instance the previous post in the blog: [http://artificialcode.blogspot.com/2010/04/my-midlife- python...](http://artificialcode.blogspot.com/2010/04/my-midlife-python- quality-crisis.html)

<comment><USER8> In that one, G. van Rossum drops in to make a suggestion in the comments ...

Both posts are worth the time.

P.S. some people do not realize that a sizeable part of the core Python developers were/are C++ coders who wanted some sanity (or so I gathered about 8 years ago, when facing the same problem ;-).</comment></comment></comment>


From Hospital Gowns to Couture: The Unlikely Origins of '60s Disposable Dresses - <AUTHOR> https://www.collectorsweekly.com/articles/from-hospital-gowns-to-paper-couture/ <comment><USER2> I have absolutely zero interest in most things fashion related, but I'll be damned if I didn't find this interesting.

I'm kind of sad to have apparently missed a golden age of in flight shenanigans. Further I just find the entire phenomena interesting in that it caught on as a sort of afterthought through coupons.

I guess that's why marketers still do it now. Really wish they'd cut back on special papers for em though. Can't compost the glossy crap.

</comment><comment><USER3> I'm interested in fashion history and had not heard of this. It didn't last, bit it leave behind a legacy:

 _"This is the beginning of the T-shirt art era"_</comment>


Ask HN: Advice on hiring a commission-only salesperson. - <AUTHOR>

For a B2B webapp, do you give them a sales commission on the lifetime value of the account (i.e. for every month from now until they quit, they get X% of the revenue from that sale) ?
Would love to hear some feedback on what you guys do.
Also, what % is fair - in terms of commission ? <comment><USER2> It's entirely dependent on the product, the price it will sell for, the market, the amount of work needed to complete a sale and the total potential earnings.

Any salesperson worth hiring is going to want to know these things and know that they've got a good shot at making lots of money.

Anyone who doesn't ask is either really inexperienced or is just throwing stuff at the wall until something sticks. If there's _real_ potential to make more than $100k in a year then it's probably something an experienced salesperson will look at. Some residual revenue is always appreciated by not necessary in reality. It depends on how much work the things I listed above will be.

If you were to ask me to sell your product I'd want to know these things:

      1) Who are your customers? (I want to know if you know who they are or if it's my job to figure it out)
      2) What's the competitive advantage of your product? (Basically, what pain point did you choose to solve and why is it different from everything else)
      3) What have the objections been from the customers you've talked to? (What are the deficiencies in your product and strategy? How long is it going to take me to overcome those.)
      4) Who are your competitors? (I need to know who I'm in the race with. Lame ducks or marathon runners?)

With answers to those three questions it would be easy enough to figure out if it's worth continuing. B2B sales cycles are typically longer so an experienced rep would probably flesh it out pretty fully before committing. 6mo-1year sales cycles are not uncommon. Knowing that it could take that long to make any money they'll probably want to know that there's potential for high earnings and a very large potential market (Can easily fill a funnel of prospects worth more than $1MM).

In my experience it's best to find someone that knows your market really, really well and make it worth their while. There's no specific formula for % commissions (My splits have been all over the map), just make it reasonable for both of you.

</comment><comment><USER3> Commission only is not a good way to do things. If you cannot afford to pay a retainer then the business is too early to employ a salesperson. This is a sign you should be personally doing the sales yourself.

You want the commission to trail away over time.

You also want your employment contract to be rock solid - think about the salesperson who has earned trailing commissions - how is he going to feel about those ongoing commissions when you fire him? Will he sue?

<comment><USER4> > how is he going to feel about those ongoing commissions when you fire him?

As far as I know, salespeople are entitled to ongoing trailing commissions even when fired or they quit, unless otherwise specified in the contract.

But really, if you're still receiving value from the work they put in, why shouldn't they?

</comment></comment><comment><USER5> It might be easier to have a quota or a teir system. For example 3 sales/wk = $300, 6=$700, 12 = $1500 and so on. Most good sales people will quickly look in the middle and say, thats easy to hit--and then look at the top bumps and get excited. A good commission structure should allow you to hire many sales people at the same time (since you don't have to pay them if they don't do anything). However, if you don't have a good handle on what your costs are or how much profit each sale is worth you will bleed to death.

</comment><comment><USER6> If you're talking about small amounts ($200/month, not $250,000), then you really mean affiliate sales. Look at Dreamhost for a good example.

</comment><comment><USER7> I know an enterprise b2b webapp that pays 12% of the first year and 3% each year following as the businesses renew.

<comment><AUTHOR> But is the billing cycle yearly for the clients of the webapp ?

My billing cycle is 30 days.

</comment></comment><comment><USER8> The deal is much better/easier for you if you can do it all up front; maybe 100% of the first month?

edit: oh, until they quit. I think if your sales are currently low and this person can deliver, something like 25% would be appropriate.

<comment><AUTHOR> Is that 25% of total revenue for the lifetime of the account ?

So if they register for a $100 plan, every single month I cut a check for $25 to that salesperson, until that customer leaves ?

Is that how it usually works ?

<comment><USER9> Commission = one month's bill is pretty common.</comment></comment></comment>


Calling All Advertisers/Sponsors - <AUTHOR>

Hi!
Are you looking to build your brand/product's user base?
I am seeking tech companies (or websites) that may be interested in advertising on or sponsoring Kompulsa, a PR4 media website that gets over 10,000 unique visitors per month.
Ad rates are negotiable. Please send advertising and sponsorship proposals to email@example.com.
Thanks! <comment><AUTHOR> Also, if you're a recruiter you can advertise your tech job listings on it.</comment>


What it means to have an IQ less than 83 (video) - <AUTHOR> https://www.youtube.com/watch?v=-kVFYzmigx0 <comment><USER2> When you apply the reasoning US Army used in early 20th century for today it's important to remember Flynn effect.

Using IQ level standard used in 1997, average IQ in United States in 1932 was just 80. In other words average IQ was five points below what today is called normal intelligence (IQ between 85 and 115, average 100, sd 15).

Person with IQ 80 in that era was close to 70 today (very low IQ, two standard deviations below normal, only 2 percent of population today).</comment>


Show HN: Watchwords.tv, an auto scrolling ebook reader - <AUTHOR> https://www.watchwords.tv

<comment><AUTHOR> For something more fun to read than my intro try Warbreaker by Brandon Sanderson:

[https://www.watchwords.tv/read/Q6jQrky0m/Warbreaker](https://www.watchwords.tv/read/Q6jQrky0m/Warbreaker)

</comment><comment><AUTHOR> Looking for feedback and first impressions.</comment>


Show HN: A ReactJS Grid Component with infinite scroll, customization, and more - <AUTHOR> https://dynamictyped.github.io/Griddle/

<comment><USER2> I have used Reactable ([https://github.com/glittershark/reactable](https://github.com/glittershark/reactable)) in a recent project and was extremely happy with it. The design was very customizable and the sorting / search functionality I needed was available.

<comment><AUTHOR> Ah, awesome - I'll be giving that a try.

</comment></comment><comment><USER3> Anyone seeing weird search results?

I searched for "dog"

and it yielded these two rows:

Perkins Leblanc Boyd Utah Brunei

Alyce Chavez Bendon Iowa Portugal

I am pretty sure "dog" isn't in either of those rows? What am I missing?

<comment><USER4> You've got to click settings and display all the columns. "dog" is a substring of the company name. Here's the filtering code; it's just a JavaScript `indexOf`:

[https://github.com/DynamicTyped/Griddle/blob/master/scripts/...](https://github.com/DynamicTyped/Griddle/blob/master/scripts/griddle.jsx#L108)

</comment></comment><comment><USER5> Weird behavior on chrome 40 - beta.

      1. Change settings to 100 rows per page,
      2. scroll down to see "Next" button
      3. press it twice (until it disappears)
      4. Page is scrolled down - unexpected behavior.

</comment><comment><USER6> Are there any react infinite scrolling examples that support arbitrary row- heights?

Like if you need to inline images which might be variable sizes.

I think it's probably possible, with some clever caching of row heights and recalculation of some sort, in order to maintain a correctly sized spacer element at the top/bottom. Not seen any examples of it.

<comment><USER7> If you don't know the size of all rows beforehand, AFAIK, it's pretty much impossible to do this without having a jumpy scrollbar.

</comment></comment><comment><USER8> Unless I've misunderstood, and it may be semantics, but I don't see this as infinite scroll. If I had 10,000,000 rows the browser would still struggle with this grid as it needs to keep the React JS objects in memory. I would like to see server side paging integrated with the scrolling.

I haven't tried it yet, so I may be wrong.

<comment><USER9> Its not proper infinite scroll, they aren't removing DOM nodes as you scroll down. But it's rare that any infinite grid can really handle 10m items because they tend to use `top` or an overall height, so the browser would probably choke.

<comment><AUTHOR> Yeah, not rendering nodes out of view came up a little early on in the current implementation of infinite scrolling as something I was looking to do. The only way I could think of not rendering previous rows was to lock a specific row height, which was not something I was excited about (and it breaks down even further on nested tables, which have a state independent of its parent grid).

It's definitely something Ryan and I (or anyone else that might want to contribute) will be revisiting in the near future, potentially as a config option.

</comment></comment></comment><comment><USER10> Is it just me or the "visible" parameter doesn't work at all?

My use case: I have columns A and B and instead of displaying both I want column A with data from B in it. So I thought I'd set B to "visible: false" and then use rowData.b in the custom component of A.

That doesn't work ;-(

<comment><USER11> Sorry about that. There'll be a fix in the .1 release (which won't be too far out)

</comment></comment><comment><USER12> Very nice. I'll likely be replacing my current React table in my project with this!

</comment><comment><USER13> This is what makes me scared of React. Everyone says it's so simple but still you need all these specialized plugins for things that are easy to do without React.

<comment><USER14> React is a component based UI framework, so I find it natural that common components that might exist in some other framework need to be re-created for React.

IMO, the fact that React components can be easily shared with an interface that follows a common pattern is a major strength of React, rather than a weakness.

</comment></comment><comment><USER15> How about infinite horizontal scroll? I haven't seen any JavaScript data grids that are designed to handle arbitrarily many columns.

<comment><USER7> I recently had a problem where I had to render tables that could have around 750 columns and 40 rows. I tried it with angular and it would cause everything to stop for around 90 seconds (that was the initial version with some poorly written directives inside of it, afterwards I tried making another angular one and it still took around 10~ seconds if I recall correctly).

I rewrote it in React and got the render time down to around 600ms~ Not GREAT, but far more acceptable than a couple seconds. It's worth noting that the react version doesn't do anything fancy, it just has to display the table with some tooltips. (There's a lot of room for improvement, for example, I could only render whatever amount of rows are in view and defer rendering the rest.)

I tried Griddle and, if I'm remembering properly, it took around five seconds to render a 750x40 table. The overhead of all the features they provide made it a suboptimal solution for us :(.

Unfortunately, I don't think you can optimize horizontal scrolling as easily as you can optimize vertical scrolling. I looked around as well and was unable to find a suitable library.

<comment><USER15> I was thinking more like 200M rows and 16M columns (sparse - stored as compressed rows), or perhaps a grid cell for every geohash address. The only solution I know of is part of custom GUI toolkit rendered with LWJGL in a desktop app that handled the former case (crashed the first time - worked fine a week later). Obviously far fewer elements would actually be resident in the client at any given time.

More common is that I just don't know how many columns there will be (or the datatype, optimal width, etc) until the user performs a series of actions and renders a particular view. I've shoehorned a solution into extjs that works (not scrolling, just dynamically defined), but I'm always looking for options.

<comment><USER16> _I was thinking more like 200M rows and 16M columns_

I don't think a user would be able to meaningfully navigate a table like that by scrolling it. How would they cognitively track where they are or how to return to interesting parts of the data? IMHO, you should rethink how to display and navigate this data. The user would need sophisticated search/filtering support.

<comment><USER15> It's the same as zooming in and out in a google map - if you zoom out, the server is providing e.g. averaged data. Thinking about trackpad navigation around a map of tiles (sections of a spreadsheet) is probably more relevant than scrolling per se.

A side window let's you navigate at a high level (low res) and zoom in to data-dense areas. Low level / high res navigation in the grid might be used for exploring data from individual sensors, in context with interpolated values.

You can keep the scrollbars from becoming irrelevant by scaling to the size of a logical grid 'neighborhood' of adjacent tiles at the current zoom level.

</comment></comment></comment></comment></comment><comment><USER17> Wow this is very impressive, definitely will be looking into replacing DataTables with this.

<comment><USER18> Not bad but when you get deep into it (as any other grid) it lacks a lot of functionality. For example, it looks like the external data interface only supports a single sort column...

</comment></comment><comment><USER19> <too lazy to read the code right now, sorry> why the rows (tr) of the first table are replaced instead of changing their content (I thought that was the strong point of react)? (attributes added to tr tags disappear when you click next, and comparison of the nodes before/after confirm they're different).

</comment><comment><USER20> Please, put a link to the github somewhere near the top of the site.

<comment><USER11> Thanks for the suggestion -- you're right that should definitely be there. We'll add a github link soon.

</comment></comment><comment><USER21> So many people re-invent this wheel. Please use SlickGrid or Ext.js grid as a baseline.

<comment><USER22> React's rendering works differently than traditional JS apps. He's not re- inventing the wheel, he's adapting it to a new vehicle.

Also, hell, if you want to make a good demo project then re-writing something is a great place to start. A demo project that got me hired was just a designer and I's answer to Adobe Kuler.</comment></comment>


Amazon Seeks to Ease Ties with UPS - <AUTHOR> http://www.wsj.com/article_email/amazon-seeks-to-ease-ties-with-ups-1450835575-lMyQjAxMTA1MDI3MzcyOTMzWj <comment><USER2> I am starting to question whether my Prime subscription is worth it or not. I only have it for the 2 day shipping as I don't watch Prime Videos, listen to Prime Music, etc.

Recently, I attempted to purchase a TV from Amazon. They used a third party courier, XPO, to do a scheduled delivery.

The day before delivery, I get an email from Amazon saying things are on track. Delivery day comes and I wait, wait, wait... Lo and behold the scheduled time comes and goes. I give Amazon a call and they tell me that XPO has had issues all week and that the earliest they can get the TV to me in next week.

No thanks, cancelled the order and went to BestBuy to get the same TV. I ended up spending more time on the phone with Amazon CS than it took to buy the TV from BestBuy.

I dislike when Amazon uses USPS to deliver my packages. Usually the package will arrive in the 2 days like expected but it goes to my local USPS office which will deliver the package the next day.

<comment><USER3> > I dislike when Amazon uses USPS to deliver my packages. Usually the package > will arrive in the 2 days like expected but it goes to my local USPS office > which will deliver the package the next day.

Before I moved West I lived in Harlem, and the USPS was a total sh*t show. The delivery guy for our block would routinely forge signatures to get out of delivering packages to our building, and I'd have to show up at the local post office to claim my packages. Claiming a package involved convincing the postal employee behind two inches of bullet proof shielding that a United States passport is indeed valid identification for federal purposes...

<comment><USER4> It's possible that the quality of service you get from USPS correlates to the city it's operating from. I prefer USPS in my area. Their delivery schedule is consistent. In contrast, UPS will sometimes show up in the morning or as late in the evening as 9 PM and rescheduled deliveries are too commom.

<comment><USER5> UPS has a habit of just leaving a "sorry I missed you" sheet at my building. Several times, I've been home the entire day the delivery happened, but they never buzzed my apartment. They just left without contacting me and saying that I wasn't home as the reason.

</comment></comment></comment></comment><comment><USER6> Now that Amazon is shipping more and more with USPS with their pitiful tracking and erratic delivery, I really don't know why I have prime. It certainly isn't for videos, music, or whatever else they have piled on to it lately. Now that I'm paying sales tax on Amazon orders, if Amazon can figure out same day delivery they will stay my go to place to buy everything. If not they are now the choice that costs more and takes longer.

<comment><USER7> I would for sure pay about $50.00 more a year to only receive packages via UPS. USPS has made some really inconvenient mistakes, and OnTrac has repeatedly left packages in strange locations.

Frankly the only saving grace is that I can have packages delivered to an Amazon locker in most cases. Otherwise Prime has become significantly less convenient than it was when it was UPS/Fedex only.

<comment><USER8> I'd pay $500 more to only receive packages via UPS. Where I live, USPS and FedEx are so bad it boggles the mind.

</comment></comment></comment><comment><USER9> If you're interested in being part of developing Amazon's own delivery system (Amazon Flex, [https://flex.amazon.com](https://flex.amazon.com)), the software team is hiring in Seattle, Toronto and I think Phoenix.

I just transferred internally to it, looks like it's going to be a fun project. Lots of really great people involved.

My username @Amazon.com.

<comment><USER10> Despite being a relatively shitty working place, Amazon indeed have so many great opportunities for engineers to explore their interests and skills.

</comment></comment><comment><USER11> I've noticed that Amazon really has been relying on USPS more at least for my area (West Austin). I have Amazon Prime, and of the last 10 items I've ordered with 2 day shipping (and even overnight shipping), 9 of the 10 have come via USPS. I would prefer if they would come via UPS or Fedex as the item comes right to my door as opposed to me having to find the time to make it to my apartment's main office during their business hours (they close at 6pm), to retrieve my package.

<comment><USER12> North Austin here - we routinely get packages from USPS intended for other houses. Once they mixed up mailbox keys so we got someone else's packages, and then had to track down whose key they got, then followed the chain to get to our package. UPS and Fedex here have been much much better in comparison.

<comment><USER13> It's telling that USPS customers regularly experience these kinds of issues.

Packages that come via UPS are at least handed off with some care. In my neighborhood, USPS is a lottery if your mail ends up in your box or someone else's.

</comment></comment></comment><comment><USER14> Amazons own delivery folk - In my area they are mostly Amazon Fresh or whatever the grocery service is - are excellent for me. It's the strange 3rd party couriers like A1 and OnTrac that do stupid stuff like mark packages as delivered at 7:59 PM (there's an 8PM cutoff) with the package actually appearing the next morning if ever.

<comment><USER15> Amazon just cares about the lowest bid. They still use LaserShip, for example, who has a long-standing and well-earned reputation for being the worst shipping service ever.

I got something sent next-day via Amazon recently and LaserShip made an extremely half-assed first attempt. I had to spend an hour on the phone with a LaserShip rep and pass my phone number along to the driver (who is an independent contractor) to get a second attempt that same day, after they tried to punt it to the next day with no guarantee that a better delivery attempt would be made (I live in a no-doorman apartment building).

The interesting thing is that I wouldn't have even have been able to complain to Amazon until LaserShip noted that they completed delivery -- so I could have spent days or weeks in limbo.

If there were checkboxes on Amazon where I could choose which carriers they couldn't use, I would...even if I had to pay the difference in shipping.

<comment><USER16> That sounds awful. LaserShip was very prompt for me. They promptly lost my package.

"Thank you for your tracking inquiry. Unfortunately, Lasership is unable to confirm control of your package at this time. So that you may be promptly assisted we are deeming this package as Lost by LaserShip. Please contact your Seller for further assistance."

<comment><USER17> This is the premise of the classic Jiffy Express SNL skit.

</comment></comment></comment></comment><comment><USER18> Like USPS, that probably means more Canada Post for us up here as well. Which is unfortunate, because it's definitely an inferior experience. I've even paid extra for two day shipping before, been told it's guaranteed to arrive on a Friday, and had it not show up. Called Amazon and been told it would arrive the next day, because the carrier unexpectedly had a short day on Friday. (WTF) No package on Saturday, so I call again, and find out it's being shipped by Canada post - which doesn't operate on the weekend, but apparently Amazon didn't know that.

<comment><USER19> Same here, I've been using Amazon heavily for all my purchases and recently they started using less and less UPS to my great displeasure. Canada Post is awful to deal with, I've been considering if my Prime membership is worth it at all.

Getting delivery is supposed to be a smoother experience than physically shopping. With Canada Post, or Fedex or Purolator or others, it's not. It's just a major PITA when I have to drive to their distribution center to get a package of soap that I wish they would just have dropped at the damn door.

It's weird to me, because Amazon has "Customer Experience" at the core of their values. The customer experience is definitely degrading with the use of non-UPS delivery.

<comment><USER5> Canada Post is far more reliable for me than UPS. In my building, I've had UPS say that they "missed me", when I know for a fact I was home all day. This has happened on multiple occasions.

</comment></comment></comment><comment><USER20> I was wondering the other day if Amazon should have just outright bought UPS. I doubt it would be in the public's best interest, but it seems like it would make sense for Amazon.

Of course, they seem to be on track to compete directly with them instead.

I told my friend a few years ago that Amazon was my best guess for an existing company to become "the company" from the Alien movies (or other corporate future scifi), and it seems more and more likely every year.

<comment><USER21> I would imagine UPS's union would give Amazon pause.

<comment><USER22> That union wouldn't allow Amazon to cry workers at their desks over the OLR performance purging process.

<comment><USER23> The UPS Teamsters union represents drivers, not desk workers.

There are quite a few non-union employees at UPS.

</comment></comment></comment></comment><comment><USER24> Just so long as it doesn't increase USPS share. The USPS (somewhat understandably) hates coming down my long driveway. But, as a consequence, hangs stuff off my mailbox and overstuffs it (even though it's a very large size), leaving it open. In the winter, I've even had packages basically tossed in a snowbank.

<comment><USER25> A colleague at work and I used to joke that part of OnTrac's shipping pipeline must be a giant machine that blows cigarette smoke on packages and kicks them down stairs. Here's hoping they don't start using them more either.

<comment><USER14> I have the same experience - any time you see a shady dude in a Jetta toss the package on my porch from the street, you know the whole house is going to smell like cigarettes from the box.

</comment></comment></comment><comment><USER26> The bigger problem is that it's taking Amazon longer and longer to ship packages -- unless you have prime. It's not good for the customer.

<comment><USER16> My Prime deliveries used to arrive in 1-2 days. Ever since they started diversifying their shipping partners, I have been getting my Prime packages in 2-3ish days.

I think the real standout was the time where they jammed the package into my vertical-style mailbox on a rainy day, leaving my auto insurance bill soaked beyond recognition. Thanks, USPS.

</comment></comment><comment><USER27> Any other prime members notice that packages take longer then 2 business days to deliver recently?

</comment><comment><USER28> I Love it when Prime is late. Open a chat and let them know you expected it on time and they always give money back or extend Prime. Either is OK by me for the day or two it is late. I even let them off the hook for any tardiness around the holidays.

</comment><comment><USER29> As a Dutch guy who recently moved abroad I have to admit we're extremely spoiled in the Netherlands. There is no Amazon here (neighbouring countries do have Amazon). But our main Amazon competitors (bol.com and coolblue.com) can both deliver almost anything ordered before 10pm by the next day anywhere in the (arguably quite small) country.

And delivery costs would be between 0 and 5 euro depending on the size. Mostly free or 2 euros for both major sites.

Living abroad for a few months has really opened my eyes to how bad this is in the US. And why people pay for Prime.

<comment><USER30> Considering the US has 231x the area of the Netherlands (and the infrastructure is far worse), we rely on hacks, kludges, and private industry for stuff to get from one place to another.

Y'know, if you really think about it, the US is just one big growth hack.

Makes me all the more eager to move back to Poland.

<comment><USER31> Sweden has 30% lower population density than the US, but still a comparatively great postal system. I don't think the large area is the only explanation.

<comment><USER32> I don't think population density is really the right metric:

[http://popdensitymap.ucoz.ru/76.Population_density- administr...](http://popdensitymap.ucoz.ru/76.Population_density- administrative_boundaries-ma.png)

[http://media-2.web.britannica.com/eb- media/89/71789-004-8887...](http://media-2.web.britannica.com/eb- media/89/71789-004-88879E35.jpg)

Russia is almost a third as dense as Sweden. To some extent it really is just the huge distances that makes the problem hard.

</comment></comment></comment></comment><comment><USER33> I guess I've just been relying on Prime too much for the last year, but I wonder: is _Amazon_ relying on USPS more often or are other sellers on Amazon's site relying on USPS? I ask because, as an infrequent seller, Amazon's shipping credit barely covers USPS First Class for the Standard Shipping option that most customers choose. I certainly can't afford to lose money shipping on UPS's slowest/cheapest offering instead.

</comment><comment><USER21> Its funny how different the delivery companies are to different parts of the country. In my particular area of NoDak, UPS is really good and can find people with fairly vague local directions. USPS is pretty ok, but has absolutely no home delivery. FedEx and FedEx Ground[1] have earned my total hatred. FedEx overnight is often FedEx 3 day and they are the only delivery company that has made me drive 90 miles to get a package because they weren't going to deliver it for a week. Never mind the condition of some of the packages we get.

1) I thought they were the same company but was told differently in a pretty rude tone by one of their drivers this was not the case.

<comment><USER34> My experience is that UPS works a lot better in rural areas. When I lived in a small town off the freeway but otherwise in the middle of nowhere, UPS had a very small service center in town (open an hour a day because it was staffed by the driver) and kept 2-day deliveries on schedule. When the whole town was snowed in, they couldn't get the trucks out, but still showed up at the service center so you could pick things up.

FedEx didn't have a service center within an hour, always missed their delivery estimates, and a couple of times declared addresses undeliverable for no clear reason. When the town was snowed in, they just lost a package forever.

</comment></comment><comment><USER35> Funny coincidence, just today an Amazon van delivered some packages to me in Natick, MA. I wonder where the warehouse is; there were a number of blurbs over the last year on different potential warehouse locations. Nothing against UPS but at Amazon's volume it does make sense to integrate the operations. You can imagine all sorts of automation opportunities opening up in the warehouse.

</comment><comment><USER36> As always, click the little link marked "web", and then click the first result on Google.</comment>


List of statutory minimum employment leave by country - <AUTHOR> http://en.wikipedia.org/wiki/List_of_statutory_minimum_employment_leave_by_country <comment><USER2> USA has 'none' ... which seems right, as I can't recall the Constitution authorising the Federal Government to mandate employment leave.

<comment><USER3> I'm British, so please tolerate my ignorance for a moment.

If I understand US law correctly, the constitution can be amended at will, through a process not exceptionally arduous - certainly more difficult than passing ordinary legislation, but not exceptionally so. Many other federal states have similarly strict requirements when passing federal legislation, but have gone as far as to rewrite their constitutions from scratch.

If my understanding is correct, then what explains the US Constitution's position in political culture and discourse? I have been given the strong impression that the Constitution is regarded in many quarters as an immutable guarantee of basic freedoms or a fixed check on the powers of the state, but on a practical level it seems to be no such thing. There is a strong rhetoric in many quarters that if something is allowed or prohibited by the constitution then it is irrevocably and permanently allowed or prohibited, but the history of the document seems to contradict that.

The eighteenth amendment was repealed, why not the tenth? If the sixteenth amendment empowered the federal government to collect taxes directly, what would preclude a twenty-eighth amendment from allowing it to impose basic rights for employees?

It is my understanding that there is a federal minimum wage. Is this unconstitutional? If so, what real political significance does the constitution hold if it is so freely disregarded?

Apologies to all for the barrage of questions, but I have done a reasonable amount of reading on the subject and am genuinely baffled by the almost mythical nature of the US constitution and the apparent gulf between perception and reality.

<comment><USER4> The constitutionality of a Federal minimum wage is questionable. It was ruled unconstitutional in the 1930s along with a number of other expansions of Federal authority, however, the president and congress threatened to increase the size of the supreme court and add enough sympathetic justices to allow the replacement legislation to stand.

Changing the Constitution is intended to be hard. I want my elected representatives to be much more reluctant to change what the government is allowed to do than to change how it does the things it's already allowed to do. I especially want a list of things the government is not allowed to do to me, and I want it to be extraordinarily difficult to remove items from that list.

</comment></comment></comment><comment><USER5> Something else that puts this information in context is the number of public holidays and length of the workweek. Most white collar jobs in the U.S. are 5 days a week in the U.S. but 6 days a week in India, for example. Conversely, India has an amazing number of public holidays <http://en.wikipedia.org/wiki/Public_holidays_in_India> (although most employers will give only a subset of these off).

</comment><comment><USER6> Also, there's something strange with the USA row in this wikipedia article <http://en.wikipedia.org/wiki/Parental_leave></comment>


Spain to Invest €90M in Natural Language Processing Technologies - <AUTHOR> http://www.pangeanic.com/news/spain-to-invest-90m-e-in-natural-language-processing-technologies/ <comment><USER2> Well, weird as it may sound (it is election time yes), it was not an empty announcement. The program was been drafted with the help of relevant universities, experts, Institute Cervantes and technology departments. Some technologies like www.Pangeamt.com will surely benefit.

For once, a long-term view ......

</comment><comment><USER3> Promises, promises... unicorns, fairies and elections time.

In the last time the liesident promised to plant 5 millions of trees in Spain. After the elections, they chopped instead as many old trees in the public parks as they could. Is naive to take this seriously just right now.

Other possibility is that they are trying to spend as many as they can to pass the bill to other.

<comment><USER4> Or we can say all the same it's good news and be positive.

</comment></comment><comment><USER5> Allow me to put a shameless plug for AI / natural language processing technology with API, [http://www.thatneedle.com](http://www.thatneedle.com)

</comment><comment><USER6> This is very weird coming from the Spanish government...</comment>


Pelican Books: Online reading experience - <AUTHOR> http://www.creativereview.co.uk/cr-blog/2014/november/pelican-books-online

<comment><USER2> This looks amazing. It was about time for the publishing world to bring disruptive ideas onto the table. From what I understand, you will be able to read your books on all devices which is definitely something that appeals to me (I hate Kindles!) Will explore the website a bit more - I see you can also read the first chapter for free.

<comment><USER3> What commonly used device doesn't have a Kindle app?

<comment><USER4> I think the appeal of this is that the books are enhanced, visuals, pictures, diagrams in full colour and optimised for the web, etc. - something an .epub file will never achieve.

<comment><USER3> I don't really want my books "enhanced".

Standard epub handles full color illustrations just fine, by the way.

</comment></comment></comment></comment><comment><USER5> Looks great, except the fading of the main part of the screen when the footnote displays. Gets annoying fast.

</comment><comment><USER6> Isn't Stephen King an author for Pelican books ?</comment>


What I Learned as Pandora's First Data Scientist - <AUTHOR> http://firstround.com/article/What-I-Learned-As-Pandoras-First-Data-Scientist

<comment><USER2> Only the webpage's footer loaded for me.

Here is a link to google's cache: [https://webcache.googleusercontent.com/search?q=cache:_EV1X5...](https://webcache.googleusercontent.com/search?q=cache:_EV1X5QwQsgJ:firstround.com/article/What- I-Learned-As-Pandoras-First-Data- Scientist+&cd=1&hl=en&ct=clnk&gl=us&client=firefox-a)

</comment><comment><AUTHOR> Disclaimer: the 'I' in the title is not my first-person 'I'. (Quotative).</comment>


Show HN: Stampede.io – Hybrid IaaS/Docker Orchestation Running on CoreOS - <AUTHOR> http://www.ibuildthecloud.com/blog/2014/08/21/announcing-stampede-dot-io-a-hybrid-iaas-slash-docker-orchestation-platform-running-on-coreos/

<comment><USER2> That bootstrapping is pretty sweet, was that something you guys came up with or did you borrow it from somewhere?

(I'm referring to the stuff in [https://github.com/cattleio/stampede/tree/master/stampede- wr...](https://github.com/cattleio/stampede/tree/master/stampede-wrapper))

> On a scale of 1 to 10, we're at 11 in terms of hacks in this file.

Dont be ashamed, it's awesome!

<comment><AUTHOR> That's something I just came up with. How the containers are setup for the management stack is incredibly complex. The wrapper was created to manage the insanity and hacks. Born out of those hacks was [https://github.com/ibuildthecloud/systemd- docker](https://github.com/ibuildthecloud/systemd-docker) which might be useful to others. It's a wrapper to manage Docker containers under systemd, which is currently quite difficult.

</comment></comment><comment><USER3> For anyone curious who the author it, it looks like he's a Cloudstack developer at Citrix.

[http://www.slideshare.net/DarrenShepherd1/ccceu13-architectu...](http://www.slideshare.net/DarrenShepherd1/ccceu13-architecture) (see slide #2)

<comment><AUTHOR> Hi, I'm Darren Shepherd, creator of Stampede. [https://www.linkedin.com/in/darrensshepherd](https://www.linkedin.com/in/darrensshepherd) I currently work at Citrix with my primary responsibility being an architect of Apache CloudStack. In the past I've deployed clouds based on CloudStack and OpenStack, and written two proprietary IaaS systems from scratch. Stampede is now my third IaaS system I've written from scratch and I'm quite proud that this time it's all open source. For whatever reason, I love infrastructure orchestration and writing these systems is what I've done full time for about the last 5 years.

</comment></comment><comment><USER4> Wait till someone comes out with (Orchestration-as-a-Service)-as-a-Service :)

</comment><comment><USER5> Could someone (OP?) explain what this is in less buzzy terms?

<comment><AUTHOR> From an end user perspective, you can basically look at it as OpenStack + Kubernetes.

<comment><USER5> Well played :)</comment></comment></comment>


Minimum wage is NOT Job loss - <AUTHOR> http://ineteconomics.org/ideas-papers/blog/minimum-wages-job-loss <comment> UK-AL Minimum wage has got to have impact on jobs at a certain point.

If you set minimum wage at 50 USD an hour, there will be job losses.

The question is, what is the point where you start encountering job losses?

<comment><USER2> And some people are pointing to the magnitude of the recent changes in some places in the US, $8->$15 per hour, as an experiment that perhaps hasn't been tried before. It's possible this will be different.

But anyone who claims that minimum wage hikes will affect jobs, is making a hypothesis based on some theory that is far from settled, not a predition based on evidence.

</comment></comment><comment><USER3> Minimum wage argument is a little fruitless, in my view. It's just moving the yard stick with no real gain.

If you said on 1st of Jan the minimum wage was $50, businesses would raise product prices to cover the overhead. That leads to inflation. Suddenly a Big Mac jumps from $2.25 to $14.51. Nobody is better off because the ratio has stayed the same.

Of course you cannot peg the price of the Big Mac because you end up in the same situation as Venezuela.

<comment><USER4> We have actual experience of minimum wage increases, and considerable evidence that they do not, in fact, keep the ratio the same. Yes, they do drive some inflation, so the benefit isn't as great as one would expect considering price levels before the policy, but inflation due to the change in minimum wage does not eat up the benefit at the level of the minimum wage.

Why this should be the case is fairly easy to understand; Minimum wage increases neither create new money nor increase the cost of all inputs (or even all labor) by the ratio between the new minimum wage and the old one, so what they do effectively is compress the gap between the incomes of those making the minimum wage and people higher on the income distribution. As such, the amount of money chasing consumer goods increases (because, while the money supply doesn't increase, more money goes to those with a higher propensity to consume) by less, in total, than the ratio of the new to old wage. But those making minimum wage both before and after have their _personal_ income increase by the full ratio.

</comment></comment><comment><USER5> The article and report qualify "modest" increases in minimum wage. If you are talking about raising the minimum wage to $15, that's not "modest".

Also, the report talks about job growth after minimum wage increases. Causation question: do minimum wage increases correlate at all with periods of economic prosperity?</comment>


Show HN: pyDash – Small web-based dashboard for Linux in Python and Django - <AUTHOR>

I started writing this mostly for the Pi but ended up building it to support multiple Linux OSs.
It's intended to be just that, a small dashboard providing real-time details on the usage. Still a work in progress and was done for fun, there's a demo as well :).
MIT license.
https://pydash.net or http://k3oni.github.io/pydash <comment><USER2> Hmm, all these eval() calls using data from cookies[0]... is this vulnerable to remote code execution? I think those eval() calls should be json.loads().

[0] [https://github.com/k3oni/pydash/blob/1317771275aa118a40df1ec...](https://github.com/k3oni/pydash/blob/1317771275aa118a40df1ec912f86cd6a4f351a4/usage/views.py#L291)

<comment><AUTHOR> Those evals() are valid only if user is authenticated, if there is no authentication then no eval() will be performed on the cookies.

<comment><USER2> True, but just because you trust someone to access the dashboard doesn't mean you trust them to execute code on your server. There are other things to consider as well, like MITM attacks, and that an XSS hole would let the attacker set their own cookies.

The data in the cookies is just JSON, right? If json.loads() would work here you should switch to that instead.

<comment><AUTHOR> Good point there, i'll look into limiting the eval().

I would hope that people won't give access to everyone to the dashboard, wasn't really build for that, or at least that wasn't my initial idea.

</comment></comment></comment></comment><comment><USER3> Clickable [http://k3oni.github.io/pydash/](http://k3oni.github.io/pydash/)

<comment><AUTHOR> Thanks for the clickable link :)

</comment></comment><comment><USER4> Looks really cool. Are there any plans for exposing any of this information via a JSON API?

Would be really nice to integrate some of the key numbers from this into other dashboards e.g. Dashing.

<comment><AUTHOR> Actually it is exposing the data using JSON, and you can grab it by creating a session into Django and accessing the links for the different requests.

Take a look at urls.py, you can grab any of the data from /info/ by making a call to the specific requests.

<comment><USER4> Very nice. I might have a bit of a play with this when I have some spare time :)

</comment></comment></comment><comment><USER5> Cute! I like it. I installed it on my server and it's ticking away quite nicely.

I'd love for the Processes table to have click-sortable column headers.

</comment><comment><USER6> It is rather a 'web-based monitoring dashboard' than a 'web monitoring dashboard'.

<comment><AUTHOR> Good catch, updated :)

</comment></comment><comment><USER7> Looks like a really good jumping off point for quick customizable python management w/ interface.

</comment><comment><USER8> Hmm.. for some reason when I think "small" Django just doesn't come to mind.

<comment><AUTHOR> It could be moved to straight html and css, but i wanted to play with Django, and yes it could be smaller :).

</comment></comment><comment><USER9> nice, but not small :P

this one is really small -> [https://github.com/abimaelmartell/system_monitor](https://github.com/abimaelmartell/system_monitor)

</comment><comment><USER10> Looks very nice. I'm only missing disk I/O as fundamental metric

<comment><AUTHOR> That shouldn't be to hard to add, could be grabbed from /proc/diskstats or /sys/block, i'll look into adding it tonight maybe.</comment></comment>


A day in the life of a stackoverflow moderator... - <AUTHOR> http://stackoverflow.com/posts/16630713/revisions <comment><USER2> I had a moderator change the wording of my writing because they didn't like the way I was doing it, it looked a lot like what was going on here. They revised it such that it partially lost the meaning of what I was saying, but also just didn't come across the way I had intended to write it - so I changed it back. Then they changed it back. Then I changed it back again. Then they changed it back. Finally I changed the post back to my own wording, and I guess the moderator said "fuck it" because the changes stopped.

The mods seem a little power hungry. If you're a SO mod, I'm sure you've got better things to do than correct tiny grammatical quirks that make people who they are - try focusing on the bigger issues.

Edit: Ahh, mine wasn't quite this dramatic - I didn't notice how many revisions there were. This is hilarious and sad.

<comment><USER3> I doubt it was a moderator that edited your post. Moderators are unlikely to engage in edit wars because it would be easier for them to lock the post.

Your post may have been edited by just another user. Look for a diamond ♦ in the username. The diamond indicates that the user is a moderator. However, any user with 2,000 rep or more can edit posts. There are a lot of 2k rep users on Stack Overflow! Some of them are teenagers (look at the profiles).

</comment></comment><comment><USER4> What kind of jerk has his question answered by the Stackoverflow community, then insist it be pulled so others don't benefit?

<comment><USER5> Revision #8 is insane... I don't understand what goes through his head

<comment><USER6> He tries again at #19. What a shame...

</comment></comment></comment><comment><USER7> Let's just hope this doesn't get renamed to "Revisions" by some misanthropic, overzealous HN invisimod.

<comment><USER8> kunai your posts aren't showing up

jk

</comment></comment><comment><USER9> If you want to read answers from the Stackoverflow moderators(or Diamond users as they are called) you might want to check the discussion on meta.stackoverflow.

[http://meta.stackoverflow.com/questions/166623/what-is-a- day...](http://meta.stackoverflow.com/questions/166623/what-is-a-day-in-the- life-of-a-stack-overflow-moderator-like)

</comment><comment><USER10> This must be the part of the day where the moderators aren't closing _useful_ questions due to subjectivity.

I really wish they could just have a "subjective" flag and let users filter out those posts as they see fit. Some of the closed-subjective material is quite useful, as it contains the _hows_ and _whys_ behind developers choosing a framework or widget or technical solution over another.

</comment><comment><USER11> I think this was supposed to show the crap Stack Overflow power users have to deal with, but I think it more clearly shows some of the worst qualities of the Stack Overflow moderation system.

With a large caveat that moderators have the ability to scrub context from a problem question (e.g., comments) and user (e.g., deleting their past submissions), this is what appears to the outside world:

* A new user asks what they think is a dumb question.

* They get an answer. Still thinking it was a dumb question and not knowing how Stack Overflow works, attempts to blank out the question and request deletion.

* A user with 22k rep (i.e., a power user) goes in and rolls back the question.

* The asker rolls back the rollback.

At this point, the appropriate thing to do is flag the question for a moderator (important addendum: _and move on_ ). That doesn't happen. Instead:

* The power user—who really should know better—gets into a petty rollback war with the asker, and the question gets reverted 15 times in 5 minutes before _another_ power user steps in and reverts it.

* The roll back wars stop, but an hour later a diamond moderator steps in and locks the question anyway. (Correction: I originally said it was unlocked 45 minutes later, but child comments correctly point out it was unlocked automatically a week later).

* The asker, who by all appearances has asked a single question, gets banned for 15 years.[1]

* The question, while not the best question ever, is decent enough and gets interesting answers but somehow gets a -35 score (edit: now down to -41 in the 20 minutes since I posted this comment), making it one of the worst questions on the site.[2] The comments[3] speculate that it was due to the edit war. So much for voting on a question instead of the person.

It's stuff like this that drives people up the wall when it comes to Stack Overflow and Stack Exchange, and it happens way too easily (I know I slipped into it a few times during my time as a Stack Exchange power user).

[1]: [http://stackoverflow.com/users/2398036/user2398036](http://stackoverflow.com/users/2398036/user2398036)

[2]: The questions page, when sorted by votes, only goes to -27 on page 410,195: [http://stackoverflow.com/questions?page=410195&sort=votes](http://stackoverflow.com/questions?page=410195&sort=votes)

[3]: [http://stackoverflow.com/questions/16630713/is-it-true-in- py...](http://stackoverflow.com/questions/16630713/is-it-true-in-python-that- you-can-import-specific-functions-from-a-module- unlike#comment29684251_16630713)

<comment><USER12> 15 years?! I didn't know moderators could set arbitrary dates for a "temporary suspension". A month would be reasonable for a first offense I would think.

<comment><USER13> It was an automatically created "session" user ([http://meta.stackoverflow.com/questions/44557/why-should- i-r...](http://meta.stackoverflow.com/questions/44557/why-should-i-register- my-account)), an anonymous user given an ad hoc account which they can later convert into a normal account. I don't know that issuing this ban in itself blocks that person from signing up for another account tomorrow. Places like Wikipedia get more sophisticated to prevent so-called "sock puppetry", I'm not sure if SO does the same automatically when an account is banned.

</comment></comment></comment><comment><USER14> Life of a stackoverflow moderator - closed as off topic :)

</comment><comment> plus- The diff algorithm is a bit weird

<comment><USER15> It's trying to do word-by-word diffing, since English isn't code, but, unlike Word and other tools that attempt to do that, it doesn't have e.g. cursor movement history to make the editing sane. Thus, that's what you get.

This is a similar problem to what you have on other diff programs, by the way. Any sane diff tool will give you an equivalent diff to any other one, and it'll give you an equivalent _minimal_ diff as well, but the _human friendliness_ of the diff varies widely on the algorithms selected. The best tools I've seen use some source awareness to give you a diff that can pick up that e.g. you removed an "if" guard and then unintendented its child block. The worst do a greedy linear scan to make their patches. Most tools I use (especially ones based on a recursive algorithm) are in the middle.

</comment></comment><comment><USER12> I like this user. He seems fun to mess with. :)

</comment><comment><USER16> I like how the latest revision is a cleanup edit that introduces another typo.

<comment><USER17> its probably an attempt at a "reddit roll"

</comment></comment><comment><USER18> Amazing post. I feel like CS courses should have requirements that make them take up some of this duty.

<comment><USER19> Please no. That would be worse than the existing situation; many of the problem cases on SO _are_ CS students.

<comment><USER20> If anything we need high schools to actually teach how to write effectively and concisely, not fill out a 5 paragraph template for 4 years. Too many kids go into college and coast on writing bullshit and fluff.</comment></comment></comment>


Comcast to bring IPV6 to residential customers starting in 2010 - <AUTHOR> http://www.internetnews.com/infra/article.phpr/3825696/Comcast+Embraces+IPv6.htm <comment><USER2> Color me purple! Now I can finally do away with NAT!</comment>


Ask HN: Should Gridspy avoid Flash? - <AUTHOR>

As you might know, Gridspy the a power monitoring solution that I am developing. Suffice to say it is totally awesome. Working dashboard here : http://your.gridspy.co.nz/powertech/
Right now, we use the jquery sparkines library : http://omnipotent.net/jquery.sparkline/ and some rendered PNGs to show data. The sparklines are JS and render to canvas. All good.
Enter the Google Visualisation library : http://code.google.com/apis/visualization/documentation/gallery.html
Now some of these are totally awesome. One in particular grabs my attention: http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html
However : this annotation requires flash. Do I avoid it for that reason? Should I just query the client to see if they have flash and selectively degrade to an alternative (such as http://danvk.org/dygraphs/)?
So, overall, how evil is Flash in your opinion? <comment><USER2> If it's significantly faster to do what you want in Flash, do it that way first. Your users are almost certain to have it.

Most of the conversations of the evilness of flash are limited to the HN sort of audience. I don't think that the internet audience at large really cares about it all that much.

If the features end up being really useful and you decide you hate Flash, you can revisit it and write it in something else later.

If the features end up not getting used, then you saved yourself a bunch of time on a feature that didn't end up being a big deal.

</comment><comment><USER3> I recently opted to swap jqplot for google vis for some reporting functionality. Losing the annotated timeline was painful, but I think, in the end, workable (jqplot can link the zoom together on two charts so that one of them is the thumbnail).

Flash was part of the reason I switched; I was not wholly comfortable with [what I perceive as] the fragile and convoluted page load dependency between google vis and jquery (perhaps you have a better way).

<comment><AUTHOR> jqplot looks great. Thanks for the suggestion!

</comment></comment><comment><AUTHOR> Hot :

Dashboard: <http://your.gridspy.co.nz/powertech/>

Jquery sparklines: <http://omnipotent.net/jquery.sparkline/>

Google visualisation: [http://code.google.com/apis/visualization/documentation/gall...](http://code.google.com/apis/visualization/documentation/gallery.html)

Annotated timeline (the flash one): [http://code.google.com/apis/visualization/documentation/gall...](http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html) <\-- Should I use this?

DyGraphs: <http://danvk.org/dygraphs>

</comment><comment><USER4> I don't think flash is "evil", but as I often am browsing around on my iphone, a nicely degrading site is a godsend. This seems like the type of site someone might add to their home screen and check periodically.</comment>


Zapier, 100+ Connected Services, a Year in Review - <AUTHOR> https://zapier.com/blog/2012/10/31/zapier-100-connected-services-year-review/

<comment><USER2> Congrats guys - very cool service, and it's always appreciated to see some details on the "how we got here" part of the business.

<comment><USER3> We figured some people may appreciate the back story especially given the light-on-details funding announcement on TechCrunch.

</comment></comment><comment><USER4> In 5 minutes I created a zap that creates a text file in my skydrive when a github issue is created. That is absolutely amazing - this is a killer product.

</comment><comment><USER5> You guys have executed really well. Great product. Glad to see fellow Missourians step up and do cool things.

</comment><comment><USER6> Great work and fantastic product, guys!</comment>


Risk for Dementia May Increase with Long-Term Use of Anticholinergics: Study - <AUTHOR> https://www.nytimes.com/2019/06/25/health/dementia-drugs-anticholinergic.html <comment><USER3> Can someone please link to the study? I take an anticholinergic and like to stay on top of the latest information. So far the actual study output has been fairly disappointing in quality, and the public rationale for not taking the drug is more subjective-intuitive, getting suppositional and reaching feels- right conclusions when one could reasonably expect hard measurement.

I'm not against quitting but I'll be damned if I'm going to take my finger off a button that consistently provides me 8+h sleep and obliterates depression symptoms without being really circumspect about it. Also, no family history of dementia here.

<comment><USER4> [https://jamanetwork.com/journals/jamainternalmedicine/fullar...](https://jamanetwork.com/journals/jamainternalmedicine/fullarticle/2736353)

<comment><USER3> Thank you!

</comment></comment></comment><comment><USER5> Most OTC and prescription medicines carry a note along the lines of "the long- term effects of this medication have not been evaluated". When they _have_ , the long-term studies are generally on the order of 2 years, rather than decades. For most medicines, the long-term use risks are probably just hepatic and renal damage, or slow-building tolerance. But we seem to have an increasing list of things which threaten significant indirect dangers over the long term.

Anticholinergics, the medicines in the article, have been suspected for quite a while, though proof has been lacking. Acetylcholine is a neurotransmitter, after all, and cholinergics improve brain function in choline-deficient patients. It would almost be surprising if they _didn 't_ cause some long-term mental effects.

Antihistamines clearly cause short-term sedation and 'brain fog', and are another short-term medicine which many people take regularly for years. I don't know of any equivalent study, but I've heard a number of doctors express concern.

Proton-pump inhibitors (i.e. acid reflux meds) are one of the most widely- consumed medications in the US. They've also been linked to dementia in several studies (which are contradicted by several others), and have much less disputed associations with gut bacteria changes that can lead to infection and gastric cancer.

Amphetamines (i.e. Adderall) are another obviously-psychoactive medicine studied over short/moderate terms, with primate studies suggesting increased Parkinson's risk at human dosages. This one is a special case, though, because the full risk seems to be incurred after even brief use despite the harms appearing much later.

Add to this the stack of worrying-but-vague results showing that many drugs alter gut bacteria, and implicating gut flora in everything from IBS to anxiety to Parkinson's.

It increasingly looks like we're running a whole-population study on ourselves, distributing medicines to millions of users with no idea what they do over a lifetime of use. I don't see an obvious cure for this - <USER2> decades of data before authorizing medications is both unethical and impractical. But long-term drug effects are a disturbingly good explanation for the rising frequency of a whole host of long-term diseases.

</comment><comment><USER6> > It's possible, for example, that some people taking antidepressants might > actually be being treated for what will turn out to be an early symptom of > dementia...

In short, take these kinds of observational studies with a grain of salt.

<comment><USER7> Cool, these medicines I'm taking may or may not ruin my brain forever! The science is not quite in yet. Even though they destroy my short-term memory, in the future, who knows! Boy howdy.

<comment><USER8> Epistimology is a real pain - unless you can see the future you cannot know except in retrospect. Even the "safe" old option may turn out to not be so with increased understanding so caution in all approaches is advised. We treat cancer with known carcinogens for one.

<comment><USER7> The problem is they pass them out like candy and seem to assure you it's totally okay, but we have no idea what it's actually doing to us.

I personally find sleep, exercise and sunlight does far more. However I also understand not everyone is like me. Still, it's kind of crazy.

<comment><USER9> I was amazed how many doctors, therapists, family members, friends, etc. immediately jumped to recommending anti-depressants, anti- anxiety medication, anti-psychotics, or some other medication that will likely have long term or even permanent affects on ones brain after prolonged use rather than attempting to address the root of my issues when I decided to begin seeing a therapist regularly.

</comment></comment></comment></comment></comment><comment><USER10> Don't eat Datura every day. Got it.

</comment><comment><USER11> all the pills in the world cant replace diet and exercise

</comment><comment><USER12> Does everyone on HN have NY Times subscriptions? So many articles posted here are from there and I can't read them without going through lots of hoops.

<comment> shaki-dora At $10/month it's really worth it, although you have to remember to cancel and resubscribe after a year.

They do an awful lot of important investigative journalism, and I don't want to see what a society without such work looks like.

<comment><USER13> Interesting post to be getting down voted. I personally don't subscribe, but I value opinions that are different than mine (which include all media outlets, on all sides).

I DO subscribe to the Wall Street Journal, which is worth the cost to me. I'm a stock market junkie so there's that.

<comment> shaki-dora HN hates the news media and expects hobbyist bloggers and youtubers to become reliable and comprehensive sources of news any day now...

I guess people still see the WSJ and NYT on opposite ends of a spectrum. But while the ideological differences persist, I think the more significant difference these days is between reputable outlets and those that are not. On that axis, the WSJ and NYT are both fine, as are a few others.</comment></comment></comment></comment>