skysight-inc/HackerNews huggingface dataset:
I can't speak with authority on OCaml or Haskell, but Common Lisp isn't lacking in terms of libraries. You just have to know where to look (http://www.cliki.net) and how to manage them.

And one last thing. Is functional programming really better than imperative programming? All that brain-racking to implement a multi-level loop using recursion in ML? IMO, imperative programming cleanly maps out to the real world. The world is imperative!

"LISP embodied a much greater leap of imagination. Conceptually FORTRAN remained on familiar grounds in the sense that its purpose was to aid the mechanization of computational processes we used to do with pen and paper (and mechanical desk calculators if you could afford them). This was in strong contrast to LISP whose purpose was to enable the execution of processes that no one would dream of performing with pen and paper." - EWD 1284
I think it is a good idea, worth cultivating. However, one of the problems might be that many of these shops buy from large suppliers which have sophisticated systems and you will battle to bring them along.

However, they might already have web interfaces that you might be able to tap into (think soft drink companies etc).
The science of fun (2008)
I agree. Nevertheless, Venezuela is still having democratic elections and Chavez is still winning them.
> However, one thing that i don't think many people appreciate is that in some of these scenarios if the driver begins braking normally (i.e. to slow their speed rather than a full-on emergency stop) and they continue to do so for a little while they will very rapidly burn up their brake pads, and then they won't have the ability to use the brakes.

I don't think that brakes burn out that quickly.

I once had a car with a brake problem such that the brakes were always somewhat on. They lasted for quite a while. (That car had a lot of horsepower so I didn't notice the extra drag. However, even it couldn't overpower its brakes, which were nowhere near as good as today's brakes, when I stomped on both pedals.)
Art Lebedev's Segmentus implemented in javascript
I'm not saying this to be mean or anything, but I think your stuff could last longer or you could fix them.

No offense taken. However, I've been fixing laptops since 1993 when I worked at IBM and was THE guy in the US that all the broken Thinkpad 700's were sent to for repair. My home electronics shop is pretty well equipped. I've lost count of the devices I've fixed or upgraded for myself and friends.
You know how sometimes you hire a guy from a hemisphere you've never even heard of for a project, and when he delivers, it's nothing at all like you requested, riddled with bugs, and randomly crashes?

Now imagine that guy representing you at a murder trial.

I like the barriers.
F# --- functional language with thousands of the most easily available languages anywhere.

It's worth it, but it's not a magic bullet. Language wars are for people who like tools better than they like workshops.
Median age of TechStars Boston 2010 cohort is 34
Great explanation. A diagram with 3 example scenarios is worth a thousand words.
Good artists copy, great artists steal?
Adwords without Pagerank is useless. The pay per click and auction mechanisms for Adwords are innovative in a sense, but Adwords is not successful because of its technical implementation. Adwords are what people pay for in a literal sense, but the source of Google's money is their search implementation.

EDIT: At this point their brand is also a source of Google's money. Today you need both to compete in search.
Can anyone explain to me how redis supports partitioning? I'm still learning but so far I haven't found any support for it.
i use python for anything that's not speed-critical. see http://norvig.com/python-lisp.html (norvig being a very famous lisp programmer).

my own experience is that learning functional programming gave me more options - that can be useful when solving problems. when writing code for myself i try to combine the best of function, oo and procedural styles, while staying within "good taste" for the language i am using (sometimes i cannot choose the language).

so yes it's worth it, but your question leans too much to extremes: it's not a silver bullet any more than oo was; it's a mental tool that does help in every-day programming.
I think Clojure may be your answer; functional programming with access to Java's enormous libraries.

Regarding "betterness", it's a philosophical shift -- some problems are better suited to one domain or another. My favorite metaphor for functional programming is Unix pipes:

cat file | grep XYZ | sort -r -n | ...

There's no explicit state but you can track the flow... output a file, search for something, sort that result, pipe it somewhere else, etc.

Imperative/state-based programming forces you to give names to all those intermediate results, just so you can pass them along. Sometimes variables are just a place to hold data until you can pass them to the next function; functional programming makes that so easy you don't need the variable. And think about how much easier it is to debug; once you get a part of the pipeline working, you can move to the next part (without worrying about global variables and other hidden interactions that can happen with imperative programming).
Why are carrots orange? It is political
I think you really have to live in the Philippines to know (so my opinion is obviously not worth that much), but it seems like a good basic business tool (and those are obviously going to sell well if no-one else has jumped in yet).

Probably the best thing to do, is to put together the simplest thing that will do the task and to try to sign up some alpha testers.
The right tool for the job. Just like object oriented code isn't the be-all-end-all, function programming isn't either. Computers are functional! Everything is data! All actions are operations upon that data! Computers are a real world of mathematical elegance & correctness, it's all zeros and ones. It's so much easier to think functionally...

Seriously though, if you want to try both perspectives, you have to submerge yourself in a functional viewpoint until you start thinking like that. Because if you grew up thinking functionally, you'd find it easier than imperatively.
I'm not sure why you say it's "BS in terms of engineering."

The tick/tock is done for both business and engineering reasons. Debugging new silicon is hard enough without landing a new microarchitecture and a new process simultaneously.

While the ticks (new process) aren't quite as exciting as the tocks (new architecture), they bring real benefits in cost, power, and increased perf, not to mention usually a few microarchitectural enhancements. These chips are the best of their uarch, and they pave the way for the next tock, as you point out.

Disclaimer: I used to work for Intel's Oregon CPU Architecture Team in the performance group, but that was more than three years ago, so take what I say with a grain of salt. And, of course, I don't speak for Intel in any way.
Focus for Startup Ideas: White House Grand Challenge Request for Information
Could Bugs Save the World's Energy Crisis?
you're confusing me with someone that cares. at this point, for me, voting here is for groupthink. if people want to that signal i'm not part of "the gang", fine - that's been the way it's been for most of my life. as for this thread, there are plenty more where i am not down-voted without explanations and i'll be polite to the people in those.
Top Worst Airplane Passengers
Here's Looking at Euclid: A new "Popular Math" book
Pope Benedict more closely linked to sex abuse scandal
My sister in law is a doctor, and she's saved me thousands of dollars and tons of time over the years. Now when I get bitten by a tick she can just call in my antibiotics to walgreens. I'd happily pay her a consulting fee if she wanted. I wish more doctors offered round the clock 5 minute phone calls.
+1 for peepcode.

Just watch objective-c/iphone series once and you'll be writing iphone apps right away.
Why do you think no one else can get search right? Have you used other search engines recently? Years ago Google had better results but now I don't really notice a difference in the quality of my results.
I find the best programmers know C, C++, C#, and Objective-C. They know the pros and pitfalls of each language:

1) Procedural vs OO
2) Manual vs automatic memory management
3) Naked pointers vs smart pointers vs garbage collection vs reference counting
4) Method calling vs message passing
5) C libraries vs C++ libraries vs .NET frameworks vs Cocoa frameworks
6) Zero runtime vs thin runtime vs rich runtime
Survivorship bias alert - it could be that the guy who got killed by his seat belt never lived to tell his story.

Do seat belts save lives? They do, we know this from statistics and controlled tests. However there is no way infer this data from an anecdote.

In other words you used faulty reasoning to arrive at a correct conclusion.
Personal finance online | Analysis & Opinion | Reuters
I put my idea up (about the group learning community), because I'd like it to be made. Even if I'm not the one to make it. It scratches one of my itches.
If you're poor and buying mostly fast food you're just stupid. Dare I say you're poor and fat because you're stupid.

Convenience and time? You're going to do better healthwise and financially with any of ten products you can eat straight out of the can/jar. How can you beat a can for convenience and time efficiency?

Dare I say there aren't decent grocery stores in poor areas for the same reason there are many liquor stores in poor areas. It's not some policy problem.
I favor Vivke's point of view, what's lacking in tech research is that a lot of jobs are being outsourced.

The same could be said for non-research jobs, but tech development, support jobs too.
Thanks for continuing to improve it.
If you have to count on others this much to get enough motivation to get started you'll most likely get nowhere. I'd advise to be more self-reliant. This goes for all projects of appreciable complexity.
It's a problem for anyone whose work is based on offering services.

My dad is a contractor, and my mom is an interior designer. Family members, people from church, and random people alike assume that means that they can come fix whatever little problem they're having, or pick out drapes and furniture for their living room.
This isn't quite correct. Google may have the best search right now, but its competitors could be just as good and it would still take us a while to find out. That's what happens with momentum. Here's an example: in September 2009 Microsoft released a free anti-virus that was at least as good as its competitors [1]. I'd say its just now getting some traction (and that's with Microsoft promoting it). A small company would take much longer to get traction.

[1] http://www.av-comparatives.org/comparativesreviews/main-test...
As an engineer, I choose to celebrate my Pi day on July, 22
Welcome to Hacker News,

please read http://ycombinator.com/newsguidelines.html and refrain from submitting such stories in the future. Thanks!
Immutability, reusable and composable functions, side effect free methods are worth to use in every programming language, even in Java (I've been using functional ideas for a long time in my Java works)
I agree; I hate these 'social faux pas' posts for web/graphic designers. I'm also increasingly beginning to hate this model of 'designer playing publisher' and abusing wordpress as a CMS for 'premium content' and buying/selling ad space. 1/10 times you end up with posts like, [insert quantity] things(outbound links) for [something].

The result is usually just a list of outbound links with some useless editorial commentary. Some sites (psdtuts, hongkiat) can pull it off, but others can not, which is easily discernible in how valueless each post is for who ever they're targeting (usually designers).
This is amazing. I wish there was the ability to make text via typing as well because I could easily make some basic designs to pretty up my website with this =]

(Yes. I'm not a designer)

Edit: Hold Shift for colors!
Candice Boucher Bares poses for Playboy Magazine April 2010
Candice Boucher, 27 US model is bare posed for Playboy Magazine April 2010 for United States Edition. Get your copy of #1 Men Magazine i.e., Playboy Magazine now.
One word: Blub.

From PG's famous essay (even quoted on WikiPedia):

> ... when our hypothetical Blub programmer looks in the other
> direction, up the power continuum, he doesn't realize he's
> looking up. What he sees are merely weird languages. He
> probably considers them about equivalent in power to Blub,
> but with all this other hairy stuff thrown in as well.
>
> Blub is good enough for him, because he thinks in Blub.

The other point is that there are pure OO languages, pure functional languages, pure logic languages, pure imperative languages, and rarely is a problem easily and comfortably expressed entirely in one pure paradigm.

But learning, properly learning a functional language gives you more experience, more ways of thinking, more techniques, more options.

But remember:

"The dedicated real programmer can write
ForTran programs in ANY language."

I've seen ForTran programs written in Haskell, believe it or not. You need to learn not just the language syntax, but the underlying ideas and techniques.

Then you can make the choice.
Microsoft's Bing Maps augmented reality TED talk
"The world is imperative! Things have state! We do not live in an imaginary fluffy world of mathematical elegance & correctness."

I don't think that this means an imperative language is therefore better than a functional programming language. Many problems would be better solved with more 'mathy' models.

I'm not accusing you of this, but it does drive me a bit bonkers when code becomes anthropomorphized, e.g. "this guy talks to that observer, who sends a message to the account manager." This type of code is frequently not very modular and hard to maintain. A functional programming language makes it hard to think like this, and IMHO that's a good thing.
I do believe a better language helps as much as great libraries, if not more.

Better libraries can't give you the compile-time error checking that a good compiler can. In Haskell, I half-seriously joke that "it compiles, it must be correct".

Also, modern functional languages have great library support. For instance, Haskell has a variety of libraries available, and a great FFI to C that lets you talk to any available C library. (I consider an FFI a necessary part of any generally useful language.)

And finally, "implement a multi-level loop using recursion in ML" sounds like a learning exercise, not a useful programming technique. If your code tries to recreate constructs like multi-level loops, you've done something wrong; most of your code shouldn't even need explicit recursion. Don't try to write one language's code in another language, and especially don't try to emulate an imperative language in a functional language. Learn how to do things the right way in the new language. If you try to write Java in Haskell, you'll find that it feels a lot harder than writing Java in Java, shockingly. :)

You've learned to think imperatively. Functional programming requires a different approach. It took me a long time to learn to think in Haskell, but now I feel quite comfortable with it. Having watched and helped non-programmers learn to work with imperative programming, I know that doing so requires some hard leaps as well. ("Wait, x = 5? But x = 4 earlier, so how can x = 5 now?")
My Nexus One disagrees.

Is there a control case that compares an integrated-battery N1 with a removable-battery model?

Or was this just an attempt at a witty post?
We use this one: http://github.com/edavis10/redmine-invoice-plugin. Simple (a bit too simple) but gets the job done and can autofill based on timesheet entries.
They are worth a lot. I implement many of them. And thanks for explaining to me how the google ads work. I thought they had an army of people looking at all the web pages and clicking check boxes by the ads that should show there. It's amazing that they can automate something like that! I have new respect for google now. That's awesome!
Classic xkcd: Lisp
How Enrico Fermi Takes Integrals
Did you know 'ptacek' means 'little bird' in Polish ?
Got my idea up, hashpic.com. Hundreds of thousands of pics are being submitted to Twitter/etc real time. Get people to #tag the pics, geo location is already there. We do not host the pics, but we classify and help discovery of pics using their hashtags. Think Delicious for pics.

Interested to collaborate on it, or has something to say about the idea, drop a note on the community feedback column on spreadsheet! Thanks!
Yes, licensing regulations also serve a useful purpose. But having the details of those regulations determined by the guilds themselves (rather than external authorities) is a lousy way to achieve that purpose. Why do I have to visit a dentist to have my teeth cleaned, rather than a dental hygenist? Why can't registered nurses or nurse practitioners provide basic medical care except under the auspices of a doctor? Because the rules are set by groups that represent the doctors and dentists.

It's also worth remembering that plenty of indigent people in this country are effectively represented by 'that guy,' including in murder trials. Look at the cases of Calvin Burdine or George McFarland, both of whose court-appointed attorneys slept through their trials. Are those barriers really doing what you want them to do?
I'm a functional convert but my colleagues will tell you just how convoluted some of my code has been due my trying to shoehorn everything into a functional mold.

Many in the functional world realize that some things are akward (see Peyton-Jones's talk "Wearing the hair shirt" about Haskell).

To answer the question about loops with recursion: you seldom write recursive functions when programming functionally but instead cast things into maps, filters and reduces. Thus it's not such a big problem (and the cool thing about using map & family is that you can replace them with parallel versions quite easily). With that said, some practical functional languages provide sugar to write seemingly imperative loops.

In terms of libraries, at least Scala, Clojure, F#, CAL, Nemerle (amongst others) ingrate well with either the JVM and/or the .Net platform. You can implement Erlang nodes in any JVM language (which I grant is not as good as calling directly into the JVM from an Erlang function).

There are definitely advantages to writing as much of your code as possible to avoid side effects (obviously ignoring the odd print statement to help with debugging), since your code becomes easy to test and easy to reason about. But in real world apps you will need state management - Clojure and Scala both allow this (in different ways) and I'm sure that F# does too (though I've never worked with F#).

I think that these three languages address many (all?) of your concerns. They all have cool user communities, so give one of them a shot.
Privacy Is Not Dead: Danah Boyd Talks About Privacy at SXSW
Why VCs Make Lousy Entrepreneurs
Do you count tipjoy as 'acquired' ?
"Viewing in simple list mode due to high traffic to this document" Looks like Google has imposed some limits
Ask HN: Dealing with abusive users
Every now and then I get a really abusive support email from a user calling me all kinds of names. Usually they can't log in for whatever reason (wrong password, email, whatever) and they just come out swinging.

I try to be as professional as possible, but I'm wondering if I'm just better off straight-up banning their account and just ignoring them.

My reasoning is that I have a fairly tight-knit community, and I'm worried about trolls and flamers breaking it up. So, if someone is willing to treat the site staff like crap, I assume they'll do the same or worse to another community member. Cause problems in my community and it will lose me money. I don't want that.

In addition, the a-holes are never, ever paying subscribers, so I lose nothing by booting them.

As I see it, I have a couple choices:

1) Freeze their account, no warning, no email response.

2) Freeze their account, giving a reason.

3) Give a warning, then freeze the account if they continue.

4) Be professional and try to solve their problem, assuming they're having a bad day.

Up to now, I've been doing option 4. I'm starting to get the inclination to switch to option 1.

My only fear is that by locking someone out I will somehow piss off the 1 wacko in the bunch who will make it his mission to cause trouble. Even if I freeze an account, someone can sign up with a new email address and be a douche.

Anyone else deal with this? Any advice?
So beautiful :)

Edit: the tutorial is very well written; I can follow it even without firing up the repl or anything like that (given I do have some background already).

Edit2: thank you swannodette!
"I've seen ForTran programs written in Haskell, believe it or not."

I once wrote a toy library that lets you write BASIC in Haskell:

main = runBASIC $ do
10 PRINT "BASIC in Haskell"
18 GOSUB 1000
20 GOTO 10
15 PRINT "Out-of-order line"
1000 PRINT "gosub"
1010 RETURN

(Yes, line numbers and all.)

Lennart Augustsson extended that to allow things like "10 PRINT 2 + 2" (no parentheses needed), along with most of the rest of BASIC; his approach effectively implemented a full parser and treated everything as a token. He also added LLVM-based code generation. See http://hackage.haskell.org/package/BASIC .
Pi: irrational, but good enough for horses and hand grenades
“I have an idea worth minus a million.”
We've started getting yellow carrots in the Woodmans nearby. They're very clearly targeted because of their non-orange color, but they're quite good (partly because the brand carries good carrots, but these are a little sweeter).

People + Food + Color = weird.
You can write functional code in perl 5 from 15 years ago... and you can do an even better job of it in perl today. CPAN has no shortage of libraries. See Higher Order Perl book (it's free too).
sounds good. whats your email?
redrory (AT) gmail (dot) com
A related song "God Wrote In Lisp":

http://www.catonmat.net/blog/musical-geek-friday-god-wrote-i...
I'd see the same thing when I was doing my obligatory year at McD's. The poorest workers ate almost exclusively stuff bought from McD's, instead of bringing in food. Even with the discount, they were still paying easily twice what a far healthier meal would cost if they bought ingredients.

And then you'd look down, and see a new $200+ pair of shoes every couple months.

As to the article, there were four grocery stores, including an Aldi's, within walking distance from where I worked, and I know that half of the workers that fit that category walked or drove right past Aldi's on their way to work. There are certainly areas where there are very few healthy options, but there's a worse epidemic of stupid choices.

In the extremely poor areas, the deck is stacked worse, but I've never yet seen a marked decrease in obesity near grocery stores in poor areas, despite access to healthy food.
Sorry you are wrong. Food that is good for you is just more expensive than food that is bad for you. I have never been really truly poor but I have been a poor student and I can tell you from first hand experience that it is definitely the case that if you are trying to save every penny you are more or less guaranteed to eat bad food.

I don't know what are those cans and jars of healthy food you are referring to. The only thing I can think of is canned fruit/peppers but they are definitely more expensive than the caloric equivalent of junk food.

Also as the article said, if you have uncertain income you will end up going on a starve/binge cycles which are also guaranteed to make you fat.

Another issue is that any affordable healthy food usually requires cooking and many poor people (esp in urban areas) do not have access to clean kitchens.

So it is a real issue and saying "they are poor because they are stupid" is pretty fucked up.
Expand your mind. It'll pay dividends later.