skysight-inc/HackerNews huggingface dataset:
Intergalactic controversy
New observations of galactic clusters have revealed a controversial phenomenon called “dark flow,” which could be a sign of parallel universes.
Sign up for the closed beta at http://buildabrand.com
They're not, but many german words run together. See http://www.crossmyt.com/hc/linghebr/awfgrmlg.html for humourous examples.
OP Vistars is "[...]a web-based resource which one can use to receive up-to-the-minute updates on the status of the LHC proton beams.".

you can read more about this tool here: http://www.cernlove.org/blog/2009/12/im-down-with-op-v/

picture of OP Vistars' operation during the energy record of the LHC's Twin Beams: http://mediaarchive.cern.ch/MediaArchive/Photo/Public/2009/0... (from: http://cdsweb.cern.ch/record/1225474)
#lisp on IRC Freenode.

And paste your code here: http://paste.lisp.org/

Here is a deployed route planning Lisp app: http://enroutespokane.com/tech-info
> Python's list comprehension is much more readable than using map/filter/reduce - at least for Python programmers

For simple cases, yes. But I wouldn't say

[each for each in [expensive_call(x) for x in seq] if cond(each)]

is more readable than

filter(cond, map(expensive_call, seq))

at least for functional-thinking minds. The level of thinking in abstract is different here.

Now the problem is, some people see Python as a very functional language (with first-class functions etc) and want to use it that way (like Lisp), but BDFL and some core Python devs believe it is better to keep it Pythonic, thus those functional people are kinda pissed off by this and switch away from Python.

Personally I don't think it will make Python a lot cleaner to remove two auxiliary functions and force people to use list comprehension when it is completely trivial to add these missing pair back (two lines of code).

(disclosure: I prefer FP, but I also think keeping things Pythonic is fine most of the time. It's just that in this case, I think map/filter is pretty "Pythonic" according to me. :)
I partially agree; that's why what I meant would be a total metal reliance, e.g. 1oz silver/gold eagles etc. where the amount of gold/silver is guaranteed and consistent. I'm not saying metal's an optimum solution, only pointing out its abilities.
I grew up in Costa Rica in the late 70's and early 80's. The country had massive currency devaluation because they started printing massive quantities of currency to pay their foreign debt. The exchange rate went from 8 Colones : $1 to 130:$1 in a matter of a few short years.

People started hoarding dollars and those that had commodities did very well. There was a very brisk black market trade in foreign currencies.

My father purchased a small car, at the begining of the currency crash and frove it into the ground on the terrible riural roads and then sold it 5 years later. He made a $30 profit on the deal because car prices had gone up so dramatically.

We did fine, because we got paid in dollars, but the people around us really suffered.
Tool of the Day: ConceptFeedback: How Bright Are Your Ideas
Core Rationalist Skills
Estimating the Airspeed Velocity of an Unladen Swallow
http://www.style.org/unladenswallow/
Sorry, I was being overly cagey.

As you correctly point out, the business has no customers. Wouldn't it be a less risky proposition if it had commitments from potential high-value customers?

(N.B. I said "less risky", not "risk-free".)
Very cool. Apple of MS should hire him to make some skins!
Really? What has improved in Common Lisp in the past two years? Thanks for this comment.
Delta: methodical input minimization for debugging
The connection is actually the inverse of "Baumol's Cost Disease". BCD describes the increase in labor costs when the laborers have other options.

The problem for artists and writers is that they're concentrating on their artistic work, rather than building a resume and career, just because the artistic careers require so much energy, and most of what they end up doing is not transferrable to mainstream work. So they have fewer career options, and those who patronize them (e.g. publishers, agents) are able to exploit their weak bargaining position.

For the same reason, academics in the humanities are often paid less than those in the sciences; science professors have other options. You can say that BCD is making the science professors rich, or making the humanities professors poor-- two sides of the same coin.
No, it is not really a more interesting explanation; I really only use it to serve as an additional flag to signal possible voting rings and sock-puppet activity -- either way sometimes the back-end servers really need or want to know the ip address of the original source.

It was mostly random tossed off example of something that might have been mentioned by you in addition to just saying "use nginx as a reverse-proxy." There is nothing wrong with stating this, but I can't see why you think this is something that is not a part of the general knowledge-base of this community. I realize that you want to pimp your blog, but you could have probably chosen something more useful or interesting to the community. At the very least you could have added more content so that the 99% of the community that already knew this would have been able to get something out of this or at least not felt like their time was wasted. At the very least you could have tightened up the headline slightly so that the fact that nginx was the solution to the problem posed was stated in the headline itself.
The Digital Economy Bill - A First Critical Look
Maybe Yahoo will export it out the back door to users through an API before Facebook notices?

Yahoo pipes perhaps?

Seems unlikely, but at least the data's not all as much in control of only one company now. Two is hardly a whole lot better when it should be the users themselves, but it's not really worse than before.

So where the OP says it's not a loss and you say it is, I say this has no impact.
interested if any other hackernews users have used this on the beta?
Working at Google vs Microsoft as Proxy for New vs. Old
Video: Back up Hyper-V with System Center Data Protection Manager
I know you all know this, but I feel like it bears mentioning that nobody is forcing you to use list comprehensions whether map/filter stay in Python's built-ins or not. They can be defined in around 3-4 lines of code each. Lisp aficionados, already accustomed to the bottom-up style of programming, ought to have no problem writing functions like these as necessary.
$72,000 in E-Books in a Week – 8 Lessons I Learned
Probably not. Apple is a corporation that acts like one. They are in it to make money. They are better than average in that they try and make quality products (unlike cough Microsoft), but they are still very much in it to extract as much money as possible. And Apple has Jobs, the day that they derive any useful help out of the likes of me is the day I retire a wealthy man.

Craiglist is different, much less corporate in the traditional sense. From the very beginning they were trying to provide a service that is largely free (and hugely useful, I've bought and sold stuff there and never paid a tax like Ebay extracts). It's a pretty sweet setup, end users get a valuable service for free, craigslist gets money from entities that can afford to pay, why screw it up?

I tend to agree with some of the people here who want to make it better but if you really want to do that then go talk to them about a joint project or go work there. Personally, I'd love a way to search all of the craigslist sites at once (I shopped for months to get a 2006 Sprinter, wanted the smaller motor that gets better mpg, finally found one in portland. It was painful doing all those searches). So I agree that there are things that could be made better for the users of the site. I think the way you get those things done is to work with them from the beginning.
I don't get how map/filter is more flexible than list comprehensions. Map/filter require nesting:

(filter (map expensive_call X) cond)

So do list comprehensions:

[y for y in [expensive_call(x) for x in X] if cond(y)]

Near as I can tell, the only difference is that list comprehensions also provide a syntactic sugar for the convenience function filter_then_map. Sometimes this saves you a level of nesting, sometimes not.

Incidentally, this isn't even an issue in a pure functional language with sufficiently smart compiler.
In the last two years? Clozure Common Lisp at least: an open source multithreaded Lisp implementation with unicode on Win32. Before then it was all Unix. Lisp platform independence is so good, I hack on win32 all day and when I am ready to deploy on Linux, the only warning I get is from git telling me it's converting line endings to Unix style.

The staggering number of new and maturing infrastructure libraries; bordeaux-threads, usocket, CFFI, ASDF, Closure family of XML tools, etc. Lisp-World interop has become trivial. It's not their existence that's new, but their universal adoption by the community. Few years ago you couldn't just download a random lisp library and expect it to work; you had to read the sources and figure things out. Now dependency libraries get downloaded behind the scenes.
Nope - just a style thing. You don't need lambdas either - named functions are just as powerful.

It depends on what you define as power, and how wide of a continuum you are willing to presume that it runs.

Named functions add two levels of clutter.

The first is to the actual code, because you have to add a name to something that never wanted one, and it has to be defined apart from where it is used. You could give it a fluff name, but that is worse than no name at all. The reader is left wondering what the function is for, which requires carrying unnecessary mental baggage. It would seem more powerful to me that you just define a function where it is used, and not worry about having to carry around that extra mental information for later on; the less state you need to keep the better. But I may only say that because I, like you, tend to think functionally.

The second is to the namespace, because now there is a symbol in the environment that doesn't need to be there. It's not a huge deal, but it is just another bit of extraneous fluff.

Anyway, not meaning to turn this into a language war. Just a couple of thoughts that popped into my head when I read your first paragraph.
Ask HN: Apple webserver hardware
I am trying to decide what type of hardware to buy to use as a personal webserver. I am an Apple guy, so my initial thought was to go with a Mac mini. Is there value in going with a laptop instead? Yes it is more expensive, but it also seems like a more compartmentalized solution as well. Regarding the mini, is it worth it to spend an extra $400 for the server version that comes with OS X Server?
I don't buy the author's argument against Python and clojure but anyway, that's they system.
Google and paid content
Some of the conclusions are inconsistent. For example, Ruby got canned mainly for having a heavyweight framework, since he wants to write everything from scratch. What keeps one from doing that in Ruby? Ruby does not depend on Rails.

His complaint about different versions and implementations is a red herring. Lisp is not immune from this.
No mention of mzscheme?!
As a long time user of craigslist I disagree with the "bad product" characterization. I find their website extremely pleasant to use, much like google. When will people learn that content is king and all that flash/image/whatever crud may look great but rarely does anything but distract from the actual content.

But rather than asserting that it is a fine product (which it is, though I agree it could be made better), how about spelling out what it is that you think would make it better? I wouldn't be surprised if Jim and/or Craig reads this thread at some point.
I like the choice. I love to see people using lisps but some of the path to that choice makes me cringe. Like this:

I probably could have written a ‘bare-bones’ implementation of the site’s back-end in Rails in a week instead of two weeks, but I would rather ‘waste’ that one week up front to have more flexibility later.

YAGNI. Speed kills (the competition).
Ok, so Rails is too heavy weight for you? What about Merb? Or Sinatra, which was designed for just that reason? Dismissing Ruby as language because only one of a dozen available web frameworks is too "heavy-weight"sounds a bit short-sighted to me.
WebROaR: Ruby Application Server
'Complicated' Verizon iPhone deal said to be unlikely in 2010
Gold and silver are insurance against the government's behavior. Paper issued by the government cannot serve that purpose.
Junk Charts: The real climategate
Pricing in Pay-it-Forward and Gift Economies
Search doesn't benefit from a network effect, whereas social games do. It's the same defense that Ebay/Craigslist enjoy (though admittedly less ironclad).

Someone like Zynga has brutally low customer acquisition costs compared to a new social game developer (because they can cross promote to existing players for only the opportunity cost of showing other low-CPM banners).
Athigga Soomaali maatahay, saxiib?
How does this work with a lampshade or a wall sconce? Putting the light through some kind of filter must (?) narrow the difference between the kinds of light. In which case I've got a lot of lights that can be upgraded to LED.

I'm willing to pay the high initial cost of LED lighting, assuming the light is of good quality (brightness AND color-with-lampshade) and the long-term savings are real. I suspect most HN readers come to the same conclusion.
I was on the fence about Craigslist's minimalism. Then I tried Flippity's search of Craigslist's data (the service that Craigslist just killed for no reason) and realized that an equivalent Craigslist search would have took me about ten times as long, manually searching through all the ads.

This isn't simplicity. This isn't minimalism. This is Ludditism, backed by a monopoly position. How many millions of hours are wasted every day because of Newmark's anti-market fetish?

And Jim and Craig have made it abundantly clear in interviews that they don't care about user feedback, so I don't expect anything to change.
I like lambda because it allows anonymous functions-- functions that can be defined on the fly (dynamically) and then thrown away. IMO, it's generally bad form for a program to be dynamically creating named functions, filling the namespace.

Also, I like map and filter because they aren't just functions in the procedural sense but combinators: you can pass them around, using them as arguments and returning them. It's much harder to pass around a syntactic entity like a list comprehension (although I'm glad list comprehensions exist; as shorthand they are great in source code.)

All this said, I haven't used Python in 3 years, in favor of purely functional languages such as Clojure and ML, so I might be way out of date.
I agree, and I know it sounds negative, but I couldn't make it through the whole screencast. For me, it was too distracting.
You can export personal data from facebook via api. It is doable by writing a desktop application to backup all your facebook personal data.

But for interactions between users such as comment, shared photos. that may be a murky area. Technically you are able to export share data. But morally you should not.
It was the previous sentence that resonated with me:

I’m a bit wary of using ‘heavy weight’ frameworks like Rails (or Django) on large custom projects. In my experience they make the first 90% of what I’m trying to do be really easy – but then make the last 10% a living hell since I need to modify something the framework never intended me to control.

That is a very true statement, in my experience. It's also an elusive insight, because once you commit to a framework you begin to interpret your problem, the universe, and everything in terms of the framework's conceptual space.
Haa walaal. Waxaa ii muuqata in af soomaaligaagu uu yara xunyahay ;-) ma dibadaad kusoo kortay?
Not everybody has time to keep up with the continuous and rapidly increasing micro-speciation of all ruby projects from the VMs down to template formats.
Correct link: http://www.markpeterdavis.com/getventure/2009/12/catch-22-yo...
Yeah I know. Maybe "force" is not the right word ... probably "discourage"?

Actually only one line of code is enough for each of map/filter:

def map(fn, seq): return [fn(each) for each in seq]
def filter(cond: seq): return [each for each in seq if cond(each)]

But seriously, what do you really gain by removing these two? Isn't that too ideological? I don't really see how un-Pythonic it would be to use map/filter instead of list comprehensions. The problem is BDFL's attitude seems to drive many FP-ers away, like the guy in the original post.
It's like deposit insurance in reverse. :(
Tell PG: Hacker News Looks Terrible on Webkit when page is zoomed
On a webkit browser on mac (safari,chrome) when the page is zoomed in, the spacing between the article disappears. See screenshot http://i.imgur.com/u7LNz.png. As a temporary fix I made a userscript which can be used with chrome http://userscripts.org/scripts/show/63270
Yes. Why would you need a blackmarket, if that were not the case?
How to reduce healthcare costs and improve quality
This villain is wanted for serial violation of suspension-of-disbelief. He is delusional, and should be considered dangerous. If you see him, do not provoke him or attempt to use his interfaces. Contact your local authorities.
It depends slightly on how you came to functional programming.

You can arguably trace Python's list comprehension syntax all the way back to setl, a "set-theoretic programming language", and the resemblance to mathematical set-builder notation is intentional; compare

- let B = { g(a) s.t. | a \in A and f(a) holds}

- B = [g(a) for a in A if f(a)]

If you're used to thinking in sets having to decompose into "maps" and "filters" is a speedbump; easy to do but nice to avoid.

Where list comprehensions really start to shine is making it comparatively trivial to pull from multiple source collections without a lot of ugly machinery:

[{'widget':w,'sprocket':s,'location':l} for w in widgets for s in sprockets for l in locations if l.hasInStock(w) and l.hasInStock(s) and w.isUsableWith(s)]

...which is about where explicit map + filter start to become annoying. You can use:

map(lambda i: {'widget':i[0], 'sprocket':i[1], 'location':i[2]}, filter(lambda i: i[2].hasInStock(i[0]) and i[2].hasInStock(i[1]) and i[0].isUsableWith(i[1]), itertools.product(widgets,sprockets,locations)))

...but to my eyes that is not only very ugly but just going by character count the # of characters given over to keywords (map, lambda, filter) instead of "what i'm doing here" is huge. Additionally use of itertools forces use of tuples for your intermediate values and thus the lambdas are gobbledegook until you get to the tail end of the statement and see that i[0] == widget, i[1] == sprocket, and i[2] == location. I could define some constants (WIDGET = 0, SPROCKET = 1, LOCATION = 2, etc) but now it's even longer.

It gets even worse if you try to be clever with the sequence of operations.

You might look at that definition and say lo! I can pre-filter out stuff not in stock at each location and make things more efficient. Naively you'd wind up with:

map(lambda d: {'location':d[0], 'widget':d[1], 'sprocket':d[2]}, flatten(map(lambda l: list(filter(lambda p: p[1].isUsableWith(p[2]), itertools.product([l],filter(lambda w: l.hasInStock(w), widgets), filter(lambda s: l.hasInStock(s), sprockets)))), locations))) #nb must-supply-you-own-flatten-method

Under some circumstances that might be substantially faster than the previous approach. But compare the equivalent but you could have instead gone with:

[{'widget':w,'sprocket':s,'location':l} for l in locations for w in [widget for widget in widgets if l.hasInStock(widget)] for s in [sprocket for sprocket in sprockets if l.hasInStock(sprocket)] if w.isUsableWith(s)]

So you lose a little flexibility in simple cases at in exchange for increasing the scope of what you can get away with as "readable" one-liners.
Clickable links:

http://i.imgur.com/u7LNz.png

http://userscripts.org/scripts/show/63270
I don't have the mini, but I'm running os x 1.4 server on an old G4 xserve. Coming from a graphic design/mac background, the initial server setup was dead simple. The workgroup and server admin tools are excellent and allow you to administer every function of the server remotely. It ships with Apache, tomcat and jboss and mysql, etc. and provides nice interfaces to administer all services. When I bought the xserve it was running server 10.2, I considered updating it to a regular 10.4 or linux install, but found the tools and other utilities (and stability) convenient enough to purchase a copy of 10.4 server. Hope that helps.

All said, I love my mac server :)
So it's like devaluation, but with a "progressive" twist?
I am not the OP, but I have a problem with Rails and alternatives: there does not seem to be a viable alternative to ActiveRecord around? I looked into DataMapper (I think that was it's name) which initially looked great. But then I could not find any information on how to use transactions, and also received no answers on the newsgroup. I guess I should have read the source, but I gave up at that point.

Since I hate ActiveRecord, I have now subconsciously decided that Rails probably isn't for me.

It's great that Sinatra is spawning lots of imitators for other languages, though.
[It] creates a cleaner language and forces people to think Pythonic when programming in Python.

The question is whether "Pythonic," as the community defines it today, is optimal in all cases. As an analogue, there have been enough talks about things the Java community considers to be stylistically optimal that look really horrible compared to implementations in other languages -- like Python. :-) Pythonic style should be a guide, not an edict, and should be deviated from or redefined when it makes sense. The examples riobard provided already show the syntax weighing things down, a situation where syntax should give way to a more functional style approach.

As for it creating a cleaner language, I try to approach this, as with all things, from the perspective of being an language-agnostic programmer. From that perspective, I do like the python syntax for simple things like what you defined, but under heavier weight mapping and filtering operations, the map/filter function call syntax seems a lot cleaner. There's nothing wrong with syntactic sugar, but I would assert that it will tend to suck when it is all you have.
I forget where this came from but this applies 100%:

You ask a person to rate 5 paintings 1-5. You then tell them that you have spare paintings that they happened to have rated as 3 and 4 and ask them if they would like one. They will take a "4". Come back in a week and ask them to rate the paintings again. The "4" becomes a "5" and the "3" becomes a "2".

Our brains will rationalize decisions to make us happy (whatever that means).
Haa; waligayga (oo 16 sanadood ah) Amerika baan ku noolaa ;)
Funny thing about Hacker News, where the guy who wrote Compass gets modded down below the guy criticizing Sass without ever having once used it.
Best quote: "we've made piracy a community activity."
PragPub, December 2009
I too thought the logic was weak. Here was my basic objection: you chose not to use two popular web programming languages because of their potential volatility, but then went with one that has been so infrequently used in web programming that it almost certainly has opaque deffeciencies. It's not that your reasons were bogus, they just didn't carry the decision.
Well, yeah, infinitely progressive. It's like if the tax rate above a range was 100%.