PHP needs a vision - <AUTHOR> http://news.php.net/php.internals/64770 <comment><USER2> That closing appeal to deal with the abusiveness of the php.internals list fell a little flat given the opening statement of "shut up". I loved Rasmus' answer to this though.

<http://news.php.net/php.internals/64771>

        > The vision has been the same for years. A general purpose scripting
        > language with a focus on web development. You are simply saying you want
        > the vision to be more specific than that because everyone has a
        > different view of what web development means. But even if we narrow the
        > vision, it will still be open to a lot interpretation. We try to strike
        > a balance between the different and changing views of web development
        > the same way we strike a balance between appealing to weekend warriors
        > and top-100 trafficed sites. No vision statement is going to answer the
        > question of whether annotations should be in docblocks or in the core
        > language. That's simply not what vision statements do.
        >
        > -Rasmus

Maintaining clarity of purpose in a project can be difficult sometimes. Kudos to Rasmus for managing to do so in the midst of what looks like it's gearing up to be another php.internals shitstorm.

<comment><USER3> Personally I find nothing much 'general purpose' about PHP. The language has configuration files! That alone prohibits me from doing anything generic with it.

So all that's left for me is 'focus on web development'. And to be honest: I think today it is not even so good at that. We have server side JS (Node), Ruby, Python and Java -- all freely available with huge communities. Does PHP stack up against these today?

I sure see that back in the days, when cgi scripts in Perl were the norm, PHP had huge advantages over its direct competition in open source web dev land.

To me Rasmus merely underlines the lack of vision, or ability to act on one.

<comment><USER3> On a more positive note:

I think the Symfony team actually has the vision: provided it has to be with PHP, let's make a full stack web development framework (like Rails) that does not suck, and create heaps of interesting components/libraries that can be used perfectly on their own in the process!

These guys and girls are showing to what extend PHP can be pushed, they also build a fair share of general purpose libs that the PHP community badly needed (e.g.: composer).

It you are looking for PHP with a vision, line yourself up with Symfony: they seem to have it.

Jokingly: If web development is what PHP is useful for, then Symfony simply needs to be shipped with it :)

Plenty of vision is communicated from their site, and it all makes sense:

<http://symfony.com/symfony-at-a-glance>

<http://symfony.com/elevator-pitches>

<comment><USER4> have you ever even tried Symfony? i think a lot of the debate is about how people are starting to get fed up with the Java/c#-like direction PHP is heading. symfony is not like rails, no where close to it. not sure exactly where they started taking the wrong turn but it's really going the opposite direction from other languages like node/python/ruby where simplicity is at it's core.

<comment><USER5> PHP is one of the major corporate web languages. That is why its heading down Java street. But that's not a bad thing either. Every language covers a specific need. They can't all be everything to everybody. Sure, there is a lot of horrible PHP code (specially in the online ads industry), but that does not change the fact that the language works for the needs of a given market. I don't get why people want to turn PHP into Ruby/Python. If you want that, then by all means use Ruby/Python. If you _have_ to use PHP at work, then make peace with it, and use a more modern PHP style. If you are going to complain, just do it to your CTO or person in charge of choosing programming languages. Though most don't listen...

<comment><USER6> Where "modern PHP style" is defined by the kind of OO frameworkization excesses that the Java community introduced to the world over 10 years ago. It's not a specific need of the enterprise, it's just a historical coincidence.

PHP happened to be the language that websites were written in at a time when the old Java guard came into management positions, bringing with them their failed ideas of what "professional" software design means.

I don't see why you think it is more justified for PHP to become J2EE than Rails/Django. PHP as a language doesn't support one style any better than the other. The only thing that really sets PHP apart from other dynamic languages is that it is a page template engine by default.

So if you absolutely have to ask one of those "why turn PHP into xyz?" questions, why not ask "why turn PHP into anything other than a page template language?".

The answer to all these questions is, because programming languages are indeed languages. People use the languages they know to say the the things they need to say and they use them to experiment with new ideas. That's a good thing.

<comment><USER5> _I don't see why you think it is more justified for PHP to become J2EE than Rails/Django._

I don't. But like you said (IMO, your comment is spot on), PHP has suffered from the Java mindset. Though I do think that people should not have a language do everything. But thats a problem at the enterprise level, where one size fits all.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I come from a C++ background, and early last year tried my hand at web development.

After hearing about all the stuff about how PHP was an "old", kludgey language, I tried to learn python, and go the webpy. It was doable, but I kept running into issues all the time.

I gave up and switched to PHP, and I have to say that it was a much easier experience. For the most part, everything just worked. Regardless of how kludgey its history is, how inconsistent the syntax is, etc, it really does work well. I'm now doing PHP development at my current job and it's been fine.

One thing I learned from a previous job was the saying "Your customers don't care about your technology. They care about you solving their problems." If you are solving their problems, they will pay you, regardless of whether or not your back-end is CGI, perl, PHP, or whatever.

<comment><USER8>
        "PHP Should Be Implementation Neutral, and Support All Paradigms Equally".

This is what I like about PHP. When you want a 4 page site, you can use procedural and functional programming. When you're working on an enterprise level CMS you can whip out the OO paradigm and you're set. PHP is a messy soup but it does web better than most other languages.

<comment><USER9> One nice side affect of this is that PHP can suit both novice and experienced programmers. Newbies don't have to learn OO before they write Hello World.

<comment><USER10> Yeah, and thanks to this, you end up with a "beast" like Magento, written by "experienced" programmers, and then you have novices tasked with writing themes and components for it, but it doesn't work that way because the "beast" is not "black boxed" well enough for the novices to ignore it. (I keep quoting "experienced" here because the example Magento is just "Java written in PHP" and I'd fire anyone turning up this type of code.)

<comment><USER11> Having had the unfortunate experience to work with Magento recently, I completely agree with your evaluation. My reoccurring thoughts were exactly "this is Java written in PHP!".

<comment><USER10> Then please spread the word and stop clients/managers from choosing it! Let's stop others from falling into the "look, it even has ebay integration!" trap!

</comment></comment></comment></comment></comment></comment><comment><USER12> Stas responded here: <http://news.php.net/php.internals/64775>

"PHP's vision is being simple and practical and focused on the web. PHP is what people use to get their first site off the ground. PHP is what a web designer learns when he/she wants to go into programming. PHP is what a random Joe uses when he needs to whip up a page and he's in "do it yourself" mind. PHP is what you expect everybody to be able to handle, and everything to be able to run. It is not to serve everybody, every use case and every possible need."

Frankly, I don't understand this vision at all. Is PHP supposed to be a beginner's language that a webdev eventually moves on from? I mean, don't get me wrong: I used PHP for exactly that when I graduated from high school. But is the directive really, "Real programmers don't use our language"?

<comment><USER13> Python has often been called an easy to learn language and a good first start because it tries to be easy to read.

Does that mean that it is also a beginner's language that people eventually are supposed to move on from?

<comment><USER14> People who pickup Python will always stay and never move on completely.

My programming carear startet with perl -> php -> python and i found one holy grail to solve most of my problems. Python had an easy entry point the same as PHP but when you jumped over the first learning curve and discovered the complete ecosystem it`s mindblowing.

I never had that feeling with PHP you could do websites and thats it. And most of the time it gets a mess real quick. PHP will slowly phase out over the next decade.

<comment><USER15> I picked up Python and am now using Node/CoffeScript for web dev. I'll probably transition to Clojure in the future and I'll try Haskell after that.

> PHP will slowly phase out over the next decade.

Wanna bet on it?

</comment></comment></comment></comment><comment><USER3> Too late if you ask me, let me explain:

Programming languages are hard to change, very hard, because it will certainly break programs written in it in many places. So if you want a programming language with a vision you should start with it, or simply accept it has no vision and it merely goes with the whim of its maintainers. The latter is what I believe happened to PHP. No biggy, there are plenty of languages that do have strong visions and are very suitable for web-development; just move on.

If PHP was to implement a vision, it would soon not be PHP anymore, whether that is a good thing is up to the users of that language. In that case I foretell a hack of a lot of porting effort and a fork (facebook?)... :)

<comment><USER16> PHP has changed a lot over time. It moved from a C-style procedural language to very Java-esque object oriented language. "PHP" hasn't been "PHP" for a long time already.

It's always hard to do large language changes, but it's not impossible. E.g. consider the change that PHP did from version 4 to 5. That was a pretty major paradigm shift, with lots of broken code, but it worked out well in the end :)

<comment><USER3> To me the OO features of PHP have always felt 'bolted on', yet Java is OO from-head-to-toes. It only emphasizes my point: unlike a startup, a programming language cannot pick/change vision when it is a grown-up.

<comment><USER17> Probably because they were in fact "bolted on". Saying that Java is OO from head to toes, I can't agree with. Java has primitive types as well, and not everything is a first class object (like methods). Python is more OO in that sense, for example. In a sense, Java is having trouble incorporating modern features in the language too. Just take a look at how generics are implemented, and the endless closure debate.

<comment><USER3> Python? Try to subclass an int in Python, and see that it is not as OO as you think.

Ruby is more OO then Java for the reason you give, still there are primitives but they have a thick OO-coating so you are less likely to notice they are 'different'. Try subclassing a Fixnum -- it works! But Fixnums have no 'new'.

</comment></comment></comment></comment></comment><comment><USER18> Personally I think PHP has a bad rap for two reasons:

First: Community like HN and such, have lot of good and smart people, however, lots of us are what I like to call "tech hipster", they like to always brag about how they prefer some new-shiny language/framework whatever, as if that means they know more than the average developer. Like an hipster when it comes to some underground-indie-band.

It's pretty fun to see this, I laugh quite a lot TBH. And because of this PHP is looked upon as a mainstream language, like POP music, always number one on the charts, always on the frontpages, but like POP it lacks quality, good taste and so on (what some people think at least).

So, many of us, just hate PHP cause it's POP and using a POP language is cheesy and lame...whatever...and they just hate PHP because they read someone else's saying it sucks. eg: "PHP sucks, because I use X"

Second reason: Other people on the other hand, have really fundamental reasons to dislike PHP, however, I noticed that a lot of these people haven't used PHP since version 4, and they are completely out of the current state of PHP. I don't mean everyone, but most of them do.

I'm not a PHP fan or anything, in my work I have to use it, although I really wish I could use Python, but I can't. So, instead I try my best to use it in the best way I can.

I'm currently using Symfony2 framework, which brings a lot of good web dev practices into PHP world. I'm looking at Laravel as well.

To be, most people still think PHP developers use a PHP as a single file where they put PHP function on the top tof the file and html at the bottom and such...and if you a good developer you can really make PHP shine these days, because there a good tools and frameworks out there.

<comment><USER19> Nice analogy with the indie/mainstream pop, and I couldn't agree more with the techno-hipster with their 'cool' underground languages. PHP is still the bread and butter of the web, wether you like it or not.

I can really recommend the Laravel framework, it's quite elegant!

</comment></comment><comment><USER20> I couldn't agree more, and I'm a fan of PHP. It's a swiss army knife of a language, allowing you to program however you want. C programmers can code procedurally and java guys can jump in and basically go all out with the OOP constructs provided. I've watched PHP get better over the years, and it continually does so, but after having switched recently to Ruby, I have to say a solid "Benevolent Dictator" would probably not be such a bad thing for the language. Ruby has its paradigms, its own way of doing things, and you frankly can't develop software in many ways PHP allows you to, but for me Ruby is still a much more succint and beautiful lang, one I enjoy programming in more, I think partially because it has this, a set way of thinking about software design. I mean unit tests are in the stdlib for example, and you can't program long in the language without using utils, gems, etc, that all are chalk full of test suits that pass.

IMHO, a programming language should not just focus on itself or whether it has such and such feature, but on how it can be used in the entire software development cycle. This is something Go and Ruby are doing exceptionally well, and is why I like using them so much to build software, whether its web or otherwise. Probably because of its history as a template language embedded into HTML (way back when :), PHP has still got some growing pains in order to build up its software development paradigms, but I'm still hopefull, it has gone amazingly far and continues to improve.

</comment><comment><USER10> PHP has never been about the "language" as far as I see (hell, it was a templating system "evolved into a language"!), but about the platform (language + libraries + server + tools and what this meant for deployment and scaling).

PHP (the LAMP "web development platform" that happens to include the PHP language) got so popular because:

1\. ease of deployment

2\. ease of scaling

3! KISS by _keeping the layers of abstraction few and thin_ (at first it was just a thin "templating" layer to reach the functions in C libs)

Only (3) has anything to do with the language itself, and is the only one the could translate to a language "vision". If PHP were to remain true to itself and its advantages that made it what it is today, their vision can only be _to keep the layer of abstractions few and thin_ and this can only mean 2 and 3 from the OPs rant: procedural, functional and multi-paradigm enough to support OO (I know, people don't write functional code in PHP but I think they should - it really helps with KISS once you go over the "procedural brain rot").

P.S. As a developer I _hate_ PHP (viscerally, passionately, religiously and in all other ways imaginable)! As a manager I absolutely love the "fail cheap, fail fast" philosophy and PHP is one of the few languages that enables this "flow".

</comment><comment><USER19> Wow. I must say I'm surprised (not in a good way!) by the lack of quality of a number of the comments here. I already knew that PHP isn't the language of choice of cool programmers, but at least they make some sort of informed decision. Some of the comments here ("PHP must die!" and "I use Rails" or "I switched to JavaScipt") really show a lack of understanding about even the most basic concepts of PHP, or programming in general.

I'm the first one to admit that PHP has its flaws, but that's not to say that other languages are perfect, or 'better'. PHP is a Frankenstein's monster, and no matter the quality of body parts you schlep onto it, it will probably still work. Ruby on the other hand is stricter, more consistent. If you're new to programming you can hit the ground running with Ruby (especially with the Rails framework, but if you're new to programming, would you even know how a framework relates to a programming language?). But if you want to go beyond a simple CRUD-app, Ruby poses a lot of challenges that can be hard to solve whereas PHP, well, just works.

My point is: you pick the right tool for the right job. For a lot of people, the right tool is PHP because it's the only thing they know. That's not PHP's fault, now is it? This kind of thinking reminds me of the clash between Apple fanboys and Fandroids: to each their merits, but you can't seriously state the one's perfect and the other one is utter rubbish.

Wether you like PHP or not, it's still: a) the most popular programming language b) the programming language with the most job openings (Source: <http://www.udemy.com/blog/modern-language-wars/>) This has to count for something, right?

So please, for the sake of keeping HN a decent place, refrain from using non- argumented statements like 'PHP must die'. You're not adding anything to the discussion and you make yourself look like a fool.

As for the 'vision of PHP': I'm glad there is none. It's the gateway drug to a lot of programmers, and I'm sure that I would have given up on programming if it weren't for PHP. When I look back on some of the stuff I wrote some 10 years ago I just want to cry, but that does show that I've grown as a programmer. It's perfectly possible for people to start out with PHP and evolve to good programmers, regardless of language used. A stricter defined PHP would just kill that.

<comment><USER21> > But if you want to go beyond a simple CRUD-app, Ruby poses a lot of > challenges that can be hard to solve whereas PHP, well, just works.

I write PHP professionally. I like PHP programmers. I'm starting to have a soft spot for PHP. PHP and its standard library are a minefield.

</comment></comment><comment><USER22> I think PHP (5.x/6x) is still applicable to any developer, new or old, experienced or not. Many of us cut our teeth on PHP's simple scripting concepts, and that shouldn't change. And from what I've seen from past history, it won't.

There is a tremendous amount of backwards compatibility in current versions of PHP that allows one to follow the same approach to Web development that those did back 10-15 years ago with PHP 4. No, it is not "Enterprise", and yes there are security considerations to account for. But the process of adoption is key, and PHP continues to be adopted by a lot of startups/projects. Those that choose to adopt the PHP language as their advanced vernacular moving forward still continue to have a number of more advanced programming language concepts to utilize in PHP with each new release, with barely any breakage with other approaches to using PHP.

<comment><USER23> "Many of us cut our teeth on PHP's simple scripting concepts" -- The Gateway Drug :D

I went Perl -> PHP and have been there ever since. Not because I'm too lazy to learn another language, but because it has done everything that I have needed it to do, and when I found something that it couldn't, I looked elsewhere for that one aspect of the project.

Isn't it our role as developers to push the boundaries of our chosen language? I'm pretty sure back when Javascript was being thrown around, they wouldn't have imagined what it is today.

Trying not to sing praises, and throwing fuel on a fire that should have died a long time ago... To each their own.

</comment></comment><comment><USER24> PHP is for webdev. That's it. Go outside the bounds of that and it loses its magic. On its own it's great for spitting out a webpage. It's a scripting and templating language in one, which is kind of cool.

That said, outside of that to make PHP work on bigger projects you end up with a lot of structure and ceremony that make PHP suck, not quite as much as Java, but it's not amazing.

Thiings like testing and testability aren't much fun in PHP. For a long time package management was a joke.

PHP is for webdev. That's it.

<comment><USER17> I can't agree with that. Personally I happen to use PHP not for web development, but almost exclusively for system administration and monitoring (I'm not a web developer). It's very comfortable using PHP in these areas, as:

\- PHP and many of the PHP extensions are packaged for about every major OS and architecture

\- a lot of functionality is already shipped with the interpreter (so no additional stuff necessary)

\- it's very easy to deploy We've tried a number of options, especially in the monitoring area, but PHP eventually seemed to be the most suitable for the job.

<comment><USER25> Deployment is "easy" because you just copy a bunch of files, right? Reproducible deployment takes a little more effort, but it's well worth it when the time comes to upgrade a server, or a pipe bursts on top of your existing one.

Python has your other advantages, quite a lot of existing monitoring software, and is a far more pleasant language to program in.

<comment><USER17> Well, you could just copy a bunch of files, if that's all you need to do. But ideally you'd use a tool like Fabric to do your copying/moving, symlinking, server config changes, etc.

We use Python for a number of things too (and yes, I like the language a lot). The only trouble I have with Python in this context is actually cross platform support. It's a bit harder to get packages for the latest and greatest versions of modules and the interpreter if you have to deploy to e.g. Solaris 9 systems, unless you create them yourself. Theoretically it should have the same advantages, yes.

</comment></comment></comment></comment><comment><USER26> Whenever this issue pops up I always imagine Fabien Potencier (while he's no dictator, he has a very clear path) taking over the php source and change it according to his vision. Then I imagine going back to the first php script I ever wrote and how if I would have been able to create it with the changes. I can honestly say I can imagine it would have been a lot harder to do and there is a big chance that I would have given up because I can imagine him going into full OO mode. Don't think I don't like Fabien, for me personally his php version would probably be a lot better, but also a lot harder for new users.

This is one of the best things of php: it's easy enough for new developers and you can grow into the OO aspects of it. While I must admit I would also like a big cleanup to make the function names and arguments more uniform, I don't hope they change anything that makes it harder to begin with php or limit the possibilities to grow.

</comment><comment><USER27> Some of the statements there such as this really disappoint me.

"PHP is what people use to get their first site off the ground. PHP is what a web designer learns when he/she wants to go into programming. PHP is what a random Joe uses when he needs to whip up a page and he's in "do it yourself" mind."

PHP is a great language in that its very flexible and quick to get going with, the sad thing is people don't want it to grow up...after all, so many massive companies (FB?) use PHP for core components. Why can't those internally have a slightly larger vision...

<comment><USER28> Facebook hates PHP, but it would be too expensive to convert their 3 million lines of code. They just use HipHop to compile it to C++.

<comment><USER27> A totally reasonable reply (kind of expected someone to say it!) but the fact that they use php (despite the use of HipHop, which is a wonderful innovation) does say something about the language.

It just makes me sad that rather than saying "look what php can do with some work!" and doing something to head in a direction that could make some of its power uses (like FB) love/like the language, the people in charge simply seem to not care.

A better positioning would be saying something like "php is a great tool to start a web project in, and over time it'll continue to be the best tool to start a project in by helping people innovate even faster." Building it into boxes and decouple it from the rest of the code down the road, like FB have, is likely what most people will do, but at least saying PHP strives to fit this need would be a better vision than saying its for "Joe's weekend website", when clearly that's just shortsighted.

Saying what you're going to do in a public place does increase your chances of following through with it. PHP should document something that says what they want to be, even if its not what some people want them to be!

</comment></comment></comment><comment><USER29> It has lots of vision, what it needs is a janitor.

</comment><comment><USER30> You want a vision? Here is one - make the mess we have at the moment work.

I write in php for the better part of 4 years now and hate it every day. And I have written in c++ before that. Ask 20000 developers what are their main pain grievances sort them by "popularity" and just remove them one by one.

For me it is the hard debugging, the include mess and the "extremely" creative ways parsing and runtime errors are communicated to the developers.

<comment><USER31> You seriously find PHP hard to debug? I wrote something that may help you : [http://jtreminio.com/2012/07/xdebug-and-you-why-you- should-b...](http://jtreminio.com/2012/07/xdebug-and-you-why-you-should-be- using-a-real-debugger)

Thanks to namespaces, PSR-0 and Composer, I no longer have to worry about "include mess". Use an autoloader, that's what it's for. If you're finding you have to include a file to access information in it, that tells me you're not testing your code.

The only error I've run across that gave me pause, for a second, was the T PAAMAYIM NEKUDOTAYIM. A quick, 5 second Google search gave me the information I needed.

</comment></comment><comment><USER32> Worthwhile reading the email that preceded it:

<http://news.php.net/php.internals/64763>

The response hardly seems warranted. The vision is pretty stated there.

<comment><USER33> The response would seem warranted if you had been a participating member of the PHP internals list for any significant length of time. Stas is pretty well known for jumping into threads and completely derailing, and shooting things down with BS like "PHP is not Java, stop trying to make it into Java". The response is a culmination of a long time of watching him respond in such a fashion.

Stuff like this: [http://marc.info/?l=php- internals&m=135083835232016&...](http://marc.info/?l=php- internals&m=135083835232016&w=2)

Sometimes he contributes to discussions in a very positive manner. But too often he degrades the discussion into BS rhetoric and greatly demoralizes contributors (I know I am not the only one to voice disdain, I may just be the first publicly)...

I guess you can say I just had enough...

<comment><USER32> Fair enough, but the only Proven Successful (tm) solution to trolling is to ignore it. If it's not productive, disregard it.

<comment><USER31> Can't ignore him, he's got a vote in PHP internal.

</comment></comment></comment></comment><comment><USER34> php's internals mailing list is chaos. It's a pantomime of "YES-NO-YES-NO-YES- NO" ad nauseum. And that is why PHP is such a horrible, inconsistent language. It has never had any consistent direction. JS was bad at first, but its mistakes are slowly being corrected and it is become more consistent and coherent. PHP was bad at first, and they keep breaking things as well as improving it.

</comment><comment><USER35> I think this may be too optimistic. It seems to me that PHP's lack of vision has already made it a horrifically bad language. The problem is not that it tries to do OO while also not really trying to do OO (don't get me wrong though, that is a problem). The problem is that it tries to do OO like Java. Get with the times and learn Ruby already.

<comment><USER4> it's true, php core devs have some kind of a Java OOP/DP fetish. maybe because they think Java is enterprise so they should replicate what works for them.

</comment></comment><comment><USER36> I have $20. $10 to two PHP BDFL's kickstarters that are willing to take on the responsibilty of improving the language and removing the inconsistencies.

1) No one from Zend or Rasmus can apply. 2) facebook - would love if you guys forked it, but you don't need my money.

</comment><comment><USER37> PHP would do well getting proper weak references in play, regardless of vision. No easy task at this point, sadly :(

More specifically: Put in proper weak refs -> get lexical scoping -> get first class functions.

</comment><comment><USER38> They should hire DHH for 10.000$/day. I'm sure he can help.

<comment><USER39> Glad i searched before posting exact the same. Don't forget matz in this context...

</comment></comment><comment><USER40> Switched PHP for JS. Never looked back.

Seriously, It needs to die.

<comment><USER41> The two are not analogous at all.

<comment><USER42> Please Explain

</comment></comment></comment><comment><USER43> So does Perl

</comment><comment><USER44> it needs a relapse. dont do shit because its popular, do it because its useful!

</comment><comment><USER45> PHP needs to die

Sorry...

<comment><USER31> Empty, non-contributing comments like yours that appear in every single thread about PHP on HN need to stop being posted. Not sorry, I mean it. Stop.

<comment><USER46> It's not an "empty, non-contributing comment" to those of us who have had to use PHP, especially after years of using far better languages. It rings especially true to us who have seen the horror systems implemented in PHP can be.

<comment><USER47> I feel as though we ought to hold our comments to higher standards than "expresses a strong negative opinion with no supporting evidence or reasoning". Maybe that's just me?

It certainly feels strange that this sort of comment is being defended when the same comment with PHP replaced by Python/Ruby/(Java/Coffee)script/Haskell/C/C++ would be universally reviled.

<comment><USER46> I don't think that the supporting evidence needs to be explicitly stated. Those of us who have used PHP before inherently know why he posted what he posted. The evidence and reasoning is in our past experience with the language, and it's much stronger than a "citation" of some blog post or anything of that sort.

It's quite telling that we don't see comments like that for other languages that often, if ever. Aside from perhaps JavaScript, no other mainstream programming language causes experienced programmers so much grief. No other language is so riddled with obvious deficiencies, and so problematic.

<comment><USER47> I hardly think that you and he speak for "those of us who have used PHP before", and to pretend that you do seems awfully arrogant on your part. I definitely don't share your sentiments, that's for sure!

Even if you did speak for everyone who'd used PHP before, I don't think this comment is in any way useful or productive - are we all just supposed to take it on faith that every person who has a strong negative opinion on something speaks for everyone who's familiar with the topic? It seems to me that this is precisely against the spirit of HN (and reasoned discussion in general). So yes, I think that if you're going to make a comment like "PHP needs to die" and want to contribute something meaningful to the discussion, you're expected to elaborate on why you think that way. It's surprising to me that you're even trying to say otherwise.

I'm not sure what to make of your assertion that the existence of a vocal group of PHP haters indicates that "PHP needs to die". I'll admit the language has its warts, but the hatred directed at PHP on HN seems way out of proportion to any other programming community I've been to, and out of proportion to the actual deficiencies with the language. And I don't really think that it makes sense to call PHP a "cancer" or to say that the existence of PHP is a problem; it's not as if we shun and shame programmers when they try to migrate from PHP to other languages, and it's not as if PHP paradigms are "infiltrating" other languages.</comment></comment></comment></comment></comment></comment>


Ask HN: Best PHP unit testing tools? - <AUTHOR>

Looking for unit testing tips & tools.. PHPUnit? SimpleTest? Others? What do you think? <comment><USER2> I use SimpleTest and it works pretty well for me. The functional testing tools are pretty neat.</comment>


Show HN: Foxpass – SaaS LDAP backed by existing Google Apps identity [beta] - <AUTHOR> https://www.foxpass.com

<comment><AUTHOR> I've set up an LDAP server at several companies and was always frustrated by how arcane they are to build and operate. So I built a SaaS one (well, a beta anyway) that's easy to use with a simple web interface for group management, integrates with Google Apps (which is the core identity used by most young companies now), and is scalable and fully redundant. It also serves SSH keys directly to sshd, so users can take care of their own key management (and soon, admins can enforce password and key rotation schedules).

HN, I'd love your feedback!

<comment><USER2> Sorry, noticed that you submitted and your name is on the website!

</comment></comment><comment><USER3> One question: How are you securing the Oauth connection? Oauth2 is nervous- making.

Ok, one more question: If I deprovision someone in GApps, will they automatically deprovision elsewhere? Vice versa? Where's the source of truth?

<comment><AUTHOR> Great questions.

I think that OAuth2 is all that Google supports right now for Google Apps authentication, at least according to [https://developers.google.com/accounts/docs/OAuth2](https://developers.google.com/accounts/docs/OAuth2).

And yes, if a user is deprovisioned in GApps then their LDAP credentials are suspended until they are re-activated. The goal of Foxpass is to make GApps the source of truth.

</comment></comment><comment><USER4> This is a great idea and something I've searched for in the past when looking for a way to authenticate our own internal apps using Google Apps credentials.

</comment><comment><USER5> I know Aren from school, ad i am familiar with the multitude of problems he has solved at various companies. This should be a plug-and-play solution for others!

</comment><comment><USER2> This looks really nice! LDAP always seems to take some finessing to work right.

Do you support starttls?

<comment><AUTHOR> Thanks! "ldaps" (ldap over ssl) is supported (required, actually) but not starttls (yes).</comment></comment>


The secret nuclear bunker built as the UK's last hope - <AUTHOR> http://www.bbc.com/future/story/20170103-the-secret-nuclear-bunker-built-as-the-uks-last-hope <comment><AUTHOR> There is also an accompanying 360 video here:

[https://www.facebook.com/BBCFuture/videos/vb.279678448760878...](https://www.facebook.com/BBCFuture/videos/vb.279678448760878/1228592763891161/?type=2&theater)</comment>


ECG app and irregular rhythm notification on Apple Watch - <AUTHOR> https://www.apple.com/newsroom/2019/03/ecg-app-and-irregular-rhythm-notification-on-apple-watch-available-today-across-europe-and-hong-kong/ <comment><USER2> On a somewhat related note:

The Apple Watch gave me a false positive for atrial fibrillation. I was having premature ventricular contractions (PVCs), which are _generally_ benign as long as your heart has no structural abnormalities. Basically, your left ventricle contracts spontaneously on its own in beteeen regular beats, which throws off the timing of the next beat. The end result is an irregular heart beat, similar to that of atrial fibrillation, but can be easily distinguished by human inspection of the EKG.

Needless to say, the result scared the crap out of me. I made an appointment at the cardiologist the next day, and I couldn't sleep until I was finally able to see him. The stress from this actually made the PVCs more frequent...

The cardiologist took one look at the EKG strip from the watch and was able to identify the abnormalities as PVCs rather than afib. He still had me wear a holter monitor for 48 hours though. It turns out I had over 38,000 PVCs in two days, which is a large enough amount to cause concern about the risk of cardiomyopathy ("they" say under 10,000 per day is okay as long as they're not bothering you).

So, at the end of the day, I'm glad I got the alert. I probably wouldn't have gone to the doctor if not.

I do hope they improve the classification though so that it can distinguish between afib and PVCs.

<comment><USER3> I am working on algorithms related to PVC and AFib detection. I can see why the app might make that mistake. PVCs and AFib are not mutually exclusive, and AFib can be "paroxysmal", meaning it doesn't occur all the time. Basically the way AFib "works" is that instead of steady and constant p-waves, where all the cells in the atria contract in one swoop (as they should), the excitation of the cells spreads chaotically without a clear beginning and end.

Of course, as a Human watching an ECG you can recognize the PVCs at one glance. AFib can be a lot harder to see, and it can start and stop. Also, AFib seems to be less of a problem than high PVC counts, speaking in general terms. Of course, don't take this as medical advice, I'm just a Veterinarian...

<comment><USER2> > PVCs and AFib are not mutually exclusive

Right. I didn't mean to imply that they were, just that the watch misinterpreted frequent PVCs as being afib.

In my case, it was easy to determine that they were PVCs with a normal underlying rhythm because the underlying rhythm was steady like clockwork, and the PVCs were occurring in a telltale bigeminal pattern for a few seconds at a time.

> Also, AFib seems to be less of a problem than high PVC counts

I'm no doctor, but this doesn't align with what I've been reading. It seems like they don't even recommend treatment for PVCs most of the time unless they're symptomatic. In extreme cases like mine (20,000/day), there's a chance that it can weaken the heart over time, but I'm not sure how this compares to the risk of stroke for untreated afib sufferers. I've heard mentions of PVCs being an indicator for increased sudden cardiac death risk, but I can't find any reference for this pertaining to people with otherwise normal hearts. I think it may be the case for people who have just had a heart attack or something though.

From what I gather, occasional singleton PVCs are generally harmless and occur in almost everyone. Apparently, the issue arises when you start having multiple PVCs in a row without a regular beat in between. After three in a row, it's considered non-sustained ventricular tachycardia, which is very dangerous, I guess because there's a chance it might never stop?

Once again, not a doctor, so please correct me if I'm wrong. This will probably show up in someone's Google search one day.

<comment><USER3> I think PVCs in high counts can accompany more serious problems, like AV Block etc. I had read somewhere that AFib is often not treated. Maybe a statement about what is more serious in general isn't possible because both symptoms can be found in serious conditions.

<comment><USER4> Afib itself is hard to fix, but persistent Afib causes clotting which can lead to strokes, and sufferers are often put on blood thinners to help minimise their stroke risk.

<comment><USER3> There are medications to achieve "cardioversion", meaning transitioning the atria to a coordinated rhythm. Another way is to insert a catheter and use electric shocks to reset the myocardium.

But yes, it's not easy.

</comment></comment></comment></comment></comment></comment><comment><USER5> Austria, Belgium, Denmark, Finland, France, Germany, Greece, Guam, Hong Kong, Hungary, Ireland, Italy, Luxembourg, Netherlands, Norway, Portugal, Puerto Rico, Romania, Spain, Sweden, Switzerland, the UK, US and US Virgin Islands.

</comment><comment><USER6> Fingers crossed for Canada to be next.

<comment><USER6> It looks like Apple has still not applied in Canada as of March 2019 [https://mobilesyrup.com/2019/03/21/health-canada-apple- apple...](https://mobilesyrup.com/2019/03/21/health-canada-apple-apple-watchs- ecg-canada/)

</comment></comment><comment><USER7> Not understanding the limited geographic rollout of this feature. Can somebody explain why is this done in such a way?

<comment><USER6> The feature is subject to approval process in each jurisdiction similar to FDA in US.

</comment></comment><comment><USER8> Missing Poland, Slovakia, Czech Republic ... :(

<comment><USER9> Slovakia still doesn't have Apple Pay, Apple News and no operator supports an eSIM. I honestly don't understand how this is possible.

<comment><USER8> Not entirely true - Orange has just announced eSIM support ([http://dsl.sk/article.php?article=22304](http://dsl.sk/article.php?article=22304)) and Apple Pay is definitely coming in next months (I have this confirmed from inside banks).

</comment></comment></comment><comment><USER10> Are there any fitness trackers that offer this?

And whilst on the subject of fitness trackers - are there any that offer great heart monitoring but aren't a whole smart watch thing? I used to love the jawbone design, and I'm currently wearing an Alta HR - but I wear a proper watch. I have a phone to sync to. I want heart and steps and sleep without the bulk or screen.

<comment><USER11> For one that's still a watch but much less smartwatchy you might like the Withings Move ECG, which is "coming this spring".

[https://www.withings.com/us/en/move-ecg](https://www.withings.com/us/en/move- ecg)

Or for no ECG but an on-face heartrate display, their Steel HR:

[https://www.withings.com/us/en/steel- hr](https://www.withings.com/us/en/steel-hr)

Their least watchy one is the Pulse HR:

[https://www.withings.com/us/en/pulse- hr](https://www.withings.com/us/en/pulse-hr)

I have a pretty positive impression of them as a company. The iOS app aggregates its data into Apple Health (unlike FitBit where your data is stuck in their own apps last I checked), and it's back under the original founder. They had a stint as Nokia Health but separated off last year.

[https://www.withings.com/us/en/event/nokia- withings](https://www.withings.com/us/en/event/nokia-withings)

Note I haven't had any personal experience with their fitness tracker watch; I've got one of their scales.

<comment><USER12> I have the Steel HR. It's pretty nice, basically looks like a decent "normal" watch. good pedometer, heart rate tracker, sleep tracker.

I have an Apple Watch now, but I still wear the Steel HR when I go to bed for sleep tracking.

</comment></comment></comment><comment><USER13> This was a lot faster than expected wasn't it?

<comment><USER14> I really wasn't expecting Ireland to be on the list this soon. I mean, we're still waiting for "visual voicemail" ..

<comment><USER15> Thats more a network limitation, the networks have to buy in the kit to do it and they dont bother. I think only o2 and possibly EE do it in the UK.

<comment><USER16> Another iOS thing the rest of the world is still missing is Voicemail Transcription.

Been out for nearly 3 years, yet remains USA-only to this day.

<comment><USER17> I'm on Three in the UK and no visual voicemail, but subscribe instead fo HulloMail which does voicemail transcription and is a very low monthly/yearly cost.

Would still rather my network provided it though, but it's been 10 years now and Three still haven't updated their systems, so I doubt they ever will.

</comment></comment></comment></comment></comment><comment><USER18> Looking forward to it arriving in Australia soon!

</comment><comment><USER19> I'd really like to get one of these for my Mom but getting her to use an iPhone would probably be a bridge too far.

<comment><USER20> [https://www.alivecor.com/](https://www.alivecor.com/)

<comment><USER19> She has one of these and it works amazingly well. The reason the Apple Watch is interesting is because it offers this and fall detection.

</comment></comment></comment><comment><USER21> Aww, Watch 4; I still love my Watch 2 though, any alternative app to replace it?

<comment><USER22> It's not just an app, there's dedicated hardware to support it.

</comment></comment><comment><USER23> My dad has aFib... should I get him this or Kardia?

</comment><comment><USER24> > _With over 400,000 participants, the Apple Heart Study was the largest > screening study on atrial fibrillation ever conducted, and one of the > largest cardiovascular trials to date._

Were the users aware that they were participating in a medical study? Or was this burried in the EULA.

<comment><USER25> Yes: it was opt-in and conducted in conjunction with Stanford. You had to download the app and enroll: [https://med.stanford.edu/appleheartstudy.html](https://med.stanford.edu/appleheartstudy.html)

<comment><USER26> Very cool

Most health survey apps I'd seen over the last decade had the worst designs and glitchy user experience, it was clear the app itself was a total after thought while fawning over the possibilities of the technology, likely a testament to cash-strapped reseachers

Apple's privilege being put to good use here

</comment></comment></comment><comment><USER26> I bought a premium series 4 last week because of this ECG talk

Tried to see if my carrier t-mobile had the same 24 month payment plan, but not for this specific model and combination and I wanted it now

Imagined the idea of trying to get approved for my tax-free health account, but then realized I'm already paying for my whole healthcare plan by myself instead of an employer, so it would be redundant even if I could get the doctor plus tax authority to agree

briefly looked at all the cheaper alternatives to Apple Watch Series 4 GPS+Cellular Aluminum body, metal wristband. Quickly dismissed them.

so I just made the big consumptive purchase because my health is more important :)

love the device

<comment><USER27> If by tax-free health account that you pay for yourself you mean an HSA plan, then if you could putting it on that would be a net win because you'd be paying with pre-tax dollars. It would effectively be a discount equal to your marginal federal tax rate.

Unfortunately, as far as I've been able to find you cannot put one on an HSA yet, but many people seem to think the IRS will eventually allow it.</comment></comment>


Opera: Still competing, still growing (Interview with CEO) - <AUTHOR> http://www.npr.org/blogs/alltechconsidered/2009/08/opera_ceo_interview.html

<comment><USER2> I recently needed 256MB more memory, having only 512MB. I could put a new memory stick in my laptop (this is a problem because either it's 2 256MB cards, or it might short out, as it did when I tried to upgrade the RAM months ago).

My solution?

Well, Firefox was using 350MB to display 10 tabs. I upgraded Opera to 9.64, put those links in 10 tabs, and it uses only 150MB.

So I've saved 200MB without upgrading my RAM!

<comment><AUTHOR> Yes, Firefox memory usage grows without limit over time; but to be fair, so does Opera's. Opera's growth is just less. (These comments tempered with "YMMV".)

</comment></comment><comment><USER3> Today 3% market share - tomorrow the WORLD !!!

Posted from Opera, been using it since version 3

<comment><USER4> Why do you use Opera? I just can't see the benefit.

<comment><AUTHOR> It is a cohesive piece of work; they care about appearances (compare default look of Firefox and Opera -- world of difference); it has nearly all of what I need out of a browser (only thing missing is Firebug); it allows MDI (child windows); little usability nice-ities that they introduced first (mouse gestures; active use of keyboard to browse, if you want; fit to width; page zooming (not just font size); integrated password manager; ...)

Firefox has always looked and felt like a patchwork of open source contributions and an uncohesive soup of extensions. I love open source. I write open source. I want open source to succeed. But Firefox is not there yet for me, and if the past few years are any indication, it'll be years more until it might be. It's still just second best.</comment></comment></comment>


Ask YC: Review My Startup - <AUTHOR> http://POPrl.com

<comment><AUTHOR> You can check out our Mashable coverage here <http://poprl.com/r/Z> and Techcrunch here <http://poprl.com/r/0W>

</comment><comment><USER2> i think the criticism on techcrunch is valid and its something i hate about url shrinkers. it hides what i'm clicking through to, and thats the #1 reason i don't use them and as a rule, don't click on them if i can help it.

clever idea though.

<comment><AUTHOR> I see your point. However, even if a URL seems innocent it might still lead you to unwanted material.

The service is geared for the 100s of thousands of people that currently use shrinkers.

Our site still provides a benefit to a visitor even if they don't actively participate in promoting a story. Much like reddit or digg.

Hope that helps.</comment></comment>


Reasons the Jennifer Appel and Tasha Fuiava survival story smells fishy - <AUTHOR> https://unreasonablydangerousonionrings.com/2017/10/31/19-reasons-this-survival-story-smells-fishy/ <comment><USER4> I have limited sailing experience with my family as a child and this story had my BS detectors on alert when I saw how happy/healthy they were, their story of all the comms being disabled and the ridiculous story about having to huddle and be quiet because of sharks or something.

Once I heard the account of the EPIRB (which I totally forgot about) I knew there it was more than just back luck and some hamming up the story for the camera.

This article does a pretty thorough and entertaining job of breaking down all the inconsistencies from the perspective of an experienced sailor. My dad is going to thoroughly enjoy it.

<comment><USER5> EPIRB is a fantastic technology, saving thousands of people at sea every year. A modern beacon will do a quarter second burst of digital information at 406 MHz at five watts (which is a helluva lot) then becomes silent for about 50 seconds. Today it is precise enough that only about two square kilometres needs to be searched. Fun fact: the 50 seconds is randomized so that two beacons don't become sync'd. A real lot of thought went into creating the protocol. As for the devices, the author was only half kidding about them surviving a nuclear war. Once deployed it's less tough but their brackets (which most autodeploy from if it gets four metres deep) definitely survives some real bad stuff although I can't find hard data on how they are tested.

<comment><USER6> I know I'm nitpicking, but... 5 watts isn't a "helluva lot". Consumer WiFi can transmit up to 1 watt. Entry-level ham radio operators can transmit up to 5 watts. If you put a 5 watt transmitter at 406 MHz inside your house, it's possible the signal might not even be strong enough to be received outside, depending on what the walls are made of.

Now, consumer radio/television broadcasts... those run in the 10-100 kilowatt range. _That 's_ a "helluva lot".

<comment><USER7> I worked at Trimble Nav in the radio group. 5W for a consumer device is on the high end. UHF base stations often do around 25W-50W+ for wide-area coverage on top of a tower. If you did like a coworker did with a YAGI antenna and accidentally place a base-station onto high-power mode, nearby flesh (<10cm) will receive a significant radio burn.

<comment><USER8> Speaking as a software guy, I love stories about hardware. :-)

</comment></comment></comment></comment></comment><comment><USER9> A correction on the radio terminology used in the article... SSB (Single Sideband) is a modulation system, not a frequency range like VHF (Very High Frequency). SSB is a variation of AM (Amplitude Modulation). If you look at the frequency spectrum of an AM signal, you will see a peak in the middle – the carrier frequency – and two "sidebands" above and below the carrier that have the actual signal. Each sideband is a mirror image of the other.

This fairly inefficient since most of the transmitter power goes into the carrier frequency, and the power that goes into the sidebands is duplicated for each. A Single Sideband transmitter removes the carrier frequency and one of the sidebands, and then the receiver adds the carrier back in to demodulate the signal.

The reason the SSB radio can bounce signals off the ionosphere is not because it's SSB, but because it operates in the HF (High Frequency) range. But any modulation system could do this just as well as SSB – it's the frequency range that makes the difference. Hams, for example, often use CW (Continuous Wave, aka Morse Code) in the HF range, and a few even use AM.

The VHF radio happens to use FM (Frequency Modulation), just like an FM radio station but with a narrower bandwidth. But again, whether it uses FM or SSB is not what determines whether the radio only works line of sight or could also work over the horizon, it's the frequency range.

This is similar to how AM radio stations can transmit much farther than FM stations, especially at night. It isn't because one is AM and the other is FM, it's because AM stations operate in a much lower frequency range.

(I tried to post this comment on the article page itself but had trouble with the commenting system...)

<comment><USER10> > Hams, for example, often use CW (Continuous Wave, aka Morse Code)

Morse code can be used to modulate a continuous wave, but they are not synonymous.

<comment><USER11> CW, which is in fact an abbreviation of Continuous Wave, is an often-used phrase used to describe Morse Code on the radio.

</comment></comment></comment><comment><USER12> I think it's pretty well accepted that the story doesn't hold up. The real question is what were they really doing. Reminds me of some teenagers that get pulled over by a cop and then tell some elaborate story about why they were speeding, who they were fleeing from, etc. Just forget their story entirely and look for evidence of what really happened.

<comment><USER13> The most plausible explanation I've seen is that this was a hoax/publicity stunt designed to drive a book/movie deal. Balloon boy is often brought up.

</comment></comment><comment><USER14> The algal growth on the side of the boat points to a sudden drop in weight.

I think someone hired these morons to smuggle a load of gold bars and something else went wrong.

<comment><USER8> Or that the boat was heeled over for a long time, probably grounded.

That's an awfully long way above the design waterline to indicate heavy loading.

<comment><USER15> I concur, this boat was heeled over for a while. Sailing along upwind on one tack could do that. I don't know the pacific, the course they took if that would be feasible. (normally people sail downwind if possible, its a lot nicer)

<comment><USER16> _> Sailing along upwind on one tack could do that._

Probably explains why they were going around in circles for so long.

</comment></comment></comment></comment><comment><USER17> Possible motive: perhaps Appel fell in love with Fuiava, and wanted a few months of exclusive companionship to win her over. Easy to tell a landlubber that all comms and motive power are down, and sharks are trying to kill them so they need to cuddle together in fear below decks.

</comment><comment><USER18> More reasons why just listening and believing is never a great idea.

I found the section on communication devices to be especially damning.

</comment><comment><USER19> > But weirdly, they claim to have gone through 90% of their food by the time > they were rescued. So did they bring six months' supply or a year? And how > did they go through it so quickly?

well, if they had to feed 2 dogs, too...

anyways, back to reading.

</comment><comment><USER20> My biggest question is why do people get worked up over this? They are clearly dumb, and I don't see what sort of personal gain they would get from this. It's not a story of heroism, it's a story of being relatively dumb and surviving by luck. There's not much here to celebrate, so whether or not they are lying, there's not much worse they could look. But the number of people who are getting worked up and feel like they should "expose" these people are much higher than I would have imagined.

The other thing is, every single one of the "problems" the post brings up could be easily explained by "They are idiots." There's no mystery that they already seem dumb, why is it such a mystery to the blogger that they were able to survive by simply being lucky and prepared? Their explanations are off because they're dumb and they don't know what they're talking about, but in that context, all their explanations make sense.

<comment><USER21> No, there's plenty to gain from this, fame and fortune. This is the kind of story that leads to TV shows, book deals, movie deals. etc. Plus, of course, the obligatory GoFundMe.

The other thing is using The US Navy in this way could be criminal.

<comment><USER20> There no heroism. They fumbled their way to survival. Unless they want to further humiliate themselves, I don't think there's any deals here. There's no Gofundme either.

<comment><USER22> I think you underestimate the lengths to which some people will go for fame.

<comment><USER20> Hanlon's Razor: Don't attribute to malice something that can be better explained by stupidity. These two aren't smart enough to conspire to come up with some ridiculous story for the purpose of fame. We already know they're stupid. Them weaving a tale just for the purpose of fame seems entirely unlikely. That's my opinion anyway.

<comment><USER23> > Don't attribute to malice something that can be better explained by > stupidity.

You haven't provided an explanation grounded in stupidity. Simply agreeing that they are morons _doesn 't explain_ anything about why they created this situation and told these specific lies. You've postulated no motive, not even a stupid one.

<comment><USER20> Wrong. I have. My explanation is that things happened exactly as they perceived because they are idiots, but it's not what happened in reality. They probably saw dolphins and thought they were sharks. They probably had 10ft waves and they thought they were 40' waves etc. none of their story makes sense because they are idiots and can't describd them better because they are idiots. Etc.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> > The human body cannot live on carbs alone for five months

Is this true?

<comment><USER25> I also question this.

Wouldn't a small bottle of the correct vitamins allow you to live healthy and for very long periods on carbs?

The real poor live on rice and very little else for years. Surly carbs and vitamins pills are enough?

<comment><USER21> Which is why the author followed it up with "I'll assume they also had some Centrum Silver and canned sardines on board that they didn't talk about that kept them from dying."

Centrum Silver is a brand of multivitamin. Sardines, being an animal product, is what's called a "complete protein" \- one that contains all essential amino acids [https://en.wikipedia.org/wiki/Complete_protein](https://en.wikipedia.org/wiki/Complete_protein)

Some plants are complete proteins as well, such as soybeans.

To clarify though, amino acids are not vitamins though, they are a component of protein.

<comment><USER25> OK.

But I don't see the issue. I'm sure they also had hygiene products and things as well. I don't think it's unusual to not mention them. You only need these things in trace amounts. Anyway I think any non vegetarian would pack canned or dried meat.

I see the issue with the dogs but they bought dog food and fed human food to the dogs (Why they used a whole years worth)

[https://www.theguardian.com/us-news/2017/oct/28/rescued- wome...](https://www.theguardian.com/us-news/2017/oct/28/rescued-women- sailors-not-properly-prepared-hawaii-tahiti)

</comment></comment></comment></comment><comment><USER26> archive in case (like me) images dont load [http://archive.is/foH5Y](http://archive.is/foH5Y)

</comment><comment><USER27> So you cannot cook rice in salt water?

<comment><USER28> Not in sea water, it'd be far too salty to be edible. You'd end up drinking more water to compensate.

<comment><USER29> According to the book "Salt, Fat, Acid, Heat" the optimal salinity for pasta water is about 2%. So 1 part sea water, 1 part fresh water - roughly.

</comment></comment></comment><comment><USER25> All good story tellers 'lie'.

All your favorite comedians do, all your favorite non-fiction authors do.

Given their ineptitude at sailing I also think their storytelling is also quite awful.

But still I don't see why their basic premise isn't true, 5 months at sea without the skill set or common sense to get home.

I don't get the skepticism on this story but so many other stories are clearly in doubt on HN. Is it because the media is accepting of this skepticism? I mean this story is only reinforcing what the media already has said.

Nothing in particular in this article shows the basic story isn't true. They were to silly to know it wasn't sharks attacking with a bit of exaggeration thrown in?

<comment><USER30> I have a little experience after living aboard st sea for several years, and am 100% skeptical about their story, however your point is well made and definitely not worthy of down voting.

This is a good example of one of the sad sides of HN.

We need a way to downvote the downvoters haha

</comment></comment><comment><USER31> This is a long and excellent read that dissects the lies these 2 people have concocted.

</comment><comment><USER32> Firing up the beacon doesn't come free. It's possible they were hoping to get rescued more cheaply.

If it is a legitimate rescue then they probably won't charge you. If you called in a false distress, then they will charge you money and criminally prosecute you as well.

<comment><USER33> If they hadn't also breathlessly bragged about life-threatening storms and sharks, that would be plausible. :-)

</comment></comment><comment><USER34> > No politics here (though I'm sure if you squint you can find a way to accuse > me of racism or sexism or something)

I am incredibly skeptical of anyone who starts an article like this - <USER3> across like a teenager trying to be edgy.

As for the article itself, I find it incredibly odd how worked up people get over this stuff. The vitriol of the article is quite frustrating to get over even though the analysis and breakdown is accurate.

<comment><USER35> >I am incredibly skeptical of anyone who starts an article like this - <USER3> across like a teenager trying to be edgy.

Yet, there wasn't any politics in it, was tehre?

>As for the article itself, I find it incredibly odd how worked up people get over this stuff. The vitriol of the article is quite frustrating to get over.

I find the people who find it odd when people get worked up about elaborate scheming, odd.

<comment><USER34> > Yet, there wasn't any politics in it, was tehre?

That's not the point. There's better ways to express the fact that your post isn't political than implying that people are just "too sensitive" about racism and sexism or something. Like I said, it comes across like a teenager trying to be edgy and that childish tone is carried through the entire article.

> I find the people who find it odd when people get worked up about elaborate > scheming, odd.

Again such anger and vitriol. Like honestly why are people so worked up over such a thing? This doesn't bother me at all. If they're lying, the police will figure it out. If they're not, then they won't. What's so odd about just letting idiots be?

I think this armchair cross-examination is tiring and pointless.

EDIT: Never knew being critical of the author's tone was deserving of down- voting - interesting crowd here I must say.

<comment><USER36> >If they're lying, the police will figure it out. If they're not, then they won't. What's so odd about just letting idiots be?

I know where you're coming from. However this article is not like facebook randos posting their 2 cents on non-stories. The guy has expertise in sailing, and in ripping apart stories, we enjoy both.

</comment></comment></comment></comment><comment><USER37> Who is the author? Why would they attack these women? Why would they spend so much time and effort on it?

It is just Internet bullying - to try to tear apart these people for sport, and even more viciously the objects of attack are people who have more than enough trauma from a horrible experience. Imagine surviving something like that, only to find discussions on the Internet by people who just seem to enjoy hurting you.

[from their about page:]

> I hate stupid people. I see blatant displays of irrationality so often that > I don't even think about it anymore.

[from the article:]

> I don't know what the fuck happened. But I do know these women are full of > shit.

EDIT: I'll add there's plenty of irony in writing the above and calling others 'stupid'. And it's obsessive Internet rants like the article which turn out to be ignorant, deceitful, and a meaningless waste of time and emotion - i.e., 'stupid' \- in the end.

<comment><USER38> So you think that calling out someone who makes (very) public, demonstrably false statements for pretty clear personal gain is internet bullying? I would call it being held to account - what sane society would listen to such a ridiculous story and not call it the bullshit it obviously is? Allowing that to happen would lead to a society where fantastic lies are the norm and you'd never know if you could trust anything anyone would say.

If I made statements saying that not only did I discover, but also made love to and raised the children of a dragon to international media, do you think it would be bullying for people to tell me it's nonsense? If so, you'd have a pretty spectacular definition of bullying if you ask me. We should not allow liars to go unchecked.

<comment><USER37> The article objectifies and abuses its targets (which is what the author's motive is, per their own about page). The way bullying and abuse work, especially in the Internet age, is that people find a target they feel is justified or merely vulnerable (because everyone else is attacking them) and viciously act out against them. Having a crowd do it allows humans to ignore their better sense and to do horrible things; it's an angry mob and people hide in it as they act badly. As most people on HN probably know, there are many, many such incidents; the abuse does real harm to real people. Hurting other people is wrong; engaging in it for some self-righteous motive is obviously a bad, as is doing it because of 'something I read on the Internet'.

> We should not allow liars to go unchecked.

There are many ways to address deceit; none of the good ones include abusing people. No matter what these women did or didn't do, I think the people that abuse them, including the author, are doing much worse. Where is the check on them?

But more importantly, this article is just 'something I read on the Internet', by someone who announces on their about page the intent to abuse people the author thinks is "stupid" (an ironic statement). Surely we are well beyond trusting such things by now. Where is the check on the liars and, more importantly, the abusers of the Internet?

> Allowing that to happen would lead to a society where fantastic lies are the > norm and you'd never know if you could trust anything anyone would say.

A great point.</comment></comment></comment>


The ad industry feels like Silicon Valley is killing creativity - <AUTHOR> http://www.businessinsider.com/the-ad-industry-feels-like-silicon-valley-is-killing-creativity-2017-7 <comment><USER2> The 6 second ad format is not imposed by technology companies, it is the limit of consumers' attention span in an environment where they can scroll past or click away from anything longer. TV forces attention, the internet does not.

Interestingly, it is not so much that videos need to be 6 seconds, but if they are going to be longer, they need to capture attention, and traditional "30 second" ad spots are not designed to be attention grabbing in the first 6 seconds.

This ignores repeated viewing, most users are going to burn out of watching even the most interesting 30 second ad fairly quickly. On TV this wasn't a problem, captive audience, on the Internet, again, viewers just scroll past.</comment>


A tour of the world in d3.js - <AUTHOR> http://bl.ocks.org/4183330 <comment><USER2> Now all it needs is the Animaniacs to sing along with it [<http://www.youtube.com/watch?v=IDtdQ8bTvRc>]

<comment><AUTHOR> it can be arranged: <http://bl.ocks.org/4185745>

<comment><USER3> Cute, now synchronize it with the song ;)

</comment></comment></comment><comment><USER4> A very impressive demo. Almost equally impressive is the fact that this can be done in less than 100 lines of (relatively readable) Javacsript.

<comment><USER5> Readable, yes, but also hard to understand.

<comment><USER6> If you learn 5-10 basic notions of D3, like ranges, domains, interpolations, joins, etc, it will be quite easy to understand.

</comment></comment></comment><comment><USER7> There's a risk of turning it into too much of a gimmick, but I'd love if travel sites started doing things like this. Showing you a flythrough of where you'll be going as they pull up trip prices, for example

</comment><comment><USER8> Unrelated, but does anyone have an idea why all of the countries appear in alphabetical order but then suddenly Spain jumps up in the middle of all the E-s? The UK follows soon after. All I could think of was Spain=Espana, but England definitely isn't the same as the UK..

<comment><USER9> This is the order they are defined in the source data (Natural Earth - Admin 0 countries), and it appears to be sorted by ISO 3166-1 alpha-3 code. Spain is ESP, United Kingdom is GB1.

<comment><USER10> Thanks for D3, learning it now and it is awesome!

</comment></comment></comment><comment><USER11> Is it just me, or is there something odd about the projection? I think it's a little too flat... it feels weird.

That aside, very neat. Yet more motivation to learn d3.

<comment><AUTHOR> You're right, Jason has fixed it as you can see here: <http://bl.ocks.org/4183701>

<comment><USER9> Jason didn't change the projection; Jason used a better interpolator (following great arcs rather than linear interpolation of angles as I was doing). The projection looks flat because it's an orthographic projection rather than a perspective projection.

</comment></comment></comment><comment><USER12> This is a classic example of where Flash excels over the over-hyped HTML 5. The demo is very very sluggish and laggy on my Laptop (Chrome, WIN 8, C2D 2.2GHZ, 4mb Cache, 4Gigs RAM). If the author had designed the same thing in Flash,

1) He could have done it with less lines of code.

2) He could have done it with smoother animations and could have added more interactivity.

I'm not bashing the author, just suggesting a viable alternative.

Unfortunately, the unwanted HTML5 hype is just killing the platform. And the platform (I personally believe) is in the wrong hands, because they haven't marketed it well (IMO).

<comment><USER11> Runs quickly here, doesn't need to be compiled, source can easily be viewed and edited (while it's running, depending on your browser), and style-able with CSS.

Flash does _one_ of those, and for the same reasons as HTML5 solutions, its speed depends heavily on the code backing the drawing and how much data is displayed. Why do I want Flash again?

<comment><USER12> To make animations like these on Flash, it's just a breeze, period. I own an Adobe creative suite in which Flash is available. The bundled Flash IDE (which was originally popularly called as Flash) is a lot lot better than say, writing hundreds of complex lines of mathematical lines to create just a 3d rotation or tween.

<comment><USER11> Did you look at the source below the globe? That entire thing is 73 very short lines of code, plus a plain HTML wrapper and some super-simple CSS.

<comment><USER12> If you consider 73 to be short, then I wonder what you would think of 10-15 lines of code. Not to exaggerate, but you can actually achieve this with 0 lines of code in Flash using just Movie clips.

<comment><USER13> Uh...this is jus a basic demo. I'm betting this is far easier to work into an interactive mash up with data than Flash's movieclips

<comment><USER12> No, wrong. I assume you haven't used the Flash platform. A movie clip is like a library that can be replicated and instances of which, as many as you want can be created. Similar to creating a variable and calling it how many ever times you want it. So, in an interactive mesh-up movie clips will help you stay well organized with fewer lines of code, comparatively.

<comment><USER13> Nope, I programmed in AS for awhile though I left before Flex became well implemented.

I know about the movie clip system and don't deny what you claim. But now you're moving the goalposts as decoupling the elements from the Flash environment requires you to do more, well, hand coding. To do what you claim -- implement the same features with less code -- would require more handiwork inside the Flash authoring tool, which was never really a fun workflow even when Flash was more ubiquitous.

In any case, lowering the code count by relying on MovieClips, which as you say are basically libraries, hardly seems fair. I'm sure all the code in the OP could be reduced to about five lines, three of them being calls to external code and CSS files.

<comment><USER12> Flex and Flash are two different things. Flash is a designer-friendly tool, while flex is more programmer-oriented. From what you describe, it looks like you've been doing more coding with the platform than _designing_.

Dude, you serious? I can build you something similar in just 5 mins with 0 lines of code with easier maintainability and no calls to external CSS or Code.

>which was never really a fun workflow

I am surprised, because it was one of the most powerful features of flash, just like layers were for Photoshop. Maybe it's a personal opinion, but I loved this workflow personally.

<comment><USER14> 5 minutes, go!

<comment><USER12> Serious? You want to do a screenshare with me, mate? I can do it \m/ :D

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> I didn't know France was in Europe AND South America. Weird world tour.

<comment><USER16> It owns French Guiana, so that's why that part of South America's highlighted. Also some of the country names are based on what the country actually calls itself, which is why Spain (Espana) shows up in the E section. Why the alphabetical name and the displayed name are different? That's weird.

</comment></comment><comment><USER17> Jesus, Russia.

</comment><comment><USER18> The framerate is abysmal on an iPad3.

<comment><USER19> Did you not know there is an iPad4? I think you need to upgrade :)

<comment><USER18> I can't order the CDMA model to where I am right now, and I won't be stateside until next month.

I know, it bothers me too.</comment></comment></comment>


Reports of the Newcastle International Seminars – from 1968 to 2001 - <AUTHOR> http://homepages.cs.ncl.ac.uk/brian.randell/Seminars/ <comment><AUTHOR> Interesting report on Computer Science history and (now) famous researchers such as Dijkstra, Hoare, and so on. Compiled by the distinguished professor Brian Randell.</comment>


A red rectangle created with pure CSS - <AUTHOR> http://codepen.io/anon/pen/GozXwN <comment><USER2> Nice work. Any plans to release an npm package?

<comment><AUTHOR> Haha, I just might do that now.</comment></comment>


Man finds butter estimated to be more than 2,000 years old in Irish bog - <AUTHOR> https://www.washingtonpost.com/news/morning-mix/wp/2016/06/14/man-finds-22-pound-chunk-of-butter-estimated-to-be-more-than-2000-years-old-in-irish-bog/ <comment><USER2> My uncle is a turf cutter, at some point during the year he banks 500 bucks a day trucking his cuttings about to people who want it.

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

It smells indescribably delicious, that's why. You'll feel like an authentic citizen of Westeros if you have a turf fire. Especially during the winter. Those little plastic brick things are for the elderly. If anybody wants a cargo of real turf in Cork county hit me up and I'll get my uncle to contact you. He should send bricks through the post to convert people.</comment>


Node v8.8.0 - <AUTHOR> https://nodejs.org/en/blog/release/v8.8.0/ <comment><AUTHOR> Notable Changes

* crypto:

\- expose ECDH class

* http2:

\- http2 is now exposed by default without the need for a flag

\- a new environment varible NODE_NO_HTTP2 has been added to allow userland http2 to be required

\- support has been added for generic Duplex streams

* module:

\- resolve and instantiate loader pipeline hooks have been added to the ESM lifecycle

* zlib:

\- CVE-2017-14919 - In zlib v1.2.9, a change was made that causes an error to be raised when a raw deflate stream is initialized with windowBits set to 8. On some versions this crashes Node and you cannot recover from it, while on some versions it throws an exception. Node.js will now gracefully set windowBits to 9 replicating the legacy behavior to avoid a DOS vector.

<comment><USER2> 'Userland' http2? As opposed to being implemented as a Linux kernel module?

<comment><USER3> No, there is an npm package that has the same name. Userland === npm package

<comment><USER4> I think it would be Userland instanceof npm package === true

<comment><USER5> that might not work in an iframe ;)

</comment></comment></comment></comment></comment><comment><USER6> In case anyone missed it, a Node module used in production at Bing to multi- thread shared memory for CPU-intensive work hit the big time last week.

[https://github.com/Microsoft/napajs/wiki/Why- Napa.js](https://github.com/Microsoft/napajs/wiki/Why-Napa.js) a bit edited:

1) quick iteration

2) multiple cores

3) share memory with structures

4) fine granularity parallelism, minimizing communication cost

Discussion: [https://news.ycombinator.com/item?id=15498219](https://news.ycombinator.com/item?id=15498219) (Oct 2017, 201 comments)

</comment><comment><USER7> Some info about CVE-2017-14919 here: [http://nodejs.org/en/blog/vulnerability/oct-2017-dos/](http://nodejs.org/en/blog/vulnerability/oct-2017-dos/)

To test if your version is affected:

        zlib.createDeflateRaw({windowBits: 8})

</comment><comment><USER8> Is version 8 still planned to enter active LTS on 10/31? Or does this release mark the beginning of LTS?

</comment><comment><USER9> Does it server-push my Link preload header resources? ([https://w3c.github.io/preload/#server-push- http-2](https://w3c.github.io/preload/#server-push-http-2))

<comment><USER10> That would typically be implemented by a proxy or service like Cloudflare. The server itself should not do this based on header contents - instead the application should use the push protocol directly: [https://nodejs.org/api/http2.html#http2_http2stream_pushstre...](https://nodejs.org/api/http2.html#http2_http2stream_pushstream_headers_options_callback)

It wouldn't be appropriate for the http2 core module to do this implicitly, but I wouldn't be surprised if higher level server abstractions, such as Express, did implement such a feature (though imo it'd still be better to not use the Link header).

It's also likely to work a lot better for a caching proxy to perform this action rather than the source server - since it can cache the contents of the resources being pushed.

</comment></comment><comment><USER11> How efficient is to have an HTTP2 server serving sever-push events to thousands of clients? Better than websockets I assume.

<comment><USER12> Do you mean Server-Sent Events? That's a well-supported and efficient model that'll work fine, although the payload will always be heavier than websockets since all the headers have to be sent, even if compressed within the HTTP/2 stream. It's also not supported on IE or Edge.

If you actually mean server-push then that would basically be long-polling and not very efficient, also it's meant to send along assets that the server already knows will be needed for a request (like CSS with the HTML). There's not much client-side API to actually deal with server-push because it's just like another network http request/response.

<comment><USER13> Server push is not like long polling because the connection is shared. You could keep a stream open and push messages as needed. This already sort of is possible with fetch in the browser, but iirc there are some things the spec authors are working on for this use case.

<comment><USER12> You can't do much with these assets. These are plain network requests as far as the browser is concerned so there's no API logic for your JS code to use. You're limited to just forcing the browser to download more things and it can also choose to ignore these push requests.

<comment><USER13> You can do whatever you want with them. For example, let's say you push /api/todos and your client-side code does a `fetch('/api/todos')`. This stream stays open, and the client code can receive each message as they come in, using ReadableStream.

Now the server, having this connection open can later push more data into this /api/todos stream. Boom, you have websockets. Without needing a separate port and connection.

<comment><USER12> You just described long-polling: holding the connection open until the response arrives or it times out.

Even if you just send push-promises and push-responses while keeping the original response stalled (and the browser accepts the response), the client- side JS still has no idea what those requests were or what was loaded.

SSE is the evolution of long-polling so that browsers already include the logic to keep a connection open with streaming updates so that you can avoid all this in the first place.

<comment><USER13> This differs from long polling in that http2 doesn't create a new connection. Also long-polling is request and then response, whereas http2 is (like websockets) full duplex.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> I'd like to see the non-LTS version of node in 8.x move to OpenSSL 1.1 and expose more: scrypt, schnorr, curve25591, bn etc.

There is no good internal password storage, and bitcoin operations require bringing in most libs

<comment><USER15> scrypt: [https://github.com/nodejs/node/issues/8417](https://github.com/nodejs/node/issues/8417)

<comment><USER14> Not sure if you read that issue because it was closed as it depends on OpenSSL 1.1.

Fire up 8.8.0 and you'll find crypto.scrypt is undefined.

nodejs will have to get the OpenSSL 1.1 upgrade in as the support period for nodejs 8.x exceeds the support period for OpenSSL 1.0.x

First attempt was made here[0]

[0] [https://github.com/nodejs/node/pull/11828](https://github.com/nodejs/node/pull/11828)

<comment><USER15> "Not sure if you read that issue because it was closed as it depends on OpenSSL 1.1."

Sure, I opened the issue.

I provided the link so you can follow it.

It would be great to have scrypt in Node, as well as argon2 and DJB's chacha20+poly1305.

</comment></comment></comment></comment><comment><USER16> NodeJS will be way faster with the HTTP/2 support. GG!

</comment><comment><USER17> Can I use client side certificates with http2?

</comment><comment><USER18> Does anyone know what happened to Ayo.js?

<comment><USER19> It would be great to hear from an insider, but it seems to me like they are having a little difficulty establishing organization around roles/permissions. Also the GitHub repo hasn't seen any commits in a month.

<comment><USER20> [https://github.com/ayojs/ayo/graphs/commit- activity](https://github.com/ayojs/ayo/graphs/commit-activity)

<comment><USER21> You are in a maze of twisty pronouns, all alike.

Seems like they got stuck on discussing codes of conducts and genders and forgot to do actual work.

<comment><USER22> Well they do use the slogan "Humans before technology." so I am sure "the community" is more important than any kind of actual technology, code or advancement of node</comment></comment></comment></comment></comment>


Ideas are a Commodity - Entrepreneurship is about Execution - <AUTHOR> http://www.darrenherman.com/2007/09/13/ideas-are-a-commodity/ <comment><USER2> I wouldn't quite say ideas are a commodity. The reason they're worth less than naive founders think is not so much that everyone else has them as that they are only 5% finished.</comment>


MPEG LA has a CRISPR patent pool in the works - <AUTHOR> http://www.mpegla.com/main/pid/CRISPR/default.aspx <comment><USER2> Are these guys serious?</comment>


Is (Google) search still relevant? - <AUTHOR> How important is the classical search in your daily life and/or for your product?
Most of the tools and services that I have used over the past years were not found via classical search at all – and I barely use it to discover something new. For regular users, it's more of a bookmark hack – you already know what you want and search is two extra clicks between A-B.
Nonetheless, it is still a huge market driven by advertising. And seems so F lame – that it is still the beginning of many customer journeys. (user searches blablabla, clicks on blablabla)
Why? Is it still important for you and the people around you? <comment><USER2> How do you live without Google (or another general purpose search engine)?

I have lots of random questions all the time - "how is cheese made", "how to restore scroll by middle click", "what is the good hosted dashboard for ~10 points/sec" - and I cannot imagine finding the answers without a search engine.

</comment><comment><USER3> >For regular users, it's more of a bookmark hack

"Regular users"? I don't know if that's true or not.

>Why? Is it still important for you and the people around you?

Not sure what "Why?" means. By "the classical search", you seem to mean "googling for things when you don't know exactly what that will be". Yes, "still" important for me and the people around me. For movies and list of movies I google with "imdb" in the search, for wikipedia stuff with "wiki", StackExchange-type stuff is by googling..

</comment><comment><USER4> Try to turn it off and see what happens.

</comment><comment><USER5> As a software dev I need code snippets in different programming languages, or how to for related stuff. I know mostly the answers will be on stackoverflow but rather than search on that site, its better to google for it. This allows search on multiple sites and the summary listings help decide where to go next.</comment>


Build a Mesos Framework In Java: Scheduling and Execution - <AUTHOR> http://blog.zillabyte.com/2015/02/09/writing-mesos-framework-java/

<comment><USER2> I think it's awesome that Shane Jarvie put the Mesos Framework code for the article on GitHub: [https://github.com/sjarvie/mesos_example](https://github.com/sjarvie/mesos_example) for development purposes.

</comment><comment><USER3> Thanks!</comment>