skysight-inc/HackerNews huggingface dataset:
Perhaps another reason for this is that Javascript is inherently unsafe. By relying on these small rigorously tested libraries they are avoiding the need to test their own code, and thus avoiding basic null check or conversion errors.

Other languages handle this with compilers, may be strongly typed, and/or have features that don't allow nulls. Javascript doesn't exactly have that luxury. So maybe it makes sense in Javascript, where it wouldn't in other languages (though one could argue this is a flaw in the language design).

edit: to be clear I'm not really defending the practice, but trying to give a little perspective.
Speaking from business perspective:

Same reason many people using SUSE Linux.

- Support

- SLA

- Familiarity and continuity

Sure business can pay for Debian enterprise support too, but its slightly different mindset when the whole ecosystem was made for business and enterprise.
That article shows a remarkable lack of familiarity with the historical corpus of American television.
Years ago there was an article or case study about a company who had rehomed their support under Sales to some success. I always thought that was a good way to balance things, where customer problems don't have to wend their way through IT/Ops to some meeting where pushback against sales may or may not occur.
> No, that would not be an apt metaphor for the problem he is describing.

That's because I don't agree that the problem he is describing exists, or at least not to the degree he's describing, which was full of hyperbole.

> Is there any cost to creating modules, uploading them to npm and using them in other projects ? Clearly there is, as is shown by the world-wide breakage from yesterday. This is probably only one of such failure modes.

This was a failure on npm's side by including a functionality that allows users to trivially remove packages from a package management system that is used by hundreds of other packages, something that most major package management systems have decided was a bad idea.

> The point is, breaking everything into micro-modules can have benefits and costs. Ultimately, it is an engineering trade-off.

Agreed. And I don't think nearly as many people are erring on the extreme side of this tradeoff to the degree that he's describing.
For anybody else needing more context for the last paragraph: https://en.wikipedia.org/wiki/Odyssey_Airlines
http://webcache.googleusercontent.com/search?q=cache:X4--heI...
I'm a part of Eventbrite's engineering team in Nashville. I'm really bummed about this article. I think it's a shame that Lyft told a whole department "leave SF or lose your job". I agree it's problematic for a company to segregate customer support in a satellite office. Neither of those are how Eventbrite handled their expansion to Nashville.

We're growing like crazy here across the business- engineering, finance, HR, support, sales... Yesterday we had a hot chicken lunch [0] to celebrate two new engineering hires. Tomorrow we'll christen some temporary office space to accomodate our newly-added sales team. Within a year, we'll be moved into a new space more than triple the size of our current office. Trust me, that's not because we're tripling the size of our support team.

Within engineering, my coworkers in Nashville come from a number of different backgrounds, Many of them are experienced devs. Others are career changers via coding bootcamps. Most relevant to the article, some have come from our customer support team. People tend to stay at Eventbrite for a long time [1]. There may not be as clearly defined a career path as you'd find at a more established company, but you're not stuck doing the same thing forever.

[0] It's a Nashville thing. If you haven't had it here, you're missing out. :-)

[1] Although you see the real tenure in the original SF office, in Nashville no one in engineering has quit yet (if you don't count the guy who left for Y Combinator, then came back afterwards).
They are ordered by increasing contact with reality - no elegant plan survives that. The constraints of available resources and the details of what it is actually for take their toll.

Elegance requires constraints consistent and few, whereas reality is a seething mess of capricious special cases - the far end of the spectrum from pure consistent abstractions.

But not only that it's easier, he also means that a solipsist chasing idealized butterflies is not an engineer. An engineer is meant to solve real, practical problems.
My problem is one of productivity. There's already a standard library, and if it's a language I've been using for a while, I probably remember most of it. I can pretty much go straight from my thought of what I want done to typing it out, much like typing English. If you force a 'cache miss' and force me out of my head and into a documentation search, well, that's going to have a significant effect on my performance. If the function is well-named, it has less of a cost in reading the code, but there's still a cost, because what if it's slightly different? I have a pretty good feel for the gotchas in much of the standard library of the languages I use. I have to stop and check what the gotchas of your function are.

Yes, at some point the complexity cost of gluing together the standard library functions to do something becomes greater than the lookup cost of finding a function that does what I want; but I am saying that adding more functions is not costless.
SV stole the industry from Boston, and I think we can assume that if SV wanted to support remote organizational models that they would have done so more readily than they have. Best of the best, after all.
Agreed. It is a differentiating feature (see: Amazon/Zappos/Apple Store), and an important source of information for product development. And certainly, not everyone can do it well. I can see Customer Service being the starting point for Service Designers and integrated with that department.
I've long used something called "hckr news" in Safari, which collapses both subthreads and whole threads. It almost makes the site pleasant to use.
Probably more like "privatize network effects."
here is said reddit post:
https://www.reddit.com/r/politics/comments/1os8rz/
The insanity is that JavaScript doesn't have a standard string library. More a case of forgetting how to design a programming language than how to program.
Kinesis Advantage Review: Long-Term Evaluation (2013)
If their A-series chips have protected internal data paths and ECC, they could build microservers around them. The A9 already has PCI-E lanes that could be used for networking and storage.
>> In another note, hard RTOS are not used in servers, so performance cannot be compared with benchmarking tools.

It may seem surprising, but performance is easily determined by side channel attacks.

https://www.google.com/search?q=blackhat+side+channel+web+ti...
Yes, this definitely improved the situation, but I think there is still big limitations on what you have access to.

Perhaps some of the entries are not marked as web passwords, and/or it is limited to the passwords Safari has saved (Chrome or firefox passwords would get ignored for instance). I have hundreds of entries in my keychain and "Other Passwords..." won't display most of them.

As a behavior, it doesn't bother me much if Safari wouldn't get automatic access to other apps' keychain entries or generic passwords (from a security perspective it's a sensible limitation). Instead I would like a separate keychain app, mirroring the abilities of the OSX app.
I'm with you. I use the default shell (bash for linux) and don't change it much. I might tweak the prompt a little and add a few aliases and environment variables but that's about the limit of it.

The main reason is that I tend to work on a lot of servers, and sticking with default settings gives me a consistent unsurprising environment on all of them.
5 IntelliJ Tricks for Gophers
Yeah, it's not that much extra work so it seems like something that should just always be done. Plus once you start messing around with any kind of authentication it seems irresponsible not to support it.
On the one hand, I ,love how the JS community is constantly coming up with new [versions of old] things. Even though most of it is creative waste, it's still creative and out of that churn we get some pretty awesome apps and tools.

On the other hand, there's a lot of bad practices disguised as "simple" and "efficient." Using NPM for one line functions is a great example of this.
This was a really interesting read.

The value/reference type distinctions are something I like about C# compared to Java, so I appreciate being able to understand its nuances better.
Weird, they didn't mention Meteor at all...
No. Why would I do that and contribute to boosting the search relevance of medium.com instead of having content on my own domain where it helps make my own company more discoverable? We're actually in the process of moving off a 3rd party blog platform and onto our own self-hosted blog server now, largely for that reason. We want our blog tightly integrated with our main site, not sitting out in nowhere land as some disconnected island.
I'm a regular contributor to a FOSS project that supports fairly old versions of PHP.

We use defuse/php-encryption where possible, but fall back to an mcrypt wrapper on older platforms. The wrapper implements key splitting, PKCS#7 padding, HMAC, and constant-time string comparison in a way that is fully compatible with defuse/php-encryption, and we have unit tests to ensure that data encrypted with the former can be decrypted with the latter and vice versa. Still, I'm not thrilled by having to keep this wrapper around. Our next major version will finally drop support for PHP < 5.5, and I'm very much looking forward to it.

On the other hand, using OpenSSL doesn't feel all that safer, either, given its terrible codebase and frequent vulnerabilities. Can't wait for libsodium!
Why haven't more freely-licensed databases taken off in general? For movies, IMDb (Internet Movie Database) is hugely popular and even lets its users edit, but its data is proprietary. TMDb (The Movie Database) provides an API, but its data is also proprietary and there's no way to download the data for offline use. OMDb (The Open Movie Database) has an API and is licensed CC-BY 4.0, which is great, but also doesn't provide data dumps. Can you really say it's an open database if users cannot redistribute your data or fork it? (Not to mention that the users are the ones contributing most of the information)

What gives me hope though is that two databases you mentioned are freely-licensed and do provide data dumps. This is essential for programmers to be able to create things that rely on these databases. We need to establish more free data stores, because as the article mentions, data is very valuable, and as the Wikipedia links show, proprietary databases have absolute control over their terms, restricting and locking out competition at any time.
Yes, until people stopped publishing isInteger and isArray as `packages`. Plus, stdlib is standard library. Can you cite one for JS? NPM is not.
> But won't they just hire the same people as "workforce relationship consultants who are TOTALLY not anti-union"?

They can try, but that won't get them off the hook. It doesn't matter what the sign on the consultant's door says, what matters their discussion of unions.
Why didn't you respond when I asked team@angel.co why you mistakenly sent one of my former employers an email telling them that I wanted to apply for a job with them, and ignored me when I asked you to cancel that application? I sent the message on 29 January 2015 at 11:09 CET.

And then why didn't you respond to any of my subsequent emails with detailed descriptions and screen snapshots of other problems I encountered?

Is it not enough for one user to report a privacy problem, so you decided not to acknowledge my report, but to wait more than a year until it became a huge public issue that caused hundreds of people to delete their accounts?
Darpa Wants to Hack Your Brain
You create unit tested functions and expose them to client code with a factory pattern, how is that so ridiculous?
I remember how I have been downvoted to oblivion for comparing JavaScript madness with Java EE "packer's" paradise years ago.

The Programmer's Stone first essay is actual as it never been before.

Actually, it is a common pattern. When some activity becomes popular due to very low barrier to enter it will end up in a such kind of mess. It seems like nowadays everyone is either a programmer or a scientist and researcher.

This is the quality of their software and research.

There has been a reason why good schools taught principles (algorithms and data structures) not particulars (objects and classes). But since MIT and Berkeley dropped Scheme-based courses in favor of "pragmatic" Python (thank god not JavaScript) based courses we are heading to a disaster. Java madness taught us nothing.

History is full of examples where assault by mediocrity ruined the whole branches of philosophy, arts and crafts. Instead we have fastfood, mass media, social media and now this mass coding, which combines worst from mass and social.

Just try to compare things like Smalltalk or Plan9 or R4RS Scheme or Zeta LISP of Symbolics or with this stuff.
I'd also like to recommend The Information: A History, A Theory, a Flood. It profiles Shannon as part of a history of communication and information. Fascinating read!
6P availability was rocky for a while, but yes, it was simultaneous.
R.I.P. Vendors: Can Open Source Change the Way Third Parties Operate?
Wouldn't it make more sense to merge Support with QA?

It seems like the majority of issues that cause me to contact Support are caused by design, implementation or documentation problems.
As an industry outsider, it wasn't obvious to me that their business plan was viable, even if the technology panned out.

They want to charge $5,000 for a round trip between NYC and London. That's at least 5x the cost of getting a normal economy trip, if you buy early. Certainly, there are people who would pay that much to save time (~$600 per hour saved), but is the market big enough for many planes, running 24 hours a day? Most people aren't willing to pay a couple hundred extra dollars for first class, let alone a few thousand.

The LoI means investors don't have to trust their market judgements. An airline is going to buy the planes and bear the risks regarding how much customers will pay. The remaining questions are technical. I'm sure the technical side is the vast majority of the risk, but it seems like a nice simplification for them.
That's actually sort of how NPM works currently, they mentioned that that's exactly how they would solve kik situation, by giving them new version of the package: http://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm

"Had Azer taken no action, Kik would have published a new version of kik and everyone depending upon Azer’s package could have continued to find it."
It not about being lazy, it's more about how can I get cross-platform GUI support that looks good without having to use C++? The answer seems to be html these days, unfortunately.
Chinese Buy One-Third of Vancouver Homes: National Bank Estimate
> With Android, I always wanted to tweak silly things and run Cyanogenmod because

So effectively, you prefer to use tools that give you less flexibility and that's why you prefer the iPhone.
That's because central hubs are very useful...
Marko vs. React Benchmark
Google gets plenty of speech training data from Android phones; I doubt they need more from startups.
This implementation reads almost as parody, although I don't suspect that the author meant it as such. If you didn't have a sense of what lurked behind the abstraction, it would be kinda beautiful.
How well online dating works, according to a sociologist
Why patience was my toughest leadership lesson – Jackie Yeaney (Red Hat)
He could have been a casual user of an Android phone.

All you need is learning how to prioritize your time. A lot of adults can do that.
The urinals I see in Japan that go all the way down to the floor do a pretty excellent job at containing those puddles.
Community banks clamor for fintech partners
React Native is a game-changer for mobile development (says Android developer)
It's not on the coast.
I think the difference between software and configuration is a bit artificial. Whenever you install software, you are implicitly using someone else's config: the default. oh-my-zsh users are also using someone else's config, but it's better. What's the difference?

Edit: to clarify what I mean by the distinction being artificial, I don't see why you couldn't think of the kernel as someone else's configuration for your processor, or zsh itself as someone else's configuration for your terminal window.
I dont know about that exploit. But I clicked on a twitter link which installed malware and I didn't even realise.

What happened was paid apps would pop up adverts. And the browser would redirect to adverts before navigating to page links.
'is-thirteen' – Check if a number is equal to 13
Actually, when we started (GAE) with Python, my friend Guido didn't YET work here -- I was finally able to convince him to join, shortly after GAE's launch, in part thanks to the prospect of working on GAE's Python (which is what he ended up doing here, especially developing ndb, but also many other little things). Python was at the heart of Google for long before that (read Levy's "In the 'plex"...!-) -- or I wouldn't have joined Google 11 years ago, BTW.

As for Java, well -- guess who announced Java to the world at Moscone Center in SF 21 years ago...? One Eric Schmidt, then Sun's VP for SW products (he reminisced about that this morning at his Next keynote)... who just happened to be Google's CEO when Java was announced as GAE's 2nd language!
I'm not talking about hedging (like buying call options). I'm saying that oil price would be expected to be a potentially large part of the risk profile of the business, so it doesn't cut muster to just assume that the price of oil won't go up and cut a check. A competent investor will analyze the impact of common risks for the type of business in question, and make a determination as to whether the investment makes sense in light of the risks.

That doesn't mean that the investment isn't expected to be hurt (or wiped out completely) should the price of oil rise, it just means that a competent investor would have looked at that possibility and decided that the investment was still worthwhile.

The comment I was responding to IMO assumed flippancy on the part of investors and implied that they would be surprised by an increase in oil. That's absurd.
> "It was as if he got permission from the world," says his daughter Leslie Ebeling Serna. "He was able to let that part of his life go."

Rest in Peace.
Yeah, I only ever went there twice. Once to visit an army buddy, another time to visit my brother. Nashville is pretty frickin awesome, even if you're not into country music.
That's kind of insane. I wonder what the numbers are for San Francisco...
Separate from the discussion of whether super small modules and hundreds or thousands of deps are a good idea, is the point of operational stability.

Putting on your devops hat, whatever your dependencies, from a reliability and reproducibility point of view, you should control your reliance on unexpected decisions of npm or third-party developers. A lot of the panic with npm issues comes from people blindly using the npm registry and then seeing breakages, with no safety net. I hate to say "I told you so" but this is an issue we worried about a lot when considering Node productionization last year: https://medium.com/@ojoshe/fast-reproducible-node-builds-c02...
Unrolling an obfuscated wordpress hack
An electric fence is much closer than the floor, the stream may not have broken yet. It does depend on the distance -- for example you could pee from a subway platform onto the third rail and live to tell the story.
I wonder if this has something to do with PG stepping aside. I heard a talk from him years ago and it didn't sound like he was to interested in getting into the health care domain. I can understand his position. It is a bureaucratic nightmare.
author of over 600 modules and 1200 lines of javascript.
> Of course I don’t know the full backstory, but it sure seemed like the original plan for 3rd party developers on iOS was to have us all just build apps using the web.

Correct, there was no SDK on the first generation iPhone. It was a closed device, like all Apple devices. And that's how Jobs wanted it, he just thought that the idea of third party applications running on this device was pure absurdity.

Then Android came out and Jobs had to adapt.

> Apple made what turned out to be a really smart business decision: they released an iOS SDK and an App Store and the rest is history.

Kind of. Apple made a really smart business decision: they realized that if they didn't match Android and provide an SDK as well, they would lose. So they followed suit.

> The end result, for those of us still trying to build installable web apps for iOS was that with nearly every new iOS release some key feature that we were depending on broke.

This makes it sound as if these features got accidentally broken. No, they were intentionally removed or crippled because they either threatened Apple's dominance or cut into their profits. You could call that another set of "really smart business decisions"
Yes, there is. Just like NPM's left-pad case.
The owner of the package remove the package from the repository. It doesn't matter if you pin to any version if there is no longer a code to download.

The only way to prevent this is to have your own local server for third party package repository.
The equivalent in C would then be replacing

#include <math.h> and "-lm"

with

#include <sin.h>
#include <cos.h>
#include <tan.h>
#include <sinh.h>
…

and "-lsin -lcos -ltan -lsinh …"

Which is nuts no matter what language you are coding in.
The PLA?
Same. I had Android for probably 6 years. Top of the line phones. Nexus one and Nexus 4. The Nexus one was great. The 4 irritated the crap out of me. I can't answer an incoming phone? Hello, this is a phone. Charging issues. Weird lag all the time. When it came time to upgrade I switched.

Bought an iphone last year. Couldn't be happier.
God damn - there's something in my eye...

There's so much to be gained by just, stopping what's going on. Enough surplus benefit to take care of, if not the communities at least the people. And if we all drop the magical thinking, it's plainly doable.

I'm sorry about your uncle, in so many ways.
How is that superior to copypasting from a stackoverflow answer?

If it's a popular issue, lots of people had the same issue, many will be nice enough to add their edge cases and make the answer better, most will not. Same goes for contributing to a package.

With a package you would be able to update when someone adds an edge case, but it might break your existent code and that edge case may be something that is not particular to your system.

If you don't want to get too deep in the issue, you can copy paste from SO, just the same you can just add a package.

If you want to understand the problem, you can read the answers, comments, etc. With the package you rely on reading code, I don't know how well those small packages are documented but I wouldn't count on it.

The only arguments that stands are code reuse and testability. But code reuse at the cost of the complexity the dependencies add, which IMO is not worth the time it'll take you to copy and paste some code from SO. Testability is cool but with an endless spiral of dependencies that quite often use one or more of the different (task|package|build) (managers|tools) that the node ecosystem has, I find it hard to justify adding a dependency for something trivial.