Ubuntu Server tech lead: The real problem with Java in Linux distros - <AUTHOR> http://fnords.wordpress.com/2010/09/24/the-real-problem-with-java-in-linux-distros

<comment><USER3> Watching this discussion makes it painfully obvious that the most vocal opposers to the post are those who have never used unified software package management. Sorry, guys, but you complaining how broken package management is when all you know is the google, browse, download, run, next-next-finish dance doesn't exactly help.

I don't want to know Mozilla released a new Firefox. I don't want to have to run it to find out. I don't want to know there is a new Java available and I don't care which version of OpenOffice is the latest and greatest. Or bzlib, or glibc. Or Python, Ruby, CMUCL... If the packaged version is good enough, I don't want to waste my time managing my computer, not a single minute. I'll let the system-wide updater do its job.

And that's what a unified software package management system (I use APT) does for me. It does its job so that I can do mine.

In the parts I need more control, I skip the whole thing and install my own programs in any way that makes sense for the specific product. My distro provides a reasonably up-to-date Python, but if I am to muck around libraries that conflict with the packages provided by the distro, I will use a virtualenv, which is a stand-alone Python environment, with its own libraries and easy_install/pip. This is similar to the "bundle your versions" approach, but, rather than the norm, it's the exception.

<comment><USER4> We're quite lucky, really, that Python by default installs cleanly into /usr/local.

<comment><USER3> Indeed. We are the lucky ones.

</comment></comment></comment><comment><USER5> "Linux distributions must build everything from source code."

No, they don't have to. That's a self-imposed rule that's beneficial in some cases but not others. When an upstream developer releases nothing but source code, I appreciate the fact that the distros compile it on my behalf. But when an upstream developer (like Mozilla or Google or all these Java developers) releases a fully built and tested binary, I'd prefer the distros to just pass that on to me.

<comment><USER6> That's impossible because the distribution is responsible for the updates it provides. If you package libraries with your program alla Firefox, Chrome, or Java, you simply make your program unmaintainable and unsupportable from the distro point-of-view. This is true of Ubuntu, as well as Debian or RedHat. This way of thinking is incompatible with basically _all_ of the major distros.

<comment><USER5> Honestly, I don't even want to get apps from distros at all; I'd prefer to get tested binaries directly from upstream, but all the disagreement over package formats and such makes that nearly impossible. I feel like distros have painted themselves into a corner with their rigid policies and now they're complaining about it.

<comment><USER7> I agree. I'd much rather be able to go out to, as an example, mozilla.com and download the latest firefox in an easy to run installer (like I can do on Windows), than have to upgrade my entire fricking OS just to get the latest Firefox.

Again, just using Firefox as an example. The same applies to most end user apps, stuff like Java and Flash, etc.

<comment><USER8> In the case of Firefox, I don't even want an installer. I like the OS X install process for Firefox (and many other apps): copy Firefox.app to /Applications. That's it.

<comment><USER9> As much as I love application bundles, I'd like to point out that this method of distribution leads to code duplication. For example, almost every popular OS X application ships its own version of Sparkle and Growl (to verify this yourself, cd into the app bundle and go to Contents/Frameworks).

<comment><USER7> Does it matter? Disk space and ram are both cheap and plentiful. The difference in disk space or ram taken by apps on an average OSX desktop, and average Windows desktop, and an average Linux desktop seems to be negligible.

<comment><USER10> _Does it matter? Disk space and ram are both cheap and plentiful._

That just sounds like promoting a culture of waste to me. "Do we need to care about resources?" "Nah, disk and RAM are cheap, and our users won't mind paying for more of it."

What happened to elegance, efficiency, and modular, maintainable design? Just because you have a shiny box with 8GB of RAM and a terabyte of space, it doesn't mean everyone does, or everyone should have to.

 _The difference in disk space or ram taken by apps on an average OSX desktop, and average Windows desktop, and an average Linux desktop seems to be negligible._

I'm not sure you can meaningfully make this comparison since the platforms (at least at the GUI level) are quite different. A better test would be to take a "standard" Linux system, and then create a "bundled" system that has each app in its own directory with all its dependencies bundled with it (perhaps leaving out some of the fundamental ones like libc). A little bit of common reasoning would suggest that memory and disk usage would be affected greatly.

<comment><USER11> > What happened to elegance, efficiency, and modular, maintainable design?

Each app having it's own copy of the libraries it needs is actually MORE maintainable.

It's not uncommon for a newer version of a library to introduce a change which breaks something in your app. One example from my work: we tried building with a newer version of Qt and all our text was suddenly getting rendered upside- down due to changes in how Qt uses OpenGL. If we had been using the system copy of Qt, it would have been our customers seeing this problem instead of our dev team.

There are other advantages too, but to my mind this alone is enough reason to bundle libraries with your app.

<comment><USER10> But is that the common case? Or is the common case that, on occasion every now and then an incompatible change is introduced, but much much more often bugs and security issues are fixed that your users will benefit from immediately, and not have to wait for you to release a new version with new bundled libraries.

I'm a bit surprised that the Qt guys would make an incompatible change during a stable series. Is it possible you were relying on undocumented behavior that was subject to change?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> _The next obvious solution is to make separate packages for every version of library that the software uses. The problem is that there is no real convergence on "commonly-used" versions of libraries. There is no ABI protection, nor general guidelines on versioning. You end up having to package each and every minor version of a library that the software happens to want._

I don't understand why this is a problem exactly. If a dev runs and tests against a particular version of a library, use that version. Even minor updates in libraries can cause problems. If the library has a security issue, blacklist the version and force the upstream dev of both the library and the app to acknowledge the issue and release a new versions of their projects.

<comment><USER12> Force upstream to fix a bug and release a new version? And what if they don't? Quite a few packages in Debian have somewhat dormant upstream authors - <USER2> packages work, perhaps needing a few patches to compile with the latest versions of common libraries, but the original author has essentially moved on.

Consider:

 _libfoobar has a bug in at least one version seen in the wild. Is my system safe?_

If your distro packages just one or two stable versions of libfoobar, any package that depends on libfoobar is either OK or not OK, and if it's not OK, you can patch the bug in one place and you're safe again. If upstream is dormant, perhaps the current package maintainer can fix it.

If there are various versions of libfoobar being linked by individual apps, you need to check every app for the flaw and work with both the app author and libfoobar's author to determine whether the flaw exists and how to fix it. Upstream libfoobar might say the bug has been fixed in the latest release, so just upgrade to that. Upstream app then has more work to do, and may be in denial about the importance of the bug. And if the source isn't available for the precise libfoobar bundled with the app, the package maintainer would have to either (a) rework the app to work with a stable system version of libfoobar, (b) package the odd version of libfoobar separately, and link that, or (c) delete the package from the distribution.

<comment><AUTHOR> If upstream won't, can't, doesn't want to fix an upstream bug, then no one wins. Distributions patching upstream outside of the original source is a bad a idea -- other distributions need the same fix most likely. Kindly convincing the upstream app to rework their app with the new stable library is the ideal.

I realize it's a give and take, but the blog post is putting the blame squarely on the java dev's shoulders.

</comment></comment></comment><comment><USER13> This is synonymous with Zed's recent Python rant, and the "DLL hell" mentioned previously.

FreeBSD went through the pain of extracting itself away from its perl dependency years ago. And, it's way better for it. There's nothing like a minimal install. A nice, clean, empty slate.

</comment><comment><USER14> This sounds peculiarly like the issue of "DLL Hell" on the Windows platform. Ultimately, you either hope that the shared libraries match, ship with the DLLs you need, or (as a newer option) throw your chips in with WinSxS -- where the cure might actually be worse than the disease.

Maybe the fact that Java grew out of the proprietary world is part of the reason why it doesn't play nicely with open-source/free operating systems.

<comment><USER15> I think it's because Java sees itself as its own operating system, and because it started out with a pretty crummy module system that's only been incrementally improved over the years.

<comment><AUTHOR> And unfortunately the crummy module system improvements slated for JDK7 (Project Jigsaw) have been pushed to JDK8.

</comment></comment></comment><comment><USER16> It's not just Java. Python is stuck at 2.4 in most Linux distros, and arguably Python's been a symbiotic part of Linux's success.

<comment><USER17> I just don't see this being true. In what distro is it _stuck_ at 2.4?

<comment><USER6> Maybe RedHat, but it's about it. Even Debian Stable comes with 2.5.

BTW this rant about impossibility to upgrade is a classic one and nonetheless wrong. You're perfectly able to install new versions of python, or perl or whatever given that you do that in /usr/local to keep the official version alongside the new one. I do this all the time, my system comes with perl 5.10 but I regularly install the newest releases in /usr/local, or even development versions. No problem.

</comment></comment></comment><comment><USER18> "The problem is that Java open source upstream projects do not really release code"

Wait what... If projects do not release source which you can modify, build and repackage, does it really deserve to be called open source project?

And I thought also that integrating different projects was distributions main task. Isn't that exactly what he is talking about? Distros like Debian already backport massive amounts of code in a lifetime of a relase to get all stuff working with their specific versions. Does Java really differ that much?

<comment><AUTHOR> Of course open-source projects release their source code. He's just being silly.

</comment></comment><comment><USER15> How is this not also true for things like Ruby (gems), Perl (cpan), etc?

<comment><USER12> Ruby, Perl and Python packages usually come with a README that says:

      This depends on these external packages: ...

Java programs usually come with a bunch of .jar files which were once independent packages, but have been dropped into the release itself. No dependency problems!

Then, if someone wants to package a Java application for Debian, the process is:

1\. Look through the collection of .jar files in the release

2\. Do you recognize one of these as already being packaged for Debian?

3\. Work with upstream to delete that .jar from Debian's copy and depend on the system's version instead

4\. Repeat for every other .jar in the release, until you hit a wall

5\. Upload the package to Debian with an acceptably small number of bundled .jars

6\. Time permitting, get someone to package the other .jars that aren't available in Debian yet

That said, you can cause a similar amount of trouble in other languages, it's just not the convention (thanks to the success of gems, CPAN, PyPI). For example, Ubuntu appears to have deleted the sagemath package because upstream keeps their own patched copies of dozens of libraries they depend on:

[http://packages.ubuntu.com/search?keywords=sagemath&sear...](http://packages.ubuntu.com/search?keywords=sagemath&searchon=names&suite=all&section=all)

<comment><USER19> They generally do much better than a README: machine-parseable is the way to go.

Perl (CPAN) packages include a YAML file that specifies what other modules (packages) and what minimum version of each is required to configure, build and run the package. There's an ecosystem of tools available for turning a Perl package into an RPM or deb, some of which can even work recursively. Even before the YAML was standard in CPAN packages, it just wasn't that hard to parse out all the "use" and "require" statements to automatically detect all the required packages (and minimum versions of those). There's also a unit testing framework to make sure you don't accidentally introduce any incompatibilities with untested newer versions of required packages.

I haven't dealt with Ruby quite as much, but the gem format also includes dependency information and there's gem2rpm for RPM and dpkg-gem for deb packages.

I think I've only ever once had to build an RPM or deb package of a Python package, but Python seems to natively support building both formats; just call the same "build and install" method you'd usually use with an extra argument and you get a native package, which will use dependency information if the python package provided it.

</comment></comment></comment><comment><USER18> I think the real problem is that there are too few package maintainers for Java packages, and the upstream binaries are usable enough that there is less incentive to become a Java pkg maintainer compared to eg C packages.

edit: also, I don't believe in either of his solutions. Real solution imho would be to patch upstream source to work with distro provided libraries (of course in some cases patching the library is also viable alternative).

<comment><USER20> I think the real real problem is that assuming a "package maintainer" must exist for every single goddamn software package for every single goddamn Linux distribution has very obvious human scalability problems.

Just because an infinite number of monkeys appeared to create Debian does not mean it is a safe assumption to assume that there are many other groups of infinite monkeys out there to support every other software ecosystem.

Eventually, the Linux community will figure out that they've run out of bodies to build the same crap over-and-over and 'binary compatibility' will stop being a dirty word.

</comment></comment><comment><USER21> The real problem is Linux package management.

Stop worrying about duplicating files: disk is cheap.

Stop worrying about building everything from source: I'd rather use the official Firefox than the screwy patched version. (I'm looking at you, Debian Iceweasel.)

Just look at the way OS X does things.

I've been using Linux since 1993 and it's amazing this crap hasn't been fixed by now.

</comment><comment><USER22> _We want to avoid code duplication (so that a security update in a library package benefits all software that uses it)_

The crux of the problem seems to be the Big Brother attitude distros take toward users and apps, specficially protecting users from unpatched vulnerabilities in upstream apps.

While this is crucial on servers and mass deployments, it's entirely possible users find this more of an annoyance than a feature, and thus we may have to wait just a little while longer for the so-called Year-of-Linux-on-the- Desktop.

</comment><comment><USER23> Some have suggested that maven as a solution. I guess the only part I'm missing is how maven ties into the actual system. From what I've seen it is always pulling from my ~/.m2 repository, or a full repository upstream. Is there a way to have like a "System" repository that yum/apt/etc could install into?

<comment><USER24> Getting things to build with maven's idea of a build process has traditionally been tough, but it's pretty good for auto-downloading dependencies. Usually I needed a shell script that had maven download some, then wget'd a few more (that, for licensing reasons, couldn't go in an upstream server).

Unless a slightly-customized maven is distributed, you'd have to put a ~/.m2/settings.xml in the new-user template that specified your local repository. Which isn't too bad.

<comment><AUTHOR> Apache Ivy is another solution for auto-downloading dependencies but plays nice with Ant.

</comment></comment></comment><comment><USER25> I think we need a radical break with the past to solve the horrible dependency nightmare we're looking at today. These would be my initial principles:

There should be _one_ unified Linux OS that only includes the bare minimum set of applications. It should be very clear what belongs to the OS and what doesn't. The root directory should contain exactly three sub directories: os, app and home.

There should be no dependencies on any non OS software. Each application should live in its own subdirectory of /app. Libraries that are not part of the OS should not be shared across applications. The only external dependency an application should have is the OS.

Whatever the new solution is, it should not include package mangers or package maintainers. Their existence is a symptom of an overly complicated system.

I realise that having a central registry of all installed software components does have advantages like being able to fix some security issues in one place. However, I think the idea has failed. It creates too many intractable dependencies, it is too complicated and hence ultimately insecure and unproductive.

</comment><comment><USER3> One thing that always shocked me is how many Java apps play "library bingo".

There is no reason to use _every_ third-party library available. IDEs make it easy to introduce all kinds of weird dependency in your code, but, please, don't.

</comment><comment><USER26> Why should one solve that jar-hell?

There is a "standard" JRE. OpenJDK is already included in any distro.

You think we should include all up-to-date crap with all dependencies? No. It is not our problem.

<comment><USER18> Who is 'us' here?

<comment><USER26> In this case - sysadmins.</comment></comment></comment>


Hacker News for Healthcare - <AUTHOR> http://www.thehealthful.com/

<comment><USER2> <http://www.hackermed.com/> was first..

<comment><AUTHOR> They're more focused on medical research, not health broadly (life sciences, services, insurance, etc.).</comment></comment>


Pre-existing condition protection lost under Trump? - <AUTHOR> There were clearly issues with Obamacare that need to be fixed and I hope they do.  However, there is a key provision that we should all be worried about.  The loss of the pre-existing condition protection.  If you are self-employed with pre-existing conditions and this provision is lost, you'll be compelled to have to work for a corporation again (assuming you still have the protection there).  Hmmm.  I thought being self-employed with a very small business is part of what "makes America great"?? <comment><USER2> My guess is that Republicans will keep the restriction that insurance companies cannot deny pre-existing conditions. However, without the individual mandate that would bankrupt every insurer within short order. Avoiding that outcome is, afterall, the entire function of the mandate.

So what I expect to happen is that Republicans will cover the insurance companies' losses with some kind of new Medicare/Medicaid programs. However, over time (or maybe in short-order) it'll effectively be a blank check for insurers, funneling money from the government into private industry. Typical of similar Republican-designed programs, it'll be an unfunded expense adding to the debt. (The GOP is still the party of Dick "the deficit doesn't matter" Cheney.) Though, I have no doubt it'll become fodder for more anti-entitlement rhetoric from the very same politicians and pundits who supported the program.

I've already invested heavily in some insurance companies with proportionally large Medicare exposure. Unlike most health insurers, those companies actually took a nose dive yesterday, presumably based on the intuition that without Obamacare the Medicare/Medicaid spigot will shut-off. So, to my mind it was a doubly good investment, as companies like UnitedHealth were already up double- digits, making them less appealing to me (too much upside gone).

It's definitely a gamble. Who knows what Trump will do. But many Republican leaders have already stated that they don't think it's politically feasible to remove the pre-existing condition limitation altogether. Likewise, they've made it clear the mandate will go. The logical way forward would be to back- door kickbacks to insurers through Medicare/Medicaid. And unlike Obamacare it's much more likely to provide out-sized profits for insurers.

I suppose one alternative is just to allow people with pre-existing conditions to get on Medicare. But I think that's too openly pro-entitlement. Republicans like to grow entitlement programs like everybody else (it's what gets votes), but they prefer to obscure things so their policies and budgeting isn't openly contradictory with their rhetoric. (That's fair game, however it also makes it easier to hide deficit spending. When spending is out in the open the electorate is forced to make hard choices; when you hide deficits the feedback process breaks down--the electorate isn't forced to reconcile the specific costs of the program with the specific benefits.)

<comment><USER3> Seems like a single payor system might solve some of the problems...and create some new ones.. Trump needs to address this fear very soon as it impacts so many folks.

<comment><USER2> At the end of the day Congress controls policy, not the President. The Republicans control both houses of Congress, and a single-payer system is even more anathema to Republicans than Obamacare.

The Democrats can stonewall, but that has it's limits. While the Democrats might be able to forestall the complete erasure of Obamacare, the individual mandate is certain to get the axe. Without the mandate, the insurance system will fold unless Congress funds the losses, forcing the Democrats hand.

There's no reason to think Trump would oppose this or any similar scenario. And even if Trump wanted single-payer, it's simply not possible. No Republican Congress would pass that, at least not in the foreseeable future. For 6 years they've made it clear they'd sooner see the country burn than even acquiesce to Obamacare, let alone promulgate something more radical to their current political ideology.</comment></comment></comment>


Rebekah Jones' firing the Covid clickbait the media dreams of but it's all fake - <AUTHOR> https://tallahasseereports.com/2020/05/20/rebekah-jones-firing-is-the-covid-clickbait-the-media-dreams-of-but-its-all-fake/ <comment><USER2> From a comment on the linked page:

> Well that's a solid hit piece, considering she doesn't actually have a > criminal record; all of the cases that the author highlights were nolle > prossed or no info'ed, and wouldn't be admissible in any court, except the > court of public opinion. This was 100% a character hit piece.

That said there isn't enough information out there to understand why Jones was fired or removed from the project in the first place. Journalists have already requested internal memos under Florida's Sunshine Law, the truth will come out over the next few weeks I assume.

Sounds like it might have been a workplace argument that led to a reassignment and then a firing because of her email letting her contacts know not to contact her re: the dashboard anymore was construed as suggesting a coverup.

The sexual harassment stuff or prior problems with the law seems totally unrelated and just something that was dragged up after this hit the news.

<comment><AUTHOR> That's true--her prior possible crimes or status as a sexual harasser shouldn't be relevant to the specific question of whether something improper happened.

In 2020, of course, it's unfortunately quite relevant in the court of public opinion.

For us in the cheap seats, it's interesting data as we watch the story unfold, and wonder what actually might have happened here. Nothing we can do about it either way. It's a reminder, though, not to jump to conclusions at every headline. Most truth is never revealed, and even that that is is rarely revealed promptly.

<comment><USER3> You meet Bill. Bill wants to work for you. Bill is a nice guy and is qualified to do the job.

You run a background check on Bill. It turns out that Bill has a criminal history including charges of assaulting an officer and cyber-stalking an ex. Is your opinion of Bill affected in any way? _Of course it is._ Bill has a history of making terrible decisions. You would be remiss if you didn't question his temperament and fitness for employment.

Point being, Rebecca has a history of making bad decisions. How does that not affect your take on whether on whether she is a credible accuser?

This isn't a '2020' thing, it's a 'having all the data' thing.

<comment><USER2> Considering the person in question hasn't been giving detailed interviews she really can't be described as a "credible accuser" anyway. We haven't really gotten a description of what the accusation even might be.

It would make far more sense to just get her and her supervisor on record and a copy of any emails between them before we need to jump to impugning anyone's character because of dismissed criminal charges.

Edit: here is the only other detailed communication I've seen so far and it really just isn't clear what's happening here or why she was fired. [https://mobile.twitter.com/FBSaunders/status/126286780574299...](https://mobile.twitter.com/FBSaunders/status/1262867805742997504)

</comment></comment></comment></comment><comment><AUTHOR> Seems slanted (like most media these days), but has interesting tidbits:

The site is based on ArcGIS, and Jones' PhD is in geography.

The claim is that the "state's official epidemiologist" asked for data export to be disabled until they verified the dates in the data.

According to the administration, she was fired for "a repeated course of insubordination".

Perhaps most intriguingly, she was previously arrested for battery on a police officer and resisting arrest at LSU. She had also been previously charged with three felonies, including robbery, and a misdemeanor case of "sexual cyberstalking".

I hope other sources will chase down that last bit, but if it holds up, it would seem to support the idea that she decided to (figuratively) set everything on fire on her way out.

<comment><USER4> What if what was going on behind the scenes was she was told to do something unethical or her past would be revealed? And now it's being done, because she balked.

<comment><AUTHOR> I thought I was paranoid, but I bow to your skills. :-)

If I walked the earth looking for someone who really cared about the date field in some state's pandemic database, I think it would be a long walk.

<comment><USER4> Nobody cared in advance; I'm assuming it _is_ a manufactured controversy, but I'm just speculating that it started with a database of dirt on public employees that someone used to create the situation, as part of long running efforts to create chaos. Not with some random person doing something for no reason.

</comment></comment></comment></comment><comment><USER5> > Jones was asked to temporarily disable the ability to export data from the > dashboard so that it could be verified that the data matched other sources

Maybe, or maybe she knew it wouldn't be temporary and that the given reason was BS. We don't know, and we should therefore take this claim with the same grain of salt that we should take Rebekah's.

<comment><AUTHOR> I do believe in taking virtually everything with a grain of salt these days.

That said, merely disabling export (as opposed to shutting down the website entirely) sounds like an incredibly stupid way to try to censor something, even by the standards of bureaucratic ineptitude. If there were any real smoke there, one could just send a few dumps to interested journalists, etc.

And as we've been seeing, a lot of CV data has been pretty crappy, especially the initial cuts. The idea that they were trying to present valid statistics doesn't really seem that far-fetched.

<comment><USER5> > send a few dumps to interested journalists

That wouldn't help if the cover-up is meant to block the daily trickle of bad news.

</comment></comment></comment><comment><USER6> FYI, source article is from a fringe, right-leaning "news media." I belong they have a staff of 5.</comment>


PayPal's API style guide - <AUTHOR> https://github.com/paypal/api-standards/blob/master/api-style-guide.md

<comment><USER2> I like that it's not overly idealistic in the respect that it does talk about 'complex operations' and when they're justified, along with the risks to be aware of.

Whilst this is for the most part the pattern my company follows, we've never documented it as nicely as this. Thanks PayPal!</comment>


Ask HN: Do you need a true random number API? - <AUTHOR>

I am currently playing around with some learning project ideas and this is one of them.
Is there a need for a cryptographically secure true random number API? <comment><USER2> Is that not what [https://www.random.org/](https://www.random.org/) does?

<comment><USER3> Agreed. Or [https://www.fourmilab.ch/hotbits/](https://www.fourmilab.ch/hotbits/) , which I believe is a year older than random.org (based on archive.org's logs).

</comment></comment><comment><USER4> My understanding is that you cannot use mathematics to generate random numbers. Somewhere in there you need a quantum process. However that is not hard, just point your camera phone out the window at the clouds.

The problem I see with this is, suppose I hash a picture of the sky down to just one bit. Can I count on my hash evenly dividing between one and zero, without any bias?

<comment><AUTHOR> Exactly. That's why I was thinking of building a service that allows every developer, scientist, person in need of true random numbers, to fulfill their need.

<comment><USER5> Most people can get random enough numbers from dev/random or dev/urandom for free.

The people that need more secure random number will not thrust you to generate their random numbers. Are you storing the numbers? Are they truly random or pseudorandom? Are you sending a copy to the NSA?

Do you have one use case of someone that will pay to get random numbers?</comment></comment></comment>


OpenSnap: A Snapchat clone in Dart - <AUTHOR> https://speakerdeck.com/sdeleuze/microservices-with-dart-polymer-and-hypermedia

<comment><AUTHOR> Code: [https://github.com/sdeleuze/opensnap- polymer](https://github.com/sdeleuze/opensnap-polymer)</comment>


Patent troll may win ultimate web killing patent - <AUTHOR> http://www.wired.com/threatlevel/2012/02/patent-troll-trial/

<comment><USER2> While there are 2 known workarounds for this "patent" (1. like MS did require an extra click or 2. create the tags dynamically e.g. with JavaScript) one should read Perry Pei-Yuan Wei (ViolaWWW) comments on that he wrote tmk when the MS vs Eolas case was ongoing. Only available via I-Net Archive at [http://web.archive.org/web/20100625180207/http://www.xcf.ber...](http://web.archive.org/web/20100625180207/http://www.xcf.berkeley.edu/~wei/viola/aboutEolasMicrosoft.html)

\---

"....My personal experience in this is highlighted as follows. I can fill in the details later, but this will give you a quick idea. In 1991 I started writing the Viola web browser. Starting at this time, on the public world wide web development forum, and to some key players in web technology, I suggested that I will be teaching my viola browser embedded interactive technology. But of course it takes a while to just get the basic text/graphics browser working, before the more advanced embedded-in-page interactivity can be built. In April 1992, I made a released of the viola browser. By December 1992, I had embedded objects working in the Viola browser. We at O'Reilly and Associates gave demos to various people here and there. The best documented demo was in May of 1993 -- We gave a demo and code to SUN Microsystems, of the viola browser showing an interactive three dimensional plotting object (mathmatical equation or 3D models) embedded inside a web page. I started releasing this code around fall of 1993 and early 1994. Eolas filed the patent in November 1994.

Now, as you probably know, Michael Doyle (Eolas's CEO and sole formal employee as I understand it), wrote to the net about his technology and eventually intent to patent this. So of course people (including me) wrote back informing him of prior arts. I'm not a lawyer but as I understand it one is supposed to disclose to the PTO any relevant prior art for the PTO examiner to assess. Doyle and I exchange letters, and I told him about this embedded capability in Viola, gave him a paper on viola, which contains pointers leading to more information including even the viola browser source code. Doyle ends up mentioning the browsers Cello and Mosaic, but interestingly not Viola! Now, Viola came before both Cello and Mosaic, and non of those two other browsers had any kind of embedded interactive capability at the core of the discussions...." "...Personally, perhaps the top two issues that strikes me as odd, out of many in this case, are as follows.

Firstly, I was not allowed to demonstrate Viola to the jury. It was explained to me that the judge had decided that my demonstration, of the Viola browser from May 1993 showing interactive objects embedded in a web page, would have been too "prejudicial" against Eolas. I was also not allowed to tell the jury that Doyle knew about Viola. This I suppose is understandable but still puzzles me a little and leads to unfortunate effects, as I imagine the Jury ought to know these things. Lets not kid ourselves, everything said in court by both sides were certainly aimed at swaying the jury. But facts are facts, especially relevant ones.

Issue number two has to do with the Defense of the Inequitable Conduct (Judge's ruling on the question of "Did Doyle know about Viola browser, and intentionally not tell the PTO examiner about this prior art"). I felt that this was just surreal, as put into the context of the history of the web and this case. Suffice to say that it's amazing how people will believe whatever they want to believe, even in the face of contrary evidence..."

\---

I guess the last 2 paragraphs of Perry Pei-Yuan Wei's letter tell it all - there have been substantial issues how the law has been used in this case and how evidence has been excluded in these previous rulings.

It also is interesting to look at other patents Doyle filed.

As always when you want to get a better understanding have a look at the patent's file wrapper at uspto.gov to see the various communications during the process of examining this patent. With that patent, particularly as Eolas claims it was disputed since 1995, one would expect loads of communications back and forward but there is less than with many others that are considered undisputed.

</comment><comment><USER3> One more reason why software patents are a toxic idea that should really just go away.

</comment><comment><USER4> Why does it seem every patent troll case takes place in Texas?

<comment><USER5> Here is a good answer: [http://www.quora.com/Patent-Litigation/Why-is-the- Eastern-Di...](http://www.quora.com/Patent-Litigation/Why-is-the-Eastern- District-of-Texas-the-venue-for-so-many-patent-cases)</comment></comment>


Six Policemen Came to the Home of a Young Woman at Night and Seized Her (2018) - <AUTHOR> https://chinachange.org/2018/08/28/video-six-policemen-came-to-the-home-of-a-young-woman-at-night-and-seized-her-for-interrogation-subtitled/ <comment><USER2> It is worth recalling that the world is large and unjust things happen in every country. The biggest issue with China is that her citizens are going to be actively hampered if they try to figure out the extent of activity like that and organise to stop it.

There is no point having a censorship department if it doesn't censor videos like that.</comment>


Do we have a potential VPN criminal conglomerate? - <AUTHOR> As many of you have already read, Private Internet Access has recently been acquired by a company named Kape Technologies. Kape Technologies is a huge company that also owns the likes of CyberGhost and Zenmate. I decided to read more and found facts that thoroughly shocked me:
1. CyberGhost was acquired by Kape Technologies(previously named Crossrider) back in 2017. Crosrider was known to hide malware/adware in their software and then sell data collected by it.
2. The co-founder of Kape Technologies, Teddy Sagi was sentenced to prison in regards to fraud and bribery back in 1996.
3. CyberGhost was also found to have WebRTC, IPv6 as well as DNS leaks multiple times, risking its users' privacy.
4. Private Internet Access hired Mark Karpeles (ex-CEO of MT.Gox BitCoin platform) as their CTO. Karpeles was arrested and found guilty when tampering with financial records, trying to hide the platform's loss by combining his personal finances with the exchange's.
5. Private Internet Access's founder Andrew Lee, also known as Rasengan on HackerNews, made serious allegations against ProtonVPN.
6. Allegations against NordVPN followed, where PIA's employee was caught sharing a misleading PDF as a 'concerned citizen'.
7. An ex-employee of PIA was threatened due to disclosing management issues, therefore spilling a lot of information about the company.
8. The same employee disclosed that PIA faked Reddit comments and ordered to downvote negative feedback about the product.
9.Another thing to consider is that before acquisition, Private Internet Access was in debt of over $32 million.
The facts about these companies were easy to find, to be honest, I didn't need to dig deep to find them. I am just truthfully shocked about this and how much I didn't know about the companies beforehand. Personally, given this knowledge, I am not going to support these companies, especially when they potentially have criminal past and present activities. <comment><AUTHOR> Sources:

1\. [https://blog.malwarebytes.com/detections/pup-optional- crossr...](https://blog.malwarebytes.com/detections/pup-optional-crossrider/)

2\. [https://en.globes.co.il/en/article-sagis-criminal-past- may-h...](https://en.globes.co.il/en/article-sagis-criminal-past-may-have- sunk-plus500-acquisition-1001083269)

4\. [https://cointelegraph.com/news/former-mt-gox-ceo-mark- karpel...](https://cointelegraph.com/news/former-mt-gox-ceo-mark-karpeles-to- serve-as-cto-of-new-japanese-blockchain-venture)

5\. [https://www.reddit.com/r/sevengali/comments/9dgexs/why_to_av...](https://www.reddit.com/r/sevengali/comments/9dgexs/why_to_avoid_pia/)

6\. [https://vpnpro.com/blog/confusion-in-the-vpn-industry-is- nor...](https://vpnpro.com/blog/confusion-in-the-vpn-industry-is-nordvpn- being-defamed/)

7, 8. [https://linustechtips.com/main/topic/1088904-private- interne...](https://linustechtips.com/main/topic/1088904-private-internet- access-internal-problems-post-is-titled-revealing-the-privateinternetaccess- truth/), [https://snew.notabug.io/r/PrivateInternetAccess/comments/ckb...](https://snew.notabug.io/r/PrivateInternetAccess/comments/ckbuei/revealing_the_privateinternetaccess_truth/)

9\. [https://www.techradar.com/news/cyberghost-owner-buys-pia- for...](https://www.techradar.com/news/cyberghost-owner-buys-pia-for- dollar955m-to-create-vpn-giant)

</comment><comment><USER2> Excellent. So I have to replace my VPN provider. Suggestions?

<comment><USER3> The TL;DR of most VPN reviews is use Mullvad</comment></comment>


New method 'confirms dark energy' - <AUTHOR> http://www.bbc.co.uk/news/science-environment-13462926 <comment><USER2> Maybe I'm wrong, but isn't this simply a better study that shows the universe is expanding and not a direct observation of dark energy? Is there something particularly novel about this study?</comment>


Using least squares regression to calculate a circle from a freehand drawing - <AUTHOR> http://vladgotlib.com/circular/ <comment><USER2> The score is a bit silly; to get a better one, just add more points.

A smattering of poits scribbled close together nets me 220000, while a single big ring earns only 700.

<comment><USER3> I noticed the same thing. I was able to really boost my score by just drawing over the 'same' circle a bunch of times. Doing that got my score up into the 7-8 million range.

<comment><USER4> But that makes sense. If people draw a circle by overlaying multiple approximations, it gets better.

If there were a contest out of this, it could be disqualified: i.e. you start and finish on approximately the same point.

</comment></comment></comment><comment><USER5> Quick version in Desmos:

[https://www.desmos.com/calculator/7dpcup8iwk](https://www.desmos.com/calculator/7dpcup8iwk)

Here you move the points by dragging instead of creating them by drawing, which I find more fun in some ways, and less fun in others.

Edit: constraining the radius makes the system behave like a hoop attached to springs [https://www.desmos.com/calculator/a2pfwqrtmb](https://www.desmos.com/calculator/a2pfwqrtmb)

</comment><comment><USER6> Not that I have a better suggestion (except something might be wrong with "disbalance"), but this is pretty obviously "that that good"

[http://i.imgur.com/m8MOtUU.jpg](http://i.imgur.com/m8MOtUU.jpg)

</comment><comment><USER4> Least _squares_ to calculate a _circle_. How utterly ...

... fitting! :)

<brag>Tried four times; hit 3.5M on third try, then 4.8M, and got bored.</brag>

</comment><comment><USER7> If you want to do it properly, use Singular Value Decomposition, eg

[http://tube.geogebra.org/student/m1113573](http://tube.geogebra.org/student/m1113573)

</comment><comment><USER8> I'm not sure I understand the use of least squares here.

Why not use a Hough transform with each drawn point voting for a center, then average the radius?

It's not a critic - just me wondering why.

<comment><USER9> Using a Hough transform to find a circle with an unknown radius is expensive. You have a 3D parameter space, and each point has to "vote" for a 2D subsurface of that space. Discretizing the entire volume at a high resolution is going to require a lot of memory.

<comment><USER10> I agree it is going to expensive but it's not because of memory. You could probably just try every (x,y) center and have all points vote for the radius, and just keep max before moving on to next point.

</comment></comment></comment><comment><USER11> There's a bug in your code somewhere: [http://i.imgur.com/p4tn4Kx.png](http://i.imgur.com/p4tn4Kx.png)

<comment><USER12> You added a point by mis-clicking very near the analyze button. It tried.

<comment><USER13> This is why we use L_1 regression!

</comment></comment></comment><comment><USER14> This make me remember the Giotto big O history [1]. The pope was looking for a painter and requested samples to artists and Giotto sent for him just a circle.

[1] [https://100swallows.wordpress.com/2007/09/14/giottos-o/](https://100swallows.wordpress.com/2007/09/14/giottos-o/)

</comment><comment><USER15> My best of 11,396,452: [http://imgur.com/aO3xA0l](http://imgur.com/aO3xA0l)

</comment><comment><USER16> sometimes I am wondering what get voted up on HN

</comment><comment><USER17> Sure I can help with server costs. I can eliminate them by pointing you to: [https://pages.github.com/](https://pages.github.com/)</comment>


Show HN: IT Kit – curated tools for IT managers - <AUTHOR> http://itkit.io/ <comment><USER2> I wouldn't trust... most of these... in an IT environment. There's a few gems in there, but IT is such a wide field and the most key element is that you need solutions that fit into your existing environment and existing workflow.

For example, two of the highest rated tools are for Macs. I don't have Macs in my environment. Nor is outsourcing our networking or security to a cloud service a good choice, and I've seen way too many issues with Google accounts to ever consider G Suite viable. (I'd go with any number of alternatives to Microsoft Office long before I'd even consider it.) Chat is a compliance nightmare to add in, and it's outside the workflow of my environment, so everything Slack, Teams, etc. is all useless.

How many of these are PCI compliant? HIPAA compliant? Insert X compliance requirement compliant? (CJIS is a great one to bring up if you want whoever is trying to sell you something on the phone to give up and leave you be.)

Which is to say: My feedback here is that you need to filter for people's needs. We don't cargo cult in IT, I need more than a fancy brand logo.

<comment><AUTHOR> Thanks, totally valid feedback. Any specific products you'd recommend adding? Or just more advanced filtering?

<comment><USER2> Two tools I think are great that a lot of people don't know about are PDQ Deploy/Inventory for software deployment too big to do manually but too small to justify buying SCCM, and PRTG is a pretty robust modern network monitoring system.

But yeah, mostly filtering.

<comment><USER3> I've been in the industry for over thirty years, and I've never heard of these tools.

I'm not saying that they're not great at what they do for their segment, but I do think they're more specialized.

<comment><USER2> As I said, a lot of people don't know about them. ;) PDQ Deploy is a remarkably affordable software deployment tool, they charge by the admin using it, not by the PCs covered by it, and the yearly cost gets them automatically building for you... most of the deployment packages for common Windows software IT environments deploy. I've never used PDQ Inventory, but it ties in pretty closely with Deploy if you use it as your auditing and asset management tool.

PRTG is in the vein of Nagios and WhatsUpGold, but far more delightful to use.

I wouldn't call either specialized, except perhaps in terms of organization size. If you're in Fortune 500s, probably not going to end up with these tools.

<comment><USER3> Ahh, right. Enterprisey Windows stuff. The stuff that I have spent my entire career avoiding at all possible costs.

Yeah, you definitely have different answers for these spaces than I do.

For my deployments, it's either Chef or any of various tools on AWS.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> Here's what's coming next for IT Kit:

[http://people.itkit.io](http://people.itkit.io) [http://jobs.itkit.io](http://jobs.itkit.io)

</comment><comment><USER3> So, this is a website that lets people submit the names of their favorite software and then vote on them.

Anyone want to take any bets on how long it takes to turn this into the latest clicker game?

What do I get if I manage to take my favorite software to a billion votes in the next five minutes? Is there a prize for that? 1/2 ;) ?

Sadly, any time you have user submissions and voting on those submissions, you also have to think very long and hard about all the abuse you're going to have to deal with.....

</comment><comment><USER4> Clean design. Making my way through the list, my only complaint about the site is the inability to open each page in a new tab (middle click / right click -> open in new tab). Makes browsing the site a pain.

<comment><AUTHOR> Good feedback, thank you.

</comment></comment><comment><USER5> I gotta admit, the very fist thing I noticed was the "This content is not secure" cert warning in the URL bar.

<comment><AUTHOR> Oops, need to fix this!

<comment><AUTHOR> Fixed!

</comment></comment></comment><comment><USER3> So, where is the forum for discussing these tools and making suggestions?

<comment><AUTHOR> No forum, but you can suggest products here [https://askspoke.typeform.com/to/rvq3mY](https://askspoke.typeform.com/to/rvq3mY) Adding a few each week.

<comment><USER3> Yeah, I saw that.

After scrolling all the way to the bottom of the page.

Have you tested using this page on iOS?

<comment><AUTHOR> Yeah, I've seen some scrolling issues which need to be fixed. Anything else you saw?</comment></comment></comment></comment>


JQueryMediator - a better Mediator pattern for jQuery - <AUTHOR> https://github.com/jasonmcaffee/jQueryMediator

<comment><AUTHOR> HN, please take a look at the new library I released today called jQueryMediator.

[https://github.com/jasonmcaffee/jQueryMediator](https://github.com/jasonmcaffee/jQueryMediator)

Typical mediators for dom libraries such as jQuery, tend to poorly abstract the underlying API, and lead to an inconvenient, verbose syntax that resonates throughout your code base.

This project provides a jQuery API mediator that can be used in a manner that is indistinguishable from jQuery.

If you find it necessary to use a mediator for jQuery, you should definitely give this library a try.

You can test out the API by going here and selecting Project -> Fork

[https://codio.com/jasonmcaffee/jQueryMediator/master/tree/te...](https://codio.com/jasonmcaffee/jQueryMediator/master/tree/test/jQueryMediator- spec.js)

(side note: codio.com is awesome, you should check it out)

Feedback appreciated!</comment>


State of Health Report Shows Growing Despair Among American Men - <AUTHOR> https://finance.yahoo.com/news/state-health-among-american-men-040100395.html <comment><USER2> well the vilification in the media certainly does not help, the amount men are bombarded with the message that they are source of so much wrong has to be overwhelming to many.

anecdotal nonsense, a few years back we went through a wave of new HR videos about harassment and intimidation and not one had a non male aggressor. it was so bad the women attending the sessions were mocking the presentation.

fortunately they canned that approach not long after after the poor reception.

<comment><USER3> > not one had a non male aggressor

Decades ago I briefly dated an extremely physically abusive woman. Nearly killed me a couple times. I ended it. Not a single person has the slightest bit of sympathy over this. I've never struck a woman but maybe I should have in self defense. If I had though I have absolutely no doubt whatsoever I would have been reported, arrested, and imprisoned, regardless of all facts.

<comment><USER4> Hey, from an internet stranger, I'm sorry this happened to you. That's a terrible situation, made worse by the culture around you.

I hope you've found support since then; if you haven't, here's my anonymous support.

Here are links to finding more support: [https://malesurvivor.org](https://malesurvivor.org) [https://victimconnect.org](https://victimconnect.org) [http://www.mensadviceline.org.uk](http://www.mensadviceline.org.uk)

</comment></comment></comment><comment><USER5> > The decline in life expectancy is occurring in part due to deaths from > despair. From 2007 to 2017, the mortality rate from drug overdoses increased > 82%

This is a perfect example of how corporate greed (and a political system that now mostly exists to support it) is ravishing the American people. After decades of obvious abuses, the company pushing OxyContin is finally being stopped, but no one is going to jail (see: [https://www.npr.org/2019/09/19/762455218/as-drugmakers- face-...](https://www.npr.org/2019/09/19/762455218/as-drugmakers-face-opioid- lawsuits-some-ask-why-not-criminal-charges-too)), and although the company is bankrupt, we're merely locking the barn door after the billions have escaped.

<comment><USER6> You're looking at the symptom rather than the disease.

The despair is the disease. Drug and alcohol use are from people self- medicating their symptoms.

If anyone cared to address this problem, they'd look at what causes despair. That despair is often from economic and social distress.

Instead, everyone is outraged up on a media and politically driven moral panic about pharmaceutical medication that happens to be rarely abused and is almost never addictive (fewer than 0.1% chance of becoming addicted to prescribed painkillers, study on ___over 640,000 patients_ __,[https://www.ncbi.nlm.nih.gov/pubmed/27400458](https://www.ncbi.nlm.nih.gov/pubmed/27400458)).

<comment><USER7> No, drug and alcohol addiction definitely can produce despair. Causation can and does work both ways in this one, causing a spiral which is almost impossible to trace back to a single thing.

No, I don't think economic problems per se cause despair. People are richer, much richer, than 100 or 1000 years ago. I don't think that changes the fundamental human struggle with meaning, hope, purpose, and everything else that wards off despair.

<comment><USER8> I think that part of the problem may be that people are richer in ways that don't make them happy or give them meaning, and poorer in ways that do.

Most notably, it seems to me that owning your own house and land would bring a much greater sense of autonomy, accomplishment, control, etc. than more consumeristic things like TVs, video games, fancy food, etc. (not that its bad that those things exist).

</comment></comment></comment></comment><comment><USER6> This is not too surprising for many reasons.

Also, a significant part of modern American culture actively devalues men and thinks of men and masculinity as problematic. This is particularly true within certain political movements and social cultures. That has health consequences, as is already widely known from many studies on various other forms of discrimination and discriminatory movements.

<comment><USER9> This has become a lot more noticeable within the last few years (e.g., the Washington Post editorial "Why can't we hate men?"), and it is indeed having a negative effect on my state of mind.

Not easy to do, but I've been working hard on withdrawing from social media, outrage news, etc., and those who are wrapped up in it. It seems appealing in the moment, but I do think it ultimately contributes to this sort of despair.

</comment></comment><comment><USER10> Discovering what true masculinity means and how to fulfill it is going to be key for men today to keep their sanity and hope. And that begins with courage and a sincere search for the truth, and it continues with the courage to stand up for the truth in the face of threats and injustices.

</comment><comment><USER11> Feel like we're either fat and unmotivated, or overworked and unsatisfied... with only a thin slice finding something in the middle.

<comment><USER12> Just turned 28 and can say I easily fit the bill for 3/4 of these descriptions. I've been chalking it up to a quarter life crisis and am desperate for a geographic move to add some new experiences to my life.

<comment><USER6> Moving will briefly introduce new experiences but you will quickly adjust.

Finding and developing new interests and hobbies is a much better longterm solution.

<comment><USER13> I've moved and helped friends move quite a bit, and in my anecdotal experience, the only way a geographical change helps if either if you just can't do what you need to do in your home town (like moving to SV or NYC for work) or if your home town life is absolutely toxic and you can't get away from it without leaving.

I moved across the country for no good reason except to move. Absolutely nothing was different. I was still the same person, except now without friends or family. I wasn't running from anything but everything followed me anyway. I've had half a dozen friends in the same situation. You can't run from yourself.

Meanwhile I helped a friend move about a year ago because she couldn't get away from high school drama. She was in her 30s, and still caught up in high school drama from her high school friends. She moved away and made new friends and completely cut her old friends out of her life. Massive difference. I've had friends of friends do the same thing when their family life was toxic. Big help from the sounds of it. Immigrants do it constantly, running from toxic politics to start a new life in a safer place. It works.

But if you're running from yourself? You can't run fast enough or far enough. You will always be you. Fix that before you fix your geography, or it will just be a very expensive lesson learned. It took a long time for my bank account to recover from my move and even longer for my circle of friends to recover.

<comment><USER14> > it will just be a very expensive lesson learned.

Moving doesn't have to be a financial hit. If you move to an area with higher wages it may earn you money.

<comment><USER15> You will have to pay a bigger security deposit.

</comment></comment></comment></comment></comment></comment><comment><USER16> It is at times like these that I wish Hacker News included number of views in addition to the number of replies.

Threads like this give the impression that everyone is miserable and fill up quickly with sad stories.

It's good the internet gives those people an outlet and a place to connect, but if this was say viewed by thousands and only got 60 replies it might provide some perspective. Most people are just fine.

<comment><USER17> So, what is your source that "most people are just fine"? I'd wager that what you mean is, you're fine and you think most people you know are fine. Good luck, in any case.

<comment><USER16> These two articles sum it up nicely. About 5.7% of men are depressed and about 8.7% of women. Most people are just fine. I hate alarmist journalism and sensational headlines.

[https://www.healthline.com/health/depression/facts- statistic...](https://www.healthline.com/health/depression/facts-statistics- infographic#1)

[https://www.verywellmind.com/depression-statistics- everyone-...](https://www.verywellmind.com/depression-statistics-everyone- should-know-4159056)

</comment></comment></comment><comment><USER18> The following, recent Rolling Stone article provides some real-world context.

[https://www.rollingstone.com/culture/culture- features/suicid...](https://www.rollingstone.com/culture/culture- features/suicide-rate-america-white-men-841576/)

</comment><comment> shaki-dora I'm a man, and for the life of me I don't get how people are feeling personally attacked by feminism. Same with racism: I just don't connect these issues with me as an individual. And I've never experienced an interaction where others have done so, either. I've been to any number of feminist events with my partner, and nobody ever made a negative comment rooted in the fact that I'm a man.

<comment><USER3> I supported feminism as it was originally explained to me, as against violent and abusive dictatorial strictly patriarchal systems insidiously designed to suppress and oppress minority viewpoints and ways.

But since then I've realized there are many other things that feminism means to people. It's not a great label as it doesn't mean anything in particular. Some variants are definitely bigoted hate against a certain gender. I don't agree with those. Diffusion of label-meaning: what can be done about this. For me... be a label-skeptic. Irrelevant, though no one cares. Only mindless labels matter in the great big wide world.

<comment><USER19> Totally understand where you are coming from. My wife and I tend to see modern feminism as a way to tell males that being masculine is bad while simultaneously telling females that being feminine is bad. Seems like the same pay for the same work aspects of the movement are where they should instead focus.

Likewise politically, I'm for individual liberty for all adults but not for an anemic taxation system for the rich.

I guess that makes me a centrist these days?

</comment></comment></comment><comment><USER20> Just wanted to leave a few quotes here, from The Sociological Imagination by C. Wright Mills, one of my favorite books. Also, if any of this resonates, see the link in my profile and come read with us:

"The very shaping of history now outpaces the ability of men to orient themselves in accordance with cherished values. Even when they do not panic men often sense that older ways off feeling and thinking have collapsed and that newer beginnings are ambiguous to the point of stasis. Is it any wonder that ordinary men feel they cannot cope with the larger worlds with which they are so suddenly confronted? That they cannot understand the meaning of their epoch for their own lives? That—in defense of selfhood—they become morally insensible, trying to remain altogether private men?

Is it any wonder that they come to be possessed by a sense of the trap? It is not only information that they need—in this Age of Fact, information often dominates their attention and overwhelms their capacities to assimilate it. It is not only the skills of reason that they need—although their struggles to acquire these often exhaust their limited moral energy. What they need, and what they feel they need, is a quality of mind that will help them to use information to develop reason in order to achieve lucid summations of what is going on in the world and what may be happening within themselves."

"What are the major issues for publics and the key troubles of private individuals in our time? To formulate issues and troubles, we must ask what values are cherished yet threatened, and what values are cherished and supported, by the characterizing trends of our period. In the case both of threat and of support we must ask what salient contradictions of structure may be involved.

When people cherish some set of values and do not feel any threat to them, they experience well-being. When they cherish values but do feel them to be threatened, they experience a crisis—either as personal trouble or as a public issue. And if all their values seem involved, they feel the total threat of panic.

But suppose people are neither aware of any cherished values, nor experience any threat? That is the experience of indifference, which, if it seems to involve all their values, becomes apathy. Suppose, finally, they are unaware of any cherished values, but still are very much aware of a threat? That is the experience of uneasiness, of anxiety, which if it is total enough, becomes a deadly unspecified malaise.

Ours is a time of uneasiness and indifference-not yet formulated in such ways as to permit the work of reason and the play of sensibility. Instead of troubles—defined in terms of values and threats—there is often the misery of vague uneasiness; instead of explicit issues there is often merely the beat feeling that all is somehow not right. Neither the values threatened nor whatever threatens them has been stated; in short, they have not been carried to the point of decision. Much less have they been formulated as problems of social science."

"Yet men do not usually define the roubles they endure in terms of historical change and institutional contradiction. The well-being they enjoy, they do not usually impute to the big ups and downs of the societies in which they live. Seldom aware of the intricate connection between the patterns of their own lives and the course of world history, ordinary men do not usually know what this connection means for the kinds of men they are becoming and for the kinds of history-making in which they take part."

He goes on to talk about the relationship between work and leisure as a "crisis of ambition" in American society. Great read.

</comment><comment><USER21> The headline is a weird, cherry-picked minor point from within the article. I had to Ctrl+F to even find it (after skimming).

</comment><comment><USER22> I've spent every night for the last few months trying to find a way/reason to keep going mentally. Before that it was every other night, a few times a week, few times a month etc. Before the inciting event for this decline, badly done and ultimately unneeded surgery fifteen years ago taking away everything, I never ONCE considered this. In fact I was positive when discussing the topic that I would NEVER do such a thing and that there would always be a way, always be family or friends, always be a system there to hold me up. Because that's what I had been indoctrinated to believe. It wasn't true.

I worked hard, in a career beneficial to society. I helped people, always had great empathy, and treated others with respect. Even then I didn't really get it when I would come across someone like I am now. Someone who suffered and lost it all. Someone on the edge. I did what I could to help them but I was as ignorant and naive as ever believing the rest of the system and society would give them that same attention and value. I thought it would be ok. It's not ok.

The truth is in American society has decided human life and security isn't the most important thing. It's decided INDEPENDENCE and profits and ego and the chance to be wealthy and powerful is. Everyone for themselves. Guns are rights but healthcare is an "entitlement". Equality is somehow "wrong".If you need help you are "weak" and a "loser" and "nobody is going to live off MY tax money". They think if you can even open your eyes, or type an occasional rant online, that means you can grind away like everyone else and "why don't you just" and they KNOW this is true because they KNOW they would be able to when they reached this unfathomable state. Saying this will make a lot of people angry because nationalism is an identity for many and ultimately proves the point.

About the same time my health was ruined a friend in Belgium had a similar experience. He was given social support to keep his flat, healthcare, spent a few years reeducating in a new skill and was able to reenter society and function. He has a happy life and family now. My experience was denials from government assistance programs, struggling to manage with savings and small private pension but no health insurance, watching a family full of puritanical hypocrites turn away and blame. My friend lost something of his life, but was allowed to regain one worth living and not fear every little bump being the end. He gets to have a future as a result. I do not.

Next came cycles of motivation and disappointment and trying as hard as I could to hold it together only to have things collapse because with more limits and needs nobody can manage that alone despite what everyone needs to believe for their own mental security. The root of victim blaming right there folks. Some people are always going to need help. Some can rebuild at least some but still need help doing so. Stability. Access. Caring.

After you see that help isn't coming comes the anger...then that anger slowly morphs into despair. Then one day comes this indescribable sensation that even the moment before you couldn't believe would ever TRULY happen even thinking abstractly about it. Acceptance. Not acceptance of the decline. Not acceptance of the despair. Acceptance that you aren't afraid to let all of this life go anymore. You don't WANT to not BE...but you want to not be THIS. You want suffering, judgement, isolation, pain, complete lack or agency in LIFE anymore. You are exhausted all the time and it's not worth the tiny if any moments of joy anymore.

You are still rational. You aren't running around with your underwear on your head and flinging you poo at people. You are just running on empty, You swim as hard as you can and you sink, you relax and go with it and you sink, nothing works. It's always said to be your fault, not the fact you were unceremoniously dropped in the ocean and told to fend for yourself whilst people give "advice" from the shore like "just learn how to swim" and then get offended when you cannot as if your drowning insults them. You have walked over every "next hill" for years looking for petrol, and it's never there. Or if it IS there 1/1000000000 times and some nice and truly well meaning shopkeeper is smiling and waving you there, someone else swoops in front and takes the rest or the shop closes right as you straggle up to it because you stepped in a hole and that slowed you down even more.

Despair isn't some inexplicable thing. It's 99% of the time rooted in clear, multiple causes. But this society, ESPECIALLY this society, won't face or address them. Most people like me don't end up like me out of some fault in themselves or some unsolvable problem. But it's easier to punch down for both ego fulfillment and to bolster your own feelings of personal safety because YOU are better than that and it will never happen to you. You were smart, and planned, and have good people around you. Well guess what...the "Just World" isn't.

There was a time I was an activist for health and social issues. It never had any macro effect. I tried to "just get out of you don"t like it!" Doing that alone is very, very hard and I could never get it to work permanently. The damage done here would follow me everywhere and ironically block the path to even a life in those better conditions. There was a time I thought about crazy things like applying for asylum in a more socially conscious country, but the truth is people in this situation don't get approved. I am out of fuel and hope, there is no petrol station over the next hill, and my bootstraps were worn to dust years ago. There are countless people like me and nobody here ever thinks they will be one of them.

<comment><USER23> You nailed it.

I am disabled myself and I have experienced this. But, I am a dual US|EU national.

I actually experienced a very traumatic injury on Thursday, and had to be seen in my city's level 1 trauma unit. I am physically disabled and fell down some steep concrete stairs, (I probably need to use a wheelchair probably from now on.)

I ended up having surgery to repair the injury on Friday.

My pain was under control in the ambulance, but that was it.

I literally screamed nonstop during Thursday, Friday, and Saturday, due to the hospital refusing to give me adequate pain control. My abdominal muscles are still sore and my voice is gone still. When pain management finally came on Monday, they cared more about what medications I could "get outside" the hospital and "what the maximum quantity would be" more than actually controlling my pain.

They didn't even have any pillows for me on the unit to elevate my limb.

The whole experience was extremely traumatic and barbaric. It was reminiscent of a third world country.

Supposedly this is one of the best trauma units in the country, too.

I am done with this country. I cannot do this anymore. It is killing me.

<comment><USER24> Doctors are afraid to get arrested for prescribing pain meds. The government has injected itself into healthcare as a political response to the media response to the "opioid crisis."

I have an elderly family member (70s) that is treated as a pariah by one of the few pain clinics accepting new patients in the city.

<comment><USER25> The sackler family did create an crisis so they could rake in billions.

<comment><USER26> No, the government created the crisis by restricting supply of painkillers people desperately need. Purdue is a nice scapegoat though. Good job playing the same card as the drug warriors ("evil dealers").

</comment></comment></comment></comment></comment><comment><USER27> Despite it's dubious underpinnings and specious applications, the theory of the disposable male seems to fit this.

The only thing the majority of men are useful to in society is work/production. If you take that away, then the other function of men (reproduction/fertilization) can be accomplished by a much smaller fraction of the male population.

We are taking away the only thing that justifies the existence of most men, and we are reminding them of it every day with the society we are creating with no safety net or healthcare.

But after the last election, I stopped caring.

<comment><USER28> I would imagine a safety net and subsidized healthcare actually diminishes the traditional biological functions of males in human populations. With a safety net e.g., the males don't need to necessarily be the breadwinners/hunters to the same degree and so their traditional function is less required.

But yeah the dispoable male is a dubious theory.

<comment><USER27> It explains so many parts of what seems to happen on online dating, but like many theories it's probably waiting for a better one, or a better version of this one.

It definitely gets oversimplified/overapplied and abused in service of more extreme MRO/Incel people, but last I looked there were actual biological evidence from other species.

</comment></comment></comment><comment><USER29> When I was in high school I had a stereotypical thought that most of the ass hole more popular guys would have shit lives after college. Historically that wasn't true. But nowadays... it seems more valid. Most of the guy's who followed stereotypical social strategies in high school have turned out pretty poor. The guys who have done well are the one man who were smart or kind. Your value to others should be self evident from being a person people like. People saying it's all about work and money... sound like assholes who don't realize it.

</comment><comment><USER30> Although I'm male, I live my life surrounded by women and have a large focus on women's issues. I also see the writing on the wall: IVF technologies that are being developed today will further erode the value of men in most if not all non-socially conservative societies. I predict large numbers of women in single, cohabitating, or lesbian arrangements having children together because large numbers of men have proven themselves insufferable. I certainly know I have demonstrated as much in the past.

Men capable of rethinking their relationship with women and what it means to be a male, rather than a man, I imagine will do fine in the coming social upheaval.

<comment><USER31> I could see lesbian parenting becoming more common with greater social acceptance.

Single or cohabiting though? As a recent parent, I doubt it. Raising children remains _extremely_ challenging, and significantly easier if you have a committed partner for it. There's no way my wife would be able to go on, say, a 10-day business trip to Laos or a 3-day industry conference if I weren't holding down the fort at home, or for that matter able to get to the gym tonight if I weren't picking our son up from daycare, taking him to gymnastics and cooking dinner for him.

How a couple chooses to split up the labor in their relationship is their business, but the fact that there's more than enough labor for a _couple_ isn't going to change regardless of technology.

<comment><USER32> I think GP is talking about a James Holden or an It Takes A Village Scenario. Where one child or group of children has a larger pool of guardians looking out for them. Doesn't even have to be that exotic. My aunt's neighborhood took it in turns to take all the kids one day a week, so the other parents had a few days for their own stuff and appointments.

</comment></comment></comment><comment><USER33> The good news is that the social groups where both traditional masculinity and femininity are not looked down upon (typically conservative, religious folks, not necessarily any particular religion, either) will grow due to the higher birth and family stability rates. This will hopefully lead to better mental health for both men and women who are suffering under the current system.

<comment><USER34> That theory (with a different group of people) has been a favorite of racists for at least two centuries. Yet, somehow, it never really materialises.

In your specific case, it is bound to fail because the children of religious parents are rather likely to leave religion. The various kinds of injustice children experience at the hand of religious organisations helps in that regard.

If you don't believe me, just think back in time: religious people have _always_ had more children. And yet, religion has a been declining for a long time.

Among the most reproduction-happy have been groups like the Amish. But they haven't taken over the US, have they?

<comment><USER33> Really? I'm pointing out that religious populations like Catholics and Muslims are increasing and im being accused of racism? These are the two most diverse religious groups on the planet. Your accusation is laughable</comment></comment></comment>


Learn UI/UX Mobile App Design in 1 DAY:  Design 7 Apps - <AUTHOR> GOING TO BE MAKING A UDEMY COURSE FOR THIS. IT WILL BE FREE FOR THE FIRST WEEK PEOPLE!!! <comment><USER2> Sounds like a good course. Link?</comment>


Charging Bull artist wants removal of Fearless Girl statue - <AUTHOR> http://www.bbc.com/news/world-us-canada-39582389 <comment><AUTHOR> > Mayor de Blasio responded on Twitter on Wednesday, writing: "Men who don't > like women taking up space are exactly why we need the Fearless Girl."</comment>


Self-Commenting Code - <AUTHOR>

Consider this programming style:

  for each function,
    - first write out its algorithm in comments,
    - then implement that.
 It seems like that programming style can result in higher-quality code with fewer bugs.
As an example, let's implement a simple "ends_with?" string utility function.  The function takes two strings and returns whether the first ends with the second:

  bool endsWith( const char* haystack, const char* ending )
 Following our new programming style, we first write out its implementation in comments:

  bool endsWith( const char* haystack, const char* ending )
  {
    // find the end of [haystack] and [ending].

    // if [haystack] is shorter than [ending] then it can't end with [ending], so return false.

    // walk backwards through both strings.

      // if a character differs, return false.

    // otherwise, [haystack] ends with [ending], so return true.
  }

 Pretty straightforward.  And now we can implement the function in an equally straightforward way:

  bool endsWith( const char* haystack, const char* ending )
  {
    // find the end of [haystack] and [ending].
    const char *haystackEnd = haystack;
    const char *endingEnd = ending;
    while( *haystackEnd )
      haystackEnd++;
    while( *endingEnd )
      endingEnd++;

    // if [haystack] is shorter than [ending] then it can't end with [ending], so return false.
    if( haystackEnd - haystack < endingEnd - ending )
      return false;

    // walk backwards through both strings.
    while( endingEnd != ending )
    {
      // if a character differs, return false.
      if( *endingEnd != *haystackEnd )
        return false;

      --endingEnd;
      --haystackEnd;
    }

    // otherwise, [haystack] ends with [ending], so return true.
    return true;
  }
 What is interesting about this style is that the result will usually be simple to read and understand.  The key is to write out the function's comments first, not last.  Is this a common programming style?
A friend of mine uses this technique in his game engine to great effect.  The engine's source code is beautiful, mostly because each algorithm is simple and can be understood by reading clear English. <comment><USER2> Why not break them out into separate functions? Use the comments to name these functions. Each comment is a hidden function. Also this will reduce code duplication? For example,

      char* findEnd( char* s)
      {
        while( *s ) s++;
        return s;
      }

      bool endsWith( const char* haystack, const char* ending )
      {
        // find the end of [haystack] and [ending].
        const char *haystackEnd = findEnd(haystack);
        const char *endingEnd = findEnd(ending);

        // Etc.
      }

</comment><comment><USER3> When I'm writing a block of code, I tend to do something like this. I pseudo code the algorythm and then write the code.

I tend to remove my comments though and they normally aren't 100% correct by the time I'm done and have refactored (heck, a lot of times the comments become the code/called method names).

And then you assume that the comments are kept around/up to date when a bug is fixed or an enhancement is added.

</comment><comment><USER4> what do you do with a rewrite or bugfix, feature adding? more importantly what do you do when you know what you want it to do but not how you are going to do it?

</comment><comment><USER5> I think that's what used to be called design.</comment>


SIDS solved - <AUTHOR> http://www.npr.org/2011/07/15/137859024/rethinking-sids-many-deaths-no-longer-a-mystery <comment><USER2> As a father of a 1 month old, nothing is scarier than SIDS, so the title ("SIDS solved") grabbed my attention.

The article is from 2011 though and most of the findings (particularly the sleeping on the back part) are well-known and widely taught in hospitals now. It was a great read anyhow.

</comment><comment><USER3> What's also interesting is that side-effects of the Back to Sleep campaign. I've noticed a rather large increase in corrective helmets for babies with oddly shaped heads. This seems to be a side-effect of babies sleeping on their back and modifying the shape of their heads. I've also heard that babies have been rolling and crawling later, in many cases skipping crawling and going straight to walking. They now recommend supervised "tummy time" to help build muscles and skills for crawling that used to just happen when babies were left on their stomach.

All that said, those are really minor side-effects to losing your child.

<comment><USER4> Have you noticed this in a statistically significant way or is there a reasonable chance this is just variance?

<comment><USER3> While I personally don't have anything measurable to back it up, I'd be surprised if it wasn't out there already. Tummy Time's main goal is to address side effects from "Back to Sleep"[1]. The rest of the things I said came from pediatricians, physical therapists, and other specialists I've talked to about it. Half of the reason I threw out those statements was to see if anyone had more concrete or additional information about those things.

[1] "While it's recommended that you place your baby on his or her back to sleep to reduce the risk of sudden infant death syndrome (SIDS), tummy time gives a baby the chance to experience a different position. This can help reduce the risk of flat spots. Research also suggests that babies who spend time on their tummies crawl on their stomachs earlier than do babies who don't practice tummy time." [http://www.mayoclinic.org/healthy-lifestyle/infant-and- toddl...](http://www.mayoclinic.org/healthy-lifestyle/infant-and-toddler- health/expert-answers/tummy-time/faq-20057755)

</comment></comment></comment><comment><USER5> Since my mother faced this, I feel a bit sorry for the parents whose children died of SIDS before the cause was identified. Can you imagine the piled up guilt of knowing that you could have easily prevented the death of your child?

Frankly, it's a topic I avoid with her anymore.

<comment><USER6> > Frankly, it's a topic I avoid with her anymore.

Couldn't you just stop haunting her from beyond the grave _entirely_?

<comment><USER5> Disturbing, yet morbidly entertaining. Thank you for the smile.

<comment><USER6> You're welcome :-)

</comment></comment></comment></comment><comment><USER7> Article is from 2011.

</comment><comment><USER8> Sids usually means inexplicable deaths for babies less than one year old.

I can remember my daughter at five months, as soon as she learned how to turn, she would start sleeping on her stomach, no matter what we did. What should a parent do, then?

<comment><AUTHOR> Isn't there some sort of technology by now that can detect a child's breathing and alert you when something is wrong?

Like a baby monitor but that is automatic?

Maybe uses eulerian video magnification, and sound?

<comment><USER9> These things are already being sold.

Or you could grab an anatomically shaped cot and/or pillow designed for this.

<comment><AUTHOR> Can you please post some links to those things?

I haven't seen any good solutions yet.

<comment><USER3> This is what my wife bought last year to address this [1]. It doesn't detect breathing, but it goes off if there's no movement for 20 seconds (from breathing). It goes under the mattress and you calibrate it by draping a towel over the bed--it's that sensitive. It'll also act as a baby monitor (audio) and air temperature sensor. It is annoying when you pick up your child, you have to reach over to turn it off or the alarm will go off. We've never had it actually go off for stopped breathing, but we definitely sleep better.

[1] [http://a.co/4pdu0nI](http://a.co/4pdu0nI)

</comment></comment></comment></comment></comment><comment><USER10> I wonder if the Finland's baby boxes help. They have almost half the infant mortality of the US.</comment>


Python 2.7.4 Released - <AUTHOR> http://www.python.org/download/releases/2.7.4/ <comment><USER2> I know it's confusing but the feature list on this page is for python 2.7; the 2.7.4 is just bugfixes.

Changes are here: <http://hg.python.org/cpython/file/9290822f2280/Misc/NEWS>

</comment><comment> steve-howard From the main python.org homepage, I see the announcement for Python 3.3.1 as well. What's curious is...

Python 3.2.4 and Python 3.3.1 final have been released. Published: _Sun_ , 6 April 2013, 22:30 +0200

Python 2.7.4 has been released. Published: _Sat_ , 6 April 2013, 11:00 -0500

<comment><USER3> It's not that curious, Georg Brandl is release manager for the 3.* releases, Benjamin Peterson is release manager for the 2.7.4 release and they live in different timezones.

<comment><USER4> The timezone doesn't determine which day of the week April 6th, 2013, falls on.

<comment><USER5> They probably tried calculating the day of the week using Python's truly painful timezone conversion tools. I'm not convinced it wouldn't tell you that a single date lay on both Saturday and Sunday.

</comment></comment></comment></comment><comment><USER6> After years, better integration between the old and new buffer interfaces was finally sneaked in as a bug fix. You can now call `memoryview(some_buffer)` and it'll DTRT. The whole buffers situation is a depressing mess.

<comment><USER7> Since you have been voted to the top of the thread for this comment, can you be more concrete on your complaint?

<comment><USER8> See <http://bugs.python.org/issue10211>

Basically, Python has the "buffer" object which is a 0-copy view of some memory area (lets an object expose itself as a bytes array of sorts). It's always been plagued with a number of issues.

In Python 3, `buffer` was removed and replaced with `memoryview`, which was backported to Python 2.7. But in said Python 2.7, `buffer` and `memoryview` both exist and fill very similar need so e.g. older libraries will likely return a buffer which newer code will want to use as a memoryview. No such luck, they're not compatible.

2.7.4 fixes that so you can get a memoryview from a buffer.

</comment></comment></comment><comment><USER9> The amount of love the core developers give to maintenance releases is incredible... "hundreds of bugfixes"!

<comment><USER10> A maintenance release still used by 99% of production python shops and the default install on most linux distros. Not that surprising really.

<comment><USER9> The word was "incredible", and I was actually not referring to 2.7 specifically, but to maintenance releases in general (3.3.1 also got hundreds of bugfixes).

</comment></comment></comment><comment><USER11> It annoys me how this release was added to the 2.7.x line when it probably should have been 2.8 given all the changes and feature additions. Freezing the 2.x line means not making huge changes to it. Otherwise, it probably shouldn't have been frozen.

<comment><USER2> I know it's confusing but the feature list on this page is for python 2.7; the 2.7.4 release appears to just be bugfixes.

<comment><USER6> You should check the changelog, they're still adding functionality by stretching the definition of 'bug fix'.. 2.x development is unlikely to freeze any time soon. I certainly have no intention of moving to 3.x, it would be the most pointless upheaval ever. I'd sooner fork 2.x and maintain it myself.

<comment><USER12> I would love it if you would maintain a fork of 2.7. I'll look forward to the release!

<comment><USER9> Why would you use/support the fork? Why not just upgrade?

<comment><USER13> It is pretty clear that the current users of Python 2.x have voted that they don't want to move to Python 3. Some language changes and lots of library changes. Everything has to be ported to upgrade.

<comment><USER14> I've been waiting for Django and PyPy, personally, and they're both comming along at a satisfactory pace, in my opinion.

<comment><USER15> I started a new Django project at work using Python 3. Fun part is it gives me an excuse to help some of the various Django libs to move to 3 (if the authors are still around to take pull requests :/).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> release announcement: [http://mail.python.org/pipermail/python- dev/2013-April/12515...](http://mail.python.org/pipermail/python- dev/2013-April/125156.html)

</comment><comment><USER16> It seems weird that large features like dictionary comprehensions and syntax changes like set literals are making it int0 2.7.x, but I'm not complaining - most of my projects are stuck on 2.7 due to deployment environment or library limitations and I'd love to be able to use these features.

<comment><USER9> If you read that page more carefully, you will notice that the list is about 2.7 changes, not 2.7.4.

<comment><USER17> If you read his reply more carefully, you would have realised he's talking about the move to Python 3.x

There aren't any libraries I know of that work in 2.7 but not 2.7.x

</comment></comment></comment><comment><USER18> Ordered dictionary remembers its insertion order, it's very useful for some situations.

<comment><USER19> OrderedDict was in collections since 2.7, what has changed now?

<comment><USER20> see the other comments the changelog is for 2.7, the 2.7.4 update only contains bugfixes

<comment><USER19> thanks</comment></comment></comment></comment>