skysight-inc/HackerNews huggingface dataset:
What a weak attempt at an argument. Of course I don't have, what is your point?
(raises hand) Hi! Correct that it's an AngelList syndicate that I started and as seems to be the world's first drone fund. Coverage @ http://techcrunch.com/2014/06/11/drone-vc-is-a-vc-fund-for-f...

Also:
https://twitter.com/dronevc
https://www.facebook.com/DroneVC
etc ^_^

In other news, I clearly need a better homepage than an AngelList redirect!
Wolfram should patent it.
> who is not familiar with the particular language being used

> but is experienced with ALGOL-style languages

That's NOT readability, that's merely familiarity. It doesn't help anyone to confuse the two.
If you watch the video of the talk on vimeo below, the author addresses this issue head on at the start of his talk. The thesis is that there are many developers that use technologies for capricious reasons such as because other people do it, rather than for solid reasons of engineering.

In my experience, huge swaths of the real world of software development are not wholly reasonable, objective, nor immune to groupthink. There's plenty of posturing and social signaling going on among developers.
This is plausible, though I'd be more confident in the numbers if someone could get data on total earnings over a period. Apart from salaries, those are impacted in either direction by, at least: voluntary termination and/or signing bonuses (in the plus column) and periods of unemployment between jobs (in the minus column). I don't know if those would change the totals significantly, but it's a fairly dangerous assumption to take two different groups and assume 10-year earnings are really [10 x $avg_salary], and therefore that comparing $avg_salary gives the full picture.
I actually don't typically like endlessly tweaking my software either. I was prepared to do this with vim only because a text editor is such a key tool for a developer that it justifies the outlay of time. In addition, I wanted an editor that was available on any platform, and in a shell. It's true that vim under someone else's login will behave differently, but that's not a common case for me.

Command-T can be found here:

https://github.com/wincent/Command-T
At a megacorp a fairly senior guy said to me, "This company is a great first, third, and fifth job."
It's good enough for me. I normally use it edit conf files.
Hopefully with the upcoming Spores[1] feature in Scala, Akka will be able to enforce message immutability in some form. I was at Scala Days last week and the developer behind spores gave a great talk on the sort of immutability guarantees this feature will allow. Worth watching once it's posted online.

[1] http://docs.scala-lang.org/sips/pending/spores.html
Yes, strap a megaphone on here and now you've got a flying telephone for search & rescue as well as a chance for an aerial director to talk with folks in the ground without the need to set up a second comms channel (e.g. RF radios).
Well the app is free with a small in-app unlock for (atm) Dropbox, unlimited tags and the different colors.

Anyway, I posted a comment about the snapshot here: https://news.ycombinator.com/item?id=7928331
"[Nintendo] canned Star Fox 2 even though it was finished and used much of our code in Star Fox 64 without paying us a penny." Pretty serious allegations. Does not paint a pretty picture of working with nintendo as a 3rd party.
Good point. I've worked at 8 places in a 15 year career and have never seen a good code base. I've seen lots of clever code and some spots where the code quality was good but tight, clean , efficient, un-bloated, well doc'd code with automated tests on a large scale: nah, nicht.
s/underscore/lodash/g

Underscore,like Backbone feel like it is in maintenance mode.They didnt get significant new features for years.People should better use lodash.
Sad. Project Euler is pretty much useless without the problem checking feature. Anyone know a good alternative?
http://limetext.org/ might be interesting to you at some point (and despite the suspicious landing page showing event from November to February and then silence, there's activity in the repository)
Akka certainly does. At the company I work for all our heavy lifting is done by an Akka cluster running on EC2.

We found that the difficulty didn't lay in getting Akka to work in a clustered fashion—that was simple—but rather in architecting our backend's work distribution mechanics so as not to overload any given node. I blogged about our experience with Akka: http://blog.goconspire.com/post/64130417462/akka-at-conspire...
Build a debugger in 5 minutes (1/5)
I don't speak Python (guessing that's what this is) but the problem I have with the short version is that it still seems oddly verbose. Why not something like this?

images = map(retry(DOWNLOAD_TRIES, HttpError,download_image), urls)

(I may have slightly fumbled the syntax here, but with luck my point is clear.)
My Week On Smart Drugs
The one missing piece here is the age of the employee. Of course this is true when you start out. Does it still hold after you acquire 15 years experience? Isn't that when the stagnation and preference towards younger worker bees supposed to happen? The article is kind of useless without that one piece. It does not give the whole picture.
You know, reading this thoroughly - the statistic is alittle unclear in the title.

The real stat is -- Over the course of a 10 year career, if you don't stay at any jobs for more than 2 years, then you make 50% more. This becomes a larger number if the career length increases.
I seriously think that Google's end-goal is to show you only one sponsored result per search query whether it is relevant or not (there will be no real search results, it will be more like TV)
For medium scale purchases with many interchangeable competitors, this may be true. But for cheap impulse purchase and for high-end commodities, brand still matters quite a bit.

Apple and Samsung are two great examples of higher end companies whose products aren't appreciably superior or inferior to most of their competitors, but through relentless advertising, they have made themselves seem distinct from their competitors.

A significant function of advertising is to reinforce decisions. Very few people buy a car because they saw an ad for it, or a iPhone, for that matter. But the ad serves to reinforce the decision of those who already bought the product, decreasing buyers remorse. It's the reason most higher end car ads are selling the idea of a car rather than the car itself. Ditto with the older iPhone and iPods ads.

And a similar thing is true for low end, cheap products. People buy Coca Cola over store brand cola because of the brand identity coca cola creates. They may be totally unaware of it, but it's just enough of an impetus to push someone to spend the extra $1.50 on a 12 pack of Coke vs another brand.
What's more plausible -- Google 2-factor was disabled, or a user re-used the same login/password on a site without 2-factor? Passwords will be with us for a long time to come. Employers should buy employees 1Password or equivalent for their own safety and require long unique random strings for every 3rd party account. Employers can control that somewhat but can't force vendors to implement 2-factor.
For Java, I think Google Guava or Apache Commons are more of the de facto standard library enhancements than the one linked in the article.
Beyond a certain point where a person can afford the basics, housing, food, healthcare, ability to go on vacation, provide for family. A higher paycheck might not necessarily translate to feeling better.

The little things -- bad toxic co-workers, a long commute, un-interesting projects, clueless managements, unfairness, all those things might seem minor at first in face of a large paycheck but just like water grinding a rock, those little things every day will eat your soul.
We changed the title to say "partly".
What's the advantage over doing (assuming GNU cp):

cp -sr ~/dotfiles/easystroke/.easystroke ~/
I'm definitely going to take time to watch his talk because the slides are excellent. And I agree with you wholeheartedly that the real world of software development is not wholly filled with reasonable people that strive for objectivity. Though in a serious conversation about technology adoption I'm not sure the best strategy is to target the unreasonable people. After all, are those even the people you want as advocates of your favorite technology? What you probably want is to win over the reasonable people and let the followers follow.

Also, "other people do it" is not a capricious reason for adopting technology. It's not an engineering reason, but there are reasons to follow the crowd. If there is a crowd there will probably be lots of libraries, if there is a crowd there are more people that may do the thankless work of documenting and patching libraries, if there is a crowd there are more people to answer questions on stack overflow. The crowd may not be an engineering reason but it can definitely be a productivity reason.
Explain downvote please.
> Most python users seem blissfuly ignorant of modern languages

It's really not that. The Python users I know, including myself, enjoy learning new languages. The issue is that there's extremely few which are "Pythonic" - a form of beauty in its pragmatism, readability, and usability.

If you come at most Pythonic Python code, it's remarkably readable, and it's easy to understand what's going on even without much domain knowledge regarding whatever it is the code does. There's no need to understand abstract branches of maths to understand how a Python program works, no need to understand some program's own DSL, no need for special text editors, it's all just a pragmatic language.

In some ways, it's really the Java of the current generation. That's not a terrible thing - it's a simple, beautiful language which works for developing reasonably complex applications. It's possibly to write code in all sorts of architectures without having to bend the language too much, or invent sublanguages.

IMHO, Rust is going to be a massive language for current Python users. It's extremely unmagical, readable, and opposed to the idea of "DSLs for everything" that some popular languages have, while having a very nice and usable type system. Code that I've seen in Rust also tends to meet the Zen of Python, even better than code in Go (another language currently popular among Python users).
> They didnt get significant new features for years.

http://c2.com/cgi/wiki?FeatureCreep
To be fair, the syntax might not be as clean, but isn't:

m = map(lambda x: x*2, range(100000000000000000000))
i = itertools.islice(m, 10**6, None)
next(i)

Somewhat equivalent? This does seem a little slow calculating the first million squares, but subsequent calls to next(i) are snappy(ish).

I'm not sure how close you could get to "truly" lazy sequences combining count, zip and slice, though.
They're not gimmicky. I depend on them every day, either for learning or for regular use, just like vimmers depend on the weird ability to build up ridiculously complex commands. You may as well call user interfaces aside from the shell prompt a gimmick altogether.
I use grid layout for SC2; easy to learn and no reaching for awkward keys. I haven't seen any arguments for using the standard keyboard shortcuts.
After 20 years, maybe get a second opinion from modern medicine.
JVMs can have a separate heap for each thread. See the Avian JVM[1] for an example of this.

[1] http://oss.readytalk.com/avian/
Seems like they used a Powerpoint-esque framework... it's not really intuitive when you think of it like the average web page, but for giving a presentation it's quite good
What is an O Level?
There are a lot of interesting problems worth solving in the industry. That's what makes it so exciting! What I'm going to do with this sequence is try and point out a set of problems that are interesting that aren't being solved. It could be that nobody is working on them because all of my ideas are all really awful, but the hope is that some people may get inspired to tackle some new problems in the space. I'm not going to claim that audio recording is the singularly most important problem to solve (you seem to be implying that's what I was getting at) but it is an interesting/common one and I hadn't seen anyone working on it. There are another dozen of these tee'd up, some of which address the other problems you've listed. It sounds like you have some good opinions about what problems need to be solved! I'd love to see a response with a little bit more meat than an ellipsis.

One of the _best_ responses to these will be to find companies already working on these problems, just in secret. For instance, I had someone on Twitter let me know that a company in Hilo, Hawai'i called DroneFlow is actually working on some of these audio issues. I'll be reaching out. :)

BTW, researching perching led me to this beautiful thesis - http://groups.csail.mit.edu/locomotion/perching_media/CoryTh... - what's your take on this contribution to the space?
This seems equal parts petty and self-defeating to me.

No one except the worst performers are going to stay at a place when they see market salaries rising substantially everywhere else. So what this does is hamstring the company from re-hiring the top performers who could easily get new, higher-paying jobs at other companies.

Equally bad is that the weak employees will have gained substantial organizational power, so they'll be making decisions by virtue of time served instead of skill and knowledge.
And H1Bs are cheap.
I would actually argue that professional sports are a great example of a situation where free markets are inferior. Between strong players unions, owner cooperation, and agreements with the cities they play in, professional sports have created and environment with an incredible value for the fans. The players are well compensated and the owners and cities are successful as well.

If anything, professional sports have proven that models outside of pure free market forces can be very successful for everyone involved.
From the official docs: "The Arduino programming language is an implementation of Wiring, a similar physical computing platform, which is based on the Processing multimedia programming environment." and "the Arduino language is merely a set of C/C++ functions that can be called from your code."
Sure, I agree. If the "map" verb is in your vocabulary, and it is the very right verb to use, why not?

Just, if possible, please make sure it is easy to find out how the map() is actually implemented (like please don't hide it deep in a language runtime).
This article should create a fun discussion, but be aware that it's most likely completely bogus. I suspect it suffers from survivor bias: anyone who is in a position to jump ship and get a 20% raise consistently is not average.

If you try to change jobs every 2 years and are not great at your current position, you'll likely be sorely disappointed.
I made a mock integration of this for a coding challenge in NYC last week and won a free Android Wear watch: https://plus.google.com/103860840652017295649/posts/5qQ2djiV...

They should implement something similar, given the watch concept is significantly less intrusive and… bright.
Over the years I have extensively used (and customized) Vi(m), Emacs, UltraEdit32, back to Emacs, Sublime2. Every single one of those is a great editor and completely suitable for fast work. Major reason I am, mostly, in Sublime2 is that I have fullscreen mode with it (which I prefer) without resorting to hacks (Emacs on windows for example) or opening up editor in terminal - and it is all the same all over three OS' I use daily.

Editor wars are over. They are all useful all the same, small details matter these days... and looks.
Don't use vim... unless you want to. One thing is certain... there's not one single editor out there that by itself can turn you into a better coder... and in the end that is the only thing that matters. Try them all use whatever you like. I'm a designer... I started using vim because I was doing a boring job and needed something to make it feel like a challenge. I still suck at most keyboard shortcuts but I like the challenge of finding a way to improve every now and then. Does using vim make more productive? Probably not. But neither does this comment :)
I've been wondering lately if the "modern" Vim setup is closer in spirit to vi from which it descends or to Emacs. Seeing as how people are trying to enable all sorts of non-editor tasks inside Vim, I'm inclined to say the latter.
I didn't give this article much weight -- Bennett called up Christensen on the telephone and got an emotional, ad-hoc response. This isn't a well thought out, polished, official response from Christensen. Hopefully we'll see one later on.

I had to step back and think of examples that would qualify for what Christensen is talking about. I think I found a few, so I can't take Lepore's piece at face value.
When they're talking on them...
I could see this having large adverse selection effects. All the "low risk" people buy cheap insurance from Google, and the incumbent insurers are left with a pool of only high-risk customers and have to dramatically increase their rates accordingly.

Even if that works well for 99% of people, it could have seriously negative effects for some. After all, a 99% accurate ML algorithm still leaves 1% of "innocent" customers with no way of getting affordable insurance.
Maybe Google just wants to set up an insurance company for the tax dodging opportunities it can provide.

http://www.bloomberg.com/news/2013-02-19/paulson-leads-funds...
My dad figured this out in the 80s. Changed jobs every couple of years for a bigger title and more money. It seems obvious to me anecdotally.
Details leak out on HTC’s ‘Nexus 9′ Android tablet
EchoLogic wrote a great opinion peace on this:

http://www.reddit.com/r/spacex/comments/28r7te/opinion_a_mes...
I found this absolutely true in my short stint as a software engineer so far (1 1/2 years) - I have switched jobs twice, the first switch giving a 50% raise, and the second giving an 80% raise.

Companies don't seem to be interested in retaining quality talent these days (or developing it), and get used to paying a certain amount for that talent, even if he/she is worth a lot more. It is in each person's self-interest to then seek out the compensation & promotion the person deserves, assuming all other things being equal.
What about Emacs? I always found Vim UI (with the two modes) weird (but that's my own very subjective opinion).

It did not take me 2 years to take significant improvement in text editing. Maybe 2 weeks, if even that. Then you have plugins, but honestly I don't really use them all that much.

I mostly use basic keybindings, ssh access, and the "ace-mode" plugin that lets you jump around with ease.

The thing which makes me sad is that emacs is nowhere near the quality of IDEs in almost all languages (maybe the only exception is Emacs Lisp). So I have to suffer inferior editing capabilities to get all the nice stuff (jumping to definitions, refactoring).
If they have launches every 2 minutes, people will get bored and not pay any attention to them.
Debugging underscore's endlessly created anonymous functions can be quite painful, leading to huge, nondescript stacktraces and sometimes straight crashing the debugger. I have ripped it out of multiple projects and found performance gains and much better readability. It seems like a great idea but in practice native features are usually better. Only in certain browser cases are certain underscore methods useful.
Narishma's sibling comment is spot on: the microcontroller profile cores have a subset of the instructions available on application profile cores. Cortex-M0(+) and Cortex-M1 have a base set of instructions, while M3, M4 and M4F each add a new subset to that of the immediately inferior model. This is done to change the trade-off between speed, energy and cost.

If you keep switching between different Cortex-M cores and have difficulty keeping track of the available instructions, this wikipedia page[0] summarizes things in a nice short table.

[0] https://en.wikipedia.org/wiki/ARM_Cortex-M#Instruction_sets
Not really, there's vimgrep plus regular grep on the command line.
Yeah, I figured that out. I just didn't like how the introduction assumed everyone knows about it.
I think that's one of the important parts of the article; corporate management is either unwilling or completely incapable of differentiating between average and exceptional talent and often doesn't reward the latter properly. This means the only option for exceptional talent to be justly rewarded is to continually jump ship.

IMO that's terrible business practice, especially in software development.
> creating a secret AES key, and encrypting each value individually

This doesn't sound like a good choice. It's security through obscurity.
How often did he change employers? I can't see how changing often somehow prevents learning. Even if he changes his employer every year, there should easily be enough time to learn.
Top recruiters have known this for a long time and call it marking to market. The article nails what's going on but the implementation is a little more nuanced. You don't just switch jobs every few years to lock in pay raises.

When you're in a hot market where labor demand outstrips supply, you should leave multiple times. For example, most people are shocked at how high software salaries are when they actually take a look at GlassDoor. The market is hot, you should be using it to increase your pay. When supply outstrips demand, you should stay at your current company and your above market pay. The other thing is you should get what you can when you come in the door because some companies go multiple years without pay increases and, when they do, they use a percentage of your existing salary (1-3%).

If you're not leaving, you're getting screwed, plain and simple. At Oracle, there were high performers and they came in 5-10 years ago and only received small raises. You'd see senior developers at 100k after being there for 10 years and then you'd see a new grad from MIT hired in at 100k. You wouldn't really see VPs promoted from within but you'd see them hired in from the outside all the time. One woman left at 75-80k for maternity leave and got hired back in at 125k for the same position.

Moral of the story is be prepared to seek and get your actual market value because it's probably higher than you think.
To conclude something from a name without reading the works and criticizing it factually is just prejudice.
See hashcat. :) It is easy to crack those types of hashes these days. Or even just search for the hash in google.
I did a dump of Project Euler sometime back. The script, code, and problems, and solutions are all on github [0]. The finished product was just a terminal-style UI to Project Euler called codebot. You can try it out at http://codebot.sdslabs.co/

[0]: http://github.com/sdslabs/codebot
In India, we have mandatory breaks somewhere in the middle of all movies. Even for Hollywood Movies, it is just shut off, sometimes right in the middle of a fight or an intense scene. We pee, have snacks and make phone calls. :-)

My first reaction when I saw Sin City somewhere in Detroit was, "How long is this movie?" Then I realize why everyone had popcorns and everything before the movie starts.
It's quite possible that this "horrible hack" might be good enough! I'd love to see people experimenting and coming up with answers about what works and doesn't. :)