skysight-inc/HackerNews huggingface dataset:
Thanks to inflation, you don't have to actually lower salaries to effectively lower salaries. You just give raises that don't keep up with the rate of inflation. Employees with low ratings would usually either not receive a raise or the raise would be small (~1%). Low rated employees would also usually get small equity grants (under $5k/yr). But even delivering this kind of news is hard. If the employee has been through an EoY period before, they're conditioned to expect a nice raise and news like this feels like an insult.

As far as how to determine how much you're worth, you can look at GlassDoor and the spreadsheets that have been circulating. There's also salary data out there...not sure how you get it, but my company gave it to managers to guide our decisions on pay. They were dumb enough not to limit it the positions that we managed, so I got to see pay ranges for my position and even look at what I'd get paid in various other parts of the country. But the best way that I know of to gauge your worth is to spend time applying for jobs. Since most recruiters will drop you if you throw out an oversized salary requirement, it's not that time consuming to start at a number you know is over and work down to the point where you start getting put in their hiring pipeline. I also advise people to actually go through the full process as much as possible, as long as you can keep your current employer from finding out. When you come into the process wanting the high end of the salary band, you need to nail the interview process, and practice really does help you avoid being nervous and gives you the ability to read your interviewer better so you can give them what they're looking for. Also, for engineers, the hiring process can actually be fun when you remove pressure from the equation. If you don't care if you pass or fail the process, you're just going to try to solve problems and learn about better engineering practices which you can incorporate into your own work. Many places will even give you a free lunch.
> Even so, it will not change the system. It will only make it more difficult to conduct research in the future.

I don't see why. If anything it is in the academics' best interest to have their papers show up on this service as it increases access and probability of citation. Also please explain how more ready access to information hinders research. You are aware that academics make 0 dollars off of content submitted to journals right? 100% of the profits go to the publishers.
Well, that's the interesting question, isn't it.

Google offered a high quality service for free. (Well, "free" as in they're selling eyeballs to advertisers, but, you know. Internet free.) They aggressively promoted it to the entire world. Literally a billion people took them up on it and, after years of reliable service, have made it a central part of their professional and personal lives.

What is Google's responsibility at this point to not grief those billion people? Whether by bad April Fool's pranks, or anything else?

If the takeaway from your comment is that the world would be better if people paid for their email service, I wouldn't disagree. But how we get back to that point is not at all clear.
Sci-Hub has been discussed a great deal on HN:

https://hn.algolia.com/?query=sci-hub&sort=byPopularity&pref...

There were other major threads that don't come up in that search, e.g.:

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

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

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

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

But the current article looks like it adds new information, so we won't treat it as a dupe.
We had a similar problem with lag for code reviews, so I wrote a bot to nag the Hipchat (moving to Slack this week) channel and remind people that repos had pending PRs that needed review. This helped quite a bit of getting code reviewed.

Keeping PRs smaller definitely helped as well and now we typically have 3-5 PRs per day go in.
We use a standard GitHub process with a standard branching model (master and feature branches) for reviews. We require that each change is a separate PR and unless it's an emergency we require that each change is reviewed before committing. We tried dedicated tools for reviews but found them too much of an overhead.

Unlike some places with strict procedural requirements (e.g. Google with it's OWNERS and readability process) we depend on an honour system which given our size (~30 devs) seems to work rather well. We assume that doing code reviews is an important - if not the most important - thing in a dev's life so we spare no effort in order for the code to be reviewed properly while also not blocking others' work.

However, we heavily rely on tools to ensure that human reviewers spend their time on things automated review can't figure out. These are generally linters and code smells detectors (e.g. reek in Ruby) which run on CI (Codeship). We use these helper tools to push statuses to GitHub and we block merging branches on CI passing so if tests are failing - which might even be just for a stylistic issue - human code review process would not even start. We also use a hosted code quality analyser (codebeat - which is our own product) to track quality over time, keep everyone on the same page and help devs and reviewers focus on the right things.

Overall what we found out is that code review is a learning process and very thorough reviews for new devs help them ramp up very quickly so that subsequent PRs require less and less attention.
Been there done that for the last 15 years, it's one of the ways I make my living :) I love product businesses, they're a great source of semi-passive income. The lifestyle of choosing your hours & where you work is bliss.

But the OP asked specifically about earning money to replace a full time income, and consulting is a faster route to money. Product businesses take time to build an audience (you do have an email list of prospective customers, right?) and you're looking for thousands of customers. Whereas with consulting, you only need to find a handful of clients. Charge your client $100/hour (really you should charge more, or charge weekly) and you'll be so far ahead of most App developers. Which is easy, since most apps earn no money and many get no traction at all.

You could always try both. Split half your time into consulting, the other half into doing an app. See which works better and gets more traction. Hopefully the consulting half becomes unnecessary as the apps take off and become a hit.
I don't think lawyer fees imply anything about the code quality. See: HealthCare.gov fiasco.
To quote the Big Lebowski, "Donny, you're out of your element."

Publishers like Elsevier and Taylor & Francis pay nothing to acquire research papers, or for the volunteer peer reviews and edits. These companies have 30% profit margins. They are basically flipping a product back to the people who created it and need it, with literally almost no value add. They claim to be curators of content, but at the point we're at with the internet that role can be distributed.

Our tax dollars also paid for a lot of the research locked up behind these paywalls. I'm sure you knew your comment about Alexandra Elbakayan being a "petty thief" was going to be contentious. We went through this with Aaron Swartz already. Try looking at the depths of her position before you start supporting a position that drove a young man to suicide.

Edited for rhetorical stylings
Sadly, no. Ruby is not normally used for client side apps, so I didn't decide to spend time on that (like wit's new official library). You could easily modify the library to send audio files, though. Sadly, you still have the problem of getting speech from the user, normally a somewhat difficult process that this gem alone couldn't take care of.

But, if you'd like to send a PR for sending audio files, I'd very much love to accept it.
Non-bullshit habits job seekers should form
I worked with some ThoughtWorks consultants a few years ago, and I would say the author here is probably a diamond in the rough. This was a very good read.

ThoughtWorks needs to read this and particularly heed point #9. The primary goal of theirs during our month—or so—long consultation seemed to be to force a team of 40+ developers down a rigid and dogmatic path of TDD. They also advocated pair programming, but a lot of us (I'm extrapolating "a lot" from the unanimity of the few I was close to and talked to about this) felt like they were really just winging it; like they were apprentice developers barely learning the concepts of TDD and pair programming at the same time they were charging to purportedly teach us.

It was a frustrating and fruitless endeavor that taught our team basically one thing; don't work with ThoughtWorks again.
The Haxe Code Cookbook
One article claims there is $20 trillion hidden in tax havens.[1]

That sounds like a lot, but considering that this is money that has accumulated over the course of decades (say 30 years), and only a portion of it would be taxable (say 20%), that would give an annual revenue stream of $133 billion per year. If that all went to the US, that would be about 7 times more than is collected by the estate tax, which is less than 1% of government revenues, but still only about half of what is collected through corporate taxes.

(That $20tn estimate is actually global, though, but no breakdown by country is given)

My guess is that it would noticably benefit a country to stop tax havens, but not to the point of any drastic difference.

[1] http://www.bbc.com/news/business-18944097
Reviewing is switching gears as well. When you're coding you can't just jump into a code review mode for a moment. It's not a culture issue, this is IMHO inevitable for any work environment that requires deep concentration and immersion into the work inside your head.

So you'll want to batch the reviews somehow, based on your schedule. On the other hand, as a programmer, you don't want to be blocked by code reviews. So you'll want to finish a somewhat self-contained set of changes, push them out for a review, and continue on top of those locally. If the reviews suggest new modifications, you'll do those and rebase your local new work on top of those. It doesn't matter that much how the changes are reviewed as long as it's not blocking work. There should be an emergency vent for the cases when unreviewed changes do block significant other changes.
I used Phabricator at Facebook and I loved it, if only for the macros (memes).
Ask someone to do a review? Why would you ask, other than out of politeness with the clear expectation that the answer "no" should come with a solid business reason? It's their job. If someone isn't doing their job, then management has either not made it clear to them what their job is, or management needs to ask them why they aren't doing their job. To my mind, it sounds like what you need is for management to get their act together, sort out the review process and then enforce it.

I worked somewhere where a reviewer was assigned before code was cut. Once the code was ready for review, the reviewer became the publicly visible person responsible for that particular feature/bugfix/whatever.

People who had reviews sitting on their plate for too long would find themselves being asked questions by management about why they weren't doing their job and why they were holding things up [1]. We wouldn't put up with someone getting round to doing the implementation whenever they felt like it; likewise, we wouldn't put up with someone getting round to doing the review whenever they felt like it. As it was, this never happened, because it's part of the job.

[1] There are, of course, good and bad answers to this question, much as there would be good and bad answers to the same question asked of the implementer rather than the reviewer. The answer "Oh, I just haven't got round to it, I'll get to it eventually" is as acceptable as you probably imagine.
I wouldn't put it that black on white. Orthogonalising implicit state is just great for managing complex behavior. It's a very powerful tool, and it can be made foolproof on lots of cases.

But if two layers do IO, you'll almost certainly want the state to be explicit.
An overabundance of semicolons per line? A complete abandonment of python?
Be ultra careful when doing this.
First of all - make sure to get, validate and store the buffer's length (ByteLength())

Secondly - GetContents() is only for temporary access to a buffer. if you store that pointer and use it later (//do whatever), there's a great chance it will get garbage collected.
Make sure to Externalize() the array if you intend on keeping the pointer for later.
Interesting, that sounds like it works ok for two owners. I was at a place where I was the code reviewer for C programs[1], and its was every scheduling nightmare and being stuck in a fish bowl that you would assume. This was not distributed, so I would do the review then there would be a meeting where we went over the review. It was not fast development, but it sure was documented. One of two computer related activity that almost got me killed[2].

1) but, interestingly, not allowed to write any since who would review mine? sigh...

2) don't review really bad (MST3K-level bad) C code in a car with two C gurus (one of which was driving)
I find that reviewing code is a pain. Not just for me, but for the submitter too if I take too long / I am excessively nitpicky about code style issues. I don't think good reviewing tools exist right now. You can rope together multiple tools which require constant babysitting, but there's no good low maintenance all-in-one solution (or if there is, please suggest it!)

Anyway, given that caveat, here are my tips:

(1) Have a "checkpatch" script that can be run over the code before it is sent. This script should do all the nitpicky coding style stuff. If the submitter didn't check their patch, you immediately reject it (some projects automate this). Here is an example from the qemu project: http://git.qemu.org/?p=qemu.git;a=blob;f=scripts/checkpatch....

(2) Have something like patchwork, or github pull requests, or openstack gerrit reviews, which tracks which submitters have submitted patches, which is the latest version of their patches, and so on.

(3) Have some automation which runs the test suite against submitted patches and immediately rejects any which fail.

(4) Have documentation which tells people how to submit patches, what scripts to run, and encourages submitters to split their changes into reviewable commits. This is more art than science, but good coders will eventually get it. Here are qemu's instructions: http://wiki.qemu.org/Contribute/SubmitAPatch

Now when you review a patch:

(5) Apply it to your tree and make sure it compiles. Enable warn=error so no warnings can escape your notice.

(6) If it comes from a trusted submitter, and looks sane, I generally ACK those without a detailed review.

(7) If an earlier version of the patch was sent, go back and look at your comments, then check everything that you asked to be fixed was fixed.

(8) Go through each commit, line by line, and check everything. This is the tedious bit I'm afraid. But hopefully the previous steps will have rejected the worst mistakes.

(9) Try to be level headed and provide constructive criticism (even if the patch is objectively terrible). Also try to turn around patches quickly (I'm very guilty of not doing this, so do as I say not as I do).
Panama just passed compliance with FATF (February 2016) and it's a message that their political leader/law firm owner/world's largest money launderer (his name is in the OP's title) is no longer open for business after decades of being the go-to place for hidden $$$.

http://www.fatf-gafi.org/countries/#Panama

"The FATF recognised that Algeria, Angola and Panama have made significant progress in improving their regimes to combat money laundering and terrorist financing and will therefore no longer be subject to the FATF’s monitoring process."

Also let's not forgot about the CIA's asset Noriega and decades of money laundering which started all this, including recently trying to wipe cloud data off a Nevada company logs. http://www.mcclatchydc.com/news/nation-world/national/articl...

tl;dr - This is a multi-state G20 planned leak and not the work of some moral insider or hacker, the money laundering world is becoming a difficult place for outsiders. Real leaks don't have fancy websites with responsive vectorized portraits and a full on content /social media structure.
Paging David Brin to this.

http://earthbydavidbrin.pbworks.com/w/page/15607661/SecrecyU...
> Can you cover the cost of everything at once?

Yes. That's why I said that I could cover the replacement cost of everything. :)

My real loss would be the data that doesn't have offsite backups. I'm unaware of any RI policy that will cover highly-competent data recovery services. (And if one exists, I expect that it will be outrageously expensive.)
http://www.swig.org also supports V8.

Does anybody know if NodeJS uses SWIG?
Quebec seeks to block access to non-government online gambling sites
Conversely, if there was an oversupply of labor prices would come down. Note that I said labor is scarce, not that there is a shortage.

The fact that prices remain high suggest people are choosing not to work, not that their labor is worthless and they can't find any job. Why do we need a BI if labor is valuable and people are merely lazy? Why do we want to make a scarce resource even scarcer?
Panama Papers: The Power Players
My experience is more as a roadblock than as somebody getting code live (although I have been held up by my own cursed rules a couple of times). I'd have to say that I really appreciate the calendar approach - it gives me a time slot to think about the code, and more importantly it forces me to stop prevaricating and make a decision so that I'm no longer blocking others
" Engineers had some power, the project never changed direction and they could work out the design and implement it carefully, managing technical risk."

I've seen the opposite more often: Many a waterfall had poor assumptions made up front without a lot of technical risk management afterwards beyond "helicopter parenting" from architects.

Most successful agile teams I run into, engineers hold most if not all of the power to design and implement - the product owner wields ultimate power over function and priority.

"When Agile came along, the idea was to change direction every two weeks, but within the two weeks the team does not take on any distractions. "

That's Scrum's approach. Modern XP Shops I've tended to see adopt iterationless approaches, where there is a retro and planning session every week or so, but not really to recognize "iterations" per se. Features are delivered when they're delivered, deployments and releases are automated so they can happen whenever the product owner wants.

Biggest point of success, however is to eliminate project management as we usually know it. There's a product owner, and a product manager and they are usually an empowered customer paired with someone that knows how to build "products", ie. A focus on learning and testing rather than the certainty demanded of most projects. Project managers become at best glue players that protect the team from organizational antibodies.
Well, it is actually pretty interesting how the information has been managed in case. The press wants their own piece after they lost the previous major leaks completely. It's actually pretty relevant discussion about the future of an industry that has been in slow decline for the last decades. In case someone interprets that as sarcasm or sensationalism that is probably an attitude problem, or perhaps an issue with low media interpretation skills.

I have found Hackernews as one of the islands that really acts still like penguins. Strong engineering culture, and just like penguins people just love guarding their rocks and throwing poo at others, just in certain style that is very typical to technical communities. Sarcasm should be the last of issues when compared to that.
Selected quote:

"The ICIJ findings include evidence that:

- Offshore companies linked to the family of China's top leader, Xi Jinping, as well as Ukrainian President Petro Poroshenko, who has positioned himself as a reformer in a country shaken by corruption scandals

- 29 billionaires featured in Forbes Magazine's list of the world's 500 richest people

- Icelandic Prime Minister Sigmundur David Gunnlaugsson and his wife secretly owned an offshore firm that held millions of dollars in Icelandic bank bonds during the country's financial crisis

- Associates of Russian President Vladimir Putin secretly shuffled as much as $2 billion through banks and shadow companies

- New details of offshore dealings by the late father of British Prime Minister David Cameron, a leader in the push for tax-haven reform

- Offshore companies controlled by the Prime Minister of Pakistan, the King of Saudi Arabia and the children of the President of Azerbaijan

- 33 people and companies blacklisted by the US Government because of evidence that they have done business with Mexican drug lords, terrorist organisations like Hezbollah or rogue nations like North Korea

- Customers including Ponzi schemers, drug kingpins, tax evaders and at least one jailed sex offender

- Movie star Jackie Chan, who had at least six companies managed through the law firm"
Does V8 have easy conversion between V8 classes and std classes?

converting a V8 string to an std string and back by first casting to a null terminated char array seems very cumbersome and error prone.
It was a tough call, for me too, thx.
Newsletter on Linux and Open Source
> What really pisses me off is that Greece expects other EU-countries to provide free money to them

This is how every functioning federal system works today. Surpluses are recycled from the higher output regions into the lower output regions.
iDGLAX iDG-787 LCD Video Multi-Media Mini Portable Projector
Pretty much, yeah. Managerial 101 builds on introductory financial reporting. The biggest difference between them are the intended users. While financial accounting is all about accurately stating your financial position for tax authorities, capital markets, banks, and other potential users, managerial accounting is internal. It's for managers and decision makers to give them the most accurate information possible. Because of this, there is no consistent standard used in managerial accounting like there is in financial accounting (GAAP or IFRS), but its largely similar I believe between different companies.
A "petty thief" he says. I'm thinking you don't know what petty means. "Petty" would be the exact opposite. Just for the sake of argument, let's say she's a thief. The theft here is for the purpose of freeing up science around the world instead of it being locked away by people who didn't even contribute to the science. In many cases, the science is publicly funded.

So freeing this information is not petty, in many ways it's selfless and honorable if you look at what can be done with it. A 'petty' thief would be somebody who rips out some of the copper from your home creating thousands in damage just to make a measly $10 from it, which could have been easily earned, possibly for less work and less time. That's selfish and petty.

get it troll?
Also don't allow commits which break "git bisect". There are two ways to deal with this, either force all commits to be complete, or document that some patches will need to be squashed together before they are committed to the upstream repository.