skysight-inc/HackerNews huggingface dataset:
There is no service that was shut down, the telecom company in question is now charging for traffic going to Wikimedia Foundation domains where before they did not.

Edit to clarify: "Wikipedia Zero" is an initiative by the WMF to get telecom providers to allow their customers to access WMF projects without incurring data usage fees. If your telecom provider participates, you don't have to do anything special or different to access "free Wikipedia", you just go to the normal mobile Wikipedia page and you don't get charged for the data.
Hedging FDA Risk
I agree with this. Most programming jobs are not very complicated. They don't require a "rockstar." Average will do the vast majority of the time.
Any word on F1 pricing yet?
Valgrind misses certain problems with stack memory and runs your program with a 10x slowdown. AddressSanitizer and friends use a lot of extra virtual address space, but run with about a 2x slowdown.

If you're interested in C++ tooling, maybe watch through The Care and Feeding of C++'s Dragons[1] from GoingNative 2013. They start to talk about AddressSanitizer at 55m40s, but the entire thing is really good. The tools they talk about have just gotten even better and more widely available since then.

[1]: https://channel9.msdn.com/Events/GoingNative/2013/The-Care-a...
I love chess, and own these books. It was a pleasant (if a little bewildering) surprise to find this submission on HN.

One thing I don't love about chess is how eager everyone seems to be to apply concepts and principles from chess to non-chess situations, implying that an understanding of these principles within the game will provide a better understanding of their analogous situations outside of chess.

People tend to claim that being good at chess will make you good at other things too, but I've always found that being good at chess makes you... good at chess, and that's about it.

Edit: My favorite article on chess is from an 1859 Scientific American, and can be found here: https://books.google.com/books?id=90hGAQAAIAAJ&pg=PA9&dq=%22...

An excerpt:

> ...chess is a mere amusement of a very inferior character, which robs the mind of valuable time that might be devoted to nobler acquirements, while at the same time it affords no benefit whatsoever to the body.

Oh, if they knew the kinds of things we spent our time on now...
Is this a pitfall people actually fall victim to? It's an interesting corner case, to be sure, but has anyone been bitten by it in real work?
It shouldn't be too hard for compilers to warn about this, I think.
You didn't listen to the podcast, did you?

Germany didn't have the choice not to fight France. France had decided to wage war against Germany, in support of their ally Russia.

https://en.wikipedia.org/wiki/French_Third_Republic#First_Wo...

"France entered World War I because Russia and Germany were going to war, and France honored its treaty obligations to Russia.[58]"

Not that Germany wanted to wage war against Russia either. Germany declared war against Russia because they declared war against Austria which had declared war against the Serbs who had assassinated their archduke.

http://www.history.com/this-day-in-history/first-world-war-e...

"The event that was widely acknowledged to have sparked the outbreak of World War I occurred on June 28, 1914, when Archduke Franz Ferdinand, heir to the Austro-Hungarian Empire, was shot to death with his wife by the Bosnian Serb nationalist Gavrilo Princip in Sarajevo. Over the weeks that followed, Austria-Hungary blamed the Serbian government for the attack, hoping to use the incident as justification for settling the problem of Slavic nationalism in the tumultuous Balkans region once and for all. However, as Russia supported Serbia, an Austria-Hungary declaration of war was delayed until its leaders received assurances from German leader Kaiser Wilhelm II that Germany would support their cause in the event of a Russian intervention. ... Russia declared its intention to back Serbia in the case of such a conflict, Austria-Hungary went ahead with its war declaration against Serbia on July 28, one month after the assassinations."

"Germany warned Russia, still only partially mobilized, that to continue to full mobilization against Austria-Hungary would mean war with Germany. While insisting that Russia immediately halt mobilization, Germany began its own mobilization; when the Russians refused the German demands, Germany declared war on the czarist empire on August 1."

I don't mean to imply that Germany or any country is blame-free, but WW1 doesn't feature any clear cut good-vs-evil simplification the way WW2 does.
Why is it hard to unionize retail?

My (naive) guess would be that retail is a less-skilled job, so attempts by labor-groups to make themselves a controlled source of labor supply are easily circumvented by the readiness with which those jobs can be filled by nearly anyone. Whereas manufacturing jobs that involve some degree of skill are more able to corner the market on their own labor, and thus better able to negotiate from a position of power.
C is a language that gives you a very sharp laser knife that can cut everything clean off very efficiently and fast. However, without care, you'll cut your fingers off. Always wear safety goggles around dangerous equipment and don't do stupid things like i++ inside a macro call.

You're writing C, don't give me the "I might not know that what I'm calling is a macro" argument. You better know what you're calling in C. If you don't want to know what you're calling, don't write C.
I'm not sure what a fair or unfair language would be. Is an unfair language one who's compiler output is non-deterministic? If that is the case then C fails that test with undefined behavior.

What I'm really trying to say is that as an industry we need to stop proping up C as if it's some golden god. Was it a good compromise for it's time? Of course but we can and should do better because it's clear that writing 'good' C code might be beyond the realm of man.
This YT channel is broadcasting "the news from the front" as it happened 100 years ago. It's been fascinating.

https://www.youtube.com/user/TheGreatWar
You don't think the Entente killed civlians, looted, or conscripted laborers from occupied territories? (Even if we ignore the broader context of how they treated their colonies!)

Also, while Germany was carrying out unrestricted submarine warfare, the Royal Navy was busy - literally starving - Germany, with its unrestricted naval blockade. Their justification was that soldiers eat bread - therefore, bread has a military purpose, and can be blockaded.
Does anyone know if there is the equivalent for Go?
This comes with me not being very experienced or familiar with C, but this is... disturbing.

I mean, I totally get that this is a really poor use case, and as I just learned from looking it up (because I didn't know this before), sizeof in C isn't a function or macro, but an operator.

That just doesn't jibe with the mental model of C that I had in my head. And programming languages, if anything, should be conducive to mental models, not hostile to them.
SpaceX's technology is not building a >$10B launch backlog and pulling in over $1B in funding. The SpaceX brand and culture are bringing in the right people to build the technology and the right customers to buy it: this path towards success, by definition, started before the technology was complete.
c is not your friend as a knife is not.
Buildbot 0.9.6
Students that pay full freight absolutely subsidize those who don't, and a lot of the people who can afford full tuition are foreign.

http://blogs.wgbh.org/on-campus/2014/6/17/international-enro...
Amazon Lex – Now Generally Available
Australia, NZ step up nationalist rhetoric with visa curbs on skilled workers
Passive trackers do not need to rebalance in response to price changes when full replication is used, at least for market-cap weighted indices (I know there are also indices which are not exactly market-cap weighted and rebalance a few times per year, and of course some trading is required when the composition changes).

I think the relevant mispricing introduced by passive investing is the relative one. The question is not that passive investors are driving the S&P 500 index higher than it should. The thing is that they are failing to distinguish company A, which should ouperform because it's doing well, from company B, which should underperform because it's not doing so well.
E-mail sent! :)
> I think we need to rename AI.

From what I understand, we already have; that's why you usually see it called "machine learning" in research and academia - and "artificial intelligence" everywhere else.

That isn't to say there's no crossover in both directions, but usually if you are being serious on the subject, you call it ML - if you're trying to hype it or build interest, you call it AI.

Note that this only goes back so far; prior to the early 2000s or so, the terms were used more or less interchangeably. At one point, the term "machine intelligence" was used, then died out, but I've seen it used again recently.
Well, almost all HTML/CSS layout algorithms are O(N) complex so number of immediate children of an element is naturally limited by, say, 500-1000 sub-nodes. Otherwise the whole thing will not move. Note that GMail uses pagination with 500-800 elements on the page.

So we are speaking about vectors of pointers that contain 1000 elements. memmove() performance (used for quite rare operation of insertion of elements in the middle) on modern CPU is comparable with the need to access left/right elements in DL-lists for insertion. Consider cache misses, etc.
> [MSM outlets are] actually expected to be accountable for what they report.

Dunno man. I've seen stuff being reported by MSMs that was well below the professional threshold for me. Guardian seems to be one to better big outlets.

But I have to give to credit for pointing out a very valid reason for other MSMs not reporting on it.
I was surprised by that. Since Microsoft has been pushing Azure hard the last few years, you'd think Amazon would battle back and come out swinging with a C# template.
Completely ignores VPNs? Everyone in China uses a VPN. Maybe China has more C programmers.
> Why would you need to go to college to do an entry-level job?

"Entry level" positions are by definition for people just entering a field, and have nothing to do with whether the position requires a degree. Entry level retail doesn't need a college degree, for example.

In a lot of fields, though, getting a degree is the bare minimum qualification, so simply having one doesn't give you a leg up. Why hire a person just out of school for a senior level position when there are more experienced people (also with degrees) applying for it? Feel free to apply, but experience will win out every time.

> Conversely, who wants to spend 4 years (and probably $$$) getting a college degree in order to then work a job that bores them to tears?

That's not really what work is about. Every job is boring and sucks sometimes, that's why it's called "work" and not "leisure" or "playing" or "fun". Unfortunately, a degree isn't a magic certificate to avoid boring work.
Facebook's brain interface research – typing directly from brain
Not the above commenter, but here is a good summary of several ways it is possible to do this: http://stackoverflow.com/questions/9555403/capturing-mobile-...

I have used the approach of installing wire shark on a pc operating as an access point, and it was easy enough to set up assuming you have the requisite equipment.
When you're referring to innovation, you're talking about everything. I'm referring to software.
Amazon DynamoDB Accelerator
We had a panicked client ring us up one morning after their office had been broken into and computers were stolen. They'd been writing all their passwords on Post-It notes, which they then stuck to bottom of their screens.
I must have broken something. Browserling works in even IE8. I'll fix it so it works in FF 4 again.
Ask HN: What's the most comfortable bed you've ever slept on?
I'm in the market for a new mattress and I'm finding that nearly all online reviews are fake (it's seriously depressing). I figured I'd try HN and make a thread that everyone can refer to next time they need a mattress.

So far I've tried both a Casper and a Nest Alexander Hybrid Medium. The Casper was just ok comfort-wise, but slept hot to the point that I would wake up covered in sweat. I currently have the Nest and while it does sleep cooler, I wake up every morning with a backache.

I noticed when traveling through Italy and Portugal that the mattresses I slept on were extremely comfortable. I slept so well. I can't seem to find this type of mattress in the US: thin, foam (I think?), and firm yet pressure-relieving. Does anyone know what I'm talking about?

What's the most comfortable mattress you've slept on?
I don't understand why this would come up. When would you ever use ++ on the result of evaluating an expression.

Edit: Now I see the issue. Still, this should be easy to avoid. Don't use expressions with side effects as the input to a macro.
Well the user should check what that thing is you're calling, or use it with caution (ie not using side-effects as params)
> He didn't have to do any of that, he had monopoly on broadband on the entire area. Small ISPs are the best.

I'm guessing part of it is because they only preside over a small area that there's a human element to it, they must feel responsible for the internet of these people, and they're close enough to them (in the hierarchy) that that actually matters.
Computers on the internet are pointed to by special numbers. Usually the special numbers look like 4 numbers with '.' like 123.45.67.89 Each of those 4 numbers can be between 0 and 255 so (to be more simple) the lowest special number would be 0.0.0.0 and the highest would be 255.255.255.255.

Back when the internet was still young, you would go to ARIN (the American Registry of Internet Numbers) and say "I think I need 256 special numbers" and they would give you a block of 256 of them. Something like 1.2.3.0 - 1.2.3.255. If you asked for about 65,000 special they might give you 231.45.0.0 through 231.45.255.255.

MIT (the Massachusettes Institute of Technology in Boston, MA, USA) was one of the first people to ask for special numbers and so asked for over 16,000,000 of them (this was 1/256 of all of them) and so MIT was given 18.0.0.0-18.255.255.255.

Now today, all of the special numbers have given to people and companies. This makes each special number extra special and large groups of special numbers very extra special. Since MIT had 16,000,000 of the special numbers all next to each other, they decided to sell half of their special numbers for a lot of money.

Edit: Simple English: https://xkcd.com/simplewriter/
Agree with watty here that this, as with most new Legos from AWS, makes some of the repetitive and frequent devops things easier and consistent. But the devops-person's true value is in stringing all the Legos into complex creations. And sure, while each new AWS offering, simplifies or automates some segment of work, it also feeds the number of cross-tool permutations. And that in turn creates new opportunities for the people like us that can string it all together when needed.
No need to feel down. Hopefully, you built good "dev" skills (as part of your "devops"). There are no signs, these are going to be replaced soon.
Actually, it's more like using civilians as human shields.
Revealing the hidden links in the Monero blockchain
This kind of interception is quite easy to setup with https://mitmproxy.org even for https requests and on iOS as well. (I'm not affiliated but have just used the software before for a similar task)
I've tried to run IPv6 on my Comcast connection. Unsurprisingly, Comcast doesn't get the point of IPv6. They allocate one single IPv6 address to my router. That's right, ONE. LOUSY. ADDRESS.

This seems to be a "feature" of owning your own modem rather than renting one of theirs. I hesitate to even try to get this fixed via their tech support.

I guess if I want IPv6 connectivity, I'm either going to have to get a tunnel from Hurricane Electric (SIXXS is shutting down), or carve out some IPv6 space from my Linode and tunnel it to my home network.
Questions this brings up:

1. What's the estimated bandwidth impact of this data collection? Many users have very limited data use, and chatty messages on play/pause/volume change wouldn't be appreciated.

2. HTTP or HTTPS?

3. How does it work with other apps (like Google Music) that might provide more music details? Like does it send more information when the id3 tags have all the fields filled in? Things like comments, encoding, etc might also be transmitted. Streaming services like Spotify probably try to trim that as much as possible, but local files could have a lot more data.

4. Can you see anything about the anonymous id that might make it not that anonymous? I mean, the device serial number alone kind of defeats an anonymous id. But there's been a fair amount of work in reidentification of anonymous data, and many developers take shortcuts when generating their "anonymous" data. (https://arstechnica.com/tech-policy/2009/09/your-secrets-liv...).

5. It's sending this data in the background, correct?

6. What does it send (if anything) during calls, emails, texts, map navigation, and voice commands?
> so some scepticism advised.

I think it's a wrong attitude for this article. I prefer to use "beware that the naïve layman explanation may be misleading and wrong". The research article is good, the layman explanation is impossible to write.

This is a very technical subject. I don't understand all the details, so I'll mix some information with guess.

First a similar experiment: Inside a semiconductor, the conduction electrons are not isolated. You can image that an electron has a cloud of perturbations around it. So the effective mass of an electron inside a semiconductor is not the mass of an isolated electron.

Moreover, in some cases the effective mass can be negative. If you push them with an electric or magnetic field, they will move in the wrong direction.

So it's easier to understand their behavior thinking that they are positively charged particles with a positive mass, rather than negatively charged particles with a negative mass. The usual name for them is "holes" and any Engineer that use semiconductors will use them as if they were real particles. (A Physicist will be totally convinced that they are real particles, but real has here not the usual definition.)

So, there are some examples of "things" with negative mass. This case is different because it's a fluid (a bose condensate?) instead of a solid, and they are using rubidium atoms that are bosons instead of electrons that are fermions. So I'm not sure about the details ...

But this is probably a fluid with negative mass that only can live inside some weird material. It's not a fluid that can be isolated and put in a balance and get a negative result.

[And it can't be used to build an Alcubierre Drive.]
Monitoring - CPU Usage, HTTP Response codes, Login Failures, Login Successes, Ratelimit events.

Testing - Unit tests, Integration tests, nothing fancy. PHPUnit or whatever framework you want.

All hooked in to CI. Tests should always pass. If you have a flapping test it should be fixed.

We have docker containers that spin up our production environment locally, so we can test things like nginx config changes, database migrates, configuration changes, nginx changes, etc.
iOS supports IPv6, and has done for some time:

https://developer.apple.com/news/?id=05042016a
C is OK: it is not your friend, it is a tool.
Essential Facts About Computer and Video Game Industry
I've been thinking about getting these. Does the app do anything particularly useful (I.e. Any important features I'd be missing out on by not having it)?

As a side note. I can imagine why they'd want this information. Seeing what people are listening to and what volume settings are commonly being used would potentially help them tune future products better for their "average user"
> Royalty tends to be a lot more stable than democracy's.

Is it? I've thought that the big advantage of democracies is that when people get fed up with their leaders, they can change them without a bloody revolution or civil war (which, as you say, is incredibly damaging).

I mean, our dear democratically(?) elected politicians say or do dumb things just like any inbred royalty, but at least we can switch them peacefully.

Of course, democracies aren't immune and can fail too. E.g. Germany in the 1930's, or for that matter Turkey 2017.
The beauty of C/C++ is exactly that it gives you freedom to do things. Period. There are a lot of languages designed to limit you (or make safer programs, you name it). Some might be faster / more productive / safer / environment-friendly, use what you think you should. But don't try to limit C, please.
You don't need the app. I used it once, just to see what it did.

I downloaded it again just now. Again, nothing I needed, deleted.
Record Numbers of Icebergs Swarm into North Atlantic Shipping Lanes
You would probably do well to ignore my comments on any sociopolitical topics then, as the difference in our outlooks will likely cause you acute distress.
> That just doesn't jibe with the mental model of C that I had in my head

I'm curious, what mental model of sizeof() did you have in your head, and how did it work?
> At some point there is no marginal return for adding complexity, or the return on maintaining the complexity becomes negative, so the complexity is no longer worth maintaining. Collapse.

This also seems to happen to software, which is why we keep rewriting the ecosystem every 10-20 years.
Again and again, no CloudFormation support!

Edit: Looking into the CloudFormation templates created, there are CodeStar resources, so, I assume, the new resource types are just not documented yet. Not that it needs much documentation, but I will try creating a template with those to test if it works.

Edit 2: Here are the new resource types:

CodeStarProject:
Description: Starting project creation
Properties:
ProjectDescription: AWS CodeStar created project
ProjectId: !Ref 'ProjectId'
ProjectName: !Ref 'AppName'
ProjectTemplateId: arn:aws:codestar:us-east-1::project-template/webapp-nodeweb-lambda
StackId: !Ref 'AWS::StackId'
Type: AWS::CodeStar::Project
Version: 1.0

SeedRepo:
DeletionPolicy: Retain
DependsOn: [CodeCommitRepo]
Description: Adding application source code to the AWS CodeCommit repository for the project
Properties:
CodeCommitRepositoryURL: !GetAtt [CodeCommitRepo, CloneUrlHttp]
DefaultBranchName: master
ProjectTemplateId: arn:aws:codestar:us-east-1::project-template/webapp-nodeweb-lambda
Type: AWS::CodeStar::SeedRepository

SyncInitialResources:
DependsOn: [SeedRepo]
Description: Adding the AWS CodeCommit repository to your AWS CodeStar project.
Properties:
ProjectId: !Ref 'ProjectId'
Type: AWS::CodeStar::SyncResources
Version: 1.0

SyncResources:
DependsOn: [SeedRepo, CodeBuildProject, ProjectPipeline, SyncInitialResources]
Description: Adding all created resources to your AWS CodeStar project
Properties:
ProjectId: !Ref 'ProjectId'
Type: AWS::CodeStar::SyncResources
Version: 1.0
Unless an android app uses certificate pinning (https://security.stackexchange.com/questions/29988/what-is-c...), it is usually trivial to MITM its traffic passing through your phone.

Provided you own and have physical access to your phone, you can use any number of proprietary/open free/costly tools to do so. (E.g Fiddler http://www.telerik.com/fiddler, Burp https://portswigger.net/burp/ and mitmproxy https://mitmproxy.org/)

In this case I used fiddler, all I had to do generate a custom root certificate (Be warned this is not a good idea in general, look up super fish if you want an example of why installing custom root certificates can be bad), install that certificate on my device and then proxy my device through the computer running fiddler.

This process is far better documented here http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/Conf... if you need any more help or advice let me know