skysight-inc/HackerNews huggingface dataset:
Frontend: Facebook React or Backbone, SCSS, plain old JS

Backend: Python+gevent or node.js+connect+gulp, nginx, lots of UNIX plumbing

Storage: redis, PostgreSQL, S3

Services: Linode or Heroku, CloudFront or CloudFlare, Stripe
Here are some reasons I can think of:

* Parallelization and concurrency do seem to be easier in functional languages with immutable data. Not easier to write per se, but easier to reason about.

* JavaScript was, as far as I can tell, arguably the first truly mainstream language to embrace first-class functions and closures. The ubiquity of JavaScript has exposed many to the benefits of such an approach. Similarly, Rails and other Ruby-based software make lots of use of functional programming through Ruby's do-blocks. These languages have made people more comfortable with first-class functions.

* Languages like Haskell, Scala and Clojure have shown that functional programming can be high-performance and one need not necessarily trade speed for expressiveness. Similarly, many scripting languages (and/or the hardware they run on) have become fast enough to allow for them to be used for high-performance applications.

* Functional programming is fun, and allows for beautiful and succinct code.
> She didn't seem to get any medical attention despite police being on the scene.

TechCrunch disagrees:

"What if it was your child who was kicked and beaten so many times she suffered a hematoma after the attack (according to the medical report we received)?"

-- http://techcrunch.com/2014/04/26/a-letter-to-the-board-membe...
This is from the series Moon Machines, which I cannot recommend highly enough. It's got interviews with the people who worked on Apollo hardware, testing footage I've never seen elsewhere, and some great anecdotes as well. It really gets down into the nitty-gritty design challenges they faced -- it's the Apollo program as the engineers saw it, not the astronauts.
That's a pretty good prediction. Were I a betting man, my money would be on an explosion of females who can use some form of detection to suss out the defective gene based on some secondary characteristic. If those females can then evade mating with the altered males, their offspring would rapidly expand through the ecosystem (given that their niche would be cleared of in-species competitors).

Jury's out on whether this change could happen before the mosquito population falls below sustainable levels, though. Mosquitos breed rapidly, but they don't hold a candle to bacteria breeding rates and it takes a lot of generations for those to evolve resistance to each generation of antibacterials.
Honestly not trying to be a brat here, but I do this a lot myself, and I'm no Ken. Sometimes sitting back and just examining the symptoms of a bug can help narrow down the context that it was likely to have arose from (if you know the code base well enough). I often find that firing up the debugger tends to lead down tangential rabbit holes, particularly when dealing with a heavy framework.

That said, a REPL would be nice. Seems like go compiles fast enough that some ambitious dork could make a REPL-faker?
Yeah. Here in SF there are a variety of friendly people who hang out on busy sidewalks and try to start conversations. They are doing it to raise money for various charities. They will look miffed if you ignore their polite opening lines. Now any time somebody chats with me on the street I have to do a quick what-do-they-want evaluation.

I dislike them for it; it seems to me that they're strip-mining politeness. Each time they bug me, I get a little less polite to strangers, a little more wary. I think it's especially ironic when they're begging for environmental charities, saving natural resources by spoiling human ones.
Matt, I refuse to use Freelancer or endorse it until the murky issue regarding the drivers licence is cleared up. Why was it not accepted as valid identification?
>Currying is a functional programming technique that lets us pre-define arguments in a function

No it isn't, that's partial application. Currying is (lambda (a b c) ...) => (lambda (a) (lambda (b) (lambda (c) ...))) generalized to any number of parameters.
where would this "renaissance" be taking place? The most popular languages are java and C...
Thanks for the insightful reply. :)
So in a moment of Sunday night serendipity, I liked the video enough to follow the link to Will's consultancy site and then his personal site[1], where I was intrigued enough with the interface to click through a few items. Seeing the name 'Bankai' took me back at least a couple of years when I spent plenty of time on the then new thesixtyone.com interface admiring their interface and gamification of new music discovery, where I had 'hearted' a few of Bankai's tracks. Will appears to be prolifically creative and dedicated to sharing, inspiring qualities.

[1]http://willdayble.com/
> also, can someone please explain the issues around 'nil' ? i fail to appreciate author's concern about those...

Take it from the guy who _invented_ nil: http://qconlondon.com/london-2009/presentation/Null+Referenc...
Most Go programmers I know use printf debugging, not GDB. It fits with the Go philosophy of doing everything from the code, minimizing tools and config files.

This is not because the tools are so bad we are forced to bang rocks together. It's because writing code is an effective way to diagnose bugs. Even when I'm in a full-blown IDE with a GUI debugger, I prefer to use printf debugging.
Yeah, its interesting to hear people talk about it NYC like its their holy city.
> publically speaking out against them

You seem to be arguing that having an opinion about whether someone should remain CEO is bad and unacceptable, but the CEO having an opinion about gay people not marrying each other is good and sacrosanct. You might want to pick one.
Snake game on MIDI controller
"- Moves actions out of the scope and onto the controller itself, where they belong"

Based on the Classy's docs, it doesnt "move" actions out of the scope and onto the controller, but the other way around. It adds controller's actions to the scope unless you prefix the names with an underscore.

Based on my experience debugging angular performance issues associated with expensive $digest cycles, I do NOT WANT it to happen automagically. I only want those functions on the scope that i explicitly place there.
This is theoretically interesting! I want to see this become ubiquitous – connected device apps should be consolidated into one interface, indexed by place (do you need your one lightbulb app outside your home?)

When you walk into a new room, shouldn't all light switches automatically popup on your device?

This almost feels like Wordpress for places and times, with all the widgets and themes…but it needs traction first, tricky.
Absolutely, that's true. Obviously, not every problem needs to be solved with print statements, a debugger or a REPL. But it can help in many cases, and it's better to have too many tools than too few. Of course, it's flippant to just say "there should be a REPL" -- presumably, there are good reasons (better than the one stated) why there isn't one, or isn't one yet, in Go.
The author of numpy is making the next generation numpy, blaze (http://blaze.pydata.org/docs/index.html). There're also many python project, such like numexpr, blz, numpy aim to boost scientific computing in python.
Having a strong community, I think python might dominate the data analysis in the nearly future.
A. Krizhevsky put out a pretty interesting paper recently on this same topic. Also, it has the best research paper title I have seen [1]

By changing the type of parallelism depending on where in the network you are (fully connected vs. convolutional layers), you can take advantage of layer properties to optimize the sharing between GPUs. Whether that reduction in data movement is enough to make it feasible for AWS/local LAN links is up for debate.

[1] http://arxiv.org/abs/1404.5997
FWIW: I studied economics. I have a degree in the subject. I've continued my education since.

I agree largely (though not wholly -- truth is a bit more nuanced) with your sentiment.

If you want to make the case, though, pointing to references for others to look at tends to be more persuasive.

You'll actually find a lot of support within the field of economics itself, though much as well outside of it -- sociology, anthropology, physics, chemistry, and ecology all come to mind. There've been articles noting the crisis within economics over the past decade in such left-wing pinko rags as The Economist, Financial Times, and Forbes, as well as the more plausible sources such as The New York Times and The Guardian.

Thomas Piketty's recent book Capital in the 21st Century (you've probably heard of it) addresses much of this. Hell, you'll find a lot of similar sentiment within Adam Smith's Wealth of Nations, which, I can pretty much promise you, isn't the unalloyed defense of laissez-faire, non-interventionist, anti-statist doctrine many people would like you to believe (and likely believe themselves). David Brin's been on a kick to get people to read, really read, Smith, and I have to agree.

Even with persuasive argument you'll get a lot of hostility, but you'll also tend to convince a few people if you line your evidence up.
There should be a website for selling old projects. This post has more comments than points.
Not that you should feel obliged to be other than you are, but if you don't like the social anxiety you can work on that. I have, and now I generally find small talk with strangers quite pleasant. It wasn't easy, but I'm glad I made the change.
The checklist is about making sure you have used those tools.

This is not how I would recommend running the average startup, but for mission critical software having someone other than the author review all the code using a checklist is probably the best way to ensure quality. The author of the code would have the same checklist and would be expected to hit all the points before handing the code over to the reviewer.
Your first step is to define "good" at this stage. Is "good" a guy that can make you a prototype within your budget or do you want a coding god that can build the company for the next 5 years.

Startups are like children. Get the right toys for the right stage of life. You don't need a seasoned guy with tons of experience to create a working prototype. If you get more interest after the prototype stage, you'll have more traction and attract someone that can really take you to the next stage.

Baby steps.
These reasons make sense when explaining the rise of, say, dynamic, interpreted languages luke Python/Ruby which are inherently slow(compared to conpiled, statically typed languages). Scala runs on the JVM, which is super fast once warmed up. So does Java. But Scala is more functional, more expressive and without a significant RAM or CPU hit compared to what we are already paying with Java.
But I need some filters to be "global" and some to be "local". I need to call some in different modules, while some are useful only in one particular module.

I haven't found out how to do this yet. Not fixing it until it breaks, even if that means I'll have to re-write parts of the app.
You should really read your Karl Marx:

A man must always live by his work, and his wages must at least be sufficient to maintain him. They must even upon most occasions be somewhat more, otherwise it would be impossible for him to bring up a family, and the race of such workmen could not last beyond the first generation.

Oh, I'm sorry, I got that totally wrong. Adam Smith, Wealth of Nations.

http://www.gutenberg.org/files/3300/3300-h/3300-h.htm#link2H...

http://redd.it/2311mb
As GMO tech progresses, we are seeing strange side effects like interference with the monarch butterfly and bees, soil depletion, a drive for deeper genetic modification as weeds and insects adapt to old versions, a draconian patent structure effecting farmer livelihood, just to name a few problems.

Who would blame anyone for choosing food over starvation? But GMO is not a solution for the world, and it is not a sustainable solution for fixing poverty.

I aim this generally: it's a bit rich for the so-called developed world to destroy sustainable indigenous populations and then "solve" the problem with intensive agriculture. All under the banner of "isn't science great," "what could possibly go wrong," and "cheaper feed for livestock."

I doubt it's a popular opinion, but there I said it!
Note that the people who espouse Erlang are espousing the Erlang VM (mainly because it doesn't have a name besides "the Erlang VM".) Nobody likes Erlang's syntax. Nobody likes Java on the JVM either, but Clojure's pretty great. Use Elixir, and you get pretty syntax, and also "string support" and "a consistent stdlib" for free.

And, since other people have already rebutted your statements about structs and hashes, I'll ignore that. †

On needing speed: for IO-bound operations (concurrent ones especially), Erlang is faster than Go. For CPU-bound operations, Erlang knows it can't beat native code--so, instead of trying to run at native-code speeds itself, Erlang just provides facilities for presenting natively-compiled code-modules as Erlang functions (NIFs), or for presenting native processes as Erlang processes (port drivers, C nodes.) If you run the Erlang VM on a machine with good IO performance, and get it to spawn the CPU-bound functions/processes/C-nodes on a separate machine with good CPU performance, you get the best of both worlds.

And finally, on "every program having to pay the costs": is someone forcing you to use Erlang to create something other than fault-tolerant systems? Learn Erlang. Learn Go. Learn a bunch of other programming languages, too. Use the right tool for the job. The article is the rebuttal to people who claim that Go replaces Erlang in Erlang's niche, not a suggestion to use Erlang outside of its niche.

---

† For a bonus, though, since nobody seems to have brought this point up: Erlang has always had mutable hash tables, even before R17's maps. Each process has exactly one--the "process dictionary." It's discouraged to use them in regular code, because, by sticking things in the process dictionary, you're basically creating the moral equivalent of thread-local global variables. However, if you dedicate a gen_server process to just manipulating its own process dictionary in response to messages, you get a "hash table server" in exactly the same way ETS tables are a "binary tree server."
I do too, I think this is more efficient when I understand what's going on.

However, let's say I'm given a third party library, and I know essentially what it does. I want to "see" the properties and methods of the object, I want to "inspect" values, and I want to "test" expressions, all at once. If you're just using printf, then between each of those steps you need to write a line of code, recompile, and reach that state in your program again. Like I said, if you already know essentially what's going on, deep dives like this become less and less important. However, I just think it's a boneheaded philosophy for a language / toolchain to just like...I don't know, assume you're good. I'm trying to become good, but I am getting more and more frustrated with Go every time the default answer to my problem is "be less of an idiot"
You need to drink more. Much, much more.
Cynical answer: The consultants have decided that they need a new snake oil to sell since the Agile bus is running out of steam.

Hopeful answer: FP languages have gotten enough better than the current mainstream that they can't be ignored.

I believe it is a bit of the Hopeful answer but mostly the Cynical answer. If you compare java and Clojure(or Scala for that matter) on the programming language shoot out Clojure is neither more concise nor faster than Java. So why all the hype then? As far as I can tell it is book sells and the fashion cycle.
Java just added lambdas.
Yeah agreed, wasn't trying to cast doubt, mostly just pontificating.
https://flippa.com/
started doing something with this with my automation system https://github.com/dandroid88/webmote. endedup just leveraging mpd instead but when i was working on it it was much like you described where you could walk the server/discs and just play music from the browser screen. From there I planned on all the meta data enhancments but then got busy with other things. Ill find the computer with that branch and push if i can.

agree with the idea/problem
I think this is great advice. Two of the biggest annoyances I had with Sublime Text were the autocomplete suggestions and the bracket/parenthesis matching (or lack thereof).

I still think the default behavior (as of Sublime Text 3.0) is pretty broken with both. For autocomplete suggestions I found this to fix the problem:

https://github.com/atombender/sublime_text_alternative_autoc...

For bracket/parenthesis matching it was annoying me so often that I ended up fixing it myself by writing a plugin:

https://github.com/ccampbell/sublime-smart-match

I think this advice rings true for more than just editors. Third party libraries, browsers, frameworks, etc, all have their limitations/weaknesses and fixing things that annoy you is always better than living with the problems.
I just want to let you know that I really appreciate your empathetic suggestions for those [like me] trying to learn intermediary aspects of AngularJS; of which I am going to relate to—the learning of how to walk——and then applying that knowledge to break atmo and venture into the stars. :)

TLDR; THANK YOU (Intermediary AngularJS learning–curve is friggin hard.)
Also, GMO tomatoes have poor flavor and too taut a texture…
That's a very poor answer, Matt. The audience here is a hell of a lot smarter than that (and right now, very skeptical of your business). Showing up here was a nice gesture, but if you're not going to answer questions thoughtfully, it's not going to help you.
I have mentored people, some casually and a couple for long periods. It can be great.

I would say that you shouldn't approach people and ask them to be a mentor. If you did that with me, I'd definitely be put off; it would seem like a lot to ask from a stranger, and since you didn't know me it would be clear that asking was all about you.

However, I think it's perfectly fine to ask for modest amounts of advice. I get that a fair bit, and I try to accommodate people whenever I can. If you do that and it seems to be pleasant and beneficial to both of you, I think it's reasonable to ask for more advice. Keep that up and a mentor relationship might develop very naturally.
I have 10-12 productive hours most days, and sometimes more if I'm highly motivated.

I work from home which eliminates 1-2 hours of commute loss, and untold loss from office chitchat and politics.
Coal power plants are baseload generators. So the simple answer is that this is only possible for 30-40% of the coal generation capacity. If you want the lights on at night, that is.

Nuclear, for example, can replace coal if we want it to.
As a counterpoint I'll explain why I don't use Haskell.

I like Haskell. I like it in theory and I like playing around with it. I like the discipline it requires having to re-think "everyday" things in order to solve them in a new paradigm. I started with Python and then learned half a dozen other imperative languages so Haskell is utterly alien to me apart from the most basic concepts like recursion. I liken it somewhat to learning Vim -- you make the simple complicated and gain something in the process. Haskell is the number one language I wish I was working in at any given time.

So why am I not using Haskell? Most of my time is spent on OS X and iOS. While I could shoehorn Haskell into a project it doesn't make business sense to do so. I couldn't justify the extra time, complexity and I certainly couldn't justify it to a client. There simply is no good answer to "what about the next developer?" and other related questions. (I think this is why shoehorning a paradigm into an existing language is much better approach when you have a tight coupling of language and platform -- I'm thinking of RAC here.)

Give me something to work on where Haskell is the obvious choice and I'd be all over it. Until then it has to stay in the toy box.
using the combo

"wide_caret": true,
"caret_style": "phase"

seems to work nicely, both wide and phasing!
This is a great article. I have also been vendorizing my dependencies. I recently have been bit by projects that I rely on (config parsers, things of that nature [and for a couple of my projects, I have too much config for using command line flags]) moving or doing silly things. The old code works fine but now it is a pain to setup a new dev environment because I have to clone from a different repo than its import path is from and check out the appropriate commits.

To solve these problems I have started an experimental thing and I would love some feedback on it. I am calling it `gopkgr` and the idea to have a thing that will let you make nice tarball packages and install them.[1] Eventually, we could have something like godoc host version-ed packages. I want to be cross compatible with `go get` but I also want to support more general situations.

For instance, right now it is really difficult to write polyglot go systems. In my research, I have a system that is go, java and python to tie things together. Super annoying to have such a polyglot system but I have different needs and each ecosystem offers the path of least resistance on each one of those needs. With the current go situation is not possible to create a re-usable package for the go code which is usable by other projects without breaking it out of the repo (which doesn't really make sense in this case).

In anycase, I don't want to solve dependency management with gopkgr. I want to solve packaging dependencies for repeatable builds without having to worry about code moving from this source code host to that source code host. (eg. google code to github or vice versa) So if you have good ideas in this regard. Let me know about them.

[1] https://github.com/timtadh/gopkgr
When I was student age, circa late 1990s, I had a few people I knew with money offer to set me up into an existing web business if I found something interesting to purchase. They didn't have the technical chops to run something, they knew I did, and they had the money. Friends, family, investors, there are numerous options for a younger person to pull this off - even more so if the sums aren't too crazy.
JavaScript has both beat for deployment base and developer population, I wager.
I don't think anyone intended to create this shadow economy.

That's one of the conclusions I'm reaching about the economic system in general: much of it isn't so much planned as it just happened (though there have most definitely been very long-lived efforts to influence both how people think about the system and how it functions -- going back to Smith and before).

But I also feel that much of what "just happened" is also less than beneficial through both perverse incentives and externalities.

Your "truly picking up people when convenient for their usual routes" existed for a time in the form of hitchhiking, and survives today in limited forms such as casual carpool arrangements.
Was in a similar situation as the OP with ST (a different plugin), but unfortunately I couldn't justify to myself spending any more time trying to fix it, so just went back to my old standby, Notepad++. Surely editors+plugins should just work?
On Tumblr i'd disagree

Tumblr is still well and alive, and hosts multiple blogs that I read. The nice thing about Tumblr is you probably won't realize you're on tumblr unless you notice the little transparent action bar in the top right.
I'm pretty sure this use case is covered by Twitter, which ironically in this context folks are starting to beat up for not having private messaging.