skysight-inc/HackerNews huggingface dataset:
Germany here. My impression is that there are some hotspots (e.g. Berlin) with enough users on OkCupid that using the site actually makes sense. In the rest of the country the user base seems to be relatively small. In areas with US Army presence (e.g. Patch Barracks Stuttgart or Grafenwöhr Training Area) one can find an awful lot of US expats on OkCupid, people who obviously know the site from back home. Locals however seem to prefer the German sites. Which is somewhat sad, I think OkCupid is unique as a mixture between a dating site and a social network, it leads to a more casual tone there. The German sites are mostly focussed on finding partners for longterm relationships, by and large they seem to be not as casual and relaxed as OkCupid (e.g. parship.de).
Clojure uses a lot of lazy evaluation in its collections library. Does that count?
Are there blog posts about how someone tried to solve an actual problem in PHP, but couldn't because the language sucked too much? You know, instead of pointing and laughing at things they saw in the manual or newsgroups that hardly matter in practice.
"For a Google-backed language to replace Rails"

It's not "replacing Rails", it's replacing new projects in what are today scripting languages (Perl, Python, Ruby, PHP, etc.).

I see fewer people talking about Dart than I see doing things with Go. That said, I did finally beat Google Trends into producing [1], which is interesting. It was hard to convince Trends to show Dart as growing as quickly as Golang, though, so there may be a selection effect (of the several graphs I produced with Dart well behind Golang, this is the only one that shows them even tied), and it still shows Dart as tied with Go, and Go's growth being more steady. I'm still not sure Dart is growing like Go is.

I suppose I should point out that the predictions were my best guesses about what will happen, and do not simply reflect what I "want" to happen.

[1]: http://www.google.com/trends/explore#cat=0-5-31&q=dart%2C%20...
Having written some Python I agree. Having written a lot of Ruby I disagree.
There is no language I love more than Clojure but I would never describe it as "lightweight" (as I wait 5-10 seconds for lein repl to load).
Secrets of the JavaScript Ninja Half off with Promotion Code
A simple CASE statement would be better. It would replace a complex machinery plus lots of character-level syntax complication.

A typical case where a more complex construct does not help much.

Generic functions were introduced into Lisp, to replace a complex message sending mechanism with a more functional notation.
What have Mamp done? Furthermore most web hotels support PHP.
When you point out the joke it makes it infinitely lame for everybody involved. Just let the joke be and laugh at it!
Ruby isn't dead. It's stabilizing now that all of the language hipsters have moved onto Go/Node.js/Scala/Clojure to recreate a bunch of mini Web libraries to try and make names for themselves in the new languages.

Ruby's best days are still far away.
Good question. Unlike most languages with which I am not yet familiar, Clojure looks like Greek. Most languages are at least somewhat readable. Perhaps I need to know Lisp to appreciate Clojure. Coming from a Java/Scala/Ruby/Python/Haskell/Pascal/C# background. I can't make head or tail of Clojure examples. It might as well be encrypted. To those who are using Clojure, which previous languages enabled you to make sense of Clojure more easily? Or was it something you learned from scratch?
This is true for all language that do things right the first time.

If you learn C well, everything else(C based languages) look the very same.

Perl enjoys that first movers advantage.
Did you miss the case statement both used in the original code and the dispatch function?
Rumor goes that MS will likely make C# cross platform or open source entire .NET runtime, so that they can run Dynamics on Linux as well. In my opinion, if they did this, I would expect C# to get significant growth, and eclipsing Java.
I think a valid point to make here is that what has propelled Ruby, Python, JS, etc, forward has not been the language, but the frameworks that have put context and boundaries around using those languages.

Its entirely possible to write a poorly organized bowl of spaghetti using Ruby if you leave Rails out of the picture. I would venture to say the same is true for any programming language.

PHP was born before the idea of an open source framework had been propagated, it spread around the web before many of the paradigms and patterns had evolved to what they are today, and unfortunately it failed to gain acceptance by the elite programmers that have carved a community out using those other languages.

The other languages' respective frameworks have large, organized communities which have attracted very smart people that have put large swaths of functionality in place, before you ever have to write a line of code.

Its playing catch-up now, but there are good examples of PHP out there and it most certainly can be used in an elegant, high-quality manner.
Aren't immutability and persistent data structures means of managing state?

Note that pron said "its emphasis on managing state, especially in the face of concurrency", not "its emphasis on managing state in the face of concurrency". That is, concurrency is an important area where Clojure's state management really shines, but certainly not the only time that managing state is important. I would say managing state is a key aspect of any complex program, even in the absence of concurrency.

I think this actually fits nicely with TFA's assertion about "lightweight data modeling" because managing state and data modelling go hand in hand IMHO. The fact that its lightweight and easy to do (data structure literals also help keep it easy) means that programmers will tend towards this in their solutions.

Actually, I believe Rich Hickey says in his talks that its all about managing complexity and making solutions simple through a datacentric approach. I believe that this is, ultimately, what managing state and lightweight data modelling (and by extension Clojure) is all about and its this philosophy that draws me to Clojure.
List of Code Katas
You can identify "welfare moms"? You should totally post an article describing how you've managed to ID the economic status of people remotely.

Either that, or check your goddamn privilege and stop making assumptions about people.
The author must be pretty wet behind the ears if they think a blog audience will want to read huge blocks of mundane javascript code with console logging and error handling.
Not very convincing when the very first example is apples vs. oranges: the java fib() code includes a main() driver with command line parsing and printing of the result to stdout, which I don't see in the clojure version.
> "This is a big move forward, and will catalyze a great deal of change as court rulings can sometimes move faster than legislation."

Please let's not confuse the responsibilities of the courts and the responsibilities of the legislature. They're different for very good reason.

There's little to legislate here, anyway. What Snowden's revelations are targeted to doing is bringing the Government's actual behavior in line with the law, (in this case the 4th amendment of the Constitution). That's strictly the purview of the courts.

The bits that will require legislation (like "Data collected by the GCHQ on Americans should be treated the same as if it were collected on american soil") are loopholes in the wording of the law that the Government has exploited to do whatever it wanted to do. Closing technical loopholes like that may require legislation.
You can however use macros to generate the fixed argument count versions; I don't know if Scala is able to do that.
"going on other" => "going on in other" (actually that sentence doesn't make sense anyways; somewhere around "were" it's gets confusing)

"perseption" => "perception"

"Fewer lines of code is a great thing" => [the opposite argument could easily be made as well; more lines of code (within reason) = less obfuscation]
This Hans Rosling talk from a few years ago shows how most indicators are improving worldwide (e.g. reductions in child mortality, GDP per capita).

http://www.youtube.com/watch?v=hVimVzgtD6w
Yep. With every password breach the word gets out that you should have unique, strong passwords for each site. And yet with every breach we learn of more shared, common passwords. Not to mention how little attention most pay to entering a password on a site without SSL. Credit cards they'll worry about but passwords, less so. And imagine explaining session cookie hijacking as we tried to when Firesheep launched? ;-) Once the big players launched with SSL, problem "solved". That said, most do now secure their WiFi, so the public can learn, and I think has learned from healthcare.gov.
"* Go or Rust - A well-designed, modern language, easier to use than C++ but almost as fast, for enterprise applications or video games. Not sure about Google, but I hope Mozilla will still be around in 10 years."

Unfortunately I imagine that Google has enough money to be around at least 20-30 years.
Who's Selling Credit Cards From Target
> how easy it integrates with HTML, JavaScript, CSS

No more than any other language or product written in such.

> Of course it's ugly, but who besides a bunch of snobs and people who actually can't use it really cares? Who should care?

You see, this is a big part of what's wrong with the PHP community, the apathy and immaturity. How on Earth is dismissing the reasoned criticism from professional peers and academics as "bashing" from "haters" or "snobs" an appropriate response?
This is the first time I have seen it. I like it, I see it as an antonym to whatever we call those "top ten weird science facts" posts. It signals that here is an author who is trying to take me seriously.
Emergency funding for Syria's humanitarian crisis
DOCKER!!!
You're building a two-sided marketplace, one of if not the most difficult model to get up and running in the startup world. Kudos for taking on the challenge!

While we're not building a dating app, we are building something that in many ways functions like one, and so we've studied the model a lot. The simplest version of a good marketing strategy we've seen is

1) pick the side of the market which will be hardest to grow organically, but which will drive growth on the other side (hint: in dating, it's the women)

2) pick a region to focus on. The entire US is too large to start. One region, or a smaller country, helps you get started. (Hint: in the US, I would pick a smallish Midwestern region with lots of universities).

3) Figure out a clever, simple marketing plan to drive your selected market in your selected region, and go after them heavily. Obviously I'm over simplifying this step, but it's going to need to be something which quickly grabs the attention of your target market, demonstrates the value of your product, and gets them to become active users quickly. If you're going to make this product work, you should be able to figure something out yourself, as you're the one who knows your product best.

Best of luck!
No, the original version was easier - though I would write it slightly different.
Better search terms: http://www.google.com/trends/explore#q=%2Fm%2F06ff5%2C%20%2F...
also. I have absolutely no idea how the first one even works.

fib-seq is not a defined token. wtf is going on here?
Wait until you have to update your rails and all your gems are no longer compatible.

Edit: removed "update for a security patch" because it's just updated.

Edit: to be fair, this is a common situation with many similar solutions.
Perhaps I'm missing something about Clojure, but it looks completely and utterly foreign. As someone who didn't have much trouble learning a "complex" language like Scala I find Clojure really hard to fathom.
Ruby the language is no more slow then Javascript the language is. Yes Javascript on IE8 engine is slow. On V8 it is not. Ruby on MRI is slow(though for most people, it's fast enough). Ruby on JVM is not.
The motto of PHP devs is apparently "FKIN ESCAPING, HOW DOES IT WORK?". Use escapeshellarg, kids.
In my experience (admittedly limited to only 3 specific instances), large orgs. have absolutely no problem with using Windows Server (often alongside Linux servers as well). B2B technology is remarkably Windows-centric even now, and I expect it will only become more so as time passes and Microsoft improves its server software and the .NET ecosystem, which is still pretty immature compared to the JVM.
Unit test generator for Python
Life = recycled * (nutrients + stories + phone #s)
My roommate, who got a new cell phone number a few months ago, got a text yesterday from someone asking who he was. Soon enough we found out the person on the other end lost her father a few months ago and my roommates # was his cell number. She was reminiscing and decided to text her dads old number..

Recycled nutrients, recycled stories, and recycled phone numbers.. makes you reflect on your cycle in the timeline...
Yes, looks cool. I'd suggest adding web and desktop versions of a little CRUD app - maybe a contact manager.

Test suites would definitely be a good addition.

There are interesting MOOC elements to this. it'd be very cool to collect all the implementations and analyze the different ways people solve the problem. Stanford had dinner some interesting work like this:

http://strata.oreilly.com/2013/10/semi-automatic-method-for-...

Finally, it'd be great to open-source this. Set up a repo with assignments and test suites, then students fork the repo and code up the exercises. This would allow you to easily see how people are solving the problems, and make it easy for people to propose new projects and tests.
> so you might as well just go with what you are comfortable with

Very true. I was thinking of the ethos of Perl and Scala, and wasn't trying to compare the languages directly.
If you already have a background in each of Ruby ,Python, Haskell and Haskell you probably can learn a good chunk of Clojure in a weekend, as it shares many features with these languages. The main difference, of course, is the prominence of lispy prefix function calls delimited by parens. Well, and macros, but Ruby does some of this.

Some links:
http://blog.fogus.me/2010/06/09/clojure-rb/
http://stackoverflow.com/questions/4509782/simple-explanatio...
http://jkkramer.com/sudoku.html
I'm starting to think that the ROI on "learn Haskell and/or Clojure to expand your horizons" isn't there, even though I hate mainstream/modern OO so those languages would fit my mindset.
I believe Docker is great for mass-spawning tons of similar isolated containers, but feels more like an obstacle than help for other isolation/virtualization needs.

I've tried to use Docker to just isolate non-distributed ("singleton") services (in particular, virtualizing a single Puppet Master) and found it just staying in my way and complicating things more than they should be without any gain. But if I'd need to, say, launch a bunch of redundant servers or provide a PaaS-type hosting - I'd probably use Docker.

That is, I guess, due to a hype, Docker just accidentally got marketed outside of its problem domain.
Clojure, being a Lisp, uses the tradition of a REPL (Read-Eval-Print-Loop). The REPL handles all of the command line parsing and printing for you. All you do is load up your program and start calling functions with it. It makes for a great interactive development tool, as it can be used within most editors/IDEs which tend to have commands for automatically reloading all your code in the REPL.
This times a million. I think Go is awesome for a little bit of systems programming but I'd pull my hair out trying to make a robust Web application with it. I feel the same way about Node.js. I wouldn't use either of these for a public facing HTTP application but if I needed some hyper performant internal system using RPCs then I would use them.

Ruby's DSLs for writing things that Web application's need (serving HTML) are bar none the best. If I'm writing something that is serving HTML, I'm using Ruby all day, every day.
By that prediction, I did not just mean that someone wrote something in Rust that can boot and do kernel-y things... I mean that there will be a kernel project in progress that is not merely "intended to be serious competition someday", but something that you can seriously use for real, production projects as your computer's (or server's, or cell phone's, or something's) primary kernel/hypervisor/the thing actually running on the hardware. Indeed one of those projects may someday even become the kernel I am predicting, but I'd be very surprised if they are something anybody would seriously make their primary runtime today.

In other words, this is an extreme statement of confidence on my part that Rust is very likely to succeed in their goals of being a true system language replacement. (Contrast this with Go, which initially started out saying it was going to be "system" language, but they've clarified they mean something more like a serious application language rather than something you'd write an OS in. "Nobody" is going to write a kernel in Go.)
C# is held back by windows

"The enterprise" (for the most part) isn't held back by Windows. That's just reality.
I don't know Clojure, but I assume it's supposed to be:

(rest fibonacci) fibonacci)

i don't know actually...
Agreed - they definitely have different roles, however if something is legislated and cannot be argued against in court as constitutional that complicates matters. I was thinking more along the lines of PATRIOT Act rewrites coming up in the next year and the awareness of oversight bodies in the legislature such as the intelligence committee that would be providing guidance and funding to agencies.
Harp now supports Sass
It's basically a kind of step back to the Lisp of the 60s and seventies. Unfortunately I don't think this approach scales well. For example I prefer to look in a debugger or inspector at an object and not at some other map.
I'm actually a big fan of Perl, but your characterization of Ruby is wrong. Ruby is Perl with object-orientation first, nicer syntax is a minor detail after that.
Sounds like you've had a very interesting career; I'm curious where you've worked. My impression is that most programming jobs are about CRUD-like problems, adapting well-known technology to solve business problems. CS seems like it could only help if there's a well-known algorithm (that would be taught in CS), but no existing implementation available - but in these days of open-source libraries that practically never happens.

FWIW I switched out of CS into Mathematics after one year. I've never implemented A*, I've used raytracers but not implemented my own, used a bloom filter but not implemented it, used an lru cache but not implemented one, used adaptive windowed linear regression but never implemented it myself. When optimizing database queries I've never needed more than EXPLAIN SELECT; when optimizing performance I've never needed more than a language-level profiler. I did actually implement an RFC from scratch (SMTP), but that was easy enough to do by, well, reading it and implementing it.
Can you elaborate on Python's baggage? I'm simply curious.
As somebody who has made a living writing WordPress code for a few years I strongly disagree. I know how to get things done with it, but I know that the way of doing things is clumsy. Once you want to do something that's not totally common you have to interact with opaque core code that's a horrid mess and never returns useful error codes for example.

Yes, it's not hard to make trivial stuff, but it's nearly impossible (and certainly a waste of time) to do complex things.
Computer breaking is still relatively new. Give the law time to catch up. Seatbelts were optional when I was a child, but mandatory now (UK).

But yes, I do agree. Human driving may well just become unpopular rather than illegal.
1. Create fake profiles of beautiful women in your area™!

2. Then pretend to be said women.

3. Profit.
When was the last time you killed another animal in order to survive? The thing is, historical methods of survival are no longer relevant to modern humans. We do not ride horses across country, we fly in giant machines that we have built. Why? Because they are more efficient. The same goes with a plant based diet at this point in time. We can survive on a 100% plant based diet, while doing much less damage to the earth, and much less harm and suffering to the animals we share the earth with. Currently 56 billion land animals and 1-3 trillion sea creatures are being killed annually to feed 7 billion people. This is completely disgusting.
In your case, I'd recommend you learn Scheme first. The Little Schemer and of course, the almighty SICP, will be of help.
I'm not a Clojure programmer, but I have an interest in things that run on the JVM. I went through this semi-quick guide to get an overview of how the language and syntax works:

EDIT: actually this was the link I meant to post. It was on HN a couple weeks ago: https://docs.google.com/presentation/d/15-7qFy6URdE7Owi2Litk...

EDIT: Not this link, though it looks interesting: http://www.innoq.com/blog/st/presentations/2010/2010-05-20-C...
For the last issue, have you tried System Preferences → Mission Control → uncheck "Automatically rearrange Spaces based on most recent use"?
Critique is fine but it just need to be based on other things than taste.

Point to a thing you cant do with PHP and you have valid criticism.

Critiquing PHP because you you think it's ugly or not elegant enough is only valid if you care about such things and then you are by definition a snob.
Money is an enormous source of suffering. Worldly life and the pursuit of money is a hamster wheel. Poverty and service is the only freedom. I'm not kidding.
I personally would sign up for 2, but could miss the message in 1
Go's been out 4 years while Dart just hit 1.0 and requires a runtime as it's a bit less portable. Once Dart lands in Chrome, I can easily imagine it becoming the first choice of developers who prefer to develop code in their browser. A niche market now, but interesting to contemplate.

I'm a bit more flexible when it comes to trying to predict the future than my posts indicate. I'm just offering an alternative hypothesis: Dart has many more screencasts and supported libraries from Google, including Angular.dart than Golang ever had, and it's only just hit 1.0. Golang has been fantastic for me to develop with, particularly on Google AppEngine and it's true Dart hasn't hit server-side popularity yet. But if we're predicting the future, based on JS and node.is alone, I'd suggest Dart has plenty of room to gain popularity quickly.
40 cents per thousand imprressions equals 40 Millicents per impression.
That's not the problem with PHP. The problem with PHP is that its design flaws cause friction that scales at least linearly and probably more like geometrically with application complexity--and it doesn't hit you until a project is of sufficient size that every change comes with more and more pain.

"It's easy to start with" is only a virtue if that doesn't come with "it turns into a tire fire a year later".
So some developers will love type-systems, and some will prefer to stay in Lisp-land forever. :-) The OP seems to be a lisp hacker at heart, and Clojure is the batteries-included Lisp du "jure". (sic)
check your goddamn privilege

You do know that this is hurting, not helping, your case right? Unless your goal is to yell until everyone agrees with you, in which case be my guest.
So if thats the best list I am happy I went with Scala. Especially the Leiningen example. Is that seriously what needs to be written for a project to build ? Its as bad as maven.