skysight-inc/HackerNews huggingface dataset:
That the data was being erroneously calculated/charged. I had to do some research, but Verizon (my carrier) and a bunch of other carriers actually appear to bill for "app usage data," which is still pretty unclear to me. It just magically shows up on your bill, even though it's not real used data.

If you want to read of the numerous reports of the same issue, Google "adblock plus data usage android" and click on any of the forum discussions about it.
The trickiest bug I've encountered
Because the only way you could know anything about anyone online is by looking at their interview mugshot?

My point wasn't actually "active promotion of diversity", merely representation of the diversity that already exists.
Gorhill returned to it as a fork of the previous "given-away-ownership".

The whole situation is trife with drama from people expecting (rather: demanding) Gorhill to add certain features or support certain browsers.
I think you have the causality backwards. We have a drug war because we have racism. We don't have racism because we have a drug war. Look up the history of the heroin and marijuana laws... it's depressing.
I'm excited for this. Discovery is an area that can definitely stand some more work.
Nordea and Handelsbanken is probably the best big banks when it comes to service.
Tilt’s Global Ambitions Grow as It Reaches a $400M Valuation
The Gurdian knows that Bitcoin fanatics will megashare it, that's why.
Chase did this way back in the late 90's in the derivatives department. One day a number of traders and salespeople were complaining that their machines were all running slow. It turned out this was because the swaptions and exotics desks were running Monte Carlo simulations on everyones' machines.

After that, stealing cycles from co-workers machines was relegated to non-business hours.
I'd be curious to hear what the general community thinks of putting a job queue in a database and if there are a lot of other QC/Que users out there.

FWIW, the transactional properties of a Postgres-backed queue were so convenient that we took advantage of them for a long time (and still do) despite the fact that they have a few caveats (e.g. poor degraded performance as outlined in the post), but more recently there's been a bit of a shift towards Sidekiq (probably because it's generally very problem-free and has some pretty nice monitoring tools).

(Disclaimer: I authored this article.)
That is a falsifiable statement, you know.

Is there any statistic to show what percentage of today's top 1% earners where born to a bottom 50% family from the previous generation, and viceversa? If less than what you would expect from two non-correlated random variables, this suggest where you start in life has an effect of how far you can go. This does not invalidate your hypothesis, but may suggest that upwards mobility takes more than one generation to lift people from poverty to wealth.

Further more, we can do the same analysis to figure out how many people from bottom 50% families grow to reach 75% percentile or above. I do not know what it would be, but if much lower than expected, that would suggest that upwards mobility is quite limited, invalidating your hypothesis.
Why is being pragmatic not intellectually reasonable?
From what I understand, once your app crosses the 1 million download mark, Apple's Developer relations will reach out to you.
Guile-emacs available in Guix
Don't use read or eval willy nilly.
If you have to use read, at the very least turn off read-eval. I give up on trying to get an asterisk on each side of that variable. No form of escaping seems viable.
What do you mean by "US carriers consider app data a separate usage"? Separate usage from what? How do they know? Do they have spyware on your phone? O.o

Since AdBlockPlus uses a local 127.0.0.1 HTTP proxy if you don't have root access to modify hosts.
The Time Magazine Cover Indicator
The whole bug sounds similar to a problem we had on XFS back in the 2.6.16 time frame. Certain operations were delayed for hours meaning that it was possible for renames/writes not to hit the platter if the machine experienced power loss instead of a clean shutdown, even if sync's were performed.
There are many apps that have ads and no paid ad-free version.
Appliance Repair Service in Fresno
Adding a nonce to the request and storing it is a good idea to add to prevent replay attacks. Especially in the case of OAuth where some implementations hash the query string but don't hash the request body - which could allow all kinds of mischief without even cracking the secret key.
He said it himself, he isn't an developer.

Probably the only idea he had ;)
I feel like Spotify is regressing in terms of music discovery and usefulness in general. It's still nice to be able to stream (almost) any album but the radio and shuffle have _always_ been terrible and the removal of useful music discovery (which is also terrible on Spotify...Rdio & LastFM both destroy Spotify in this realm) applications in a recent past updates only made it worse. Now, they are adding these 'features' that have little to do with music and more to do with marketing and corporate relationships.

I'll most likely continue to be a subscriber because as I mentioned the ability to stream (almost) any album is great but it would be nice to see some progress related to music or music discovery rather than these gimmicks. Stop trying to be a universal storefront for everyone's media consumption (video clips from ABC, who wants that in a music app) and do one thing right...

In the meantime, I'll continue to subsidize Spotify with useful music discovery services (and self made hacks) and just use Spotify as my "I know exactly what album I want to hear and don't need shuffle" music application.
10 Inside Tips for Choosing the Right Caterer
Good question - I also answered for true_religion below, but it appears as though cell carriers are somehow charge for the "sum" of the data usage numbers you see in "Data Usage" on your phone - even though that number could be (was) wrong, because the adblock data is not actual traffic/data. Not sure who's ultimately at fault for this.
Personally I do like the flags design. It resembles unity and peace in my eyes - which are ideals we should strive for.

What bothers me is the doctored image of Samantha Cristoforetti. [0]

[0] http://i1.wp.com/leganerd.com/wp-content/uploads/2014/11/sam...
Gah, Go pet peave, they could just use a map literal (good for short low-perf code).

Or even better perf/safety wise:

type Payload struct {
Name string `json:"name"`
Category string `json:"category"`
Action string `json:"action"`
Where string `json:"where"`
Timestamp int64 `json:"timestamp,string"`
}
payload := Payload{
Name: "joe smith",
Category: "people",
Action: "transport"
Where: "pluto",
Timestamp: time.Now().Unix(),
}
jsonBytes, err := json.Marshal(&payload)

This code doesn't allocate heap for payload, is much faster and typesafe...

P.S. And could be shorter, but I was trying to be clear.
except for payed apps WITH ads...
Alcohol? If you did that kind of analysis, you'd be banning alcohol ASAP. Tobacco too.

LSD is effectively non-toxic. It's not addictive. It's less likely to make people do something dangerously stupid than alcohol, which kills thousands in drunken accidents every year. Marijuana is also non-toxic, and generally makes people cautious rather than risk-prone.
This mapping makes my life much nicer:

nnoremap Q @q

It turns 'Q' into a sort of enhanced '.' command that can repeat a sequence of multiple commands. To use it, first start recording a macro to the 'q' register. That's the easiest register because 'q' is also the command to start and stop recording a macro: to start recording you just simply press 'qq'. Then you make your changes and press 'q' to stop. Now you can repeat that sequence of commands with 'Q'.

It turns out that macros are really useful, but I would rarely use them because it's just so awkward to press '@' each time I want to apply one. Unfortunately, '.' doesn't repeat the '@' command to apply a macro. I would often find myself mechanically repeating things by hand, or else wasting time writing complicated sequences of :s/substitution/commands/. Now I use quick ad-hoc macros all the time.

The speed and convenience are the real key for me. You might call it synergy, or a tipping point, or the straw that breaks the camel's back. For me, 'qq' is just a little bit faster and easier than any other register. Repeating 'Q' is just a little bit nicer than typing '@q' followed by repeating '@@'. (It's also kinda nice that it's all the same key.) Macros are nice, but two carefully made choices that each are only slightly better than the alternatives combine to make something vastly more useful. In my mind, 'Q' is almost its own thing, separate from the idea of other macros.

Now that I use macros, I've discovered some useful patterns. One technique I often use is to include a final motion in my macro to move to the next place I want to change. For example, maybe I want to edit several lines in a row. I press 'qq', make my changes to the current line, then press 'j' to move down a line. Only then do I stop recording. After that, I can just hold down the shift key and press 'Q' repeatedly until I'm done. Even if my changes are simple enough that '.' would work, it saves me from making mistakes when bouncing back and forth: 'j.j.j.j.jj.'. Oops.

You can do that with any motion(s), and I often use 'n'. Sometimes finding some simple marker text on each problem line is easy, but using find-replace to make the actual changes requires a hideous regex. In those cases, I'll do the simple search, record a macro as I make the first change, and finally press 'n' to move to the next match. Then I just lean on 'Q' until I'm done.

Sometimes I'll also throw a 'zz' after the last motion to center the current line in the window so I don't have to look around to locate the cursor when a change scrolls the window.

Normally 'Q' enters Ex mode, but so far I haven't found much use for that. If that ever changes, I'll probably use a <leader> mapping to get Ex mode back. Using something even a little bit slower than 'Q' would destroy the effect. I forget where I originally learned this mapping.
What kind of crisis are you expecting that would prevent Norway from importing food from Sweden, the UK, or continental Europe, but would leave domestic food production intact?
Good work!!!
Meta question: is there a sneaky HN term for when an article gets to the front page by being referenced in another article that is on the front page? (this one is from the WCF post). Something like "Piggy Linking"... but better...
I'm not positive, but there are a solid number of reports of people being pretty much being billed for the sum of the numbers that are in "Data Usage" on the Android device. This is exactly what happened to me. The number on my Verizon bill was what my "Data Usage" number said, not what the real used data was. Not sure if this is a carrier, AdBlock, or Android issue. It's definitely dishonest of Verizon, but it doesn't make me trust AdBlockPlus at all, either.

No way the carrier had spyware ON my device. Was running a Moto X dev edition with a Custom ROM & kernel at the time.

Google the phrase "adblock plus data usage android" and read some of the forum discussions / reports about the whole thing.
Great to hear there's something shiny for the developers to work on, but as a paying user, there are some massive regressions they have introduced and apparently won't fix. Their twitter customer service is particularly glib.

Want to find a track in your a playlist? Or go to an artist page and find a track within that? They removed the filter functionality ages ago and are very opaque about communicating updates.

https://community.spotify.com/t5/Live-Ideas/Desktop-Bring-ba...

By co-incidence, it looks like they announced something on this ticket today. But it doesn't excuse their past attitude.
And another example of this, but not using macros, would be Rebol's parse which is a top-down parsing dialect (internal DSL) within Rebol.

ref: http://en.wikipedia.org/wiki/Rebol#parse
Attacks don't really scale like that. If 2048 bit prime field discrete logs fail, all of prime field discrete logs (and with it probably RSA) will probably be done for.

There is, as I understand it, a huge performance penalty for using keys larger than 2048 bits. People should just use 2048 bit keys, or stop using conventional prime field public key algorithms altogether, is what I think.
What would be your opinion on redis on a windows machine? Is it "production" ready?
The difference is that police and military have very well-defined protocols for oversight, carried out mostly in the open, with multiple authorities being involved and clear chains of responsibility. If a policeman shoots an unarmed man, there will be investigations and trials, and somebody will have to say why it happened as it did (maybe the policeman, maybe his bosses, maybe a mayor, etc). Punishment may or may not happen, but there will be a process carried out mostly in the open.

For the NSA, that's not the case. Do you think cracking Google networks and the likes were "legitimate actions"? Who decided about that? Why did they need to do it, considering Google was already cooperating? Why did they lie about what they were doing even to the authorities they supposedly answer to? They basically dished "network brutality" with impunity, and now there is no process to hold anyone accountable.

With the NSA, we now know that what they "could" do, they actually did do, and unlike all those other corps, now there is no way to hold anyone accountable.
I wasn't talking about whether other leaks have been more damaging, I was talking specifically about the lack of nuance contained in the Edward Snowden hero/villain dichotomy.

We can talk about the White House's absolutely shameful wrist slapping of Petraeus, or the leaks mentioned in the article you source, but that still doesn't address whether Snowden messed up when he facilitated the NYT in releasing unredacted information. Just because hypocrisy exists doesnt mean that anytime we critique someone we have to also bring out a laundry list of other people who messed up even worse.
I closed my PP account 2 years ago and would never consider using the service again. Once upon a time it was a necessary evil, now it is no longer necessary (just evil).
Look at murder rates that are harder to overlook. The murder rage amongst black men is about 8-10x more then white men.

Obviously historical racism is the huge cause here. But you cannot just write off the crime rates due to different policing.

Poor Black neighborhoods are simultaneously over and under policed. Gangs and criminals have free reign and then cops capriously make a show of force.
There is the same trend now with javascript. Before you could run javascript in your browser. Now, you need to transpile it from ES6/coffeescript, then you need to use the dependency manager with some npm/yeoman files, then you have grunt to configure for some reason, then you need to configure your framework specific tools (ember-cli etc.), wait! Did you compile your templates? And then you have exactly what java was criticized for, a ton of configuration and loads of crud around your code.
Only a good idea if they immediately convert to fiat, at which point they'll lose out on advantages of a price rise. However, the alternative is worse, as it's pretty easy to lose percentage points in value on any given day. I'd hate to be the guy who had to explain why yesterday's $1.00 payment was now worth $0.97. Perhaps a hedge would be to tie your paycheck to Bitcoin's value at the beginning of the pay period.
The computer that helped bring nuclear power to the world
Not necessarily small labels but the subreddit "listentothis" has been my source of interesting music for a while now. Its aim is new / overlooked artists. There is a "radio" like station as well which plays each submission in turn.

https://www.reddit.com/r/listentothis

http://radd.it/r/listentothis/music
I am not a cryptographer. I don't quite understand the distinction you are drawing with so little information. Care to explain what I misunderstood?
> How were you determining the accounts were stolen?

About 3-5 days after each payment was confirmed Paypal would reverse it due to it being unauthorized. More so the payment would show up as confirmed/valid initially, at no point during the process did Paypal make you aware of the possibility of the payment being reversed nor to help you confirm/validate that it was in fact authorized by the account holder.

> Also, as much as we would love to say companies are responsible for the security of our accounts, losing credentials is also a user issue.

Of course it's a user issue at a certain scale, but when it's that prevalent I am inclined to say that company is primarily at fault.

It was just a WoW account, so not a big deal for me, but I'd really hate to be a merchant or someone otherwise relying on Paypal day-to-day, that sounds absolutely horrible.
Is this an answer to The Next Web? They dropped this a couple of days ago: http://thenextweb.com/insider/2015/05/17/adblockers-are-immo...
Support Builds for Export Controls on Cyber Monitoring Technologies (2013)
I use my phone (Note 3) for texting, surfing, playing games, and talking -- in that order. Texting, surfing, and playing games are all better on a larger screen.
I'll never understand people who treat bang operators as if they can't be added into any modern browser. Which skips having to visit a particular website at all. If that's your "main selling point" I'd advise you take a look around what your browser is capable of.

Go to YouTube and Right Click the Search Bar Text Field. Click "Add as Search Engine" and then under the "Keyword" field put "!y" (or just "y")

Now when you use the Navigation Bar to search you can type "!y this will search Youtube".
Changing the name makes sense to me. Type safety isn't want people are looking for at the moment. The trend they're most related to is reactive programming, so they want a name that evokes that. It's a smart move.

When Automattic announced the WooCommerce acquisition the other day, I came across a comparison grid of their competitors. It turns out that there are popular e-commerce platforms that I'd heard mentioned before, but had no idea what they actually did because their names had nothing to do with commerce.

Names matter.
Some very good thoughts in this.
This problem, applied racially, leads to an uncomfortable question. If black communities are less effective than white communities at "self-policing", why is that? Is it because of externally imposed social structure issues (the consequences of racism), or is it because of internal nature (blacks are less intelligent and moral than whites)?

You have to start with this raw, painful question. Either you argue for racial inferiority, or you acknowledge that the problems are truly from external rather than internal sources. Once you acknowledge that, complaining about "self policing" sounds like blaming the victim, because it is.
Part of why those other providers sprung up is because PayPal is a big bag of dicks.
I think JFS still has that problem, if Wikipedia is accurate.
Their pricing page says: "Processing more than $80,000 per month? Send us an email at sales@stripe.com"

You should ask them, not us.
FTC charges four cancer charities with fraud
Crowdr – docker-compose alternative in 100 lines of Bash
Harvard has top performing academics, but not especially the best teachers or classrooms, especially for intro/undergrad topics.
I know I'm cruisin' for a brusin' with the crowd here but this all just reeks of entitlement. If you don't like the ads on a site, don't go there. Problem solved. I stopped going to Slashdot when they added the IBM ads because for some reason it used a lot of CPU. I don't feel like I'm entitled to the content on that site -- they put the content up, pay for servers and in return if I want to read it I need to live with an ad on my screen.

I guess you can argue semantics and how it's your bandwidth so you can decide (although, it's their bandwidth too...) -- but the reality is that by blocking the ads you're breaking a "gentleman's agreement" that someone is providing you something (that you clearly want if you're there) and in return you view the ads they have. If you want a "moral" way to block ads, blacklist sites with crappy/annoying ads.

I'm over the overly dramatic obsession with ads people have. They really aren't that bad, get over yourself.

> For every thousand people suffering from ads..

> It stresses the brain

> exhausting for humans and machines. Many Website owners force all these negative implications

eye roll

My experience with zero adblock has been pretty good - I discovered Atlassian via ads and really like their products. I can't remember the last time I was more than slightly inconvenienced in any way by an ad. I get more annoyed with the thesaurus powered rants than I ever will from ads.
Thanks for the article, very interesting. Just one point on the solution. To my understanding, you prefer a queue implemented on a DB because transactions guarantee that a task could not start unless the task before as succeeded and committed the required data on the DB. In our environment we run tasks on RabbitMQ/Celery. One of the nice feature that I believe exists also in Sidekiq is that it allows you to create chain (or more complex structure) of task and the worker itself will take care of synchronizing them removing your problem (when a task finishes successfully it commits on the db and triggers the next step).
The only problem we had where on entry points were we create the task chains and we fire them before committing the transaction. One solution was manually committing before firing the task. But that was somewhat difficult. What we have implemented was a Python decorator to have the tasks actually fired after the function completion (thus after the transaction commit). In Go we achieve the same result in a more simple way using the defer statement.
In my experience, all these solutions are local to the process that fires the task, so there is less risk of interaction with other process, easy to implement and more robust compared to other solution.
Ask HN: How do you include CSS/JS libraries?
I am the developer of Picnic CSS and I found several deficiencies in the current model I'm using [1]. I know now what works best for me, but I am also interested in what works best for you to make it easier. So, how do you prefer including external front-end libraries?

1. Use a CDN to include the external minimized file.

2. Use bower or other front-end package manager to integrate the developer files (SASS). If it's other, which one?

3. Download the static, minimized file and include it manually (either in your build system or just as another stylesheet).

4. Clone the repository to make sure that you're always up to date (I think this was common before front-end package managers appeared).

5. Other. Which one? How? And why?

For me the 1. works best for small and fast projects and 2. works best when heavy personalization is needed. So, which one(s) do you use normally?

[1](https://github.com/picnicss/picnic/issues/39)
As I say in the other reply to this message, your position is that there should be no 'free trade' agreements. That's a potentially respectable position, but one corollary is that we would not be having this discussion right now, for computers would be too expensive for all but the relatively wealthy to be using them for things as frivolous as political discussions.
XFS doesn't have an impressive track record when it comes to data loss, either. Come on people, every filesystem with large number of users has had their screw-ups.