skysight-inc/HackerNews huggingface dataset:
Most definitely not. Human processes are always inferior to software enforcement. Code reviews are heavily dependent upon leadership, training, and quality control factors likes comprehensibility[1], mood, problem domain familiarity, etc...

[1] Ask a programmer to review 10 lines of code, he'll find 10 issues. Ask him to do 500 lines and he'll say it looks good. -- https://twitter.com/girayozil/status/306836785739210752
About (2) I think programmers don't buy development tools any more. They use open source or maybe free tools. Only Microsoft might still be able to have people pay for Visual Studio (but that's because they own Windows).

Either your project should be open source or it should be aimed at non-programmers like finance or accounting people.

I think the best plan might be to create an open source tool first and then, when the product start to be good enough, sell special packages around it for finance/accounting.
Walk – A Windows GUI toolkit for the Go Programming Language
>Do they let plumbers operate on patients because it's now much safer? Not where I live, the laws are pretty strict with respect to who can practice medicine.

But there aren't laws that determine who can program...

>If you want safety, stop thinking in terms of blame and vengeance and design systems that avoid errors, and reduce their impact if they occur. This includes culture, processes and tools to protect against errors by those who do the work, and some regulation to stop management from putting employees in situations where they are likely to cause harm.

There obviously already are systems that are designed to avoid errors... Unit testing, static code analysis, automatic formatting, etc.

The author of the article said to throw all those out and put all of the safeguards into the language spec. OP is just saying that they don't belong there.
I am not a Backbone expert, but telling coding a piece of software with Backbone takes more lines of code than AngularJS doesn't really tell you something.

We could say that a Hello World code in Java is 5 times bigger than in Python, and both has it's pros and cons. Same thing happen with tools and frameworks.
You're right. I thought of PR stuff primarily because that's the need that I have to cover for the project I am working on, but the idea can be implemented in any number of aplications, not just promotional stuff...
Green Tea's Impact on Cognitive Function Now Clear
I disagree. Commodities derive value from 2 things:

1) Usefulness

2) Scarcity

Something useless and abundant has little value, something very useful and scarce has high value. A house is useful (it's a place to live, with varying personal usefulness based upon geographic location; a house 3 states away from my job is personally not very useful to me, for example) and scarce for any given geographic location.

The fact that copper is useful because you can build stuff out of it, while houses are useful because having a place to live is useful is irrelevant.

[edit]
And the both the usefullness and scarcity of houses can change (just like with copper). Someone comes up with a cheaper way to mine copper? Price drops. A locality loosens their zoning laws? Price drops. Someone finds a new, valuable use for copper? Price rises. Big tech boom in the bay area? Price rises.
But so what? It's perfectly OK for a product to appeal to a small niche as long as it breaks even. I am so tired of the conceit (mostly put about by lazy journalists) that there must be only one best product in any category. That just leads to lowest-common-denominator approaches in which quality is judged on popularity alone.
Yes, "Bob's bcrypt lib" is safer (apart from some serious mistake or compromise, which are not rare) than hashing your passwords with a rock-solid sha1 library.

"But being from a known implementation should not be the only factor you consider otherwise you're just cargo culting"

Of course

In the same way some people blindly answer "use bcrypt" to any mention of password hashing.
Gitql – A git query language
Adding semantics to white space would be a huge change to the design of C (and most other languages).
Ask HN: Do you like Eclipse or IntelliJ IDEA better?
What do/don't you like about either?
> It's interesting to think I can throw an f/1.8 lens on my DSLR and take a very shallow depth of field photo, which is OK, even though it's not very representative of what my eyes saw

I beg to differ. Pictures with a shallow depth of field feel more real because that is how the eyes work naturally. Hold up your hand at full arms length, and focus on it with your eyes. Everything else around it is blurred.
What do you mean, "the light field from the farther depth should be convolving with the … near"? Intuitively, grandparent post is right, the hair should be sharp.
I'm not sure if zoomed-in macroshots "count", as they naturally have a more shallow DOF. Can you achieve the same effect with portrait shots?
Isn't this just a copy of Nokia's Refocus?

https://refocus.nokia.com/

edit - better link: http://www.engadget.com/2014/03/14/nokia-refocus-camera-app-...
From page 10:

What makes possible an empirical effort of this sort is the existence of a unique data set, compiled over many years by one of us (Gilens) for a different but related purpose: for estimating the influence upon public policy of “affluent” citizens, poor citizens, and those in the middle of the income distribution.

Gilens and a small army of research assistants gathered data on a large, diverse set of policy cases: 1,779 instances between 1981 and 2002 in which a national survey of the general public asked a favor/oppose question about a proposed policy change. A total of 1,923 cases met four criteria: dichotomous pro/con responses, specificity about policy, relevance to federal government decisions, and categorical rather than conditional phrasing. Of those 1,923 original cases, 1,779 cases also met the criteria of providing income breakdowns for respondents, not involving a Constitutional amendment or a Supreme Court ruling (which might entail a quite different policy making process), and involving a clear, as opposed to partial or ambiguous, actual presence or absence of policy change. These 1,779 cases do not constitute a sample from the universe of all possible policy alternatives (this is hardly conceivable), but we see them as particularly relevant to assessing the public’s influence on policy. The included policies are not restricted to the narrow Washington “policy agenda.” At the same time – since they were seen as worth asking poll questions about – they tend to concern matters of relatively high salience, about which it is plausible that average citizens may have real opinions and may exert some political influence.
We interviewed a few and will probably never consider resumes from bootcamp grads again. Calling them Jr. isn't even fair towards CS grads that are actual Jr. level
Some things worth noting:

Depth of field increases as the focus point moves deeper into the frame.

Depth of field decreases as your lens length increases.

Depth of field decreases as your sensor size increases.

The A570 will have a relatively large sensor compared to a mobile phone, and your subject was very close to the lens. These things considered, the depth of field isn't impressively shallow. Reducing the sensor size to that of a phone and moving the subject further away will make shallow depth of field impossible. The portrait examples on that Google page are exactly the sort of thing that wouldn't have been possible previously.
It's a great policy. Stripe was doing this 2 years ago: http://blog.alexmaccaw.com/stripes-culture Anyone know if they still do it, even after growing?
"Some cursory Googling suggests that Java's GC will suspend the main execution thread during each GC op"

The (non-default) CMS and G1 GCs will do as much as they can in background threads before they have to stop the world. For more information see http://www.oracle.com/webfolder/technetwork/tutorials/obe/ja... and http://www.cubrid.org/blog/dev-platform/understanding-java-g.... I only know about this because I kept encountering long, GC-related pauses on my Minecraft server that went away when I switched to the concurrent mark-sweep collector. :)
I don't have words for how obnoxious the little flying "Quote" box that appears when highlighting text is.
No, I'm more claiming that there's too much eagerness to blame ones tools. And that's very dangerous to me, because they blunt my tools in the name of safety.

So you have these advocates coming in, saying we should stop using goto, stop using pointers, stop allowing implicit type conversion, not allow return statements anywhere but the end of the function, rely only on garbage collection, and so on. I end up needing to jump through hoops in order to safeguard an amateur that doesn't know what he's doing.

This Apple bug was a failure on many levels. This was one of the most beginner-level bugs imaginable, on one of the most important libraries imaginable. Where was the programmer accountability? Where was the internal review process for this change? Where was the static code analysis to catch this block of unreachable code? Where was the security auditing suite to make sure the library was functioning as intended? Where was the corporate accountability? Blaming the tool for being sharp, to me, sounds like passing the blame entirely.

The {} enforcement is, solely by itself, very benign. It doesn't remove any language functionality or expressiveness, and it's a good thing to do anyway. Aside from requiring us to go back and patch up decades of old code, it's in a very rare category of easy wins. From it, you could easily say the same about always explicitly casting everything, so that there are no surprises. And put all your literals on the left-hand side, in case someone forgets an extra =.

if(!x) a = b * c + d;

if(0u == x) {
a = reinterpret_cast<int>(b) * c + reinterpret_cast<int>(d);
}

The code does exactly the same thing, yet the latter is going to have a real toll on code readability. My 1080p monitor is going to see a few less lines of code at once. I'm going to have to scroll a bit more. I'll have to filter out a few casts, flip a few compares in my head. But it adds up.

Yet what I'm most afraid of, is that I'm very hard-pressed to think of safety changes to C that won't remove any functionality, aside from the aforementioned. In fact, I start seeing odd things creep up, like Clang warning when switching on a boolean value. It apparently catches some odd mistake some guy made at some point. It was thought that nobody would ever switch on a boolean. Except that I did. (see my post history here if you want details on that.) I'm getting a bit tired of being grouped in with programmers like the goto fail guy. Sure I'm not perfect, but I'm also not making these kinds of trivial mistakes. I am not eager to go through hundreds of thousands of lines of code to add these changes.
Glow-in-the-dark roads hit the streets in the Netherlands
Perhaps, but (at least in Android) existing phone selection gives a pretty wide range of possibilities without incurring the drawbacks of the modular design. Admittedly, you can't buy a phone with high end CPU/memory/storage and low end screen, but I suspect there is a fair amount of predictability in what people will pair together. I think you find a lot of people who would buy a top of the line phone with everything--i.e. the equivalent of a flagship Samsung phone--and a lot of people that that are not spec/capability focused that want it to basically work--who would be happy with most 'free with contract' type phones, and the people that want that unique mix of features are a small minority.

This is my experience with most of the people that I know or work with, and it could be selection bias. But I don't work in a tech hub. I work with people that make low to mid range salaries at a local government agency in one of the poorer parts of the county.
The real surprise of Node.js for me has been this point:

> In Node, everything runs in parallel except your code.

Guaranteed single-threaded execution of my code combined with a great concurrency story has been a revelation. I can do all kinds of stuff that would just be flat-out stupid in a multithreading language (like naïve performance monitoring and caching using global variables) and it's easy. I ask myself, "do I have a race condition?" then I look at the code, make sure there's no asynchronous callback between my global read and my global write, and say, "Nope! Ship it!"

Really, it's been a pleasure.

(Before anyone accuses me of ivory-tower-itis, this opinion is based on the production-grade, money-generating HTTP server, CMS, and site I wrote in Node.js: http://www.letscodejavascript.com . And yes, the callback pyramid of doom sucks, I'm not saying it doesn't.)
Once this is out, you are paying a premium to not deal with modules by not getting one. It's a $50 phone you can swap components in and out of as upgrades become available. To me, that's infinitely better than buying a new $300 smartphone every other year.

But there's also a second appeal. Right now, phones are impenetrable black-boxes. You get what the manufacturer thinks you want. The reason I think a modular phone will become very popular is the same reason the AR-15 is the most popular gun in America: because you can play with it. You can swap parts in and out depending on what you need.

"Oh, I'm going hiking today? Better stick my extra-big battery and wide-field camera into my phone."

"Apple's putting a new zillion-byte SSD in the iPhone 9Q? Well good thing I can just buy the zillion-byte module for my modular phone instead of having to buy a whole new one."

And a million other examples.
sorry but can someone ELI5? what does symlinking plugins mean actually?

thanks
An f/1.8 lens on a DSLR has much shallower depth of field than your actual eyes though.
What's the difference to iteadstudio, seedstudio or elecrow? I ordered boards from these three and found them excellent! Pricing is similar.
But the more of these services, the better I guess.
To put things into perspective:

Approximately, 10^3 = 1000 ~= 1024 = 2^10, 10^2 = 100 ~= 128 = 2^7.

Assume you have 1 billion (10^9) computers, each computer can do 1 billion hashing operations per second. That is 10^18 operations per second combined.

Rounding up, one day has 1 million seconds (10^6), and one year has 1000 (10^3) days. So, we have 10^27 ~= 2^90 operations per year.

100 million years is 10^8 ~= 2^27. So, you have 2^117 operations in 100 million years. Geologically, there was an Extinction Event [1] about every 100 million years (e.g. 66, 200 and 251 million years ago). So, having an (unintentional) hash collision in more than 128 bits (assuming a good hash function that has uniformly distributed hash) is less likely than an event happening within the next second that kills 50% of the Earth's species.

[1] http://en.wikipedia.org/wiki/Extinction_event
I agree that distinguishing between compound and non-compound statements is terrible. However, so is using whitespace-delimited blocks (sorry, Python). I wish he'd proposed the simple solution Go uses: require braces.
I'm in favor of using whatever framework fits your application the best. I would probably choose Angular if I envisioned hundreds of callbacks in Backbone.
Looks exactly like "shallow" mode of BlessN900 app for Nokia N900 from few years ago.

It's funny to see how most of the "innovations" in mobile world presented today either by Apple or Google was already implemented on open or semi-open platforms like Openmoko or Maemo few years before. Most of them only as experiments, granted, but still shows what the community is capable of on its own when not putting unnecessary restrictions on it.
Yeah, in the first example too (hair at the bottom). But it's still much better than Gaussian blur...
I'm impressed that their address identification algorithm can solve those CAPTCHAs. I can't make heads or tails of them.
Why offer electronics components to the general public? After all, most people don't want to create their own electronic devices, therefore making such things available in retail channels is a complete waste of time. I'm not too sure about screwdrivers either.

I can't believe people are giving Gruber's arguments the time of day on a news site for hackers.
Please pardon if this is a stupid question/comment as I'm not a PR professional:

My first reaction to searching a phrase for my industry was "great!" -- I found 5 articles written by reporters over the past few months.

My second reaction was "Wait -- these are stories they just wrote. If I reach out to them, their response is going to be 'Thanks - but would have been great to know about you before I wrote the story!'"

One of the things our PR firm did very well was have a connection to reporters so that they knew about us before the story got written.

If the story's already done, unless they have a beat on the same topic, then isn't it already too late?
This is in pretty stark contrast to yesterday's article about devops:

> Somewhere along the way, however, we tricked ourselves into thinking that because, at any one time, a start-up developer had to take on different roles he or she should actually be all those things at once.

> What began as an experiment aimed at increasing software quality has become a farce, where the most talented employees are overworked (while doing less, less useful work) and lower-level positions simply don't exist.

> Large companies love this, as it means they can hire far fewer people to do the same amount of work. In the process, though, actual development becomes a vanishingly small part of a developer's job.

http://jeffknupp.com/blog/2014/04/15/how-devops-is-killing-t...

I certainly wouldn't be happy with a developer position that made me do tier 1 customer support. That stinks more of "absurdly cheap" than "connecting with customers."
Great comment! I agree with you, but a counterpoint is that punishment is one facet of the error-avoidance system design, based on the logic that people are more careful if they fear punishment. I think punishment is often overemphasized, but not completely worthless (as you seemed to, but perhaps didn't mean to, imply).
Or similarly:

if error_5 {
goto fail;
}
/* line deleted here */
goto fail;
}
if error_7 {
goto fail;
}

Many ways to skin the same cat, but it boils down to following good practices that emphasize errors like this (presumably removing an error condition and leaving the goto).
Qt Creator can now use libclang for its code completion. In addition, it can use LLDB for debugging and clang-format for code beautifying. It is nice to see other open source projects adopting LLVM/Clang/LLDB!
Not every device is made to satisfy the entire market.

And they have already acknowledged they plan on having "effort free" choices available for consumers. Probably have a "about the same as a Samsung" option, a cheap option that has the important bells and maybe a minimal option you can build off of.
Debian and CAcert
Lots of Themes For Your Terminal Window
W00t, llvm support!
Formatters are usually language-specific, and there are formatters for most popular languages. See eg. clang-format [1] for C/C++, your IDE's reformat command for Java [2][3], PythonTidy [4] or AutoPep8 [5] for Python, or jsbeautifier [6], JSPretty [7], or Aptana [8] for JS.

[1] http://clang.llvm.org/docs/ClangFormat.html

[2] http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclips...

[3] https://www.jetbrains.com/idea/webhelp/reformatting-source-c...

[4] https://pypi.python.org/pypi/PythonTidy/1.22

[5] https://pypi.python.org/pypi/autopep8/

[6] http://jsbeautifier.org/

[7] http://www.jspretty.com/

[8] http://www.aptana.com/products/studio3
You’re both right, to some degree. While you are correct that the eyes focus at a certain depth, much like a camera, the difference is that we can chose to focus at any depth (assuming good eyesight). This is not true of a photograph if it has no depth. (It’s also true that, if the photograph has both fore and background in focus, edges may be harder to pick out and depth harder to discern, even though we would have no trouble with our own eyes. That’s the basis of much trick photography, after all!)

All photos are unnatural. To quote the artist (and, dare I say, photographer) David Hockney: “I mean, photography is all right if you don’t mind looking at the world from the point of view of a paralyzed cyclops—for a split second.”

At risk of this becoming too long-winded, allow me to point out another “normal” variable of photography that is wholly unnatural (beyond the issue of focus and the fact that one moment is extended to infinity): Shutter speeds faster than 1/150s or slower than 0.5s. Our own eyes will never see the individual blade of a helicopter so clearly as a simple iPhone camera will when shot against a bright sky. Nor will naked eye see a waterfall as a blurry, peaceful average the way a long exposure portrays it.
On a slightly related tangent, every time I see someone post a "#nofilter" photo on facebook I have to bite my tongue to stop from asking them how their camera managed to separate the RGB channels without a Bayer (or similar, eg Foveon) filter.

I mean, I sort of get what they are saying and I hate the overuse of Instagram filters probably much more than the next guy, but the odd relevance people place towards getting an image "directly out of the camera" is bizarre considering the incredible number of decisions (sometimes correctly, often not) the average digital camera has made for you in getting the measured light into a jpeg.

Personally I much prefer to shoot in RAW and then post-process because cameras, as amazing as they are in some ways, are still incredibly dumb when it comes to context and intent and I'm going to do a better job at getting the white balance, dynamic range, contrast, etc right (for how the shot was intended) than the camera is.
I think Datalogix does this as well, at least for many entering graduates.
A lean guide to project specifications at GoSquared
As the linked article says "The UK is arguably the best location for a disruptive bank to launch". No point starting in the US, which is hostile to new banking changes. The UK regulator has said they are pro new startups, and it is where most of the innovation actually takes place, regardless of the ownership of the parent bank.
From the link:

One of the great advantages to this is that plugin developers can keep their plugin separate from their WordPress installation. This is a boon for developers with multiple installs who want to test compatibility; keep in mind that you can symlink the entire plugins directory if you're testing multiple!

Basically, if you're a plugin dev, you no longer have to update your files across multiple local installs; you can simply keep your plugin files in one place, and symlink that plugin to any local install you're testing on.
Well, the only "new approach" I can see here is letting the user decide which part of image should be sharp. BlessN900 camera app for Nokia N900 was doing exactly what this new app does few years ago, but it was choosing the focus point automatically.
I did a quick comparison of a full frame slr vs moto x with this lens blur effect. I tried to match the blur amount, but made no other adjustments. Work really well compared to everything else I have seen!
http://onionpants.s3.amazonaws.com/IMG_0455.jpg
Interestingly I activated a new gmail account today and during the signup process I experienced the obligatory captcha. It was in two parts, the first looked strikingly like a street view picture of a house number, while the second looked like a traditional captcha.

I suspect that google has been using techniques like this to validate their computer vision conclusions. Which makes their 99% assertion even more interesting, because it's likely 99% confirmed by a very large crowd sourced data set, not simply a staff member going through several hundred samples to come up with the success rate.
I'm no photographer, but I was tought this was called bokeh not blur. Blur is more because of motion during open shutter.