skysight-inc/HackerNews huggingface dataset:
"Decoupled Schema & Code Changes: When schema changes and code changes depend on each other rollbacks are really hard. Decoupling the two isolates risk and makes it possible to go back to a previous version of an app without having to also figure out what schema changes need to be made at the same time."

I'd really like to know how you do that.
> Using past performance as an indicator of future performance is often fraught with peril

It's a useful turn of phrase, but not good reasoning. It would be unwise to ignore decades of history because of a lack of certainty. Arguably, college degrees and intellectual skills will become more valuable in the future, as more and more jobs demand it. Demand for unskilled labor is decreasing.

Also, my analysis is that people who spend four years in a guided program to acquire knowledge and skill among the resources of a university (experts, teachers, labs, etc) will be more knowledgeable and skilled. I don't think that's controversial.
It need not to be commercial service. For example, Wikipedia is a donation-only service. A bot visit is generally not different then most user visiting (I'd assume most users don't donate anyway). Wikipedia doesn't really mind serving users that aren't donating, but the bot, while generally not different to normal user, are stealing resources away from actual users.
“Gangnam Style” Breaks YouTube’s 32-Bit Barrier
Yes, I meant the former. I didn't mean the latter since that's your conjecture (three in fact: 1. VAT boils to sales tax; 2. sales tax is regressive; 3. VAT is regressive) that I don't necessarily agree with.
Where are you located? I've never seen that happen, is it commonplace?
Do you mean condescension? Not trying to be a smart ass, I just got a chuckle out of the word choice.
This looks pretty neat!

I've started writing a scraper around the WebKit implementation that comes with Java 8 in Clojure. Lately I've been toying with the idea of trying to put a Conkeror-like browser together that's extensible (well, to some degree) with Clojure code.

https://github.com/cmiles74/scraper
yeah EJBs are dead. check out dropwizard
Ask HN: What is your self-hosted blogging platform?
I've used ghost before, and it was great, but I'm always open to other suggestions.
That doesn't work either, because the app users read can be totally different than the app that ends up running the next time the DOM updates itself in the background.

See? "Fun" problem.
You can go either way. It's more likely that they'll print a cover letter to go along with the resume if you attach it as a separate PDF, though. They might just ignore the email and print the resume, otherwise.
> Automated and instant CAPTCHA image solving

How do they do that? This sounds like whitehat use of blackhat tools. Are they using captcha-solving farms?
I agree and am a bit disappointed by the prevailing blind spot on HN to exactly that privilege.

I agree there shouldn't be as much emphasis on a bachelor's degree as a requirement - it's ridiculous to need a 4-year degree for most entry-level positions - but to attempt a solution by prescribing the universal cure-all of "learning the material yourself" through eBooks, tutorials, and MOOCS isn't feasible.

Most people don't have the initiative or free time to complete any serious course of self-directed study (why MOOC completion rates are abysmally low). That doesn't mean they're immoral, lazy, or worthy of condemnation - it's simply a very common learning style. Being a true auto-didact is rare.

The notion of going it alone also completely disregards the necessities of non-STEM careers. Although you might be able to at least attempt learning a subject like physics or mechanical engineering in a vacuum (though I don't think you'd get very far), it's simply not possible to grow in writing, rhetoric, or many of the humanities, without a dedicated dialogue between authors and evaluators. Writing for your blog is not enough to improve your style as a writer. The best advice on that front is to have someone savage it. College provides the critical space, time, and learning community to accomplish this. It has serious flaws, but there's a reason much of the West has adopted the (originally German) model of the modern university.
Underwear that guarantees No Swamp A**
> Servers That Take More Than 30 Seconds to Start Suck

> For developer productivity and so that scaling up can happen instantly, servers should startup quickly.

Of course, a Java programmer takes it for granted that you restart things every time you change code. But that sucks.

Servers should start up quickly. Well, what if they don't? What if they don't for some good reason?
Public libraries don't block access to Twitter (and also carry copies of Huckleberry Finn).
> That's a very important distinction - music theory in its current state is completely undiscoverable for no good reason.

I don't doubt that it could be improved, but I don't think it's all that bad, considering how many people do learn music theory.
I really don't understand why some of these low-grade DNS hosting services are so popular when Route53 is available. With Route53 you get a top-grade DNS service that is equivalent, if not better, than the enterprise hosted DNS solutions but at the price of the low-end consumer style services.

I swear by Route53, it is the only service I use on AWS and I have moved a lot of my clients over to it.
My point was that even apps that do need a UI can be written without Java using Go.
The elimination of poverty is certainly a worthwhile goal. I don't have a whole lot of disposable income, but I've been lending (rather than outright giving) through kiva.org for years as a means of doing my part...
Any reason why it makes sense to ask for two different passwords? If we're going to trust the Javascript, then does it make sense to derive the server-side password from the same client-side password?
This author talks about POSIX as if a bunch of people sat down and invented a portable OS API. The reality is closer to: a group of people at AT&T created Unix, a number of other companies and universities modified Unix, and then people sat down and said "how can we unify the APIs of the fragmented Unix world"
I was accused of "destroying" about 20 laptops (didn't boot) in 8th grade, because some other kids called me a "hacker". Later I realized that the system administrators of the school had probably broken the bootloaders or partitions and were incapable of fixing it, so they blamed it on "hackers".

All computers are full of surveillance software (Apple Remote Desktop), and there is a person constantly monitoring them (in the library and in classrooms).

The internet can only be accessed through a firewall blocking content that really shouldn't be blocked. Pages like nmap.org are blocked under the phrase "hacking".
Minecraft and any pages related to games (like wikis), or even slightly related, possibly completely unrelated, were blocked for for the reason "games", as if that would have stopped people from bringing them on a USB drive. At some point I had a school project about Minecraft and was told to research. I could, but that was because of my SSH socks proxy.

It's sad that Google gets set to "safe mode" and deactivates HTTPS when accessing it from a specific IP address on the will of schools. However, that's great for WiFi sniffing and practicing the use of Ettercap.

Don't ever accept a school-provided device without removing whatever OS or ROM there is on it and flashing/installing something new.

Great choice of Arch Linux tethered to the phone (me too).
>We keep battery consumption <1%

What does that even mean? 1% per hour? per day? 1% of your phone's battery? of my phone's battery?

Meaningless statements like the one quoted do not inspire confidence in you or your product.
I still don't buy your logic. How is a transaction tax (sales tax) practically different than a gross income tax?

I'm all for simpler algorithms, but assuming that's our goal, I'm not sure all this discussion about income taxes isn't starting from the wrong point. We should be looking for taxes that are relatively easier to enforce, like property taxes.

EDIT: Yeah, I looked it up:
http://en.wikipedia.org/wiki/Gross_receipts_tax

There's drawbacks to that sort of scheme, but it's certainly feasible. After all, individuals pay taxes on their adjusted gross revenue (income).
Container runtimes like docker make it much easier to inspect the application environment and arguments. A short `docker inspect <id>` will show you everything that is relevant to the app (environment, arguments, and much more).

One thing not to forget is that env variables are inherited by children, which may be relevant if the app forks.
Follow the instructions here:

https://support.google.com/mail/answer/14300?hl=en

Google has ~1 billion users, this isn't a terribly uncommon problem.
As dev for a fellow health benefits enrollment Saas (spotlite.com), I have strong opinions about this. This is like an online retailer having legal action taken against them because "it's not fair" to cut the distributor's fee. I'll be doing a writeup on this tonight. /rage
Using Python with Wikipedia and Google Trends
As long as it behaves like a human, what difference does it make if it's actually a really sophisticated bot?
You should give sphinx + latex a try.
I have my own cookiecutter template for docs and it's never been easier and fast to write some good looking documents.
“Deep Reading” Makes Us Smarter and Nicer (2013)
As someone who once tech-reviewed a Microsoft Press book, I don't see how there's any economy of scale there. They just hired me as a freelancer, after seeing a post I made on a forum.
8,000 Uniques: From Weekend Node.js Project to the Front Page of HN
No charges in Eric Garner chokehold case for officer
Hi all, if you want to give it a try, I've just added it to the MaterialUp submission form.

http://www.materialup.com/submit
Where are you supposed to click if you're a robot?
Sure, for the bot. Captchas are pretty effective against bots, what's wrong with presenting the status quo to a bot? This is meant to improve things for the real people. I will appreciate not having to decipher some strange text.
When looking at those charts, I would disregard the relative density during the IPO madness of '98-00, time when IPO was the default option for companies that should have never been public, to great retail investor fanfare, massive speculation, and ultimately untimely demise. Also, take out outliers (say Facebook and Google), periods of recession, adjust for inflation and all of the sudden, they don't look that much different (perhaps if you also squint a little or close one eye).

These charts only include tech, but there are other industries, too. For example, we had an explosion of IPOs in oil & gas LPs in the last couple of years. How is it not burdensome for a $250mm oil and gas LP to go public but it is for say $1bn tech company?

Make no mistake - there is nothing that would stop any of the companies you listed from going public (and I am pretty sure they will all be public in due time). For now, it is a matter of focus and choice. They all have access to great terms in the private markets. Given access to capital, it has always been more advantageous to stay private for as long as you can. For one, it allows you to focus on metrics that are relevant to your business (say nights booked or payments processed) and growth and not be distracted by GAAP measures and what equity analysts think you should measure. Also, there is no "stock ticker" distraction and a bunch of other reasons.

This all changes a bit when they get into the acquisition mode, as having liquid acquisition currency in form of publicly traded stock helps make bigger and bolder moves. It's also nice to give some liquidity to early employees as well.

While this dynamic may suck for growth oriented retail investors and mutual funds, I think it works well for the companies in question and at the end of the day - that's what really matters.
Summary is in the middle: "Smartphones have exacerbated the monkeys and typewriters problem," says says Paul Kedrosky, a veteran investor. "Given enough people with smartphones, a teen from New Jersey will turn his bar mitzvah money into $300,000, purely by chance."
NMC is a little different and goes beyond wasting a users time choosing colors. This is passive user authentication detecting human vs bot and bot vs bot. Today is an announcement of more platforms that can use it. Worlds most user friendly login protection in more flavors: #ClassicASP @DotNet @Drupal @Joomla #JSP #PHP

http://ow.ly/FiuTi
>> When you increase such “cognitive load” on someone’s frontal cortex, he or she exhibits less self-control on subsequent tasks—just like muscle that’s been exercising hard, then balks at having to move you one step more. <<

Everyone cites this as fact when in reality the science behind it is very shaky.

See this study from Stanford:
http://news.stanford.edu/news/2013/august/willpower-study-su...
Good point. I should have put more details in there. I prefer static typing with good type inference because it allows me to have a compiler validate a lot of my code pre-runtime. Otherwise I'm left with tests and actually running all of the code to do that validation. The value of this for large code bases has been worth the tradeoffs in my experience. But since this is one of the most debated things in programming I don't expect to sway anyone. I'm happy to leave this as an item of "it depends" / personal preference.
Is it actually confirmed that this came out of North Korea?

There's a fascinating half hour documentary I watched about a university over there for the sons of the higher ups, they actually give select students unfiltered access to the internet.

http://youtu.be/2zDYrFE985g
I am starting to detest articles that do not provide any comparisons to the numbers they throw out.

In 1974 and 2009 there were 648 and 59 murders in Manhattan respectively.

While in US total in 1974 and 2009 there were 20710[9366] and 15399[15350] murders respectively. Number in square bracket is alternative number from data in second table on cited page below.

Thus it looks that there is significant reduction of murders in Manhattan specifically. Perhaps most striking statistics is that in 1974 murders in Manhattan constituted over 3% of total murders in the country while having only 0.7% of population. In contrast in 2009 murders in Manhattan constituted 0.4% of nation total while having 0.5% of population. I am using data only form first table here.

I am sure that there are a host of other factors that are affecting this, notably rise of property prices which have pushed out substantial portion of lower income population out of Manhattan.

I used data from: http://www.disastercenter.com/crime/uscrime.htm and https://www.google.com/search?q=manhattan+population
Yes, we need new, standardizing APIs. However this made me cringe:

> Exposing machines as the abstraction to developers unnecessarily complicates the engineering, causing developers to build software constrained by machine-specific characteristics, like IP addresses and local storage.

It reminded me of the old RPC approach of making potentially any method call a remote method call. It didn't work out, simply because remote call latencies are orders of magnitudes higher than for in-process calls, so you need different (coarser) APIs for them.

By the same token, while abstractions are very welcome, they should still allow distinctions between local and non-local resources, for various definitions of "local".
If I had to name the single worst thing about Java, it would be the tendency for business code to degenerate into a 1:1:1 ratio of interface:class:public-method.

I agree. It's ugly and hard to maintain. Most enterprise Java usages of "design patterns" are unnecessary cruft. This is where I step back and say, "what you really want is a function".

The argument I tend to make for functional programming is that it only has two design patterns: noun (immutable data) and verb (referentially transparent function). And even though it's very rare that pure functional programming is used, mutable references (e.g. TVars for STM, reference cells like IORefs) are just "noun-plus" and actions (e.g. m a for some monad m) are just "verb-plus". It's easier (read: possible) to reason about the complex stuff if the simple stuff is done on a sound foundation.
> they could turn this into a great learning opportunity.

Unfortunately, in this day of NCLB, unless its a great "preparation for taking a standardized test" opportunity they're uninterested.
I agree with you up until capital gains.

Those are in fact transactions, at least when they're realized, and are supported by a huge class of apparatus of the State, from property laws to courts to communications infrastructure, and more.
The vast majority of those 286 crash deaths aren't criminal though..
And then we'll need an OS for handling multiple data centers. Its gonna be a crazy day the first time someone realizes they accidentally rebooted 5% of all servers in the western hemisphere.
that is the bait part of the bait&switch strategy.

Just ask anyone older enough to have worked with Microsoft et all in the past.

yeah, the company is nice now, but nobody can say anything about tomorrow. So do you their sane offerings, but be aware that you may have to be on the line to change it at a moments notice. and try to not depend on it too much. (i.e. always have a 1% bucket with an alternative solution, least you find yourself locked in when you 'thought' you had an alternative if you 'needed')
> Why open the door to security exploits?!

Why limit your VM expressive power? Restrict only untrusted loadable modules, do whatever you want in the trusted realm.

> C derived languages are already enough.

Not nearly. You won't have a managed VM with fast run-time code generation with C.

> Just because it looks like a method call, doesn't mean it is one.

Problem with intrinsics is that the majority of your optimisation passed do not know anything about them. See LLVM as an unfortunate example. Most of the SIMD intrinsics are not even used in a simplest constant folding there.

> Except for the CLR

Bingo! CLR is better. Scrap JVM.
Maybe, but maybe it is strategy rather than money.

This exploit is the result of several bugs in different systems coming together into one "super bug." If you have the same developers who wrote the code go back over that same code they may not spot the bugs.

Microsoft do code reviews but they also do fuzzing, unit testing, path diagrams, and other methods with the hope that each type of testing will uncover different bugs. However when you have bugs caused by multiple systems working together badly, it might be better solved by policy (e.g. this ONE piece of code does all of our CSRF from now on, no re-implementing it five different times).
This, exactly.

When DHH lambasted TDD at Rails Conf earlier this year I felt vindicated. TDD enthusiasts market the practice like TDD is a one stop shop for better code. Fad diet style. IT WORKED FOR ME, IT'LL WORK FOR YOU. THIS ONE WEIRD TRICK WILL GET YOU PROGRAMMING BETTER.

I think TDD works great for certain personality types. Definitely not mine. (I'm like you, as far as I can tell.) I find that writing tests first inherently makes assumptions about the shape of the code that I'm going to write. I so often zoom out and say "no, no, no, I'm going at this all wrong" and completely change the way I'm structuring my code. If I've written test-first, then that's two places (my code and the tests) that I need to completely redo the structure. And 2x the programming time for refactoring.

I will advocate TDD for debugging. Test-first is wonderful for isolating software bugs and resolving them.
It's a lot better to read them from a secure location.
That first molecules appeared in an environment with much stronger ultraviolet radiation and temperature gradients at the sea, to power it. Without free oxygen to burn organic molecules and consequently, with plenty of simple organic composts free to reorganize in lots and lots of ways.

That earlier replicator is probably not here anymore.
Don't worry, everyone on HN is wrong.
> Of course, a Java programmer takes it for granted that you restart things every time you change code. But that sucks.

Did you not read to the section about jRebel/Play and not needing to restart?

But I do agree with you that server startup time isn't as big a deal if you don't have to restart after each change.
The pitch is higher than the notes in the chord. At 0:32 I believe the instructor sings the overtone pitch in isolation and says "you should hear that over it," then they sing the chord again and you can hear that same overtone pitch fairly clearly.
Zillow accused of subjecting female employees to “sexual torture”
Java doesn't suck, not at all. I still find it to be the most productive language for developing systems big and small, mostly because it's well-understood, the pitfalls and traps are well-known, and the community is extensive and supportive, for the most part.

Java got a bad rep because in the late 90's, enterprises hired anyone who had the word "Java" on their resume, with no real assessment of their actual proficiency in the language or programming skills. As a result, there was probably more bad code written in Java than any other language in history (including VB- you just can't write as much bad code in VB as you can in Java if you really (don't) know what you're doing).

Much of this bad code ended up running flaky enterprise systems. So much bad code ended up in closed-source products (like Websphere, and like many JDBC drivers) that were sold to people who didn't really understand technology (but knew Java was sexy!) that Java itself got a bad name.

No, the language isn't perfect. But with all the lessons learned, and with the great developments in Java since Oracle took over (I cannot believe I wrote and believe that now), I contend it's perhaps the single best language for general purpose software in 2014.

The things James talks about in this article are all big problems that have less to do with the language than with the poor development practices that became so endemic to the community as a result of the rush to hire anyone with a pulse to be a Java programmer 15 years ago.
"unlimited" plans are subsidised by low utilization users who are getting less than what they paid for.

to pull it off properly as a service provider, you really need to have a solid understanding of user usage patterns.

one of the big problems that tips the low/high utilization ratio unfavorably is that unlimited plans that are primarily marketed for being unlimited tend to attract users in the high utilization bracket.

so the challenge for service providers is not just understanding users and understanding that ratio but figuring out how you are going to market to, and signup, those users who will be in the low utilization bracket and will essentially be paying for something they won't be user (which is hard to do)

it isn't hard to find case studies of companies that launch optimistically with one pricing plan around unlimited, to then only go back and revise their pricing and break promises because they didn't understand their users and were unable to market to and signup low utilization users.

one recent example is Bitcasa
"If they are not taxed, they can offer a lower price to the customers."

Falsehood. Prices are set by market supply and demand, not tax rates.

A tax may change the quantity of goods or services provided. The price, however, is set by the intersection of the supply and demand functions.

Basic market economics.
Cool! Yeah, I considered pointing out that 84/53 is an especially good approximation for its complexity (since the next in the sequence uses much bigger integers) -- but how are you going to deal with 53 notes, or even 41? It's neat to hear that others were not stopped by that.

(It did occur to me you could almost label them with letters of the alphabet, with one left over: 53=26x2+1. But that'd be silly and invite confusion with the 12-tone note names.)