skysight-inc/HackerNews huggingface dataset:
It's a good question. I've been in touch with Maxmind's legal team before and they were happy with what we were doing, but that was before we had started building out our custom data.

My thoughts are:

1) We're not modifying the maxmind DB. We download their MMDB file and leave it completely untouched. Our code basically does something like this:

if ip in custom_db
return custom_db[ip]
else
return maxmind_db[ip]

2) Our database is openly available via our API. Anyone can access it without needing to signup etc.

They're the principles I've been operating under, but I'm not a lawyer, and I'll definitely go consult with one to get a definitive answer on where I stand with this. If it turns out that we're not meeting the license terms then we'll certainly make whatever changes necessary to ensure we do.
I enjoy satire, but so many of these pieces are barely satire.
I think the convenience of having Lyft manage the logistics will mitigate this to some extent. Lyft carpools are scheduled as late as an hour in advance; if you've entered into a more long-term arrangement, more notice is required especially if you're the driver.
For Java, eclipse
There's been at least one promising idea floating around: using an IDE to draw out lifetimes, so you can see how they overlap. Something like slides 172/173 of http://www.slideshare.net/nikomatsakis/rust-mozlando-tutoria...
Seven billion people on earth with an annual global population growth rate of 1.2% = danger of human exinction.

Edit: Since it was unclear, I was trying to be sarcastic. There is no evidence that the human race is in imminent danger of extinction.
Python's pudb is extremely useful if you don't use a full blown IDE. It gives you an ncurses-based GUI debugger inside any Python app.

Snapshot debuggers like Google Cloud Debugger are probably the way forward. Alas it doesn't support Python 3 yet.
I expected a feature similar to UberPool but having the limitations on this being your daily commute is very cool. Encourages a different set of drivers and seems friendlier.
Wow, I should take a crack at it.

Any hints? Hah.
This war on math is still bullshit
> If you contact support, they will check to see if
> removing that version of your package would break any
> other installs. If so, we will not remove it.

This leaves open a window where a package with legitimately no dependents could gain a dependent between the author contacting npm and the review being conducted. You could likely prevent this scenario by immediately bumping the version number and uploading again so that requests for the most recent version of your package don't grab the version that you wish to unpublish (assuming that it's trivial to rectify whatever caused you to want to unpublish the prior version in the first place), but if an npm employee is capable of checking if an unpublish could "break any other installs" then couldn't this review process be automated? Alternatively, if npm supported something like crates.io's "yank" operation then a package author could opt to prevent packages from newly depending on the version in question without needing to first tag and upload a more recent version, and also without breaking anyone's code in case someone's already become reliant on it.
Yep, I'm pretty sure most studies have found that the #1 most popular reason people have for having children is "Whoops!"
Thanks, that makes a lot more sense then. Culture informs economy and vice versa, and it makes sense to study that. It just worries me when it looks like someone is advocating the elevation of economy over culture, especially when potential regulation is on the table.
Very well stated and I like the perspective you've put forward. Rational and, it seems, also quite healthy for the major stakeholders. Breaking 'new' artists is a big deal, and profitable in the long run - especially if there's SoundCloud analytics behind the scenes pointing to new targets. Without a doubt I agree the majors have been successful in protecting their role as curators of taste in their own way; they've always been in a pretty strong position. Totally with you that this is a great time to be watching the tech and distribution and rights discussions taking place in music.
For a Portal 2 ARG, Valve hid images in .wav files that could only be found using SSTV software.

More info: http://half-life.wikia.com/wiki/Portal_ARG
I first implemented a recursive solution using memoization. But the linear PAVA algorithm is faster. Not sure what else I was thinking about at the time, this was 7 months ago.
I've done a bit of work with Rails' js tools. I hear they're getting better in 5, but I haven't paid attention to them in a while. Last I looked, they were great if all you wanted to do was take a basic html form and make it act pretty much the same but actually submit via ajax. If you wanted to do anything more complex, it got tricky.
interesting. didn't lyft start off as zimride which is a carpool app?

https://zimride.com/

http://techcrunch.com/2014/08/29/6000-words-about-a-pink-mus...
Not knowing hacker news and pubpeer overlaps
Haha, you'd hate the game dev industry then.
Since this is limited to one passenger only, would this allow for drivers that have two-door cars? I'd love to use this all the time if that's the case :)
Your "control" of your code is an illusion if you publish it as open source. This policy now makes clear the way it already works (or should have in the case of last week).
So wait...if I depend on a package but the developer randomly wants to remove his work from the Internet and become a recluse, my entire site breaks?

What if I just don't want to be bothered anymore by having to rewrite entire modules I depended on?

NPM jumped the shark a year or so ago. A package manager vitally depended on should be forced to work for free. We are all going to suffer from Isaac's leadership on NPM.
Yeah... I just vaguely remember something like this popping up in the past. I guess it was a slightly different issue. Your suggestion would work, or at least only showing up in feeds until the collaboration has been accepted.

What's your /graphs/traffic page look like? Have a lot of people checked the page out?

https://github.com/719Ben/notice-me/graphs/traffic
Seems like his benchmark is not really measuring a realistic use case. Typically a client-side rendered application will have a big blob of external script (i.e. the application code) that it will have to pull down before rendering can begin - in his example the client side rendering code is A) tiny, and B) already bundled into the page itself meaning that there isn't going to be any delay on client side rendering once the html is downloaded.

Server side generation helps when there is a large amount of application javascript that needs to be downloaded before rendering can begin on the client. Having some html bootstrapped from the server means that the user gets a faster first paint time (though the page is admittedly non-interactive) which gives the impression of a faster page load.
>> Inflation eats away anything you try to keep for a rainy day, while at the same time reducing the value of your paycheck.

> Inflation doesn't eat the value of stuff. If you own a home or stocks then inflation causes their value to increase proportionally.

The paper-value of one's home does not matter. Everybody needs a place to live - the next liquidity event will be after they die. You're advocating the fallacy behind the continual housing bubble (and all these renovations people do for personal comfort but lie to themselves about it being financially beneficial, but I digress).

Stocks are one of the least-worst places to park savings. Which forms a bubble of dumb money "investing" in things it knows nothing about, but simply following the herd to safety (and then following it out).

Savings are what gives individuals power and autonomy. Debt creates an obligation which must be continually serviced. If one is reliant on their income, they lose the power to walk away from their job. The only bit of flexibility they have is to play different masters off one another, but given what's at stake the employers certainly know this game and compete as little as possible.

Analyze your own position. Calculate out how many months per year you have to work for previously-rare survival goods of food/clothes/electricity, versus how many simply go to paying (a bank) rent on housing/etc. Then look into how much it would actually cost to build a dwelling, versus how much of that cost is solely due to being financialized. Running from the bogeyman of deflation, we've basically recreated indentured servitude for the modern day! It's no wonder the middle class is fading - when your personal autonomy is the difference between two large numbers, the only answers are go big or go home.
SoundCloud Go is not available in Germany. It's kind of ironic given it's a Berlin, Germany based company.

I wonder if this is due to GEMA preventing them from offering Go for an acceptable price. Unfortunately many services (including YouTube) have this problem.
In what sense is it fraudulent? A straightforward exchange of money for policy doesn't require anybody to lie. The harm is from the disloyalty and lack of integrity of the elected representative. And making policies in order to get money is disloyal regardless of whether it's illegal.
Vimwiki: Personal Wiki for Vim
Good debugging is a lot like good science. You start with a firm understanding of the system, form a hypothesis about what could be wrong with it, test your hypothesis, and then repeat. The stronger your initial understanding of the system, the faster you can debug things.

As a Python/JS developer a few print/console.log statements are usually all it takes for me to figure out what's wrong with something. For more thorny situations there's always PDB/chrome dev tools.

At the end of the day, the people who are the best at debugging things aren't that way because of the tools they use. They're the best because they can clearly visualize the system, how data is flowing through it, and where potential problems might arise. Intuition from dealing with other similar problems also helps.
Self-interest is not necessarily myopia. The problem in your example is that payroll somehow affects a manager's bonus which is asinine (not saying it's not common).
Update2: persistent volumes are still allocated only in the same AZ with master container. Hence, no HA databases (only manual volume provisioning is possible).

I still wonder what is the primary use case for Kubernetes (or Docker Swarm, which has similar issues) if high availability is so low on the priority list.
AYLIEN News API
WebStorm has a pretty good debugger. Also if you choose to use other JetBrains product it will feel very familiar.

I've never read about specific methods on how to do this "by the book". I'm usually doing ( for NodeJS ) :

1. Set a breakpoint inside my NodeJS 2-3 lines before the exception that I got.

2. Run debug mode

3. Do what I need in order to reach the breakpoint

4. Analyze the variables inside ( via watch ) or run code in that function ( via console )

Helps a lot more than `console.log(some_var_before_exception);` :D
Might not be a current sitting Senator.
JQuery: The Good Parts
Ask HN: Why Recruiters still believe in cold emails
I'm a SWE in the bay area with 8-10y of exp. I get about 1 to 3 cold emails a week from recruiters about positions. I'm talking about basic emails. Here is the most recent one:

"I work at a tech startup called XYZ we’re a NN person team and we recently launched into the SF Bay area. We work with some of the best SF tech companies from early stage to IPO, such as AA, BB, CC, DD, and EE. Our mission is to discover the best talent bla bla bla blabla... Would you have a few minutes to chat sometime today or tomorrow?"

First of all, how do recruiters get my private email address? I don't share it, only with a few close people or my current employer (as well as the ex-employers I guess). Second of all, why in 2016 recruiters don't make any effort in trying to get attention from people who already have high profiles, great jobs and no reason to look for a change? Just curious... there's absolutely zero innovation in that space.
That's assuming it's your code. Most of the time it's not your code. While one would hope that the rest of the team writes flexible code as well, that's not always the case.
Neat that a "ridesharing" company is finally helping people actually share rides.

I imagine something like this would be a lot easier for municipal governments to swallow, compared to the current "not a cab but yes it's actually a cab" model.
I don't understand how research can possibly be published and properly evaluated without everyone who can contribute to it not having access.

For CS, some of the best minds of our generation are not tied to a university. These people who could otherwise help the world are barred from some level of introspection for papers.
For PHP: xdebug.
For JavaScript: Chrome debug tools.

Logging doesn't give you anywhere near the power the a good debugger does.
If you haven't, scroll down past the email address.

There's the issue with image compression admist noise, but there's a second issue with GIF animation compression specifically which makes the math I provide a complete sleight of hand.

I dicuss the GIF file size issue and the quest to minimize it in my original GIF post (http://minimaxir.com/2015/08/gif-to-video-osx/), which is why I think mechanics of GIF file size are interesting and why I will write a followup.
Like the other commenter, I mainly use JS. The Chrome Development Tools are all I need. Breakpoints, conditional breakpoints, and walking through the call stack are the main tools. Adding watch expressions is pretty handy sometimes so I can quickly run through a loop with a breakpoint, just hitting continue repeatedly, and watch the values change while just hitting F8.

Next most important thing is the network requests tab-- seeing what data is coming back from the server, if any, is indispensable.

If I'm debugging minified code that we haven't set up source maps for yet, I'll find a string literal in the source to match up the minified code to unminified code so I can see what I'm doing anyway by looking back and forth.

When I have to reproduce a bug, I often use the FormFiller extension for Chrome to quickly navigate our forms without having to fill them out.

I use EditThisCookie (another Chrome extension) to modify or view the cookie as I work, or to delete it to start a session from scratch. I don't like Incognito mode because I don't have my extensions and it doesn't maintain breakpoints when the tab is closed and reopened.

With regards to the call stack, being able to black-box certain scripts is awesome. You can right click a script in the sources explorer on the left side of the DevTools and black-box it, which will stop it showing up in the call stack. No more jQuery / Angular / Underscore calls cluttering my callstack!

What else...whenever I'm debugging CSS I always just do it in DevTools so I can see changes on the fly to figure out the problem.

I also used to use the handy "debugger" statement now and then, although I use it less and less these days since it's the same as a breakpoint but takes slightly more effort. Mostly only use it when I already have the code open in my editor and don't feel like manually finding that point in execution in the DevTools....it's kind of like "go-to this line."

Ctrl+P in sources of DevTools allows fuzzy search among files. Which is awesome.

There have been times I've used the XHR breakpoints, Event Listener breakpoints, and DOM breakpoints, but it's really rare for me. Definitely though there are cases where I'm not sure where an event is originating from and these have very much come in handy at those times. Underneath those on the right of the sources you can also see a total list of all active event listeners, which is also nice.

I'll add more thoughts if I think of anything else...I guess I'm mostly talking about my tools here. With regards to my thought process, that's more complex...hmm. I guess I try to figure out what the desired behavior is, try to see what the actual behavior is and how consistent it is, then see if I can find the code that controls that part of the application. If I don't already know, I Inspect Element on the page, find an element id or something, then look it up in our code and follow the trail to whatever's controlling the page and relevant behavior. From there it's just careful examination of the logic to find the flaw, using all the tools above.
I don't know if libc ever was a Go dependency, but it isn't today.
>> late 1980s [... ]arrested Paul for selling pornography online

> This seems a bit odd to me

Understatement of the week. As you say, it wouldn't have been on the Internet. I know nothing about the South African BBS scene of the time but it would have been very small. And selling pornography online? How would you even have gone about that? That would have been cash transactions down in the corner. For downloading porn at 1200 bits per second.
WebTorrent Desktop – Streaming Torrent Client Built with Electron
How is exposing security flaws "rebelliousness"? If an University forgets to lock the doors of its offices and some "troll" walks in and drops racist fliers, which specific hegemonic structure is being fought against?
The patient would presumably consent first (to the notification emails).
SAP Unveils HANA’s Full-Featured Node.js Integration
This has always been the case, and if you'd like to be able to revoke distribution rights from someone at a later time, you'd need to put that in your license terms. No major open source license that I'm aware of features such a clause.
You can edit your name and email address. You can also update all your READMEs to say you no longer support the project. It's a lot better than breaking everyone's projects.
Two questions remain after FBI unlocks San Bernardino shooter’s iPhone
Lobbyism is legal so in this context corruption to be anything meaningful is illegal. Otherwise it's just lobbyism.

Fraudulent is one of the terms used to describe what corruption is it's adequate here.
> Once he witnessed the driver hit a person and then drive off, and then drop off my friend. My friend called the police, but I guess with Lyft carpool this type of thing wouldn't happen, or at least not as often?

Lyft would probably rate the drivers like they do normally and stop allowing them to drive for the carpool. You can't prevent accidents like that, but you can prevent those people from doing it again with your service fairly easily.
You are right, of course. Still, I don't understand why it is so low priority in container orchestration platforms. And how it is even possible to live without it in production.
Part of that is that any 3 developers will have 4 different opinions on what is clear, elegant, and modular, and what is a giant pile of mess.
Google seems to understand it perfectly.

https://www.google.com/search?q=SoundCloud+Go
People who say that there's no difference with a condom are either lying, have never had sex without a condom, or have a serious defect in their nerve endings. Doesn't matter what brand, quality, or style.

The only people I've ever heard of liking condoms are the ones that have trouble with premature ejaculation, where the [significantly] reduced sensation can help them last longer.
As a python dev, I either debug it in PyCharm, or I run it in the shell (especially if its a situation only in production).
> Developers should be able to freely refactor the internal design of a class as long as the public API remains unchanged

Is refactoring the only reason for doing this? To me it seems that when a developer refactors code they should also refactor the tests.

If everything (including private methods) are tested then the refactoring should be easier because they know ALL the code is working in the way it was tested. If there are a bunch of private methods that aren't tested then refactoring them could introduce new bugs that aren't covered in the unit tests testing the public API.
Corporations are hoarding cash because last time they did so the government caved and gave them a "tax holiday". They're doing it again because they believe the government is unwilling to take any actions to get at the money, and will eventually give them another "tax holiday".
Solotshi appears to be a very uncommon Congolese name. Le Roux's story starts in Africa, and the author alleges he was an arms dealer - maybe there's some connection there.

http://forebears.io/surnames/solotshi

Or maybe, as the above website shows, it's an alternative spelling for a similar Moldovan or Georgian name? I have no idea.
Almost everyone who is unhappy with life is unhappy for the same reasons
The story is really, really captivating and really Bond-ian. Thanks for telling it so far.
I'm on the fence if this is horrible or brilliant. On the one hand the technique has been available for decades, and UMich's Citi group did an interesting project to see if people could both exchange messages on Ebay using pictures of things for sale, and if so did any images on Ebay have steganographic content (at the time it was the largest source of user supplied images). They didn't find any (except for their own test images). But it presumably continues to be a channel people check.

Now you flood the web with images that have had data added to them, and it creates potentially millions of false positives. That then actually enables using the channel for covert conversations because so many images are now carrying data, they no longer stand out.

Anyway, given that a 2TB drive is like $90, so you can create a dual parity raid set of 6 for less than $600, that seems like way more storage than you'll probably use and if you amortize it over 3 years its way less than the cost of your Internet connection over that same time.
Learn to Code: 13 Tips That Could Save You Years of Effort
With the legal contest between Apple and the Justice Department terminated, two questions remain. Who at the Black Hat Security Conference will disclose how the shooter’s iPhone was unlocked? And, what should the privacy conscious person do to stop the government or other law enforcement or criminal entity from unlocking his iPhone?
Base pairs. I don't know the exact math and haven't ever done Westerns, but there's almost certainly a way of converting protein size (typically expressed in kDa) to base pairs, since theoretically a large enough quantity of bp would weigh as much as a protein of a given size.

The trick here is to understand that Western blots use gel electrophoresis to detect protein size, meaning that heavier proteins will not traverse as far as lighter proteins.
FYI: If anyone is interested in following along how markdown "conquers" the world of writing not just documentation but also books, notes, talks, etc. You're invited to follow along on the world's first markdown news channel @manuscriptsnews -> https://twitter.com/manuscriptsnews Cheers.
Doesn't have to be rocket science really, (unless that is what you are doing). For web development, it's code, refresh browser, repeat. With a tail -f on the application/server logs usually does the trick.

But I think IDE's can't beat real-time debuggers, like console.log or Ruby's bettererrors gem, having full real-time access to application logic/code at the spot, you can't beat that.
Lord of War taught us such people won't enter such businesses because the "margins are too small." I'd also guess it's not as exciting and brings in less attention from the ladies.
Is Stallman a new William Safire or Brian Garner? I never knew this was one of his areas of expertise. Oxford lists "doxx" as an alternate but accepted version. I don't have an OED license so I dont have access to the full etymology they use.

http://www.oxforddictionaries.com/definition/english/dox
StackStorm, OpenSource “IFTTT for Ops” Acquired by Brocade
relevant: https://www.youtube.com/watch?v=XJyMT4ZVQEc
I think you underestimate how much can be made from arms trafficking!