skysight-inc/HackerNews huggingface dataset:
I cannot find the source code of DSM. Are you sure it is Open Source?

If it isn't Open Source this is off-topic since there is a large number of other commercial NAS OS e.g. Thecus, SoftNAS, QNAP, Napp-It... Most of them tend to have an "app store" and some people building more or less working apps out of Open Source and free projects.
The author of Signal (Moxie Marlinspike) seems actively hostile to not only federation efforts but also compatibility with other clients, even one that only removed the dependency of Signal on Google Play Services: http://news.dieweltistgarnichtso.net/posts/signal-lock-in.ht...
Note: I stuck it under BSD license.
> I grew up with a machine which booted into a BASIC interpreter

ZX Spectrum by any chance?
Those 3TB Seagate drives are literally the worst in the business. The 2TB and 4TB are pretty good (roughly on par or better than competitors according to the backblaze reports) but those 3TB drives were utter shit for some reason, ~20% year over year failure rates.

Some retailers have even started to sell the 3TB Seagate drives at almost the same price as the 2TB ones. Probably the only way to get rid of them.
> If the programmer has enough time to refactor the code, he or she should probably factor out the common parts, and then use proper (subtyping) inheritance.

I do see the attraction of the idea that all implementation sharing ultimately reflects something that can be expressed through a subtyping hierarchy adhering to the LSP, but I'm not 100% convinced that it is the case. Absent certainty on that point, I'd like to have a model of similarity that is workable when viewed as an ultimate, rather than interim, model.

Also, I think that this kind of explicitness (with similar syntax) is desirable for subtyping inheritance in languages that support multiple inheritance, so it keeps similarity in line with inheritance, with the distinction only in the relationship being expressed (so, while it may make similarity more complex, it keeps the whole language more simple but explicit.)

> It's precisely the lack of such verification that destroys the guarantees you can extract from Liskov's substitution principle.

I agree that static verification of sanity in subtyping inheritance reduces the problem of LSP violations (as, frankly, does non-static verification, such as testing frameworks using subtype relationships to automatically apply tests for supertypes to subtypes.)

The degree and type of verification (as well as other details like cherrypicking and support for multiple similarity) that is appropriate for these type of things really depends on the language. Extending Perl or Python (dynamic languages with multiple inheritance) to support similarity alongside inheritance is probably going to favor different tradeoffs than extending Java (static with single inheritance) to support similarity.
Lessons from Joergen Geerds, CEO and Creative Director of Koncept VR
> assigned to lvalues, which are locations.

lvalues aren't values.
This is off-topic but at first I thought I was on a Spotify blog page. Lookout has very similar branding.
> WhatsApp know it and Facebook know it.

The NSA knows it too
Taxis once provided a good service. Just 20 years ago, you needed a specialist to take you to random places in a new city.

Then a little thing called the "GPS" was invented. Uber takes advantage of the GPS and anybody can now plot a course to anywhere without specialist knowledge of a city.

The strange thing is, people seem to have forgotten what life was like before GPS.
Amazing work by Lookout and Citizen Lab.

Until this point I was not aware that Lookout provided any value-add for mobile devices. I was under the impression it was the McAfee of mobile.

It sounds mean but this is the first reference to actual vulnerability discovery done by themselves on their blog, which usually reports on security updates that Google's Android security team discovered. Previous entries include such gems as "Now available: The Practical Guide to Enterprise Mobile Security" and "Insights from Gartner: When and How to Go Beyond EMM to Ensure Secure Enterprise Mobility."

I can't wait to see more great work. Lookout is now on my radar.
Before. Always before. It really should not matter to you if it's a "bad deal for startups," as you're not a startup, you're a person with a family to house and feed.
Ridiculous! I pay a $1 "safe rides" fee every time I ride. Uber wouldn't lie to me about its purpose!
I get unlimited LTE when I'm in Japan:

http://www.bmobile.ne.jp/english/
While thanking isn't the most appreciated response to comments on HN-- I can't thank you enough for taking the time out for such an elaborate and detailed reply.
I dunno. To someone like me who is all up into Bitcoin but not too serious about it, it sounds okay. Faddish, but okay.

I think the crucial distinction is whether you're pointing at an approach versus some specific implementation. 'Blockchain', as I understand it, is a particular approach that isn't linked to some particular instance.

"Your company on website" doesn't work because there's really only one 'web'. "Your company on Facebook" does work, as does "Your company on SCRUM/NoSQL/AOL/Mobile/etc."

I'd prefer "on a blockchain", personally, but "on blockchain" doesn't strike me as too egregious.
But only if they are fully occupied > 90% of all time (which is IMHO not really feasible).
FTA: It appears that the company that provided the spyware and the zero-day exploits to the hackers targeting Mansoor is a little-known Israeli surveillance vendor called NSO, which Lookout’s vice president of research Mike Murray labeled as “basically a cyber arms dealer.”

Phineas Fisher, we need you now.
You do not need an account at conversations.im – the app works without it.
Kinda don't get why DigitalOcean "forked" rather than solving the long-term retention problem by working with upstream, especially given the number of comments which state "Development in this area should be done in Prometheus first then merged into Vulcan".

Feels like another "We want our shed to be blue".
A Storm Is Coming – August 24th, 2016 – ABN Apocalyptic Weather
I say this solution is better - "changing the focus from just switching to the next new platform that promises [security/privacy] as a short term thing until someone offers them enough money".

Anything else (removing profits from equation) will be fighting against human nature to enrich oneself.
That's what I was trying to say in another comment, but I don't grammar very well :-/.
I honestly don't know. I should call out that my number of 1k is probably wrong. I wouldn't be surprised if it is too high. Though, it will probably depend a lot on caching.

Basically, it is a hard thing where being wrong flat out doesn't matter the vast majority of the time.

I think education does folks a disservice by asking "what is the fastest" or "which one should you choose" in many scenarios. Instead, we want people to be able to reason about all of the choices more holistically, which is not an easy task.
...And that should have taught you something: it should have taught you that the language you're using isn't being readily understood, and that you need to either explain it, or change it.
> Signal doesn't even have a desktop client for any OS!

[1] https://whispersystems.org/blog/signal-desktop/
> ... but that didn't stop rewriting the compiler in Go or implementing SSA. Go's compile times are still much slower than they were.

I think the trade offs in those cases were pretty clear. The switch from c to go was made so that compiler development would be easier, and indeed you could well argue that it was a big enabler in work like reducing GC pause times. Similarly, one of the big reasons for switching to the SSA back end was to enable improved optimisations down the line. I think the results of this work are fairly clear already: in 1.7 binaries are generally smaller than 1.6, sometimes by as much as 20-30%.

I think the trade-offs for generics are less clear. Compile times may increase, they'd add complexity to any implementation and, perhaps most importantly, they'd add significant complexity to the language. On the other hand, they make certain classes of problem substantially easier and significantly simplify some APIs.
Nope, I've had the unpleasant experience of a full pool a few times, they'll fill the back seat if they can.
Does anyone know if the iOS 10 developer beta 7 (public beta 6) got this patch, or are we vulnerable?
A few city pairs on the northeast corridor are marginally more time-efficient by train, especially with the (more expensive) Acela. The train is maybe 1-2 hours faster between Boston and NYC or Boston and DC.

(And that corridor is pretty miserable to drive for the most part.)

But that's about it in the US [for non-commuter rail].
We detached this subthread from https://news.ycombinator.com/item?id=12358793 and marked it off-topic. Not that there's anything wrong with fun grammatical digressions, but they tend to get too much weight as subthreads.
Obligatory post complaining about the weird janky scrolling...
Composition is King
> I probably spend at LEAST 75% of my smartphone time in the reddit client.

The pitfalls for asking HN users. =) On a more serious note, could you elaborate on the LINE users around you- specifically in terms of what they use it for?
First of all, there's nothing "chat" about DOS. If that was a chatbot you could call every existing digital device a "chatbot".

Second, ask yourself honestly, how is your site even remotely related to "chatbots are the future of computing". I almost flagged the post but didn't, maybe your project is something really cool. Please do justice to your own project and describe it correctly instead of blend into the latest meaningless buzzword of today.
Even before C# 6.0, you could simplify it this way:

public class Complex {
public double I { get; private set; }
public double J { get; private set; }
public Complex(double i, double j) {
I = i;
J = j;
}
}
Is describing someone as sociopathic really any different than saying that they have indications of sociopathic tendencies, though? If I describe someone as crepuscular based on when I see them active, it doesn't make them a short-eared owl.
It's probably fashion much of the time. Two friends of mine who work for big conslutancies already asked me what this 'blockchain' thing is because they heard some internal system is going to be using it. I both cases I couldn't really figure out why they'd not do as you suggest.
I often see complaints along these lines - and of course, there are scofflaw cyclists, undeniably. But how many motorists do you see in a day do something illegal? 1? 10? 50? I suspect the percentages of cyclists doing illegal things are similar to those of motorists, but there are (depending on your location) 10X to 100X as many motorists. And physics is on their side - motorists are far more dangerous to themselves, and everyone else, than cyclists are.
I can 'disappear' annoying people and relatives? sign me up
I will for sure check it out but I have found the opposite to be true (well not the opposite but a different problem). With pull I loose invaluable data because either the pulling system is down or it just doesn't know about all the nodes. Of course the converse could be said... what happens if nodes just choose not to push. Consequently I made the nodes smarter. IF they can't push they crash.

I guess it is architecture choice but honestly if our nodes can't push to the bus (because this bus is more than just metrics that can be dropped it is critical biz shit) it is a fatal state for us.

I think if you have a good enough bus like Kafka or RabbitMQ you can create a big enough buffer to prevent absolute chaos of overload (and now you just monitor queue size). If you see overload happening (ie massive queue) you can selectively drop messages (particularly with RabbitMQ as it has routing). But you are absolutely right that bad stuff can happen.
The article mentions how this may have been use all the way back in iOS 7 which is crazy.

If you are being targeted for surveillance smartphones are a very bad idea depending on your adversary. A cheap phone that is refreshed regularly will probably be your best bet.
Ask HN: How you decided which text editor to use and sink time into?
First let me say, DO NOT START FLAME WAR! That is not why I am here, asking for your help.
If you want to read more in-depth about my dilemma see my medium post:

https://medium.com/@PhilippMiletic/editor-s-c3ba97f31ca1

So what is really driving me crazy is that I am stuck between emacs and vim. I have both of them installed and whenever I stick with one for a week, I feel like I miss the other one. For Example I use emacs for a week, great, enjoy using it, but I kinda miss vim. So eight day I open Vim and feel like wow, I see all the things I like it, and try, stick with it for a week and thing repeats it self, and after few days I swing back to emacs. And it is irritating because I cannot learn both things at the same time.

I was using vim for 3 years, liked it (except viml and configuring) a lot, and I like to throw myself out of the comfort zone so I tried Emacs because I read a lot about it. And I used it for 4 months, and now I switch between these two every one in a while. Long term Emacs seem like much better investment, it is amazing platform actually, where plugins feel like whole environments, while Vim is so much better for editing text and my flow was pretty good with iTerm2+zsh+neovim, but plugins are just like that plugins, nothing special about them (where in Emacs land you have magit, ENSIME, CIDER, CEDET). And I dipped my toes into Lisp, so Emacs is built for that. But when I want to go write some C, and get things done I go back to neovim and do it. So I am aware of good and bad sides of both editors, neither is better, philosophies behind them are different.

What are the things that made you decide and pull the trigger of one of those?

I am really picky about my tools, and people say I am config freak, but I just like to tweak things. I enjoy spending my free time by tweaking things that make no to little difference when you look at them by themselves, but after I look at bigger picture I can see I am learning and having fun.
If traffic lights stopped bicyclists, I wouldn't think they are such a nuisance.

Transportation in Manhattan used to be a solved problem with walking + subways. I applaud someone getting exercise, but I wish that during their recreation they wouldn't plow into pedestrians who actually need to get somewhere.

</rant>
Lessons learnt from a VR app for treadmill
> Is there any way for those of us with average intelligence to contribute to tools like this?

The people doing this aren't magical geniuses; they've just put the time and work into the subject and have been able to get themselves into a position they can do this all day surrounded by others they can collaborate with.

As with most human endeavors, the trick is to just get started, and not get frustrated and give up when it turns out you don't know anything at first. Some people don't mind starting with a ton of abstract learning about the subject, others prefer trying to accomplish specific tasks, learning the theory along the way.

For your specific question, as with all software, there's likely a lot to be done that has little to do with the main task of the tool and is just the everyday tasks of ease of use, interoperation with other tools, testing, etc. If on the other hand you want to get into the scary world of AI, like many others I'd recommend the Coursera machine learning course as a great place to start[1]

[1] https://www.coursera.org/learn/machine-learning
According to the internet, NYC-Montreal by car is 595 km
Paris-Marseille, in france, by car is 774.92km

Paris-Marseille in train is 3h17. The trains are comfortable, you arrive in the middle of the city and you don't have to park.

Conclusion: get yourself a better train network.

Edit: Just saw you took paris-frankfurt as an example, which seems to be a particularly poorly optimized route. :/
Search is a Jack of all trades
Article mentions that there are indications this was in the wild as far back as iOS 7, suggesting this isn't directly linked to that Zerodium bounty.
I do love FreeNAS, at home and at the office too (for development purposes - I'd trust it for production but with our client base it's better to be more "corporate").

It has a good cross section of features from 'home' to 'pro', AFP/NFS/CIFS/iSCSI, directory integration, plugins (more aimed at home, with things like news downloaders, BT clients).
To me set implies the mathematical definition of a Set, not just a lists that prevents duplicates. As such it should be optimized for the various set operations: union, intersect, compliment, sym_difference, isdisjoined, issubset.

for just avoiding non-duplicates a list and a bloom filter is probably a faster data structure than a set.
Kinda. Paul Khuong goes into depth here. https://www.pvk.ca/Blog/2012/07/03/binary-search-star-elimin...
Good point kaz. I meant that the notation signifies a specific set of general data structures, unlike XML, which doesn't specify the data-structure used in memory afaik, only the actual tree structure of the data itself.
Also: http://www.voiceofsandiego.org/topics/commentary/what-i-lear...
I'm a big fan of jabber.at; it should support most modern XMPP features. Dukgo is notorious for not supporting new features and having large ammounts of downtime, I would not recommend it.
Apple made its bug bounty program public a few weeks ago and the past few iOS updates have all been patching security vulns. It could be a coincidence, but from an outsider's point of view, it looks like the program is working.
> lvalues aren't values.

lvalues are values in the same way that object references (not objects themselves) are values; perhaps more precisely, lvalues are values the same way that pointer values are values.
That's why you stick the SIM card in your other phone, a 3G dongle or Mifi device.

Wifi in Germany is a bad example because not only is there less demand for wifi due to ubiquitous 3G/4G coverage at reasonable rates but wifi hotspot operators also face liability for the traffic they carry.

In Europe there isn't an expectation of free public wifi as everybody has a smart phone with 4G.
One question this left me: are we leaving performance off the table by using compilers that are only using a "standard" subset of the possible instructions out there?
https://citizenlab.org/2016/08/million-dollar-dissident-ipho...

> Alarmingly, some of the names suggested a willingness on
> the part of the operators to impersonate governments and
> international organizations. For example, we found two
> domain names that appear intended to masquerade as an
> official site of the International Committee of the Red
> Cross (ICRC): icrcworld.com and redcrossworld.com.
Try to convince them anyways. Once they get past the grumbling of installing a new app and the entirely hypothetical inconvenience of having multiple chat apps, they'll realize that in practice it isn't really much cause for inconvenience.
Couple key points: This project[0] is going to keep developing. It has Deep Q Learning now, A3C[1] is working and more features are being added.

Just as important: RL4J and DL4J run on a scientific computing framework called ND4J[2] that integrates with Spark and trains on multiple GPUs.[3][4]

It's basically porting RL to the production stack of large organizations that work with the JVM and need to scale.

The key thing to remember is that RL combines with other algorithms, like deep convolutional nets or Monte Carlo Search Trees. DL4J has the ConvNets already.[5]

[0] https://github.com/deeplearning4j/rl4j

[1] https://arxiv.org/abs/1602.01783

[2] http://nd4j.org/

[3] http://deeplearning4j.org/spark

[4] http://deeplearning4j.org/gpu

[5] http://deeplearning4j.org/convolutionalnets.html
The “Educational Beatdown”
Effective cause marketing
How is it for gaming? I'd imagine it's using a VM solution (Xen HVM or KVM so it can do IOMMU?). I've been avoiding it because I figure that VM solution would get detected by anti-cheat in many games (particularly the nasty kernel level ones like EasyAntiCheat, GameGuard, etc).
I was at a company that had an IPO, it did poorly and it was then that I learned about a Full Ratchet. Those are terms in fine print that employees are never told. Ugh...
Probably not, but the hilarious thing is that a year or so after attacking Telegram for that, the developers of Signal took a substantial chunk of cash from Google to promote Allo as using Signal Protocol and end to end encryption, even though it's disabled by default so Google can mine your chat history for ad targeting (and enabling it has the inconvenient side effect of disabling your own local chat history).

Basically, it's about the cash. Signal's business model is to convince everyone that their protocol is the only secure one and charge everyone to licence it. If that means promoting non-E2E services that store and mine chat history, that's fine so long as they pay up.
So we have cyber arms dealers now. I continue to be amazed at the prophecies of William Gibson. Makes me wonder if there's anything to "remote viewing." Did he just look forward into the 21st century and write down what he saw? :)

BRB, gonna go slot me an icebreaker...
This is cool and I like it :)
> If classes are types, subsclasses should be subtypes

Disagree. C++ added private inheritance for a good reason. There are scenarios when you want to inherit part of an implementation, but override some of the behaviour for code reuse without inheriting any kind of subtyping relationship.

There are also scenarios where you want to declare a subtype without inheriting any parent behaviour.

So ultimately subtyping is distinct from subclassing.
You're right, missed that. Still possible the Zerodium exploit uses the same vulnerabilities.
> I'm not sure about this, I believe it's a solved problem.

No doubt it's possible, the question is can you do it without adding lots of language complexity and corner cases?
If you are a sysadmin (which you clearly are not), there isn't much of a choice—vi is available on every server you will ever log in to, even in single user mode and even on embedded devices, whereas emacs generally is not.

For developers, the decision is more preference-based than spurred by necessity.
In that s-expressions are a notation for computation, they can be executed by an interpreter. This is what we refer to as execution. Even assembly is like this, there's no other reasonable way for it to work right now.

This feels like you're hairsplitting to no obvious benefit other than increasing confusion. I could as easily say "mathematical notation isn't math it's just text, you can't evaluate '1 + 2' without a human being because otherwise those are just marks on the page otherwise." This is true(ish) (with the correct escaping), but it's difficult for me to see how it's relevant to the discussion? We could imagine the situation where I've created the Texpr, which has slightly different notation but the same properties. I don't know that we would necessarily classify it differently or treat it differently.

This leads to the alternate conclusion that maybe the s-expression is the underlying set of objects in the interpreter/compiler. (S-expressions are a special type of linked list, in that case). This rings true(er) to me, because of the way that we talk about s-expression manipulation in lisps. We most certainly are not using string operations to generate them. In which case the thing with the many parenthesis is merely standard lisp syntax, not s-expressions. This is further justified by the existence of different syntax in Dylan or Clojure, and availability of reader macro manipulation as its own entity.

Tldr; it most certainly is not text! Nor can it be executed.
Black mirror?