skysight-inc/HackerNews huggingface dataset:
> subsequent interactions should be much faster, since all rendering is happening on the client, and the server is only delivering API interaction

It depends on what you are actually doing and how much you cache client side, but for most cases that isn't going to make things faster for the end user.

Take the example of a theoretical blog post that takes 10ms to get from the database and 50ms to render on the server. You could potentially save server capacity by shifting that 50ms of rendering* from the server to client, but in actual fact the client (a low powered mobile device) probably renders it slower than the server.

The main thing though is this doesn't take into account the 2500ms round trip time it takes the mobile device to make a HTTP request. This is going to be the same whether you render on the client or server.

Now I agree it makes sense in some cases, if you cache the data on the client (ie an email client could cache the 100 most recent emails) then it will be faster, but the most services that use client side rendering aren't doing this, so there is no real benefit to the end user.

(Apologies if I'm just repeating the article, but it's down for me)

*Serialising into whatever format you API uses is still rendering, so you aren't actually saving 50ms.
really cool stuff, any projet to support other languages (french)?
Does anyone know if the FastCGI implementation is complete i.e. it supports FastCGI processes in all three roles; Responder, Authorizer and Filter? I've always wanted to use FastCGI more but most implementations (in Apache and Nginx at least) only support some of those roles (or require work arounds using server specific features; i.e. apache filters rather than FastCGI filters)
What do you guys think about ajaxing comments for SEO vs marking them up as UserComments in microdata?

Do you think the latter would work?
The best speed, obviously, would be to simply serve up static pages (possibly cached from a dynamic template, if necessary).

Rendering only with javascript is only useful when the client loads and runs the javascript. The rest of us that see javascript as a very serious security and privacy issue get the actual page that is served up. I strongly recommend making that page a useful page in some way.

If a tool or framework doesn't provide that page, then maybe it's time to start filing bug reports about that tool's broken output.
Fictional Images of the Universe Made from Scanning Household Items
Advertise a new Python job by making a GitHub push
I don't think heap overflows are particularly safer than stack overflows. If anything, more dangerous on most systems, since at least stack cookies are fairly common. Heap protection is harder to find.
We have no integrated heating system in our place, so it's the same temperature inside as it is outside :-). It always freaks me out on cold days, wet days when I can see my breath inside! We live in Shizuoka prefecture in Japan, which has a mild climate in the winter. It very rarely snows (once every couple of years) and it usually doesn't even freeze over night. In the winter, the day time high can be below 10 degrees C, but is almost never below 5. Most days it hovers around 10 degrees +- 3. The low is normally below 5 but only gets below freezing a few nights of the year.

We have a south eastern exposure and big glass sliding doors which capture a lot of light. It almost never rains in the winter in Shizuoka (only a few times a month), so this is the main form of heating that we use. At noon, it is probably 15 degrees C on sunny days. Unfortunately my office is on the north side, which is much colder. On cold, sunny days I will take my laptop to the warm area of the house and work there. Because I do work for a UK firm, I do work a lot at night, so I often work with an ambient temperature of 10 degrees or colder.

The main problem I have at the moment is that my hands get cold. In the last similar story someone linked to a keyboard that works as a heater and I think I will try something like that next winter (it is already spring here, so it is getting warmer -- next week is supposed to be 18-19 degrees).

When the heat comes, perhaps I will give some advice on how to stay cool without air conditioning ;-)
I've often thought the same bit re: history repeating itself - we've seen tech slosh back and forth, wave-like, as you describe - I wonder if perhaps the end game is that there's no distinction between client and server, and we end up with a totally homogenous compute environment.
Your language is completely inappropriate. It is not strong, it is inappropriate and you should edit to remove it. Thanks.

[edit] someone gave me my first down-vote for posting this. I'll stand by it.
Awesome! It also gives you recommendations based on the music collected from Facebook account.
I like pretty much everything someone takes the time to write about development, but this rubbed me the wrong way. I'm not sure what it is exactly the author is trying to express here: that engineers need to stay current on new, hot technologies? Everyone knows that. But then he seems to deride people who, based on his interviewing, haven't used a <new technology X> in production / in a new project.

You can't have it both ways. You need to find a way to evaluate people and, through that evaluation, grok whether or not they can pick up a new technology that they aren't already familiar with. If you can't figure that out, your interview process has failed. Think about it: the complexity and difficulty of your own problems vastly exceed the difficulty a senior engineer faces learning a few new frameworks or APIs. If not, you're doing something pretty trivial.

The best people I've ever worked with weren't people who a priori understood the technology stack we were working with -- instead, they have been seasoned engineers who know how go out and learn, and then apply what they already know in a new environment. This seems so obvious I feel silly even writing it down here, but this is on the front page, so it must be resonating with folks.

What tptacek has said about .NET developers working at IT departments at huge organizations really rings true here. If you immediately write someone off because they work with technologies you don't work with[1] then you're doing it wrong.

1. Assuming you're not looking for a quick, contracted hired gun for something fairly straightforward.
There seems to have been a sea change in opinion of many HN posters here, especially among the more recent visitors to HN. A couple of years ago Facebook was considered by many here to be an invasion of privacy and just not worth the effort. That general opinion seems to have changed for some. A lot of newer posters seem to be of the opinion that lack of privacy is a cost worth paying for convenience and will apologize for, defend and even support companies like FB that blatantly invade privacy.
Web development is like an entry point for programming these days, the lowest hanging fruit if you will. I would not exactly call anyone who does exclusively web development "senior". It's like being a nurse - I suppose you can become a senior nurse, but you're not going to be a doctor. There's only so much you can progress professionally in web development, and each new stack gets easier to pick up, almost no challenge, patterns repeat and boredom sets in. I started from website development, then went to enterprise web application development and now moving on to data engineering (data mining, machine learning).
Ask HN: Why is Twitter messing with Meerkat?
Twitter has had an interesting relationship with their developer community in the past - besides the obvious reason that Twitter just bought Periscope, why would they mess with Meerkat?

Wouldn't competition be good? Meerkat is pioneering the mobile live stream model for Periscope. From what I hear Periscope is a supieror product (not sure if I believe it) so why would Twitter signal their fear of Meerkat?
Apache was removed from base in 2014, but nginx was added to base in 2011.

Sysadmins had ~2 years to migrate from Apache to nginx (and if they didn't want to migrate, they could continue to use Apache from ports).

For nginx, they only had 6 months to migrate (though again, they can still use nginx from ports).

So no, they didn't have to migrate the http configuration twice a year, more like twice in 4 years, although, considering that OpenBSD only ever included into base 3 web servers, more like twice in 16 years.
Objectively it causes harm, far more so than it brings benefits. Hence it is, objectively, bad.
It depends on the exact style but yes. He could have the majority of his page statically served or cached, and then load the dynamic parts (the comments most likely) in with JavaScript. At least the article then would be readable even if the comments didn't load.
What exactly is a "problem"?

I don't live in US. Ordering books online and shipping them to my house used to be slow and expensive process. Now I can buy books from Amazon, for a half the price than printed books (3x the price if I account the shipping). Yeah, I can't read that book on anything except Kindle (device or Kindle app). But I know what I'm buying, and I'm ok with that. I enjoy the option to have my books synchronized over my Kindle, iPhone and iPad. It's fantastic when I'm on vacation, in some other country, and I can buy the e-book immediately, instead of dragging around lots of paper books (as I used to do).

And I pay for all of that with DRM. I'm ok with that. If the book is such important to me I'll buy the paper version.

That's the problem with Stallman, and all radicals. Everything is black and white for them. Without DRM e-readers e-books would never exists. Stallman thinks that it's ok, it's better to not have e-books if there's DRM. I don't think so. I like to have an option. I don't have any "problems" Stallman predicted.
But how would you know if it has changed? For all you know everyone is continuing to play along? The moderators of SRS are well known for being incredibly strict. Which is mocked with the image in the footer of the SRS subredit, where angles are throwing dildos a grave marked "free speech".
Agreed, so in this particular case I would have allocated those buffers statically but scoped to the function (so outside the heap). Feel free to call me paranoid ;) I'd have added a sentinel as well.
> unless we are cool with marketers selling their stuff here.
Do you not see this multiple times throughout each and every day?

People replying to threads with a small comment then squeezing in the link to their site "and we are http://blahblah.com have done this...." then paragraphs about their product
Because the United Kingdom of Great Britain and Northern Ireland has a long history of opposing repressive governments.
It has a huge impact if you are willing to approach it that way, but my point is that I don't believe many/most people in that 100k+ earning range actually are willing to retire to a 20/25k range, at all.

Which leads you back to scaling everything up to the number you are willing to you are comfortable with.
I think he probably means "potential for addiction which can have serious implications to ones health"
You know if some devs don't know better all they need is a bit of education. Sometimes you build your awesome product, you forget basic things that can be useful. And it doesn't have to be a huge investment.At least render the homepage in the backend so people with js disabled know what it is all about,and then upgrade to whatever js your app needs.

However some STUPID developers need to be named and shamed.Like this one :

voxxed.com

that displays A BLANK PAGE ON PURPOSE WHEN JS IS TURNED OFF.

proof : in their css :

.hidden, .no-js {
display: none;
}

That is absolutely revolting.
I think it's "it runs the software we tested with" complete.
SHOCKING – BANK OF AMERICA HACKED FOR MILLYUNS
any performance benchmarks in the wild?
SPF100+ sunscreen – calculating how much is needed
want to invest in the tunnels-as-a-service startup
The UK has treated it's own political prisoners horribly. Ever watch the film Hunger? Sweden might be shite (I don't know much about it), but the UK is no angel.
You don't have to be a superhuman listener to hear what's being said when a student looks you in the eye with tears and says, "I don't wanna go home."

But you do have to be a superhuman listener when you have a thousand things on your mind, several students out of arm's reach yelling at each other, some students leaving the building without permission and without bus passes, etc etc--and then you see a marooned student who looks like he/she doesn't want to go home.

Ultimately, if you're working one-on-one with a student who says he/she doesn't want to go home, in theory all you have to be is caring and curious, to help.

But when you're in a public or charter school and you're always occupied you'll benefit from training (in e.g. crisis prevention), and sensitization to those key phrases. Those two things plus experience lead to intuition.
You can also see what your friends listen to.
The compilers for any number of other fine choices aren't included in OpenBSD, making the addition of software written using them more complicated.
I'm tired of these "javascript is dangerous" for rendering sites articles (sorry if this is not one, I can't load it at the moment!) - instead there should be one big ass article saying: "javascript is fine for incremental rendering of features, the url should always reflect these increments and hence hard-reloads should be able to pull a fully server side rendered version of the site". END OF STORY.
I'm all for Alcohol being less available, Paracetamol isn't my cup of tea either and discourage its use, a search for Nutmeg has brought nothing that seems to be supportive of it being overly dangerous, and a quick google for dextromethorphan also seeems to be inconclusive (wikipedia cites adverse effects in doses up to 75 the usual dose, so unless one can buy it in extra large capsules I don't think it is relevant).

I have a hard time believing that you were serious about the latter two examples, given what I found.
If you want reverse proxy, run relayd. But slowcgi (and therefore bgplg, man.cgi, etc.) already use fastcgi.
Is there some definitive information about how good Google at this task? What JS constructions works, what does not work. I doubt that Google can index any JavaScript.

And don't forget about other search engines. It's not very good to keep site indexable by Google and not indexable by other search engines.
> The irony is that had you used javascript to render the page taking advantage of everyone's CPU you may have lightened the load on your server.

No, he just didn't take his philosophy far enough.

The real way to do this is to make your pages static and serve them from a caching proxy. If you don't need dynamism then you shouldn't use it at all on production.

Without seeing his server and his backend code it's hard to make specific recommendations, but a single server with an nginx front-end can handle a lot of load. I've seen Wordpress handle a full-on Slashdotting without even breaking a sweat.
It's the pop culture mentality which is now worse than ever:

[2004] http://queue.acm.org/detail.cfm?id=1039523

"So I think the lack of a real computer science today, and the lack of real software engineering today, is partly due to this pop culture."

"Like I said, it’s a pop culture. A commercial hit record for teenagers doesn’t have to have any particular musical merits. I think a lot of the success of various programming languages is expeditious gap-filling."
The best performance benefit will come if the whole page is pre-generated with something like jekyll [1] or assemble [2].

There is even a grunt module that uploads the generated site to S3, which is HN-traffic proof.

Of course if you need some dynamic content I also prefer not depending on javascript, which will allow proper bots crawling.

I would comment more if I can read the article, though.

[1] http://jekyllrb.com/
[2] http://assemble.io/
I love how many ppl here really think you can't have a js site and still get crawled... look at the user agent and preen der for spiders? Prerender.io?
One reason is that network installs require http. The base system would be unable to self-replicate across network installs without httpd.
Please don't use inline CSS in your page. In order to read the cached version [1] I had to manually remove the sidebar because it overlayed the main content with inline 'position: fixed'.

[1] http://webcache.googleusercontent.com/search?q=cache:9UMu5i7...
Report early, report often, is a good idea. There are countless examples of children who were brutally murdered because individual agencies did their own poor quality investigations before deciding not to report their concerns to child protection social services; if those social workers had the full range of complaints from police and teachers and other agencies then the child would still be alive today and the parents would not be free to abuse the child.
>>> Seed is raised on the dream. A rounds are raised on the metrics. If you don't have the metrics, you don't raise an A round....

These are golden words which all budding entrepreneurs need to remember rather than getting carried away by seed funding/hype. Thanks.
Have you looked at civicrm?
Locally scoped statics are still the moral equivalent of globals, and a waiting landmine for anyone who might ever run this code in a multithreaded environment.
Funny how many ppl here seem to think you can't have a js site and get crawled... check the user agent and direct to a prerendered site if it's a spider? Prerender.io?
Google Analytics: Tracking 4 Stages of Customer Interaction
Ecommerce businesses typically have four key stages of customer interaction. They are:

Attracting prospects or site visitors;
Engaging with the visitors in a bid to drive conversions;
Tracking the engagement and conversion performance;
Retaining customers for repeat sales.

Each of these stages can be measured in Google Analytics. I’ll explain how to do that in this post - http://snip.ly/LD1S
Yup, still down.
Why trust the UK? They helped the US invade Iraq. You think the UK will stand up for "terrorists"? They removed trail by jury to tackle some of their own terrorists
This is a strange complaint. Quicksort isn't stable in most implementations either. The docs are exactly where I'd look to see if a particular sort method was stable... where else?

I really don't mean to be condescending, but are you interpreting "stable" to mean "crash free"?
Maybe, maybe not, I can't tell how dynamic the site is since it's down. Something has to render the content, as with most programs everything is a CPU vs Memory vs IO/Network trade off. It's nice to now have the option to use the CPU of the client if desired.

I started programming in the heavy client days, writing VB6 against Access databases or SQL server. This is how your typical business app was made and it completely consumed the mainframe/terminal model because you could scale on commodity hardware taking heavy advantage of the now relatively powerful distributed client resources. The server did as little as possible to get the data to the client for rendering/presentation also you could do offline partially connected things. Of course there where issues with this model, deployment was much harder and you had to trust the clients, plus databases generally didn't scale out at the time.

Then browsers came about, and everyone realized you could write business apps in them, but the old guys laughed at us because it was the dumb terminal model all over again. All validation done on the server, no deployment issues, no need to trust the client, network connection always required. Then javascript started getting better, hey I can do validation in the client again, but maybe do on the server still if you don't trust the client, but the user gets instant feedback, best of both worlds.

The choice about which layer your code executes in is important, it lets you make that CPU vs Memory vs IO trade off without leaving the client CPU on the table. I think this is one reason the mobile app model is so popular as well.
Post 3D Print Photos and Details
Nice find. I remember seeing that. I just was amazed by the MusicBox. :)
Exit Interview: Mathew Ingram – Columbia Journalism Review
No, that can still bork your server. Too many async requests will kill it just like too many page loads, only now you've got each client going back and forth to the server.

The real way to do comments is the same way we've been doing it for years. Post to a form, load the new ones with a new page load. Better yet, push that functionality off to a system designed to handle it, i.e. HN.
It depends. There should be a way to find and index those user comments, if they have a positive SEO value.

This conflicts with the goal, that blog post itself should be at delivered as a static content, at best from a static file, to withstand a HNDDoS even on low budget.

So one solution could be to run the comment system as AJAX, moderate user comments a few times a day. Click [x] on every comment, you want to appear in the static page, and [generate comments] to generate a new static page, with the new public available comments.

Give each user a cookie and a localStorage, to show their comments in their own AJAX version, even if you blocked them from both the AJAX comment system and the public one.
Yes, that's definitely a problem. But switching from single threading to multi-threading should trigger a complete review of all the underlying code. That's not a trivial change and likely to break very many things if the assumption was that the code would be single threaded. Every data structure would need to be inspected.
Mobile Choices
It wasn't common knowledge at all. When I tried telling people about ECHELON I was told it was a crack-pot conspiracy theory, despite the evidence being available.

There were a few people who actually extrapolated the technical abilities to their possible extents and realized what was possible, indeed probable, but they were not the majority.

Despite Nicky Hager's testimony before the European Parliament in 2001, here in Australia, many people didn't even realise the DSD existed (Now ASD) until about 2011, and a lot of their abilities weren't known until 2013. The collusion between the ASD and other foreign departments was ignored, or even seen as positive, by any main-stream press coverage at the time.

Saying this was common knowledge in 1996 is attributing your specialist knowledge to the entire population, who couldn't, and still can't, really be bothered by said knowledge. You may have known about it, but the vast majority of the world didn't. And now that they do, they sadly still don't really care.

As an example, there's now an Academy Award winning documentary relating to mass government surveillance available online, legally, for free. Do you think I can get any of my non-tech friends to watch it?
Exactly what you said. The other part that got me was his "as an entry-level programmer, be prepared for grinding, endless tedium."

Maybe that's how his workplace treats junior devs, but the reality is that a developer with very little experience but a lot of skill is someone who can add a lot of value, and can find a workplace where they'll be able to do that. If you try to make a great junior dev "pay their dues," well, they have better options, with companies that will use them more sensibly.
The UK has a history of imprisoning people without trail, and suspending trail by jury within British courts in Northern Ireland. They don't need to hand them over to anywhere.