skysight-inc/HackerNews huggingface dataset:
> Have you tried removing systemd from latest Ubuntu? I didn't go very well for me. I imagine removing it from RHEL 7 won't go well over either.

Ubuntu is not the Universal Operating System, that's Debian. This means that Ubuntu is definitely opinionated in its software selection, and rightly so. You couldn't replace Upstart and now Ubuntu relies on systemd. If you have the skills to fully evaluate the costs and benefits of mixing and matching random pieces of software, distribution like Debian or Gentoo may be a better fit for you.

Indeed, switching to sysvinit in Debian is trivial and the systemd team worked really really hard to make sure the transition is smooth even if one keeps switching back and forth. They should really be praised for the effort they've put in it.
That's only because we have a weird method for calculating pregnancies, for historical reasons.

A human pregnancy is around 266 days +- 16. The reason for 280 days or 9 months is because that measures the time span since the last menstruation, not since conception.

(I was personally a bit surprised by this when expecting our first child. It's one of those things you apparently know about but still use "9 months" as a bit of a fixed expression.)
contributing to something seems like a better effort, tho.
Really not happy with the way Chrome is going on these things. As a web developer, sometimes the best thing for my users is an HTTP media file off a non-SSL CDN closest to their home and cacheable by things like Squid stuck in front of them in my HTTPS otherwise page. But I can't do that now because Chrome will display the page as broken. They are just taking useful tools away from developers to improve the lives of users and not really improving anything except for a few privacy nuts who care about every tiny image on every page possibly being tracked.
Err, he gave examples, as well as links.
In my university they had this. There were always 1-2 50+ people following the lectures (math & physics). Only one of them was ever able to complete a course successfully, and that was with immense effort. He basically spent more effort on one course than the rest of the students spent on the entire curriculum. It was inspiring to see the drive he had, but it's not feasible to complete a whole major that way. I'm not sure if that's related to age or just that the people who apply later in life are statistically different than those who apply out of high school.
Maybe consider creating a pull request against the standard python library. This is really nice. This feels like it belongs in the collections module alongside defaultdict.
Makes me wonder about the future of democracy.

If tiny Norway, which imposes no real threat to any other country, including it's mighty neighbor, Russia, is a target for intelligence services, then every country is a target.

Norway has little strategic importance and little influence on the world economy or world peace. Sure, they have lots of oil but its undisputed Norwegian and they sell it willingly. Sure, they are NATO members and at present the NATO secretary general is Norwegian, and they do participate in NATO actions in the Middle East. But their own military is modest, barely capable of defending Norway if it came down to it. And Norway has little say over the other NATO countries.

I think the NATO secretary general, Stoltenberg, said it best himself when he described the Norwegian democracy as a fax democracy where Norwegian officials sit at a fax machine waiting for the latest directive from Brussels (Norway is not an EU member but part of the European Economic Area and must adopt most EU rules in order to keep their access to the Euroean single market).

Anyone thinking that Norway has any real powers or impose a threat to anyone in the next 5-10 decades is delusional.

So why and to whom is it vital to spy on these fax politicians whose international influence barely exceeds that of an American senator or governor or a member of a German Landtag?
If you feel like having a look at Perl, give this a try: https://metacpan.org/pod/Web::Simple

If nothing else you'll be introduced to a lot of programming concepts you'd otherwise be unlikely to see.
I recently switched my (small and ad-free) blog to https-only and I saw a sharp drop in traffic. I highly suspect that is due to various malicious robots and crawlers not handling either https or redirects from http to https correctly. For instance, attempted comment spam fell to almost zero after the switch.

Considering that at least part of the ad clicks comes from robots (there was a recent post about that on HN), it might be that some of your lost revenue was due to that effect.
A shortage of talent does not equal a shortage of applicants.

I did a lot of phone screening and in-person interviewing at Amazon and the experience was nothing short of shocking. Applicants with 5+ years of professional experience who couldn't solve Fizzbuzz or reverse a string. People who didn't know what a set was - I had one guy who claimed to have done a decade of GIS development state that "he never uses sets - he just uses maps for everything." I would not let the vast majority of them anywhere near a codebase that I even somewhat cared about.

The filters are there for a very good reason. I think once a candidate meet a certain bar, the the process becomes somewhat arbitrary, but most applicants I've seen - where by "most" I mean 95/100 phone screens - don't come anywhere NEAR that bar.
This injustice is not only happening in Mexico and not only on farms.
The same stories exist in every 'non-western' country which produces stuff for the western world.
Farms, clothing, mining, electronics...

Stuff that we throw away once we get bored of it. There's nothing particularly special about us in the western world, our only merit is having been born here.

And all this is because we've created and maintain a culture of hedonistic pleasure seeking on a massive scale. We've made 'luxury' the primary object of desire in our society, the path to happiness (it's not, but that's a different story).

A 'consumer' is a nice word for 'a person transforming natural resources into garbage'.

That's why those people are living through hardship - so we can take the resources and turn them into garbage, while obtaining some amount of pleasure (or comfort) in the process.

A person is 'successful' if he can have access to the most exclusive resources. To be successful, you have to be thinking positively, aka. learn to ignore the injustice and destruction that's happening in the world.

I know this is very unpopular, I usually get downvoted fast for talking about this, but it's the truth.

Our strive for 'success' creates major suffering around the world and we've pretty much fucked up the planet in the process.

So what should we do about it ? There's very little that can be done, really, it's the consequence of what we call 'human nature'. The only path is a radical change in our philosophy of life, in which we think as 'we' instead of 'I', some variation of the Open Source philosophy for every aspect of the economy, but I don't see that happening any time soon.
And time is a resource that this planet doesn't have too much of.
I think you meant the German-made Cryptophone 500, not Blackphone.

http://www.wired.com/2014/09/cryptophone-firewall-identifies...

I recently discovered an IMSI-catcher app on the F-droid market for Android. It's called Android IMSI-Catcher Detector and you can easily find it in the Security category if you filter by it in the app. For some reason, I can't browse for it on the site.

The project is in alpha stage and seems to be this one here:

https://github.com/SecUpwN/Android-IMSI-Catcher-Detector

There's also this paper on making IMSI-catcher detectors:

https://www.sba-research.org/wp-content/uploads/publications...

I hope to see more people working on this, though. In fact, I wish Google, Apple and Microsoft would add protections against IMSI-catchers by default in their mobile operating systems. After all it's already a known privacy issue affecting millions [1], and it seems not just in US either. They can't continue to pretend it doesn't exist anymore.

[1] - http://www.wired.com/2014/11/feds-motherfng-stingrays-mother...
>Do you know which Haskell examples are idiomatic, which aren't, and why?

Why wouldn't he?

With a little familiarity with programming at large and Haskell syntax can learn to discern the two cases even if you're not a Haskell programmer.
A free MITM service, you mean.
GSM is so broken.
http://www.slimframework.com

http://silex.sensiolabs.org
Exactly. Their list indicates "Secure", "Dubious" and "Non-secure" but I think "Non-secure against active attacks but secure against passive attacks", as self-signed HTTPS is, should be distinguished from "Non-secure".
Which in big chunks of the western world is not that much, but it will increase the barrier for entry for many in poorer nations.
For commercial sites, then maybe I see a benefit. For everything else... why bother? The info isn't secret, doesn't need to be and since there's so much data going around already is anyone malicious bothering to look?
Polymer + MeteorJS example app, would you use it in production?
The elephant in the Bitcoin room is that it simply cannot scale up to high TPS rates. If any kind of meaningful adoption actually happened, the network would keel over pretty quickly trying to globally broadcast all that data, and the blockchain would quickly balloon to unmanageable sizes.

I see a lot of these articles hailing Bitcoin as the answer to some monetary injustice or other, or as the fundamental underpinning of some revolutionary new product, but people totally ignore Bitcoin's technological limitations. Instead, the blockchain is talked about as if it's some magical box that is pretty much whatever the author needs it to be.

The amount of cognitive dissonance in the Bitcoin community regarding this topic is baffling. The whole point of side chains was that even core devs realized that Bitcoin can not scale. Yet side chains were hailed by the community as some sort of fantastic innovation that is 'good for bitcoin'.

Maybe these people are just talking their book, I don't know, but next time you read an article about Bitcoin or blockchain tech just realize that VISA can handle 47.000 tps. Bitcoin currently is doing slightly more than 1.

Inb4 'merkle trees', 'invertible bloom filters', 'something something moore's law', 'corporate shill', 'freedom hater', 'the market will sort it out', 'side chains', etc.

</offtopic rant>
How is indexing an array OK with functional programming of the level of purity Haskell strives for (not to mention without bounds checking)?

In "Real World Haskell" they advise you to forgo of arrays, and even has a chapter "Life without arrays", saying "arrays and hash tables are often used as collections indexed by key, and in Haskell we use trees for that purpose".
The Sexodus, Part 1: The Men Giving Up on Women and Checking Out of Society
Did this happen because of GSM? In that case it's a bit ironic, as big parts of GSM is invented by Norway.
Flask is the way to go.
I haven't used Flask (or Python) aside from one small hack project. It seemed simple and straight forward enough, and very similar to Ruby's Sinatra framework. Personally in Ruby I would most likely pick Sinatra, in Python I'd pick Flash or something similar.

However if you wanna play with languages you're less familiar with, I'd recommend Go, or Node.js.

Personally I find Go really interesting as it's quite different from the languages I normally work in, and it's concurrency model makes it performant without being a mindfuck.

Node.js is interesting as it's Javascript, but extremely I/O performant due to it's evented nature, but that also makes concurrency a bit of a mindfuck at times.

Those are my suggestions at least if you're itching to get your toes wet in some new fun languages :)
>I'd hardly call it unidiomatic though, you just normally use "read" instead of "unsafeRead", etc.

Isn't "idiomatic" defined by what you "normally" use?
ΑΠΟΦΡΑΞΕΙΣ ΑΘΗΝΑ
On the gender bias in tech
Which is why you are supposed to throw out untrustable Certificate Authorities.

In the same way as TURKTRUST was thrown out by all vendors a few years ago, nowadays you should throw out VeriSign and GoDaddy just as well.
Bottle is simple single file library for small APIs.
Google Adsense Ads Now Showing on Opera Mini
I'd be interested to see more questions from the test, but from the examples given I'd say s/algebra test/problem solving test/ is in order.

In that light, the findings become less surprising---still interesting though, since we can test math-word-problem-solving ability quite easily with pen and paper. Could this mean my KhanAcademy math achievements are a better hiring signal than my github?

In terms of hiring, it certainly makes more sense for candidates to pass a 1h test rather than expect them to "prove themselves" by solving a week-long coding challenge...
It was honestly difficult not to be distracted by that.
The problem here is, music gets produced at increased rates. You might have a huge database of all the music from yesterday, which would be less useful than you think if you'll not figure a way to make every musician put metadata for their newest creations there.
We need to destroy their logic about "collecting everything, because they might need it in 100 years" first. They do it because it's so cheap, because they can, and because nobody is really standing up to them. However, if we allowed the government to do anything it wants "just because it can", thousands of our current laws wouldn't exist.

I don't remember if it was Clapper or Alexander but one of them basically said the whole Snowden thing will blow-over, and they won't have to change a thing. From what we've seen already that seems to be the case. The watered down USA Freedom Act was killed, and they even made their collection powers stronger with that recent Intelligence Authorization Act.

Can you believe that? Not even 2 years after the worldwide Snowden scandal, and they shamelessly push for even more spying powers. These people know nothing can touch them or stop them. And that speaks volumes about the state of our current democracies, when the will of the people, who are supposed to control their governments, and are the ones paying their budgets, have no say in the government's decisions.

I highly recommend everyone watch this whole video here. It's an eye opener about many things, and I think he may be right about the root cause of the problem (vote transparency in Congress, which causes politicians to be bought, intimidated, and so on for their vote, just like it would happen with normal citizens's vote if it weren't anonymous):

https://www.youtube.com/watch?v=1gEz__sMVaY

It's from the video where I learned about this new research that basically says:

> The flat line for most Americans shows that no matter how popular a law was, Congress was about equally likely to pass it. Contrast that with the line for wealthy Americans, whose opinions substantially affect how likely a bill is to pass.

http://bulletin.represent.us/u-s-oligarchy-explain-research
You mean nasty root certificates like VeriSign and GoDaddy, which the NSA frequently uses for MitM?

You should do the same to those certificates that you did to TURKTRUST, just throw the US CAs out.
Agreed.

There are so many websites on the internet which do not gather sensitive data from the users but display read-only content.
> But you might use a the same login for your blog as you do for your online banking

That is a completely different problem that using https won't solve. It's like building a ship with a hole at the bottom and having a high throughput water pump.
Awesome work. I love it. I really think that this sort of thing could be extremely useful in some specific cases, for example for internal communication from sysadmins in enterprise setups. Imagine if it could be integrated along with the shell, say in an ncurses split window or something like this. There's so much potential.

Great work!
> Norway has little strategic importance

If only that were true. While we Norwegians tend to have well inflated egos, the word "strategic" implies powers like Russia, China and the US. And all those jolly World War III scenarios (nuclear and otherwise).

Main keyword is long coast, harbours operational throughout all of winter.
We already have equality.
Firstly, Bitcoin does not need to scale that much to be considered widely successful. Heck, Western Union[1] averages only 10 tps, which is only 10x what Bitcoin is doing today, so such a target is clearly within reach with a 2MB block size.

Secondly, Bitcoin can actually scale by many orders of magnitudes, see the math and arguments there: https://en.bitcoin.it/wiki/Scalability You need solid counterarguments to this page to convince us it can't possibly scale.

Thirdly, Bitcoin has done 6 years in a row what critics have always said it cannot do ("nobody would want bitcoins", "the exchange rate will never reach $1/$10/$100", "it will crash and be forgotten after the Jun 2011/Mar 2013/Nov 2013 bubble", "the US govt will make it illegal", "big companies will never accept it", etc). So you need to sit back and start thinking why is it that Bitcoin keeps growing and reaching milestone after milestone, instead of throwing one more empty statement "bitcoin can't do X" with zero reasoning behind.

[1] WU does ~250 million consumer transaction/year.

Edit: @inoop I misremembered and meant WU, not Paypal
It's ironic that criminals and governments can't be distinguished, after all the time they've spent fighting against terrorists.
Real men don't get insulted about real men posts.
Username "dump" flooded the server.
Service is dead until restart.
No it really shouldn't. The usage is highly problematic because of naming conflicts and the implicit default behavior. This causes more problems than it's worth.
There's another article (also in Norwegian): http://www.aftenposten.no/nyheter/iriks/Slik-oppdaget-Aftenp...

They spotted the (presence of) IMSI-catchers with a GSMK Cryptophone, apparently. I actually come to HN just now, to see if their product had been shredded, I mean carefully analysed, here earlier ;-)
What are the shortcomings?
>In the same way as TURKTRUST was thrown out by all vendors a few years ago, nowadays you should throw out VeriSign and GoDaddy just as well.

Have vendors done it? Because users will surely not bother.

Besides, what makes the other CAs' trustworthy?

They are just some companies, with offices, CEOs, etc. Can have ties to the government, deals, pressure on them, or even just plain planted engineers...
Dear author, we all cringed when you hosted this post on github.
Sorry, there was some sort of technical issue with the lectern mike.
kOS is K5; it's as different from K4 as K4 was to K3.

Views are available in K4/Q/KDB+, so the version on kx.com does work with views. If you want to play with the views idea, try to solve a problem and see where a view helps you.

Here's one I did earlier this week; I've got this tool that takes a whole bunch of logfiles of userids and counts; they look like this:

5033703751425413371 1
5409789758109122623 4
10102846067816284236 4

I call these columns `s(sessionid) and `c(count); I can load them with this:

G:{g::select from(+`s`c!("*I";" ")0:"S"$":",x) where (c>0)}

Now I say something like: G"trk/tnl5/20141207/TRK_ITM"
to get one of these structures into the g variable.

I actually have a bunch of filenames:

t:{R:{(x,"/"),/:$:!"S"$":",x};,/R',/R'R"trk"}[]

So I can load the first one with: G t 0

This is convenient, since these files are big (1Gb each or so) I'll want to work with a subset:

g:10000#g

This isn't part of my program, it's just something I do while developing. If I run "G" again it'll get the entire file again.

Now, I want to match these against another list of users. I'll do a similar trick:

D:{d::0:"S"$":",x}

and now I can do: D"users.txt" to put this into the d variable.

My program needs to find the rows of g that d match.

Some of the sessionids in the logfiles are corrupt. They look like this instead:

7241110807448127691320303160517889791474867567241110807448127691320312936057606400732600664532969577042775 4
62349552899220301013203170219134834182361546234955289922030101320303170219134834182361546234955289922030101 4

These are wrong. I originally tried to figure out them by finding the longest string that was also at the beginning of the sessionid, but after talking it out with Oleg and Pierre I decided to try to simply match them against the lengths of d:

?:#:'d

said I only have two lengths (19 and 20), so this is a much smaller search than what I was trying before!

To do this, I used views:

K::?:#:'d
k::"S"$"S",/:$:'K
f::k!+(K#\:/:g.s)

Now f is an index on g; instead of a `s column it has an `Sn column where n is length of the key; i.e. I have a `S19 and an `S20 column with the first 19 characters of `s and the first 20 characters of `s accordingly.

s::g.s[&|/f[k]in\:d]
c::g.c[&|/f[k]in\:d]

Now I can look at the `s and `c vars and do what I want to do; get my unique userids and my counts.

More importantly, I can apply this to all my files (I have a lot of them):

n:0;m:0;{G x;n+:+/c;m+:+/g.c}'t
The thing is that they aren't saying that algebra learning causes good programming. They're saying it predicts it. They don't delve into underlying factors, but general mental ability is certainly implied.

In other words, an algebra test just acted as a noisy, imprecise measurement of general mental ability.
The library that depends on dlopen is glibc.
Securing Strings
If you look at the context you can see that they are saying that using immutable arrays has a performance hit compared to mutable ones. That doesn't mean you shouldn't use arrays if they suit your purpose.
So I guess the real underlying message they are trying to say is, if a student can't pass an algebra test, they probably can't learn to program, so don't even bother trying to teach it to them. A more generalized form of the hypothesis is that: most people can't learn how to program.

Both forms of the hypothesis are pretty easy to refute and have already been refuted. See http://code.org and http://madewithcode.com for example. I just taught 2nd graders programming yesterday who don't even know how to divide, let alone any algebra.

And of course, there's always the radical idea that maybe you could actually teach them some algebra skills in the context of programming tasks. Just like some calculus students may need some remedial instruction and support.

Luckily, there's a whole field of research with several articles on this very topic. The field is called computer science education. See SIGCSE, for example: http://www.sigcse.org/

In fact, the field has already researched and debated this issue before, as well. There was a controversial article called "The camel has two humps" in 2006 that made the same claim as this post that a simple aptitude test could predict whether someone could learn how to program or not. The article (which was never even officially published) was later retracted:
http://retractionwatch.com/2014/07/18/the-camel-doesnt-have-...
Aeropress: were you using the brew method suggested in the Aeropress manual? If so, yeah, that one sucks - no wonder you didn't get on with it!

If you fancy giving it another go and haven't tried it already, the general approach used by most champion baristas who use Aeropress is much hotter water (around usual brew temperatures, 90 - 96C) and the "inverted" method - see http://stumptowncoffee.com/brew-guides/aeropress/