skysight-inc/HackerNews huggingface dataset:
> Even if you believe that a high gini coefficient is needed to encourage upward mobility, a falling living standard for the poor indicate that it is not working.

Yeah, social mobility in the US is pretty low nowadays. I don't have any numbers at hand, but wasn't there a recent story on HN about how most European countries had more social mobility than the US now?

Trickle down doesn't work. Money flows up. The poor spend it immediately (because they need it to pay for stuff they need but can't buy, which is what makes them poor), whereas the rich can afford to hoard it.
The 5D Mark II is an awesome camera in a lot of ways but it has fairly slow autofocus speed for a camera in its class.

It is outpaced quite a bit by even "lesser" (more consumer oriented) cameras like the 70D (though as with anything this is a trade-off since the 70D is a cropped-sensor, so IQ not quite as good under ideal situations, worse low-light performance, etc).

Here's a photo I took a couple of months ago with the 70D, one of a series of 5 that were all pretty well focused (considering the subject was a cheetah running at nearly full speed) using the "AI Servo" autofocus mode:

http://i.imgur.com/jMOKZk0.jpg

(To be fair, such photos still aren't exactly point and shoot on my 70D, you have to be fairly decent at panning at that speed)

You do have a point though in that the current situation for me is needing to have multiple cameras (70D for fast action, Sony A7 for relatively still shots with very high image quality, Canon EOS M for carrying around everywhere). I don't think this Lytro comes anywhere close to changing that situation, though computational imaging in general will probably solve the issue eventually.
Oh. Now I think he has a freedom to say whether he was coerced or not.
This looks very cool and could come in quite handy.

In case anyone from the project is monitoring - text selection did seem to work fine for me in FireFox (ESR 24.3) despite the "Not Supported" text being displayed.
Classic Hip Hop
I'd like to agree with you on that, and a year ago I would have done, but foobar2000 has some problems which, combined with its closed-source nature, have driven me out of bed with it and back to the music-player equivalent of Match.com, with occasional late-night trips to the corner of YouTube and Audiobox.fm, when I'm looking to play something right now and can't find satisfaction anywhere else.

I think that metaphor sort of got away from me toward the end. In any case, foobar2000's support for HTTPS streaming is lousy ranging to unusable; specifically, there is no mechanism, including the Windows CA certificate store, by which foobar2000 can be induced to accept a self-signed certificate as valid. When you can't stream music from home over your Comcast circuit without getting throttled because Comcast assumes MP3 data going upstream means BitTorrent, this poses a problem.

There's also the problem of the playback queue not working the way it should. In theory, a playback queue is to a playlist as a lambda is to a named function; in practice, when foobar2000 reaches the end of a queue, it blithely continues playing tracks off the playlist whence came the last item in the queue, which is frankly ridiculous. I can understand from an implementation perspective why it works that way, but that doesn't make it any less broken.

These are the reasons why I'm looking for a better music player. I wish I had any hope of ever finding one.
It's pretty simple actually. Russia is one of the few countries that aren't willing to extradict Snowden to the US and are able to resist pressure to do so.
This. This. A million times this. I would never expose my personal social network to my job for any price.

If I love my job, then you better believe that all of my developer friends are going to hear about it until I am blue in the face. I also like to work with good developers who I know, so I may try to recruit them if I think they would be a good fit!
WebSequenceDiagrams also has a Google Docs add-on [1]

[1] https://chrome.google.com/webstore/detail/websequencediagram...
Smugness is not a virtue, but sometimes an emotional appeal is helping. I agree that we would like to see less of than on HN.
how does the iphone know to route requests for the private network to the host os?
it was inspired by subspace. i loved this game some years ago...
Predictive Invoice Coding with Machine Learning
Setting up A/B Split Testing with Google Analytics
I've had good results running it over Wine on OS X. I see no reason why it shouldn't work at least as well under Linux, subject to that platform's perennial audio output woes.
Not my downvote but to me there's no wonder you got downvoted.

Why is it no wonder these things don't fly? Are the rules too strict? too loose? too broad? too stupid? or is it the choice of language? Your post provides no insight into your opinion at all and added no value for anyone else, quite the contrary.
All of the benefits of Russia have disappeared within a month?

Could have been, considering the recent events.
> Unfortunately, your browser is not yet supported, currently only Google Chrome is supported.

FF 28 seems to be working fine with the "Weenie Hut Jr." version...is it just the add-on that isn't supported?

awesome tech, btw
Wait, WUT?
Elastic Containers
"Does that make it a negative if you're time away from work involves family, outdoor activities, DIY projects, etc?"

Absolutely not. There's a full spectrum here. But if some of your hobbies/leisure time relates to your work, you're going to be more valuable to an employer (assuming that doesn't get unhealthy). It's great if it's tangential, too. It's not about logging extra hours, it's about what gives you joy. Writing code could be one thing. Reading about new tech could be another. Or reading about related skills (management, design, marketing). If you truly love it, a higher percentage of your work time will be enjoyable, too (which means more productivity and better retention).

I certainly don't blame anyone for having a diverse life. But I have two great candidates, I'll always choose the one who loves their discipline enough that the read about it and noodle with it on the side.
gofmt is the single biggest feature of Go that might make me try it out. Such a great idea, I wish every language would adopt it.
SRI's Nimble Micro Robots
Usually it's too much work to do a refactor with the new language and a conversion.

Much easier to convert first (with whatever warts the existing code base has) then do a refactor.

So I doubt their approach had too much to do with Go per se and more with wanting to get something out sooner rather than later.
> I was decoding a large JSON data structure that could
> easily have thousands of different fields nested 10+
> levels deep. Go's standard json library usually
> recommends that you define a struct type to hold the
> result of the decode, tagging field names with the
> `json` annotation. This obviously doesn't work when you
> only care about a few dozen of the several thousand
> possible fields.

Sure it does!

type Response struct {
LevelOne map[string]struct{
LevelTwo map[int]struct{
Value string `json:"eventual_value"`
} `json:"level_two"`
} `json:"level_one"`
}

The response can have way more fields than just the ones you declare in your struct.
Clang has static analysis http://clang-analyzer.llvm.org

Valgrind is still what I use and see recommended

Still using doxygen

C++11: lambdas

Kind of hoping people chime in on some of your questions.
He actually did ask a question directly to Putin( I must admit he has guts ) that is relevant to this debate.

https://www.youtube.com/watch?v=w1yH554emkY
The No's of Product Design
The path they chose was much more predictable than your suggestion. I.e., after their team spent three days at it, their estimate for the total translation was probably within 50% of the month it actually took them. I don't expect they could have been as accurate in estimating an entirely new implementation.
From someone that already writes functional Javascript, I really liked the series. I learned from reading MDN, and this is a lot more to-the-point. Great job!

Side note: this is the first .pro domain I've seen so far.
So does anyone have a recap of this chain of events?

From the last time I heard about this, it sounded like he was bullied into selling his shares to one of Putin's buddies, and stepping down. Then he said he would like to stay in Russia, now he's fleeing?
Orange (keywords): #fd971f

Red (strings): #f24840

Green (variables): #96c22e

White (text): #ffffff

Grey (background): #222222
> Ironically, one of the things people hate about Java is that it has a deeply engrained culture of using semantic typing everywhere, except that it uses class "boxing" rather than just having something like the type system in Go (typedef on steroids) or something axiom based like Haskell.

I think that people hate the implementation and syntax associated with semantic type in Java, not the fact that semantic typing is widely used in Java.

I think both much of the recent golden age of dynamic languages and the more recent resurgent of cleaner, less-heavy-syntax statically typed languages has been motivated by the perception that static typing in Java (and similar languages) has too high a cost for the benefits it provides.
His finale after all that was clarity. He suggested it'd be better to aim for being a software writer more than a software engineer, and to focus on writing software well.

As others have pointed out, he did argue that unit testing is sometimes a waste of energy when taking to the extreme. However, along with that he pointed out that he believes system tests are in fact important, and his take is that they're much more important than 100% code coverage in testing. Does your whole system work?
Bloomberg TV, Company Culture, and Failed Startups – This Weeks Grow Your Brain
Picturefill 2.0: Use the  element today
Seems interesting, but I stopped reading after a few paragraphs because of the black/blue/purple text. At first I thought the author put an insane amount of hyperlinks in the text, but then I discovered that they aren't clickable, and the text colors are just mere gimmicky decoration?
Where Do You Want to Be Born?
This is going to sound a little dismissive, but I don't mean it to be:

I'm not sure I understand the value that these frameworks offer beyond the HTTP server interface Golang supports out of the box, plus a URL router like "pat" (or whatever the cool kids are using now other than "pat").

I see the clean middleware abstraction, but I find the idiomatic closure-based implementation of middleware adds only a couple extra lines of code, and in return I get total flexibility.

What's this doing that I'm not seeing? I'm sure there's something; I'm writing this comment out of ignorance.
I found your section on converting prototype methods into utility functions really interesting, I found myself doing the same thing a few days ago. One suggestion for your 'demethodize' function is to replace the prototype methods you use with purely functional versions (AKA replace [].slice and fn.apply). It seems kind of funky to have a function dedicated to demethodizing prototype methods that makes use of prototype methods!
Yeah, I just haven't gotten around packaging the whole thing as a Firefox Addon. It's actually technically possible to run the whole thing on a normal unprivileged webpage (in fact, that's my development environment).
I feel similarly, especially when the politics don't reflect the science. It was very frustrating to say the least.
What, specifically, about Goji do you see as enabling insecure services in a way that other frameworks protect against?
Looks pretty open to me:

here's the current bleeding edge: https://code.google.com/p/go/source/browse

here's the issue tracker: https://code.google.com/p/go/issues/list

looks like it's being used by the dev team.

If you would like to fork the golang project, run this command:

hg clone https://code.google.com/p/go

This is pretty clearly not Android.
Why only registered Android developers? There's a lot more to I/O (and Google) than just Android..

What do you mean by "hacked into it"? Do you mean people used wget -r on the developer docs and grep'd out codes to try?
Inflated Tech Valuations Bloat The Entire Economy
Thanks for this advice. I've edited my original comment to focus on the content of the article.
C++'s auto is younger than most of these languages (let alone than Haskell or MLs), to say nothing of actual tooling support.
This hasn't been mentioned it seems but I just used a turnkey vm (from http://www.turnkeylinux.org/) to setup Gitlab.

Looks like the vm is not the latest version but it was a painless install.
Cool game, but I was able to camp inside the launch tube and shoot down people as they joined - very annoying to everyone else since I was hidden by the launch tube art. Maybe disable the ability to go back inside the launch tube once you're on the field?
I am not sure what you mean by each lens, since there is only one lens with this technology. The diameter of the lens has to be comparable to the separation between the two lenses in a stereo system. For meaningful stereo effect at distances we would find interesting (say, a few feet between you and your toddler), this has to be maybe an inch; I don't see a smaller lens being very interesting.

For a typical cell phone, the hyperfocal distance - beyond which everything is in focus with the lens focused at infinity - is maybe 6 feet; you can't get light field information, at all, for anything further than that. And it will be only a tiny bit of information for closer subjects; you can't take shallow depth-of-focus photos with a cell phone, and you can't apply this technology for the same reason. BTW, motion blur is likely a bigger problem for cell phone photos than focus.
It is material, because the fractions of dollars we're talking about were bigger than 1/100th of a dollar. Clearly, they could have moved to sub-decimal fractions, but the point isn't "fractions" versus "decimals"; it's "human market makers fixed the fractions at 1/8ths and 1/16ths of a dollar to artificially increase the spread", versus "algorithmic trading competed the spread down below a penny".

You implied that maybe humans had been using fractions because they were easier to deal with. No. They were using the fractions they were using in order to skim extra money off trades, and they fought tooth and nail to prevent competition from reducing spreads below 1/8ths --- in fact, if you read the link I showed you, it wasn't even 1/8ths; it was 1/4s!
The last time it was 12% (which is all he had of Vk stocks). There's no info of money amount involved, but I susoect if it was something ridiculously small we'd hear about that already from Durov himself, and estimate of how much it was worth is $M300-400.
Apple releases iOS 7.1.1 with further Touch ID, keyboard improvements
Long waited decision.
Except everyone can update it if they know your identifier.
To be perfectly honest, I'm not sure it is better (I was hoping you would help me decide that!), and I wrote it mostly because every aspiring programmer writes a web framework at some point, and it was time I wrote mine (it was a lot of fun :) ).

But I think there's a good chance it is better.

First, I think one important difference is that Goji isn't full of magical reflection. If Go had support for method overloading, its entire interface is type-safe. In contrast, Martini does a lot of magical object injection, and it's not clear until runtime if your routes will even work, or what they'll even do, or where exactly the memory for them is coming from.

Second, I much prefer Goji's way of defining middleware. To me, middleware is like an onion (just like ogres!): each layer is a wrapper around the previous one. The way you write middleware in net/http is by wrapping the old http.Handler with a new one, and that's how I wanted Goji's middleware to work too. There's no magic "context.Next()", there's no magic dependency injection overrides, it's just http.Handlers all the way down.

Anyways, I'd like to know if you think I'm right: again, I'm really not sure this is actually better than Martini (or $YOUR_FAVORITE_FRAMEWORK), but I think it comes from a slightly different set of principles, and ones that I think are worth considering.
Who tried VK, will never go back to Facebook. VK is like the wild west of the web: you find everything for free, from music, to software, porn, books, etc.

Facebook is a prudish and mildly authoritarian walled garden. VK smells like freedom. ;)
If it is just for a first try to experiment with structuring those kinds of application, or if your needs aren't even that complicated, it can even be quite close to trivial sometimes. But it's hard to know what is out there, and how useful it would be. Things that I've done on the side that weren't too hard and even more fun than I imagined beforehand:

* Media Players (Video and Audio) with GStreamer (0.10 can be okay'ish, 1.0 is very nice so far)

* Text Editors (via Gtk-Source or embedded GVim)

* I've tried building a specialized browser with WebKit. Was also quite easily used, except that I gave up when trying to get the Flash plugin to run turned out to be not-fun. Others may have more motivation.

Note that I mostly try these things in Gtk2/3 with either Perl 5 or Vala. Python seems to have very good Gtk/GObject bindings as well, so that should mostly apply the same way. And I'm sure if you look at the Qt and Wx ecosystems there will also be many preexisting useful components, or ways to plug them in.
Network hiring can also run out, due to the same cliquishness: once you've hired the transitive closure of the experts in a given technology area, you may run out of existing experts to hire in that area, and relying too much on network hiring can cause a company to forget about hiring smart people who don't know that area but can learn.
Ask HN: Product Manager Essentials Reading List
Just got a book for my girlfriend called 'Cracking the PM Interview' but can anyone help me get some more? Thanks in advance for your recommendations!
How do you get the design folks registered? You're assuming that every session is a developer based session.
Protecting Your Information and Preventing Leaks
Maybe the US and Russia could do a prisoner swap - Snowden for Durov?
Doesn't work great. Went to reddit's advice animal page to try it out and it doesn't seem to work with livememe (I think they have an invisible layer over their images to try and block hot linking).

Here is a copy/paste example from imgur:

http://i.imgur.com/sKQXx8v.jpg

Top: vou SAID w[ W[R[
|[AVINĞ`ON TIM[TOAV

Bottom: TN[ FACTTNATl'M MAWING TNISM[M[ g
INST[AD of DRIVING D[TERMIN[D TN#rWASA ll[

Maybe it needs to be a certain font for better results. Still pretty cool. Hopefully all the kinks get worked out. I would definitely find this useful.

EDIT: need to make sure the language is set to "internet meme" and it works much better.
Snowden is obviously not in Russia because they value free speech and privacy so much there. He's there because he's safe from the US, and because Putin likes messing with the US. As soon as Putin's interests change, Snowden isn't safe anymore.
An Apple a Day, and Other Myths
I've totally lost track of what we are arguing about. Anything containing a unique element has to be logically unique itself, right?

In C++, which defaults to value semantics, it's required that you move your container if it contains a non-copyable (unique) element. So you only need to move into the draw_all function in this case, which is why taking the range by value is not just efficient, but semantically correct. If the caller moves in to the function, then when it returns the caller will no longer own any elements. The callers vector will be empty, and the elements themselves will still be unique having never been copied, moved or "borrowed".

If borrowing isn't a performance hack, then why not make everything you're ever likely to borrow shared? I'd argue anything you're drawing is shared between the draw routine and the caller. Drawing a distinction just because the caller is suspended, seems like an impediment to future change if, for example, you later switch to a coroutine or an asynchronous/threaded operation. Copying the range and sharing elements gets you this for free.

In summary, 'draw_all' as specified was a bad API because:

* It restricted the type of range/container passed to it

* It had unnatural ownership semantics (borrowing a box of unique things without saying you're borrowing those things is weird).

* The implementation, as was, required further borrows which were only implied. In C++ you take everything straight away.
Well, the source on which I'm relying most strongly here, especially for estimates of the death toll of the post-Soviet interregnum, is a newspaper whose American-expatriate writers were hounded out of Russia, shortly after Medvedev "succeeded" Putin to the presidency, over a single article satirizing one of "Medvedev's" new policies.

I suppose you can argue that these events were merely part of an incredibly recondite plan on Putin's part to substantiate otherwise baseless propaganda of the sort you regard my prior comment to be. I can't imagine how anyone could make such an argument with a straight face, but that's not the same as assuming it's not possible.
fwiw, I prefer Revel better than Martini.
By default it uses Ocrad.js, a pure javascript OCR engine (ported via emscripten, see http://antimatter15.github.io/ocrad.js/demo.html). But if you right click on the selection and change the language to "Internet Meme", it should transcribe it correctly (note that this sends the selection off to a server for remote processing- It's not the default for privacy and scalability considerations at the moment).
Right on. We immediately had not totally horrible estimates for how long it would take.

Further, we have always really been inspired by Joel Spolsky's article on rewrites: http://www.joelonsoftware.com/articles/fog0000000069.html
In fact, I can't help but wonder if we would have attempted a Go rewrite sooner if not for that article.
Perhaps this is not the best place for this question, but as a frequent HN reader, I'm constantly told that Go is great to develop in and very performant. However, it's not clear to me how Go suits a web application with relational data.

From what I've gleaned, an ORM does not make sense in Go, so
how would this type of application be approached? Writing a lot of ORM-type boiler-plate? A completely different way? Or is Golang a bad choice for such an application?
I really like Clementine and since I triple boot (Linux, Mac, Windows) I wanted a player that would work the same regardless of OS.
I agree, I don't see it here, but there are some that have a lot of decent addons, Gorilla being the big one among them.

But yes, short of robust routing, Go handles the micro framework fairly well out of the box.
well, maybe we could form a simple mailing list and we could just do an ask/answer type situation. I spent the last year writing a game in C++ and ready to start my second.

I run my own mail server, I could set something up. There a lot of lists/forums out there but they all seem snooty and dont like obvious newb questions.

EDIT: Here is a new group. Lets use it to help each other out so we all become better: https://groups.google.com/forum/#!forum/community-c-plus-plu...
NASA invites you to kill trees on Earth Day
I don't get why NASA invites you to print on paper to celebrate Earth Day: http://www.nasa.gov/globalselfie/
it's generous to call the CPython interpreter a VM - the binary encoding of Python isn't some crazy IL bytecode, its' really just python-as-binary. Language constructs converted into opcodes, strings with pre-calculated hashes, and local variables within a scope become a sort of vector... but otherwise, it's a prettymuch 1:1 mapping between Python language constructs and the bytecode form.
SimplyInsured (YC W13) is hiring engineer #3 to change the future of health care