skysight-inc/HackerNews huggingface dataset:
Well, what an enormous surprise this is.

GCHQ, who have been implicated in mass surveillance for many years, and who were showed by Snowden's releases to be doing lots of snooping and sniffing around indiscriminately and who haven't come under any criticism whatsoever from the UK government in light of these releass, have made a compromised encryption product that allows them to carry on doing what they do.

I'm absolutely floored by this.
PDF of metadata definitions: https://www.ag.gov.au/NationalSecurity/DataRetention/Documen...
>Moxie Marlinspike apparently doesn't like the idea of independent builds of TextSecure and RedPhone so much, that he started with legal threats

Hmmm...
Streak is hiring for Sales – tons of inbound leads
I didn't knew this one, it's awesome, but it's with 4 instead of 3 :)
Couple of really nice things about F#:

- It's multi-paradigm. If you just gotta have classes? Go make some. But if you want to learn and take your game to the next level, you'll soon ditch a lot of them. F# means you can move from OO to (mostly) pure FP without having to change languages or stacks.

- You can plug in stuff made in all the other .NET languages. There's a ton of stuff out there that you can just pick up and use.

I like F# because the more I use it, the better I get. I know I don't want classes, for loops, mutable state, and the rest -- but sometimes I just can't see how to get around them. So I throw them in there, get the code to work. Then I go back and figure out where I went wrong. Those "going back" moments are like miniature programming lessons tailored just for the things I don't understand well. Very cool.
Maintained List of Chatbot Links
Sure, Windows was never the pinnacle of good, consistent design, but it was still a lot better than Windows 10 is. The last time I was this frustrated with a Windows version was Windows Me.
NO it is not. Curryhoward is absolutely right: The reason behind this decision was to keep a consistent API when smartcrop might get broken into multiple calls to avoid blocking the mainloop for too long.

With that said, this should have been documented more clearly.
We use Scrapy for a few projects and it is really really good. They have a commercial-side to them, which is fine, but for anyone doing crawling/scraping I'd strongly recommend it. Good article also
People expected the same for Nokia.
Show HN: Instantly create GitHub pages URL for your Resume
It is very important to distinguish between fructose and glucose sugars. Fructose is actually much more poisonous then glucose is. It seems metabolized mostly like alcohol.
Now, with the high fructose corn syrup everywhere, makes the situation not better.

https://www.youtube.com/watch?v=dBnniua6-oM

EDIT:
fructose is not so problematic if it's still embedded in fibers like in fruit. Bacteria then eat most of it, before it is absorbed.
Yes, I can also see that happening in many other companies. I think that this urge on putting something new out quickly (Innovation?), regardless of being stable or not, is what they think they can win market with. And sure they can.
Hiring Baremetrics – A Talk with Founder Josh Pigford
You've already got the randomly selected sample, it's linked to in the original article. The figure was 60%. You've got the article explaining why there's a discrepancy between the number of public leavers and the numbers in the study. This isn't some matter of moral equivalence or even intellectual debate, no matter how much you would like it to be.

But I can see we're unlikely to make much progress on this front.
> The whole point of Core is that MS have rewritten .Net and ASP to learn the lessons of more modern languages. ASP.NET 4.6 is standing on 19 years of cruft which is why it has so many weird and complicated parts.

MS hasn't rewritten .NET, most code is simply ported from .NET full. ASP.NET has been rewritten, but only a part of it (the rest is simply not implemented (yet)). '19' years of cruft? .NET 1.0 was released in 2002, not sure where your 19 years come from. Besides, it's better to use a framework that actually works and does whatever you throw at it, than some hip new thing that can only do a few tricks today and perhaps learns a few more tomorrow. You know, clients and all, they want to use the stuff you write and not have to stare at things that break down / crash.
Yes, probably until one of them invents strong AI.
I've noticed the phrase is used quite a lot here in the Netherlands, which isn't even on that list.

I don't recall hearing it much in Singapore when I lived there, despite that it's at the top of the list.
Hah, I'm from Europe and I've been using it for some time. Like other commenters, I thought it's a (somewhat slang) thing in English language.
Difference between a shell, a terminal, and a console
Ruby's "exit" doesn't have to be as magicky owing to how simply typing "exit" in Ruby is a valid way to call a function with no arguments. The problem, if you can even call it that, is that Python doesn't have the separation between functions/methods on the one hand and procs on the other.

That is a critical difference that needs to be kept in mind.

Edit: grammar fixes. I didn't reread by comment before posting. :-/
> I suppose Linux is more open, but there is still the very noticeable centralisation of app-store-like repositories, the discouragement of installing software via other means, and the bureaucratic process of getting software into those repositories.

Not quite. What is recommended against, if at all, is installing directly from source. You're encouraged to build packages instead and use those. (And mainstream distributions have wrappers that let you build packages from arbitrary sources, if the developer doesn't provide packages for your distribution.)

It's like recommending Windows users to use .msi packages over copying files directly to %PROGRAMFILES%, which isn't the worst advice.
Installing a Virtual Hadoop Cluster with Vagrant and Cloudera Manager
Factorization of logical dependencies (normalization) is a generic form of object modeling.

Logical regression over function yields combinators. (like how one derives Y from factorial)

Thinking in terms of properties instead of memory, unless you reach interface only OOP you don't do it (OOP in the Java/UML sense gives you rope to bike shed to no end, effectful constructors, is it composition, aggregation ... a never ending well)

The notion of eta conversion, that I see as a generalized form of 'unnecessary wrapping' (if true then true else false and such) that is clean and well expressed in FP and full of bolts in Java (anonymous classes are too verbose, .Net had delegates for this I believe but it's named as yet another kind instead of an equivalence).

Linked to reliance on temporaries instead of combinators

a = f ..
b = g a
c = k c
return c

instead of simply

(k . g . f) a (or a |> g |> ... for reading order )

ps: I encourage people to read books like Programming in Haskell from Graham Hutton (this book deals with average problems, not too sophisticated alienating ideas) to get a feel on how so many things can be re-expressed as composition.
That's probably the issue.

Under the EU Consumer Protection Act, which I believe is what you are referring to, it is the responsibility of the retailer to deal with faulty products, and not the manufacturer.

In this case MS is the manufacturer and not the retailer so they are not obliged to help you.

I suggest you take the product back to the retailer, as they are responsible for any claims under the consumer protection laws.
Bloody oath
> Or if you want to avoid memory issues for sure, you can send each item to Scala app as it gets collected.

I've done something similar, you can just add a Pipeline (Pipeline Task? not sure of the right terminology) which posts off the data somewhere else. You can also then store the full item logs in S3 so you can go back occasionally and check nothing has been missed. Works an absolute treat.
Having attended a course on XAML, and done a few small home projects using XAML, I can see how it can make sense if you use it intensively, but if you use it occasionally, it is an absolute nightmare, a bit like regex. Making things hard to learn is not a good design principle.
Same, it's really nicely put together, lots of sensible defaults and it's easy to add your own bit of awkward logic when necessary.
really simple automation I use: https://github.com/martingallagher/gawp
Your Start-Up Is Dying
The warranty lasts for two years. The six month time period refers to something else:

> Within six months from receipt of the goods, you just need to show the trader that they are faulty or not as advertised. But, after six months in most EU countries you also need to prove yourself that the defect already existed on receipt of the goods, for example, by showing that the defect is due to the poor quality of materials used.

I have successfully used the EU consumer protection laws to have Apple replace a faulty battery on a laptop that was around 20 months old.
Uber hails victory after Transport for London drops restrictions
The "Bench rename to Bank" back-and-forth renamings look pretty interesting.
This is a little worrying; after much research I'm starting a new project for a startup using the meteor stack.
If you had to cut the list, they'd clearly be first to go, but I still think they have a lock on a lot of people's attention that I don't see loosening any time soon.
OK. If the 2nd proposition holds, why do you think the agreement in the 1st proposition is correct? If they do think they are not qualified to decide as a group, why do they think they are qualified to correctly select the leader?

But that aside, as I already explained, this is pretty easy to do with voting. All that's needed is that everybody (including the leader) voices their opinion. The people who feel that they are not qualified to make the decision can just vote for what the leader would vote for.

Maybe what you mean is that there is a person A who thinks that person B should get no vote, because they are not qualified enough (or perhaps that some other person C should get more votes, it's a similar deal). But this is already reflected in the "objective" probability of B making the correct decision. So either A's opinion agrees with the probability (through his own probability to make good judgement), in which case it doesn't matter. Or, it disagrees with the probability, and then following A's opinion can only make the result worse.
Never even realised this was an Australian thing. I kind of assumed it was a universal English thing, with the more Australian variant being "no wuckas".
Or e.g. installing the deb of Dropbox on Ubuntu.
Isn't your ageing mother allowed on HN?
While you're mentioning Skype, fun fact: since Windows 8 (or 8.1, not sure), there's absolutely no freaking way to sign into Skype with a local account. Like, at all. You just can't use it what so ever unless you log in with your Windows account.

EDIT: about this:

> The feeling is I don't really have control over the OS anymore, so I think it's time to move on soon to alternatives.

I had the same feeling since Windows 8, then I moved to Linux-based distributions. Never regretted it. I still have to deal with Windows when someone at work screws something up with their computer, but that's about it.
The big mistake was trying to provide anything beyond Minimongo on the client side. People are very picky about what front-end frameworks they use on the front end, and typically people who have strong opinions about that are less opinionated about what they use on the back end. I'm firmly in that camp, for instance. I've been a huge fan of Firebase for a while because it frees me from the tedium of having to create another REST application just to talk to a database. If Meteor had, from the beginning, focused on simply being a kick-ass open-source alternative to Firebase they would be killing it right now.

It was a monumental task to try to create something that would please both front-end and back-end web engineers. Another issue with Meteor is that it was envisioned, not extracted. [1] From Rail's creator, DHH: "First, Rails is not my job. I don't want it to be my job. The best frameworks are in my opinion extracted, not envisioned. And the best way to extract is first to actually do."

Meteor was the goal, not an actual, real-world application. Often when this is the case the software ends up solving a bunch of problems that seem logical to solve, but in practice are not actually practical (another framework like this that comes to mind is the notorious famo.us project). Compare this to Rails and React which were forged in the crucible of real, day-to-day development and problem solving.

[1] - http://david.heinemeierhansson.com/posts/6-why-theres-no-rai...
I agree. This is why some pages are omitting social shares.
And my understanding is amp does not work with Javacrip. That's a problem.
Why does this sound like google+ all over again?
> In some cases, the right person can be the difference between a failed and successful product.

In ALL cases the difference is whether the company is made of the right people or not. Usually at senior levels.
Mihai absolutely revolutionised his field (lower bounds for data structures). Science lost a great mind with his death. But his friends lost more. The article is more about Mihai - the person, for those who want to find out who he really was.

http://mipmemorial.blogspot.ro/p/cheers-to-mihai.html
While this is cool, the blog and the repo don't really say what this library doesn't do: create good crops of arbitrary images.
Then your contract is with the retailer and it's their problem. (They will try to fob you off, but it's their problem.)
OOP is a tool, like FP. Sometimes it make sense, sometimes it doesn't. In my opinion, a good language should allow to do both. Encapsulation and polymorphism are obviously the most important things in OOP. I think what made some projects hard to maintain is the over reliance on inheritance. If Java had something like mixins or traits , developers would rely less on inheritance to achieve polymorphism. I wish Go had true traits for instance ( struct embedding are not traits ) , it would have made the language close to perfect.
Tesla sues German auto parts maker over ‘falcon wing’ Model X doors
Why worry? Does it solve your problem today? Don't fall into the same trap that so many people fall into who worry far too much about how popular the tools they use today will be 3 years from now. Focus on what makes you productive now. Your startup has a far greater chance of failing than Meteor.
How do bank payments actually work?
Yup, It is a way to add more 'perceived value' than there actually is. Lowering the investment required for creating something that _seems_ worthy enough for people to buy it.

From a customer perpective, it looks like an evil spiral more and more companies tend to fall into.

Edit: wording
Isn't a risk of encouraging 'pre slowdown' that you might spread the slowdown to conjoining travel axes via lessened throughput per time clogging up intersections or other interface points?

Speaking only as an amateur of traffic manager type games, I see the problem as correctly identifying the repercussions of localised disturbances and I feel that each actor preemptively trying to attenuate jams would merely distribute the throughput problem to the adjoining network. Though the jams themselves might be resorbed, doesn't it stand to reason that (assuming the problem does distribute/diffuse itself) a localised jam may be better than a systemic slowdown? (eg, effect on emergency services, trade...)
The tool does nothing more in that sense than SSH itself. If you have an unprotected key it doesn't matter if you use it with just core SSH tools, your own scripts to restart things upon connection difficulty, or tools like AutoSSH.

Sometimes unprotected keys are unavoidable for automated admin functions - in this case you have to be careful what access is granted to logins via those keys, and be extra careful to secure the keys themselves including (if you don't generally) having a revocation procedure in place (even if that is as simple as a list of locations the key is accepted to you can remove it from them all) so you can easily deal with one being compromised.
Just wait for the Americans to start saying "no wuckas", and see how long it takes them to work out how it came about.

(don't post spoilers, Australians!)
> Except few big companies that needs to maintain legacy apps, nobody really cares about VB any more, specially in some brand new dev stack like asp.net core. Waste of time and resources IMHO. I was a VB dev, and it really made sense 20y ago. Now, I haven't heard somebody is using VB (excluding some bank maybe - but they're mostly stuck in .net 2 or 3).

Nope. Not even close. My startup is based on Visual Basic .NET and the .NET Framework 4.0 with ASP.NET and ADO.NET, and IIS. My startup has all new code -- I wrote it all. Currently the code has 18,000 programming language statements in 80,000 lines of typing -- right, lots of comments.

No, my startup is not a bank. Instead, my work is for a new Web site where the crucial, core secret sauce is from some original work I did in applied math with some advanced prerequisites in pure/applied math.

I really like VB .NET, a lot. I've used a lot of programming languages, and VB .NET is my favorite, by a nice margin. Microsoft did well.

C#? No thanks. It borrows some of the syntax from C, and it was designed to be sparse, for the old 8 KB main memory DEC PDP-8, with a deliberately idiosyncratic syntax that is tricky, difficult to read, write, or understand and error prone. It's just too darned sparse.

AFAIK, VB .NET and C# are really essentially the same except just for syntactic sugar. IIRC there is a translator from one of these two to the other. Maybe there are some differences, but they have to be for tricky things I likely don't need and don't want to use. So, since VB .NET is much easier to read, write, teach, learn, debug and is less error prone, it's VB .NET instead of C# for my startup.

If Microsoft drops, VB .NET, I will scream bloody murder.

For functional programming, no thanks. I explained my programming style in

https://news.ycombinator.com/item?id=10937342

Really, I have no interest in more revolutions in programming style. Instead, I want good tools, and IMHO VB .NET is the best there is. Then I want just to use the good tools.

For a tool better than VB .NET, that would be a long shot for a long time.

Microsoft: For VB .NET, the .NET Framework, etc. don't mess them up, grow them no more than slowly, keep strict upward compatibility -- don't force me to rewrite or even retest my existing production code.

If some users like C# or F#, fine with me -- I won't be using either of them, or A#, B, C, C#, D, D#, ... or G# either except on my piano.
Author here. Hopefully part 2 will answer your worries a little bit. In the meantime, check out Mantra [1] and the Meteor Guide [2].

1. https://kadirahq.github.io/mantra/
2. http://guide.meteor.com/
>Sad to see Farhad Manjoo playing the click bait game.

It's an article in a mainstream newspaper for a mainstream audience.

>That article is so utterly lacking in content that I would expect it to be on buzzfeed.

The purpose is to explain how and why these "tech" companies are expanding into things that most people wouldn't associate with them, and the reason is the idea of the "platform". That's probably not familiar to the layman.

By the way, BuzzFeed does decent work.
1) detect pages that had changed since the last crawl, to avoid recrawling pages that hadn't changed?

You could use the deltafetch[1] middleware. It ignores requests to pages with items extracted in previous crawls.

2) detect pages that have changed their structure, breaking down the Spider that crawl it.

This is a tough one, since most of the spiders are heavily based on the HTML structure. You could use Spidermon [2] to monitor your spiders. It's available as an addon in the Scrapy Cloud platform [3], and there are plans to open source it in the near future. Also, dealing automatically with pages that change their structure is in the roadmap for Portia [4].

[1] https://github.com/scrapinghub/scrapylib/blob/master/scrapyl...

[2] http://doc.scrapinghub.com/addons.html?highlight=monitoring#...

[3] http://scrapinghub.com/scrapy-cloud/

[4] http://scrapinghub.com/portia/
So it's got this malicious feature, but you can trick it into not working with some arcane (and conditional) configuration setting. I switched to Linux when XP started feeling too limiting, but this is just getting ridiculous. And without real pushback from the broader user base, odds are this is a trend that will continue.
We’re Hosting a Go Hackathon
While it looks pretty slick, I wouldn't personally pay a monthly fee for feature flagging. Our (pretty basic) implementation is just over 50 lines of code, and allows us to do all the targeting we need - either individual users, or particular groups of users we've tagged as having the feature. It just doesn't seem worth shelling out extra for that.
Without addressing the XAML mess, Window resizing in WINAPI is a complete mess too. You toggle whether a window is resizable by setting the window style (wtf!) with WS_THICKFRAME. When resizing windows, you need to handle three different messages (WM_ENTERSIZEMOVE, WM_EXITSIZEMOVE, WM_SIZE). To set minimum/maximum size, you respond to a WM_GETMINMAXINFO message.

All I wanted was SetWindowMinMaxSize(hwnd, min_size, max_size) and an event to tell me the window has resized. That's it.

This complexity allows apps to misbehave in various ways, either unintentionally, on purpose or maliciously. Windows programming is so darn complicated that it doesn't make any sense.
Personally, the one thing I don't like about Meteor is that it insist on using MongoDb. That along makes me NOT want to use it, despite other cool features.
It's part of country wide upcoming curriculum change, not a PR stunt, read more from http://koodi2016.fi/ (site in Finnish, use google translate)

No privatization will happen in Finnish school systems.

There's always been professional people giving seminars, talks and teaching, but usually in university/college levels.
Facebook has been around for 10 (or 12, depends how you look at it) years now. That counts for something (but what?). Not bad for the world's most complicated and featureless forum.
If some person seriously wants to dedicate their life to building something high quality and long lasting in the software world (1), they're probably interested in building and contributing to open source, open standards, open interfaces, publishing papers etc.

This might mean they would not want to dedicate their efforts to working on Windows. Same would hold for things like iOS as well. To me, architecturally, they seem dead ends that have to be completely binned at some point, leaving little useful legacy. Would you like to really put your life work into something like that, if there are alternatives?

I think this must affect the culture, and the people they can hire.

I have no idea how "open" Windows is nowadays, I haven't really used it in 8 years.

1: not necessarily building software directly, it can be algorithms, books, philosophies, languages etc.
As long as there is no direct PostgreSQL support, Meteor is no viable option anyways.
Can't say that anymore -- I'm using VB .NET. See my post a sibling of yours here.
Use Cases for Text Mining in Business Intelligence Tasks
Windows now comes packaged with a version of skype that uses their 'app' system. You can still get their non-app version on the site. That version allows you to sign in to whatever user you want - it's not tied to your windows account.

http://www.skype.com/en/download-skype/skype-for-computer/

Though I agree that skype and windows have some serious user experience issues.
There is an idea to make Scrapy support Spiders written in other languages[1]. It has been featured on the Google Summer of Code 2015[2].

[1] https://github.com/scrapy/scrapy/issues/1125

[2] http://gsoc2015.scrapinghub.com/ideas/#other-languages