skysight-inc/HackerNews huggingface dataset:
They have a single client running a single 10 sec job in a day?
They plan to continue having a single client running a single 10 sec job in a day? The workload does have to be spiky to make the cloud cost-effective. There are workloads which are not appropriate for AWS. For any serious client AWS is a bad idea simply because there is single tenant (Netflix) consuming such a high percentage of resource that if they make a mistake causing a 40-50% increase in their load everyone gets f#$%ed.
It's been in the news in Germany and all over Europe. Probably has not been covered so much in US and why should it?
The one language to rule them all reasoning is a red herring. We chose nodejs for our server code for an iOS app as do many others.

The reason why JS + node is popular is becasue it's pretty good at each of the metrics you mentioned. Even though it's not best in class at any one of those, it is well balanced for many tasks. Many other technologies are either too slow, too low level, too hard to scale, or too cumbersome to work with.
The sad thing is - UIs generally don't matter if there's anything else making your product special. You can make your users as miserable as you want, and they will still use your service. Companies know it and prioritize effort accordingly.
Yah, I had thought about inheritance and super, but without multiple inheritance, it'd be tricky.

Basically a lot of my routes do stuff like parameter validation (I store specific criteria on the model class, but apply them in the route), creating a new object from validated post params, loading from the database, storing to the database, authorizing and authenticating, etc. Then my route definition declares the per route middleware and the specific controller only has to encapsulate route specific business logic.

I could do that just by putting it all in a utils package and calling loadItem(), validate params() etc at the top of each handler, but that feels less elegant.

It may be that I've just been using hapi.js for too long, the modularity and composition in that framewrok.is quite elegant, IMO.
China has created a score for how good a citizen you are
Instead of talking about hours I think about how many times a day I get to be in flow.

For me personally being 44 I am only able to hit a good flow once or twice a day for 2-3 hours each time.

When I am in flow I am faster and more creative than when I am not, so more hours would not add significantly to my productivity.
- Yes there are better tools individually for prototyping, perf, concurrency ... but Node does pretty well on all this points, so it's arguably a strong all rounder

- Node's package manager npm is fantastic, and (imo) gets package management more right than 90% of other package managers

- There are 1000s of high quality actively maintained modules on npm to get you started on things (and 1000s of garbage ones, so you have to be careful)

- The "holy grail" web app architecture (server rendering of frontend JS components coupled with client side rendering in a SPA) is only possible by running some JS on the server

- Sharing JS UI components between the backend and frontend is a huge DX and productivity win

- Another huge maintenance win is using the same language across the whole stack (frontend, backend and devops/automation)

- With ES6, JS is slowly turning into a pretty cute language, check it out :)

- A nice level of cross-pollination between JS and those geniuses in the ClojureScript community is bringing some really nice functional programming approaches and projects to Node/JS

- You can use Node and JS to compile to both native desktop apps and native mobile apps. Having a centralised UI library of JS components that you can leverage for your desktop app, mobile app, frontend SPA and backend static rendering sounds pretty good to me!
My Windows 3.11 VM works fine though thanks!
I don't want to restart a flame war but after choosing NodeJS for some projects based on specific modules not available in other languages (e.g: bitcore*) I am moving away or leaving it for very specific tasks. The code we wrote more than one year ago making an SQL transaction in 8 statements with async is difficult to understand and have some implicit stuff that you need to take into account. The other problem is not having a multithreading environment (in the official release) because you may want to respond to new tasks instead of blocking the event loop. I have seen timeouts because of this. Even if the recommendation is to do simple tasks, you can't enforce this when using hundreds of third party modules.
New York Public Library Invites a Deep Digital Dive
But...

NSA, GCHQ, BSI/BND, etc. aren't the "bad guy" in theory.

It's within a nation's interest to, within the extent of law and respect for human rights, try as thoroughly has it can to know what's going on in the world. Electronic intelligence is part of that, and a growing part.

In practice, the permissive reactions many/most/all governments have to allegations (or proof) that a comms intel agency has broken the law, that's what the trouble is. That these groups have been allowed to break the law or ghostwrite laws that allow them to violate what would generally not be approved by a citizenry, that needs to be addressed.

I'm not sure how ruining the careers of software developers and computer scientists who've worked for these organizations does anything other than remove from circulation some brilliant members of our community.

Ostracize the middle managers, bureaucrats, politicians that allow the trampling of our rights.

But don't arrest the guy designing the home theater system for El Chapo's vacation house and tell me you've taken down the Mexican drug cartel.
I wonder how much of that is simply npm duplicating libraries (at slighly different versions) due to its no-shared-dependencies approach?

https://github.com/Automattic/wp-calypso/blob/master/package... uses ~130 libs.
After npm install (incl. dev deps), node_modules/ weighs 170M file size (and whopping 550M(!) disk size).
Let's check duplication. Dirs:
(Assuming equal size & name indicate equal content)

$ sed 's@\S*node_modules/@@' DU | sort -k2,2 -k1,1 | wc -l
6259
~/wp-calypso (master) $ sed 's@\S*node_modules/@@' DU | sort -k2,2 -k1,1 | uniq | wc -l
3286
~/wp-calypso (master) $ sed 's@\S*node_modules/@@' DU | sort -k2,2 -k1,1 | uniq --skip-fields=1 | wc -l
2799
$ sed 's@\S*node_modules/@@' DU | sort -k2,2 -k1,1 | uniq --skip-fields=1 --count | numaverage
2.23615576991783

Bytes:

$ sed 's@\S*node_modules/@@' DU | sort -k2,2 -k1,1 | tr -d , | numsum | numfmt --grouping
170,022,500
~/wp-calypso (master) $ sed 's@\S*node_modules/@@' DU | sort -k2,2 -k1,1 | uniq | tr -d , | numsum
117,107,993
~/wp-calypso (master) $ sed 's@\S*node_modules/@@' DU | sort -k2,2 -k1,1 | uniq --skip-fields=1 | tr -d , | numsum | numfmt --grouping
91,895,673

=> dirs appear in ~2.2 places on average; ~31% of total size is wasted on exact dups, ~14% more spent on different versions on same lib.

$ npm dedupe
...
$ $ du --summarize --apparent-size node_modules/
166,097,508	node_modules/

Underwhelming! Only 2%?! dedupe is constrained by npm lookup algorithm (can only lift equal versions to parent dir) but 2% is useless. Should have used sym/hard/reflinks.

Anyway, I now know npm's exact-duplication overhead is not huge (though could be linked);
inexact-duplication is small enough to be easily worth the ability to mix versions;
and that the new control panel is indeed bloated [however I assume it has more functionality than old?].
"Solved it by being ok with it" is my favourite quote of today!
Are those studies about your product in specific?
But known, proven therapies are better than apps with no peer review.
I think that he was a teenager when he burned a cat alive. Usually teenagers make stupid things. I know people that make things like that and worse in their youth and they aren't murderers.

It's strange that they don't considered the possibility of Bobby Dassey and Scott Tadych being the murderers or the "German" man: http://www.convolutedbrian.com/an-alternative.html
I'll name a grain of sand after her too if you ping me a $100... :-D
> Which sector is building startup after startup for data mining, tracking, building profiles?

You talk about it like it's necessarily a bad thing, by default, for everyone. Why?
Bertrand Russell wrote a rather famous [0] essay on it in the 1930's.

0: http://www.zpub.com/notes/idle.html
The article says increase in sleep is surprising, but is it? People consumed far more data (from the internet) in 2014 compared to 2004. One of the known purposes of sleep is to consolidate memories from the day and to convert short term memory to long term memory[1]. More data implies more memory, which implies more time to consolidate that memory. This implies increase of sleep time.

[1] http://www.bbc.com/future/story/20120228-why-do-we-need-to-s...
I feel the same about coding on dark backgrounds. Code is text and I find it much easier to read on a white background.
It's an improvement - but at this point ES6 is just another compile-to-JS language that needs to ship it's own standard library - except it's worse than all of the mentioned ones (it has no type checking, standard library is still meh, semantics are still good old JS semantics).
People have a choice (at least to some extent) about the data they share with Google and Facebook. There is no such choice about the information that governments scoop up.
Great work and very good presentation.

(These comments are just from watching the first video.)

But how is this next-generation? It seems to be very inspired by established widely used web frameworks such as Ruby on Rails. With elements such as ORM, routing, controllers, HTML templates.

It also seems to require a lot of code generation. Is that really constructive? (What happens if I edit the various generated files, would I still be able to add field to a record using the command line tools). Couldn't you have moved some of the boilerplate into the framework?

Why not use ES6 imports? (Rather than require / Nodal.require)

Why create an ORM rather than use a JavaScript-orientated NoSQL database? (mongo, couch etc.)
Well at the very least your are missing isomorphic/universal apps. One case when it's best in class is edge servers backing mobile clients/SPAs that need to have millions of web sockets open. Tooling I can have single package manager for backend and frontend I can use same packages on backend and frontend. I can use single language to develop for Server,Web,Mobile.
What I'm about to write is about the extent of my knowledge on the subject, so don't assume I know more that justifies my thinking: CBT (cognitive behavioral therapy) has has been shown it can be effective even if done with computer software, and in the UK is something the NHS either offers or pushes people towards (I think, if I remember correctly, using a private company who provides the service online but an NHS referall gives you a code to access it for free). Based on this, I would assume it's perfectly possible to offer a "treatment plan" for "ADHD, anxiety and depression", but I have no idea what regulatory hoops, if any, would need to be cleared. (I also don't know if your parent comment's company does offer CBT, or if not whether what they offer does work.)
JsMaker – Visual JavaScript Programming
Because information is power and power tends to be abused over the longer term, all fig-leaves about 'improving the world' to the contrary.
Perhaps there is scope for a sitcom involving rubbish companies and startups?

That sounds pretty funny: "For you, with love!" (empty box)
Uncompressing can be a major mental burden too.
I'd rather read a real sentence instead of a 140 character string with various opaque shortenings.
Stay on Top of Your Goals in 2016
I thought I'd transcribe this line (it seems the most relevant):

> "Instead, what if that text...was actually text? Text that could be searched, Text that could be highlighted. That's more utility and power."
No. The Federal Circuit has subject matter jurisdiction, not geographic jurisdiction. Their decisions are binding precedent throughout the United States.
You'd save yourself one line of indentation if you encouraged module.exports = Controller; at the end of the file instead. Node already puts a closure around the module, no need for another one.
Why this, specifically?

> I would NOT warn the end users about needing to upgrade

People using your product are discussing it on review sites, on social media, with friends/family, etc.. If you silently give some of them a broken product, a few will contact support; but I imagine most will assume your product is just low quality. So that's the word they'll spread.

For corporate users: well, you'd need to talk with your customers. They might be facing a seriously expensive upgrade process, and could be extremely unhappy to hear you're setting an arbitrary deadline for them.
I'm not sure what it is on the surface but that site instantly screamed "scam/virus" at me as soon as I opened it. I think it's because it looks cluttered and some images just look out of place (including a stretched Facebook share button on the right)

Is it actually trustworthy?
That's interesting.

I should do some real world benchmarks on Elixir vs Go for my own purposes.

But I'd imagine if you really care about microseconds, you should use a language without GC.

Rust would seem a good choice.
With the up-most respect, and we've all been there, but I would submit that maybe you just didn't write your Node code very well? Written properly, async code shouldn't be hard to understand. And there are tons of ways to spin up a new process or worker to execute a task without blocking the event loop of the main app. I mean, I could go away and use my limited experience to write a small project in Python to do a specific task ... but if it turned out to have deficiencies I wouldn't blame Python, rather my limited experience. Next time you need something written in Node, why not hire a experienced Node dev? And what is this recommendation to do simple tasks? I never heard that :)
Microscaling a containerized web server with Nginx, consul, registrator, force12
A morning routine is important
> Simply, I and many others do not believe that any western government is going to use information gathered by tech companies to preempt threats to entrenched interests and the status quo.

It's simply hard to take your stance as one made in good faith.

The US government has a long history of using its national police, the FBI, to infiltrate and subvert domestic political movements that the powers that be found unpleasant -- including using their police powers against modern groups such as the Occupy movement.

Further, we know that the US government has used records held by tech companies to create massive cross-referenced databases of people, including domestic activities. The recent leaks about surveillance programs has made that abundantly clear.

Your position is literally that an organization with a history of doing this kind of activity won't use the technology we already know the government possesses to keep doing the same thing.

So I think there is a need for you to rehash the debate here, because it's not clear how you sincerely hold that position.

Because rather than a rational view, what you describe sounds like irrational denial.
Saudi-Iran tensions can't stop the oil price crash as Brent falls below $35
I'm impressed how the author managed to make them all work as intended without Javascript.
Top-down parsing language
I would just like to disagree on the "high quality" of modules. Personally I worked for a year in a very long lasting project about a specific type of social network. In the team I was the first one to push for the use of nodejs, react and mongo and... my god if I regretted it.

The quality of node package is very bad in general. Like the most part are totally garbage. I don't know from where you come and what you used before, I worked only with java, php and ruby for the backend and in those i found:

- far higher Documentation quality... like, node modules documentation is not even REMOTELY comparable: it is often extremely outdated, with very poor examples, the most of the times these example are not even working or are using functions deprecated since 3-4 versions of the module itself.

- a infinite amount of bugs and undocumented behaviors rarely already reported and, when reported, just ignored for months. I usually would find infinite workarounds instead of solutions

- extreme use of "I can do it better, so here my fork". I passed the big part of the time running from bug report to bug report and reading in the comments discussions about "The main maintainer of this package does not want to solve this problem of mine... so i made this other module, totally identical to this one but I just added this little hack, which totally broke the standard way of doinf things of this module, some functionalities I needed and never implemented the last 8-9 months of commits here." and chain this. Like this happened a dozen time each months when someone suggested "Why we don't try this module that says it solve our needs?"

- No standards anywhere.
> What do you think about the alleged xenophobia?

The only times you will hear this, is out of the mouths of Chinese/Korean nationalists looking to bash the country (their own bigotry), or Gaijin blogs from young white (usually affluent) kids who are/were upset they weren't treated like kings when the got off the plane. They were upset that the girls didn't throw themselves at them and that people didn't rush to attend their every whim.

If you look at actual scientific studies, you'll find Japan is on-par with the rest of the world when it comes to their racism. Japan is actually less racist than France and equal to places like Finland or Germany.

Source: https://www.washingtonpost.com/news/worldviews/wp/2013/05/15...
<3 Thanks for that! It's an amazing way to solve problems, especially if your normal way of existence is to be frustrated by awful products in every angle of your POV :)
> even if SJWs are totally abusing this term

The same way as you're abusing it. Maybe they're genuinely happy and proud that you can do it, or are just trying to make you feel better and help you however they can? Normal people call this "being nice" or "compliments".
Docker provisioning tips from the experts
Modular Crypt Format
Especially the testimonials. I can't help but read them in a classic cartoon dumb guy voice
Yeah, that's the point I believe. As long as I trust the modules it should be fine or are there other dangers?
I think that cuts both ways though. The "confession" is a joke but his performance on the stand isn't convincing either. Whatever he says at any point can't be taken to be the truth.
Lessons Learned from Building a Ruby Gem API
> At the risk of sounding too much like an AWS fanboy we are actually looking at scrapping it all and just bringing everything in-house running on our own physical boxes with some type of hypervisor on top.

We have done just that, with Opennebula (qemu,kvm; networking built on top of openvswitch and storage from distributed iSCSI NAS appliances). It's a perfect middle ground. All the easy provisioning niceness, less than half the price of AWS.
Friend, analog audio is not hipster bullshit. Running through vacuum tubes and transformers, printing to tape, dumping it back into a DAW is not hipster bullshit. It's using the best tools for their portions of the job.
How to Deal with Constant “New” Ransomware Threats
>ES6 to ES5 is a one shell command with Babel.

You still need to include core.js to polyfil basically everything from standard library. And then you need to make sure Babel works with your framework (like Polymer or what not), and that's just the start of the interop hell that is using different JS libraries together. Rule of thumb - anything you add to your JS build system = increase in the likelihood of hair pulling when things break - and babel and core.js are two such things.

The value I get from ES6 compared to the CLJS change how much I'm willing to tolerate the PITA factor of the build system.

In dart I don't have to do any of that, just add few lines to pubspec.yaml with dependencies and transform directives and off I go. And every other library uses the same build system and the same package manager and the same standard library !
One thing you should probably do: establish a VPN. Give staff cert-based credentials to it. Block all inbound traffic to the VPN except a) port 22/etc to your bastion host and b) 80/443 to your front-end web boxes.

This greatly reduces your surface area, and helps prevent easy mistakes later (like leaving a staging server unpatched) from blowing up your whole deployment.

Also, admin applications: an easy way for smart teams to lose. These are a great candidate for "only accessible if you're VPNing in", which you can enforce at firewall and again in the application if you want.

Password managers; TFA everywhere but especially on corporate email accounts; ask yourself "If I were a hobbyist building a Bitcoin exchange where would I host it?" then don't host there.

Here's a useful but hard-to-implement recommendation: keep an up-to-date list of every box in use and terminate anything you find not on that list. Many compromises start with "The summer intern's project from last year was web accessible and..."
"Writing a standard C library from scratch is crazy. Its one of the most commoditized pieces of software. Its almost impossible to do it significantly better than existing implementations [...]"

As the musl developers have shown, this clearly not the case.

Switching from bionic to musl would indeed be interesting.
Berlin doesn't get cleaned enough by the city. Yesterday it was still covered in fireworks and empty wine bottles from New Year's Eve. The only reason it looks clean today is because it's covered in snow.

If it were cleaned more regularly people wouldn't litter so much. (Not a defence of people who litter, and it's the one thing I hate most about living here.)
I'd be interested in seeing the founders respond to this.

We have stories like this every now and then with various companies, and here's something that makes me wonder: assuming that both parties are neither evil nor stupid (which I think is fair assumption in most cases), how exactly such situations happen? There's a lesson for every founder and manager hiding here.
If you look for something local, why not just write a good resume and pick those companies around you that actually interest you and just go for it?

I am all for tech platforms, but when i want to work with this company i prefer real human to human interaction over everything.
It's easy to say this stuff, less easy to implement in a business. It depends on your demographic and your content. Take B2B sales or B2B SaaS. Enterprise users are THE main reason for crappy old browsers in my experience, so the real question becomes...

Are you really willing to take a 10% hit on sales?

You can announce EOLs until the cows come home (Microsoft has and look how well it has done them). If your product stops working, they'll complain at you and then cancel their contract and find another provider who will support them.

I'm speaking from a gruelling 15 years experience developing enterprise SaaS. We've only just dropped IE6. It'll be years before IE8 goes away.
This is an interesting post on the topic from reddit:

https://www.reddit.com/r/changemyview/comments/1fv4r6/i_beli...
This is really beautiful and impressive. I only wish the text was a little more highlightable.
You don't have to use them all the time, though... there's plenty of things I couldn't afford to do all the time but sometimes it's worth paying extra for, a service like this could be one of them. If something urgent comes up that Magic+ could fix in 15minutes and that I don't have 15 minutes to use and it can't wait, a $25 fee could easily be justifiable, even if my salary was only $50k. The same way as most people wouldn't have a chauffer, but that doesn't mean taxis aren't sometimes worth paying for.