skysight-inc/HackerNews huggingface dataset:
It's hard for me to believe that the crew is the high-cost component in oceanic shipping. From what I've seen they're mostly from the Philippines and similar low-wage nations. Besides, getting rid of them isn't just a question of steering and throttling. Most of the crew is engaged in maintenance for most of the journey. Are the nerds on the holodeck somehow managing that as well?
He's right, for `0.0.x` versions it means "this version and this version exactly"

https://docs.npmjs.com/misc/semver#caret-ranges-123-025-004

And to be honest, it's news to me. Sorry i impulse downvoted you...
Product experts and more
dupe: https://news.ycombinator.com/item?id=11340510

Just in case you were wondering what's on place 1 of the front page of HN. ;)
I don't think the distinction between autonomy and influence/power is so clear-cut in practice.

The article defines autonomy as the absence of unwanted influence. But in a human society, unwanted influence is not something you can simply opt out of. Having autonomy without isolating yourself from the rest of the society means having at least some degree of influence over those who would like to influence you in unwanted ways.

As long as there are people out there (politicians, marketers, burglars, terrorists, etc.) who are trying their damnedest to influence you, the only way you can achieve autonomy is to be able to tell them to get the fuck off your lawn. Sometimes you need to push people physically off your lawn. Sometimes you need to kill them, because they would kill you if you don't. An autonomous person without effective power will quickly cease to be autonomous.

So autonomy is just another form of power. Some might even say that everything is power, and it's not just empty rhetoric.
One of the many advantages of California: noncompetes are invalid.

Washington is pretty bad; Texas is worse: DSC famously had control over its former employee's thoughts (https://yro.slashdot.org/story/04/08/03/225217/does-your-emp...)
Uranium ore samples.
> Religious flamewars are not welcome on Hacker News.

I respectfully disagree that my response was in any way a 'religious flamewar,' or an invitation to one, but I won't say any more out of respect for the Mr. Grove's passing.
So left-pad is too important to be removed but Kik isn't? What if the author had originally called left-pad Kik? Why is it ok for the Kik trademark holder to break thousands of builds but not the module author?
SandDance from MSR: Visually explore, understand, and present data
I feel like I'm missing something - why do you need it to run on battery if it's consistently monitoring a specific machine? Isn't their power pretty much anywhere you'd need something like this?
Some examples of how it works:

^1.2.3 := >=1.2.3 <2.0.0
^0.2.3 := >=0.2.3 <0.3.0
^0.0.3 := >=0.0.3 <0.0.4
Using other people's trademarks as keywords in Adwords bidding is not a trademark violation, it's standard practice. It's totally legit to use someone else's trademarks in advertising your product, as long as you are not claiming that you are selling under that trademark.

Just think about the classic soda taste test ads - "Coke tastes better than Pepsi".
10 Powerful Accounting Tools to Save You Time
If npm's lawyers were Apple lawyers, I think Apple stance on privacy might be different.
I think you hold off negative thoughts and make a list of what's good about the code first, and then write down your negative thoughts. The key question is, is there a good interface to it, if not, can one be built to wall around the bad code? Remember, often an overwhelming advantage in having bad code is, it's already written and it works.

See it as an opportunity, rather than a burden. Each line of existing code is a potential line of code you don't need to write, rather than a potential line of code you need to re-write.

On a broader scope, try to work to become an unnecessary employee in the company, rather than to become indispensable. The former attitude helps me try to see what's good about my colleagues because I'll need every strength the team has if I were to leave the company in good hands. I want the company's engineering team to stand on its own feet without my help so I can quit and feel good about the organisation I've contributed to.

On the other hand, being underpaid and wanting to become more indispensable so you get paid more will lead you to keep seeing your colleague's weaknesses.

(And the justification to be so "altruistic" and "loyal" is to have negotiated hard in the beginning in the first place so you're so well paid you want to do right by the company.)
So we need gpg signed packages :> And... all packages should be namespaced under the author who published them. And... I kind of want to say "once it's published, it's forever".
IANAL but looking at kiks trademark [1] I'm not so sure sadly.

>Computer software for use with mobile devices, namely, computers, personal digital assistants (PDAs) and mobile phones for downloading, displaying, transmitting, receiving, editing, extracting, encoding, decoding, playing, storing and organizing text, sound, images, audio files and video files

Organising text is what Kik (the project) does, so it would infringe the trademark?

1 - https://trademarks.justia.com/858/93/kik-85893307.html
The thing that has changed most for me was recently discovering formal specifications and learning to think about how to model systems first before trying to code them. Seeing how wrong people can write binary search was pretty astounding.

It took quite a lot of things to go right for me to finally try it out but I'm glad I took the plunge. Writing specifications in plain human language is a good start but formal methods have shown me how sloppy my thinking is. It forces you to be rigorous!

I've been having to "unlearn" quite a lot but it's starting to turn around and coming back to where I was is going to be amazing.

10 years ago I would have scoffed and said you didn't need math in order to be a good programmer. I couldn't have been more wrong. If I knew then what I do now!
Which is useful for binaries. Libraries, there tends to be a lot more aggregation. If this wasn't the case, you'd see libc spread over dozens and dozens of libraries like libmalloc librandom libstring libarithmetic libsocket libprocess libfilesystem libafilesystem (hey, async ops have a different api) libtime, etc.
SpaceX buying another $90M of Solar Bonds from Solarcity
NPM does not offer packages as commerce. The package removed was not used in commerce. The KIK trademark does not claim any functionality related to the removed module.

What legal basis is there that NPM packages are subject to trademark, or other law?

NPM takes its names from the package.json file. The law has no say over what one may put into their package.json file.
"There are no synonyms." [1]

Does "apple" in English truly equal "ringo" in Japanese? The context is similar, but the iconic implications and inferences are not an exact match. There is something uniquely American about "apple". Not "ringo", but "apple". Worth naming a company after even.

And that's just with a fruit. Can only imagine how asynonymous less concrete terms would be.

---

[1] Oddly, I hear this a lot recently. Quick search brings up Theodore Sturgeon who I wouldn't mind attributing this to at all.
Fair enough, I guess I was just thinking of the issue I'd run into with trying to actually install anything in the first place.

In the case of npm though, installation brings down a lot of files so it's not super efficient. I've installed 15 packages and have over 12,000 files (75MB) to show for it.
I can't agree. The author licensed the code under WTFPL, meaning he directly authorized anyone to do whatever with it in pretty much the most explicit and unambiguous terms possible.

Here's the WTFPL in it's entirety:

0. You just DO WHAT THE FUCK YOU WANT
If I call my module pizza, are they going to send me an email about naming it pizza? Let's think about that. If a company owns kik as a trademark, I'd offer some money to buy it off before trying to act like a tough guy. At least be soft first if your goal is get rid of kik module out there.
Handy, thanks for sharing
Bleh, involving brand names or trademarks or whatever on a library that doesn't even seem to be commercial is a pretty dick move to begin with.

And his protest is against npm, who allowed someone to appropriate his work. The users are collateral damage, but really, can you blame the guy? Given the circumstances, urging users to ditch npm isn't a bad idea.
Our legal system doesn't push "harm" per se, but rather harm caused unjustly[1]. E.g. it harms me a company raises the price of a product that happens to be in demand ("price gouging") but that company has every right to do so as it owns the product.

One way we can reconcile the utilitarian notion of harm, with the property rights/natural rights approach is through economic theory. The so called "welfare theorems" of economics state that when every person maximizes their own utility (under the assumptions of a perfect market), then the result is pareto optimal. From this it follows that in a society with redistribution of wealth, no person has a right to complain that another person has "harmed" them by way how they behaved in the free market.

Outside of the economic realm, the argument for natural rights is even stronger. How can you compare cheating, which is a consensual act, with robbery? At most cheating could be considered a violation of a contract, e.g. a prenuptial agreement.

By completely ignoring the role of natural rights and property rights in the law and in moral reasoning, you are engaging in sophistry.

[1] e.g. "[with developments such as the Model Penal Code] crime increasingly became conceptualized as the wrongful imposition of risk" (my emphasis) in "Making the Best of Felony Murder" http://www.bu.edu/law/journals-archive/bulr/documents/binder...
That's not how the dependencies in npm work, for most who explicitly replied on owner/project-name notation. Even worse, when unpublished, someone (i.e. malicious actor) could have registered a global name for this or one of many hundreds of packages he wrote, and inject malicious code in all projects from babel to react to my side projects. NPM really got caught with their pants down on this one, and veered into the wrong by opting to unbreak tens of thousands of packages vs. doing the right thing.
Indeed. I manage mail systems that serve thousands of users and can attest that there are a LOT of mail systems out there still dependent upon SSLv3, for example.
This reminds me of the "Da Vinci" virus form Hackers movie, which threatens to capsize an oil tanker fleet. Who would have thought that movie was so visionary!
An NPM package name is just what NPM scraped from a package.json file.
> We need an open source NPM alternative, yesterday.

NPM is open source.[1] You don't want an open source NPM, you want a distributed consensus NPM where nobody has absolute power to censor or destroy other peoples work.

It seems like a prime use case for a DHT, possibly with some blockchain functionality identifying ownership of namespaces that people can reserve, like namecoin.

[1]: https://github.com/npm/npm
The First Hyperloop Could Be Built in Europe
We have a common jovial saying in Europe, "Thank God only 4% of Americans have passports".

In all seriousness, we should actually be thankful that the vast majority of that 4% are genuinely awesome travelers, spending lots of money in our European economies. It is only a small minority, as with every nationality, that have a tendency to taint the barrel.
It has the advantages that come from following the UNIX style. To learn more, I recommend reading this short paper by Rob Pike and Brian Kernighan, published in 1984: http://harmful.cat-v.org/cat-v/unix_prog_design.pdf
No, I don't. I have a vague recollection that cygwin was a huge and confusing monolith, but I haven't looked at it in years. This new javascript thing sounded more straight-forward. It's not really objectively supported.

I don't even like javascript.
Why would this be a bad thing? I don't need a random number generator if I just want to allocate memory.
Palantir Contract with New York City for Palantir Investigative Platform
coherent and insightful analysis
Palantir and Credit Suisse join forces to target rogue traders
Open source community needs to aggregate a list of lawyers who will consult on these sorts of things (related to the community at large) pro-bono. This way all parties on the open source side can feel a little less pushed around and bullied and a little more protected.

The best part would be to learn that the claim was not valid in the first place. At the very least, having representation would provide for some wiggle room where you can have days if not weeks to resolve the issue, instead of feeling you have to take immediate action.
Ironically, this demonstrates the same realization that he had, that when you depend on someone's modules, it is their "private land" too, and when they want to do something rash, they can do it and you will suffer consequences, unexpected and possibly undeserved.

It's the same issue we all experience, trusting people and institutions and finding out that that sometimes that trust can be violated.
The Kobo line seem nicely hackable.

They have a horrible bit of forcing the user to connect an account online during first power-up. This can be avoided with a bit of SQL.
This site talks about "activating" without the desktop app (and other bits of tinkering):http://uscoffings.net/clc/tech/embedded/kobo-touch/

>Connect the Kobo via USB, and mount its onboard storage on your desktop machine.

> Ensure you have an SQLite3 database browser installed, or some way to execute SQL. For example, sudo apt-get install sqlitebrowser

> Open /mnt/onboard/.kobo/KoboReader.sqlite.

> Execute this SQL: insert into USER values("foo", "foo", "foo", "foo", "foo");

> Save, unmount, and disconnect.

Here's a bit about enabling Telnet (and cross compiling for Arm7): https://github.com/drj11/kobonotes

Here's someone who turned their Kobo into a GPS for their glider. http://hackaday.com/2014/05/28/e-reader-becomes-sailplane-an...
You're right, I added an edit to my comment.
Archaeologist finds piece of aircraft that could be MH370 debris (South Africa)
They shut them down because they were causing them to lose too much money.

Also this:
> When Fixed began faxing its submissions to SFMTA last year, the agency emailed the startup to stop using their fax machine. When Fixed pointed out that it was legal to do so, the agency simply shut off their fax.

http://techcrunch.com/2015/10/12/fixed-the-app-that-fixes-yo...
Because using theirs means not having to recompile numpy (for example) with each environment.

Why doesn't anaconda's env work for you?
Github has proper lawyers.
Regarding (b), did NPM itself have any legal liability? If not, they could simply say "your beef is with the author of the package, but we'll of course comply with a court order that requires us to transfer ownership".

(I suspect, though, that NPM might have some legal liability, and Kik [the company] could sue them regardless, which would suck for them.)
If there is a ping pong table, rubix cubes just start mysteriously spawning around the office.
The depth of misunderstanding of what justice is here is utterly staggering. Contract enforcement (or just enforcement) as a service maybe, but going after a company because you feel that they wronged you is as far from justice as revenge killing (to be fair the article does specifically mention violation of consumer protection laws here). The notion that anything other than a state (read: leviathan) can administer justice is a dangerously misleading notion since unless both parties agree to abide by the system then there is no consistent notion of justice (note that accepting your citizenship is tacit agreement).
How much maintenance is required at sea due to attempts at stretching out maintenance normally performed in dock?

If you can remove the crew cost, does that free up enough capital to perform regular maintenance of various elements to reduce failures at sea?

You are then left with losses due to structural damage at sea, which then disappears in the accounting books as self-insurable. If a ship takes a few extra days to get to destination because it was sailing around storms, there is no incremental cost beyond fuel (and if using wind/solar, the fuel cost disappears too).
> Just because they've trademarked "kik" doesn't give them complete control over all instances of that 3 letter string in the world.

Agreed - hence why I looked up the actual trademark in the first place. I wasn't expecting to find out they were in the software development business too.

> See the 8 factors of trademark infringement

I'm assuming these? (Google turned up 1 hit - which in turn was 404ed - for "8 factors of trademark infringement") http://www.bitlaw.com/trademark/infringe.html#factors

Keeping in mind IANAL:

1. The marks appear very similar, with the possible exception that kik the company appears to have no meaning behind "kik". Similar enough that I have to specify "kik the company."
2. Both appear to provide services aimed at developers.
3. The plaintiff's mark appears to be strong enough to fill the first page of Google, and for overprotective parents to overreact to.
4. I was momentarily confused which kik I was clicking through to at least once.

Am I misweighing or misinterpreting things to think that the first 3 points, at least, point towards infringement? Do you agree that these appear to be among the more important ones?

"The first five of these factors are examined in every trademark infringement action."
"Of these eight factors, the first two are arguable the most important."

> ... and trademark law in general

If you have any recommendations, feel free to share.
"I don't want to sound like a old grumpy man". Hmm you failed :). On a serious note you might have noticed that there are 2 major camps of node users those who came from web frontend devs & ones adapting node at large scale enterprises/projects
(paypal, walmart, netflix, joyent) so as you might guess there are solutions to address situations like this (e.g. run your own registry etc).
As another person from Big Ten territory, you might as well add University of Washington to that list. I often find interesting work (research, course assignments, etc.) from there, and it's typically ranked highly in CS, but it also seldom is remembered.
I was referring to NPM as in the npmjs.org project, with is a repository, user management platform, etc.
Very interesting suggestion in creating a blockchain NPM hosted alternative, with namespace ownerships.
Unless the function is inlined/the compiler can deduce that the variable is undef.

(Of course, you could define it to work, but I would suspect that would make this sort of value much less useful.)
Americans turn to Airbnb service to see “real” Cuba
But then wouldn't be a crime if you make a hint to FB to get leverage for more reward? Actually, before it turns into an authority call, FB would disqualify you right away.
https://github.com/scriby/asyncblock-generators

That's a control flow solution I wrote on top of generators to make it a little easier to manage parallel tasks, timeouts, error handling, and so on.

I originally made asyncblock, which was based on fibers a few years ago. This module uses the same underpinnings as asyncblock, just based in generators instead of fibers.
Wouldn't (shouldn't) npm block same named modules from being uploaded with a different username?

Proposal: go with a java based naming system: com.yc.mymodule.

All installations would require the user to use com.yc.* in package.json and all users would be required to register as a com.yc style organization name. Thus only one user can remove/add that exact module.
You can't retroactively change license. Sure, the author could push a new version with a new license, but the old versions would still be governed by the old license.
Le Tote (YC S13) Is Hiring a Senior PM with B2C Experience
You bake deprecation notices into npm, to be displayed during install. He has more than 3m installs a month, if he really wanted to, he could have easily display a giant "npm sucks" banner during every single install. Same message, but it wouldn't immediately hurt people who trusted his modules.
FYI, I've seen virtually zero latency running livereload experiments with the embedded browser in my Kindle, the basic 3rd-gen 2014 model.

My method was extremely rudimentary - inotify -> long-polling JS (being fed entire new file) -> innerHTML rewriting, with the Kindle connected over 802.11g - but hitting Save in my editor produced updates on the Kindle's display in around around 20-40ms.

I would put a moderate amount of money on the possibility that the latency is coming from the fact that the terminal app in the video is being run on a non-local server, and that keystrokes have to go up to the cloud-hosted app and then come back down to get onto the Kindle's display.

If the whole thing were local (with the terminal app hosted on target system, ideally) I expect updates could happen in <100ms.

Also, the CPU is a 1GHz i.MX6 (@ 996MHz), next to 400MHz LPDDR2 (@ 396MHz). It performs quite well in my experience; it's the OS that's terrible. :P

(The best OS I've yet seen was the one on my Ericsson MC218, which let me drag windows around the display faster than the LCD crystals could physically keep up. Solid windows, not outlines. On an ARM7TDMI running at 36MHz.)
> Can you suggest what that change might be related too? I, too, think it's less likely than one might think.

Aliasing rules[1]? Compilers apparently don't agree on that now, so even if it were to coalesce into the same undefined behavior, one would have to change.

> This discussion seems to miss a couple things. SQLite is embedded quite often, by programs written in C; would embedding a rust library and possibly runtime fix things?

I'm not advocating for Rust as much as I'm advocating against C, or at least against C as it currently exists and is implemented with so much undefined behavior. I've argued elsewhere in this discussion that a special subset of C with as much undefined behavior as possible specifically defined, which could be enabled through a flag, would do wonders (even if at the expense of some portability).

> Take OpenSSL as an example, they are t tossing it, they are fixing it, it's a much more shallow lift to fix it.

It's much more shallow to review and patch it. Let's not kid ourselves that it will be fixed when they are done with it. There will likely be bugs regardless of the language used to implement a crypto library. Does that mean we should ignore when one language allows an entire class of bugs that another does not, especially when it's for a Crypto library?

Let me make my case another way. What if C nevercaught on as the dominant language, or C was defined originally in a more strict manner, and most the utilities and tools we take for granted were instead implemented in a language that had less undefined portions, allowed less undefined behavior, and thus had less bugs and security problems? Would the resultant small performance hit (due to being unable to optimize around the undefined behavior) outweigh the added stability and security, or would we have been better off? I think we would have been better off, and I think since C's still widely in use, it's not too late to make that case.

1: https://news.ycombinator.com/item?id=11288665