skysight-inc/HackerNews huggingface dataset:
Squid was faster? Varnish is an engineering masterpiece, do you have any data to prove this? I would be very glad to see it.
thanks you johnloeber for you serious suggestion.
I'm certainly no scientist nor statistician, but studies like this bother me because of their tiny sample size. They studied 30 people. My understanding was always that you needed more samples than that to reach any kind of statistical significance.

Can anyone in the know comment on how realistic or significant it is for a study of this nature to reach any kind of conclusion from a sample size of 30?
C: Lynx, w3m, Mothra
Java: Lobo, gngr (https://gngr.info/)
Limbo/Inferno: Charon
Lisp: Closure, eww
the post is from 4 years ago. we put rosseta on a comet meanwhile. Also, php has changed and with the new framework like laravel things look fine.
The Working-Set Model for Program Behavior (1968) [pdf]
> Using floor it seems like you can construct a function that's effectively defined piecewise, by constructing a floor expression that's zero outside of a specified input domain, and 1 within the domain. Then you multiply the floor expression by the piecewise expression that you'd use to define a piecewise function over that domain.

And you can fit a polynomial the same way by (using the example at hand) defining

f(x) = c_1(x-2)(x-3)...(x-12)
+ c_2(x-1)(x-3)...(x-12)
+ c_3(x-1)(x-2)...(x-12) [but the (x-3) factor is missing!]
+ . . .
+ . . .
+ . . .
+ c_12(x-1)(x-2)...(x-11)

And then choosing c_1 such that the c_1 term is equal to 31 when x=1, c_2 such that the c_2 term is equal to 28 when x=2, and so forth. You'll get a well-defined polynomial, impeccably "mathematical" -- in fact, you should get the polynomial listed in Someone's comment (since there should only be one 11th-degree polynomial passing through those 12 points). The traditional way to fit a polynomial to points is by reducing a matrix, linear-algebra style, but this approach is equivalent and, as you can see, amounts to nothing more than defining several functions which are zero except at the point of interest, and then scaling them to take the proper value at the point of interest. Why is that more "valid" than using a modulus?

Frankly, I'm much more concerned by the OP using "2 mod x" when 1 is a legal value for x.
I get this all the time, started with C and Java back in university well over 10 years ago, but after doing a few projects with PHP and starting a few personal projects (one of which became rather infamous years later lol) i got hooked

In all this time there has been a huge change in the PHP world

TBH if a "developer" cringes their nose at a very capable tool, just because it is not the latest "cool" thing, It tells me a lot about them.
Quite sure that's what I said... However I guess it all depends on your definition of 'browser'. Is it the rendering engine or the UI+features. I think for most people it's the latter. Even for me it's the latter actually. Most rendering engines are good enough now that the differentiation of done through features like syncing of bookmarks and history, auto generation of secure passwords, autofill of address/credit cards etc.
Researchers have discovered comet dust on Earth for the first time ever
What do you mean by "The kernel merges the partially written page". A pagefault traps the execution just before any CPU write succeeds, then the kernel optionally loads the page, maps it into process' space, flushes TLBs and resumes process execution. mmap() style disk writes happen on page-level granularity, usually not before the kernel runs out of free memory frames.

I agree on the fact that using mmap() reads vs read() reads leaves the kernel with no possibility to reorder requests, as any thread trapped in a pagefault is obviously unable to generate more I/O requests. Reordering can lead to better performance. This is not the case with asynchronous read().
>one of which became rather infamous years later lol

mtgox? :)

>TBH if a "developer" cringes their nose at a very capable tool, just because it is not the latest "cool" thing, It tells me a lot about them.

This is called the straw man fallacy. You wrongly assume that the lack of coolness is why people dislike PHP and you dismiss the whole argument based on that.

Doing great stuff with PHP is like building a skyscraper using nothing but a hammer and a screwdriver and a few rotten planks. It's the builder who's amazing (albeit a bit crazy), not the hammer, the screwdriver or the planks. Imagine what he might've made with proper equipment?

Would you like to live in such a skyscraper?
Or Redshift on Linux.
B and K: The Lost Letters of the 44th President of the United States
This sounds like a generally useful thing. It would wager that any non-toy malloc implementation has such a thing. Perhaps it's a good idea to open-source it so we all benefit from this spec-testing, fuzzing and histogramming?
SurgeMQ: MQTT Message Queue at 750,000 MPS
Irish state sanctions email tapping
I think the key problem is more that PHP is easy for developers to pick up and there is a lot of misinformation, in particular very outdated PHP 'tutorials' out there that have the whole idea quite backwards.

As it's often the first web development language picked up by people, who may not necessarily know what they're doing, it gets a bad reputation. Used correctly, however, it can be just as powerful as any other web development language.
Chelation therapy has only been shown effective for acute and higher exposure poisoning. Chelating agents have serious side effects. For low exposures the best solution is to avoid or remove the source of the exposure.

Quoting from http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3846980/ (italics mine):

> Chelation treatment of asymptomatic or mildly symptomatic patients is unlikely to benefit patients and may actually cause harm, as discussed elsewhere in this publication. Patients seek clear cause–effect relationships for their “poisoning,” but it is not always possible to determine the cause of symptoms. Physicians should seek a thorough diagnosis in spite of the pressure to find a simple environmental culprit. Internet advertising by marketers of “toxic testings” have made testing and treatment popular in some alternative medicine practices and has encouraged some people with health problems to seek these treatments. However, it is not possible to remove all “toxins” from the body, and treatments remove essential elements as well. Furthermore, the efficacy of chelation treatment has not been generally demonstrated for all but severe recent acute exposures to a few metals. In addition to concerns about short-term adverse impacts that may result from chelation, public health practitioners are also concerned about the potential subtle and latent effects that have not been characterized.

> In responding to citizen’s requests for information, public health officials are often confronted by extremely emotional appeals to solve personal health problems. Commercial laboratory marketings “toxin testing” offer hope that there is another treatment option. They also appear to prey on the guilt of caregivers, suggesting that not every treatment option has been tried until chelation products are used. However, no assessment of the true risks and benefits of chelation treatments are being provided.
George Orwell's Luminous Truths
It's not about PHP being "uncool", it's about the many things in PHP being objectively wrong.[1] Of course it's perfectly possible to write good code in PHP, but compared to other languages, writing proper PHP requires a lot more effort.

[1] http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
Why 361 needles are better than one: Alternative to hypodermic needle
> While it usually performed better than the memory mapped files performance suffered as the content grew past the limitations imposed by physical memory.

Physical memory is RAM memory. Their initial observation was:

1) If you need less memory than you have RAM installed - use malloc. Faster than file-backed mmap().

2) If you need more memory than you have RAM installed - use file-backed mmap(). Faster than malloc() + swap.

Edit: you can even see this on the graph in the article. Around time 0 it is malloc that is faster than file, then malloc sinks and file gets faster.
This is such a fallacy. A programming language is as much, if not more, about what features it doesn't have as what features it does have. PHP still has all the old crap so it's still crappy, and will remain so.
Popular Web Development Blog Up for Grabs
I would really like to thank you for posting this. Seeing how excited you get when you talk about mathematics is really inspiring and nice to see. If I may just chime and ask for my own selfish reasons, for someone who is interested in statistics, is there a starting point you would recommend? Thanks again.
Speaking as somebody who has done PHP for some 8-9 years, I still cringe my nose at it.

See, the thing is, PHP has gotten better. That's not in dispute. The problem is that, even after it "has gotten better", it's still far behind most other options that are commonly in use, and still highly inconsistent and upredictable. It is rather telling in and of itself when you have to use "well, it has gotten better" as a crutch to argue that, at least, it meets a minimum standard of viability.

Frameworks don't really solve this problem. Fundamentally, you're still working with a language that does some really weird things - things that are weird enough to cause near-untraceable bugs and completely unexpected vulnerabilities. You can slap a lot of abstraction onto it, and it does make it less unwieldy, but in the end you're still limited by what the language or platform has to offer you in terms of inherent consistency, predictability, and debuggability.

Just take, for example, PHP's CGI-like nature. Yes, it is theoretically possible to have a long-running process, and it's theoretically possible to implement real-time services with it, but it's going to be a major headache and incredibly hard to maintain. The tools are just not really there. Any solution you come up with will, in the end, be a giant hack.

Don't assume that somebody who cringes at PHP is just somebody who likes jumping on bandwagons. There are very real and rational reasons to dislike PHP, even (especially!) as an experienced PHP developer.
Okay, so what am I supposed to use if I want to transform a XML file from one format to another because two different systems needs XML for input /output and they have different fixed formats?
That isn't detoxification, it's excretion. The article even says it:

"If toxins did build up in a way your body couldn’t excrete ..."
I can't wait for 0/0/2015 ;)
While this is an old article, I agree, and PHP has only gotten better these past years. Not to mention tools like Composer, Laravel and Yii – most popular CMS systems are built in PHP too: Drupal, WordPress, TYPO3. Being an expert PHP programmer opens you up to a lot of possibilities, and while it has some idiosyncrasies, it's not like JavaScript, ASP.NET or Python doesn't have their own share, too.
South American Insider – LatAm AD experts are racist or just stupid?
> Used correctly, however, it can be just as powerful as any other web development language.

That's a disputable statement (as I mentioned elsewhere, take long-running processes as an example), and even if it were true, that doesn't make it the correct tool to use. You can hammer in nails with a wrench as well, but you should still probably be using a real hammer.
Yeah XML namespaces are a pain to work with, but when it comes to stuff like documentation it's hard to beat XML.

Mixed content in Json is definitely not as simple as it is in XML.
> Not to mention tools like Composer, Laravel and Yii

Virtually every language commonly used for web development (Python, Node.js, Perl, Ruby, Lua, ...) has equivalent or better tools. This is in no way exclusive to PHP.
What article are we supposed to look at ? It is witty quotes and links, there in no substance is this article, just bashing. Is it supposed to be an answer to this article that had a lot of discussion on proggit ? http://www.reddit.com/r/programming/comments/2o5nvy/why_i_li...
A native implementation like the JPEG decoder would be fine. The bundled JS decoder implementation is elegant but not efficient on mobile platform (stalling here for seconds on iPad 3 / iOS 8 / chrome while JPEG ones are displayed instantaneously)
I would use a language that has a decent XML parser (e.g. python + lxml) for input and a decent templating language (e.g. jinja2) for output.

Assuming it was a simple transformation, the python parsing code could be under 10 lines. Most of what you wrote would be templating. It would be 98% declarative.

If it got complicated though (e.g. you're doing some aggregation or something), the python bit would grow but it probably never end up looking that horrendous, unlike XSLT.

The same pattern could be applied to many other language ecosystems. You just need to make sure you get the best XML parsing library and the best templating language.
If you are using XSLT to work on anything other than XML you are doing very strange things.
How could you miss components, the new web revolution? :) Here it is being presented by Google:

https://www.youtube.com/watch?v=2toYLLcoY14

It's basically custom HTML tags like:

<tabs>
<tab>Alpha</tab>
<tab>Bravo</tab>
<tab>Charlie</tab>
</tab>

and some JavaScript library ("a new type of library for the Web") that processes these custom tags to display tabs on a web page.

I'm talking about pattern matching for templating rules; e.g. I want to handle a "value" token differently depending on whether the parent is a "field" or a "value-list" With XSLT I do this with a pattern: "field/value" vs "value-list/value". It's very clear and very efficient behind the scenes (about as speedy as a regex). I'm not sure I can do it in Python as easily.

As for parsers: parsers are a good thing, certainly, but look at what they do: they take an unstructured sequence of symbols and try to recover the hidden structure of it using a set of grammar rules. The end result is a tree that still contains the original sequence but dissects it into a hierarchy of discovered non-terminals.

Doesn't this look familiar? It's an XML document. XML documents are basically preparsed sequences or serialized parse trees. Maybe they have been parsed already by a specialized parser; or maybe the structure was added there manually when we marked up a text in a natural language; or maybe the sequence was generated by a machine in the first place and we just retained the original structure. What XML does is that it saves the result so there's no need to parse the same sequence again.

(Well, there is; we still need to deserialize the XML document and to interpret certain sequences as strings and another as numbers or dates and this is also parsing; but the serialization notation is much simpler than the grammars that were involved to parse or build the original tree.)

This is why parsing HTML is a waste of time regardless of whether we do this with regular expressions, recursive descent, Earley, LALR, Tomita, PEG, or whatever parsing technology we like :) It has been parsed already; we only need to deserialize it, and this is a trivial task that has been solved long time ago. (Well, maybe not with HTML, because somehow it's important to accept broken HTML and this may require a full-fledged parser and then some.)
Apply to http://insightdatascience.com/
China still doesn't have much of a navy, they definitely don't have a blue seas navy yet anywhere compared to the USA or even the Japanese sdf. Ya, the us is going from 100 to 90 while china is going from 1 to 2.

And that's not even the point: they don't want to go against china directly, there is too much integration. But they definitely want to sell some boats to Vietnam. So the next time china wants to go at it with Vietnam, they will be on a more equal footing.
Charlize Theron HD Widescreen Wallpapers
Recently I worked on a PHP project for a month. And heard same "ewwww" reactions from people. And even though I was skeptical about PHP, I must say it was fun. It wasn't the same PHP I used 6 years back. PHP has come a long way since. Frameworks like Symfony (Rails equivalent) is just amazing to work with.

In total, I think people should give PHP another try. It's worth it.
and me thinking he was talking about that rocket docker thing
What's with linking to an old "XML sucks" page with no content, insight or original thought? Is it bash <whatever-was-on-the-homepage-a-few-hours-ago> time?

On XSLT: find something that fills its role completely, with the same level of tooling, and then have a rant about inferior tools being popular, until then it doesn't really matter if it sucks.
They needed an API so that third-party tools could stop relying on scraping, and so the HTML could be changed without breaking them.
It's still a completely arbitrary mapping.

Well actually, I suspect that it isn't arbitrary at all: historically, people have considered left-handed as deviant, strange, sinister, so obviously the good molecules are right-handed.

(Disclaimer: I'm a slightly bitter left-handed designer who has seen one too many "more intuitive" designs that are optimised for right-handedpeople)
Maybe I'm biased because I make
PHP software for a living, but I would have to disagree PHP is harder to use properly than other languages. It has the duck typing abilities of javascript, and the class system of java (including rich reflection features). Yes, some things are weird, but no weirder than other languages. The type conversions are not weirder than javascript, and the function naming chaos is not weirder than C. I've programmed all those languages extensively, and I wouldn't say any of them are more productive than PHP.

What PHP is for me, is a paper cup. It's modest, utilitarian, not cool or elegant, but definitely efficient, useful and ubiquitous.
As I learned it, the poem went

Thirty days hath September,
April, June, and November
And all the rest have thirty-one
excepting February alone
And that has twenty-eight days clear
and twenty-nine in each leap year

That way's more explicit, but I like yours better. It reminds me of a homework problem I had in real analysis, which said "show that [the standard infinite series for e] is both strictly increasing and bounded above and therefore converges to a very special real number".

On the due date, someone came into class saying "I could show that the series was increasing and bounded above, and therefore converged to a real number, but I didn't know how to show that the limit of the series was, quote, very special." :D
I don't know if you're trolling, but here's how I'd do it in Python

import xml.etree.ElementTree as ET
tree = ET.parse('data.xml')
new_tree = my_transform(tree)
new_tree.write("output.xml")
This kind of nasty reply puts me off writing blog entries, and really turns me off the industry as a whole.

I am so disappointed, it's possible to be constructively critical; the snide remarks like 'I can't stop myself from laughing' are pretty unnecessary.

This makes me want to walk away from this industry. How about a bit of maturity and sensitivity, or in layman's terms - don't be an asshole.
I don't believe he intended to infer that they were at all exclusive. Seems to me that he was just mentioning them as aspects of the language that have improved recently.
We have post docs but most fulltime employees are long term. And that's what makes getting a job in the Redmond or Cambridge labs so hard: Turnover is very low.
The original interview on which this piece is based was posted yesterday:

https://news.ycombinator.com/item?id=8701114
Oh good, so it's only good in the world of XML

That's what I call USELESS
It has the duck typing abilities of javascript, and the class system of java

Talk about a backhanded compliment :)
I wasn't surprised, given the domain. Plan 9 fanboys tend to have a very simplistic view of the world and think that "KISS", "do one thing well" and "just pipe stuff" is the universal solution to all problems.

If the alternative look like a (t/n)roff file, I'd gladly take XML, though.
XML and XSLT are analagous to s-exprs and macros, to say they are "just" those things is willful ignorance of a whole boatload of complexity.
I would say do something that either a) becomes an integral part of people's day. Something they look forward to seeing every day. Who knows. That could be as simple as inspirational quotes to some gimmick that people will love. Or b) something cryptic. A puzzle like someone else mentioned. One that that's a lot of people involved and creates a lot of buzz. I am not sure what your resources are like but perhaps you could offer a prize at the end. That will have the added benefit of creating some buzz for your company if you so choose to brand yourself with this. Have some fun with this. You could always sell the space but if you're intent on avoiding that then I commend you and wish I was in your position because you could definitely do something awesome with this opportunity.
How many languages can tell you that byte X of output has been generated from byte Y of input going though such and such steps?

When programming in XSLT it is great to fire up a debugger (let's say oXygen), run your transformation, click on the wrong output and being able to go step-by-step backwards.

How many languages designed before 1999 (yeah, XSLT is 15 years old) can claim to be able to do so?
I dont think its really either a functional programming language (no first class functions), or a logic programming language like Prolog (not implemented via unification). It is a declarative language that is in an independent category.
Please don't say Symphony is Rails equivalent because t's very misleading and basically not true. There may be some similarities but they're nowhere close.
Nothing is objectively wrong in computer languages or any other languages. If it had been objectively wrong then the language wouldn't have been useful at all.

The purpose of a programming language is not to allow you to write beautiful code but to produce things. Everything else is a pseudo debate that is necessary at times but not as much as some would like.
There are 2 types of programming languages, those that people love, and those that people actually use.
Thanks. Can we get a [2010] on this post?
The Apollo project is historical precedent that shows that precisely this type of project can go much faster, given the required budget and focus.

The second part here is also important, of course. Just pouring more money onto a problem isn't necessarily going to help if e.g. there is more focus on political turf wars than there is on the actual technical challenge.
8 glasses of water a day