skysight-inc/HackerNews huggingface dataset:
Y combinator is not something that makes your daily engineering life easier. Its main point in CS is that it allows to construct a Turing machine equivalent solely by lambdas---hence it allows reasoning of computation process based on very few axioms. But that's not something programmers do every day.

I think what's important is knowing about the thinking process of Y combinators and alike. That is, thinking about something that can be applied to itself, and taking advantage of it.

A "first-order" thinking is something like thinking about a function that works on values, or about a program that takes input data stream and emits output data stream. In this mode, you tend to think the operator and what the operator works on are separate things. Values aren't functions, or data isn't a program.

A "higher-order" thinking is like thinking about functions work on functions, or programs work on programs. This mode of thinking opens up new source of ideas. For example, I did one thing for to improve program X, and another thing to improve program Y; can I write a program Z that does the same kind of improvement for X, Y, and other future programs? If I feed Z itself to Z then, can I improve Z itself? You have an interpreter P. Can you write a program Q on P that, when interpreted, takes a source S and produce a program S' that's more efficient than S? If you can, what if you feed Q itself to the program Q running on P? Will that process converge? If so, it's a sort of fixed point. What will it be like?

I work as a programmer and frequently encounter this "program generating programs" pattern. It is not some kind of tips that can be applied directly into everyday coding, but it allows me to climb one step higher in the abstraction ladder, giving wider vision on the program I'm working on.
Make Your Own Pandemic - Mix Human And Avian Flu (In A Biosafety Level 3 Lab)
How do theologians and social workers help with that, exactly?
Which governmental controls encouraged the chain of over-leverage and defrauded investors?

Because, from where I'm sitting, I'm not seeing where the government encouraged or rewarded self-destructive behavior.
I'll copy the response here:

What blew my mind is how it forces an appreciation for the nature and power of thinking functionally. Getting a feel for function composition, combinators and lambda calculus opens the door to a very different approach for creating programs.
According to the article, Geocities claimed to have around 3.5 million sites at the time. That puts the acquisition cost at $1000 a user.. Wow.
Military Debt Consolidation
Military debt consolidation and military debt counseling programs allow you to manage your existing debt without go for a loan consolidation. Avoid bankruptcy go for military debt settlement and relief programs.
Dept. of deja vu: MacBookMini found in Adium stats
Well, copies of K&R and C Puzzle Book are on their way, with CII and Advanced Programming In The Unix Environment (2ed) wishlisted for later. Can't find a copy of Deep C Secrets on our local Amazon equivalent, but I'll keep searching.
When you go online and want to learn programming, you run into the uncool assholes. The ones who’ll take "How to I make a web site that people can join" not as an admission of some guy who doesn’t care about the details but as a sign of weakness. I’ve seen responses to that question that range from "You obviously aren’t ready" to "It depends on how you want the site to scale." What bullshit!

No no no. That's me, but it's not because of anything to do with spotting "a sign of weakness".

Let me try to use a non-car analogy: Imagine I'm a carpenter (I'm not) and you come up to me and ask "how do I build a staircase?". The kinds of thoughts going through my head might be:

1) A staircase is obviously wood, cut to shape, then fixed together. It's also obviously quite a big thing. There's no need to answer with the low level "obvious" things like "you will need a large workshop", if you want to build a staircase you probably already have woodworking tools and experience and now want a bigger project, so an answer telling you basic outline steps would be insultingly patronising and unhelpful.

Also, an answer covering enough steps from scratch would take far too long for a forum post or discussion reply, so if I make the judgement that you don't have any of the experience and haven't considered it at all then you might get a dismissive "with a lot of work" reply.

(OK, maybe if we met informally and you asked, you might be just making conversation, but nobody goes to a technical forum and asks how to build a website just to make friends, do they, so that doesn't apply).

2) On the other hand, if you have spotted the obvious then you're asking one question but meaning another - maybe what kind of wood can I use to make it look nice, what building regs must it comply to, how can I reinforce it, what fireproofing treatments work well? What styles of bannister were popular in Victorian times?

There could be a lot of fun stuff, but again too many directions to go in all in one answer - this is where you get the "it depends what style you want" answer. It's not bullshit, it's better than that, it's skipping straight to acknowledgement, acceptance and directed at whichever obstacle or major design consideration comes to mind first.

So, "how do you build a website that people can join" leads me to think something like:

A website people can join means giving them a form to fill in, keeping their details, and providing a login prompt later. This is obvious to anyone who has used a couple of websites with signup forms.

So either you understand the steps of a site you can signup to and would have Googled until you found out more about those steps and asked a more specific question (What's HTML? What's a webhost? What happens to information in a form once I click submit? How can I keep it around?), or you're really asking for design and obstacle avoidance suggestions, e.g. scaling, security, server load, etc.

Hence the replies: You haven't Googled for the basics, that suggests you aren't ready for the amount of work involved, or you aren't really asking such a basic question so you don't get a basic answer.
At $200, my new 'MacBook Cloud' is a dream come true
How to build an iPhone application in 20 minutes
Research needs to be done into better operating systems, but I don't think it is worth implementing too much of them.

Minix, from what I have read, isn't going to be a sufficient enough advance to get the man on the street to adopt it. For that to be true it would have to significantly easier to manage. While he advocates the principle of least authority, he isn't currently innovating on how that authority gets passed on to the programs. A lack of mechanism generally means it is up to the user to do so, which puts some work load and cognitive effort on the user.
I think it has potential but you need a better grasp of the English language if that is what you're going to write in. Why not blog in your own language?

The domain name is great stick with it.
Your Greater-Than-Yourself Project
WFM, much more mundane I expect.
In the third level of knowledge, you understand the material and are able to explain things in your own words. You can draw new relationships between facts. You need to be able to remember details to explain things in your own words - for a long time I deluded myself that I could understand the material because I could follow along with the explanation easily enough as I read it. But you do not truly understand something until you can explain it in your own words from memory.

http://williambswift.blogspot.com/2009/03/learning-journal-a...
What is wrong with "cartoony" or "information-lite"?
As a non-specialist, I prefer both the Stocks and Weather apps to Tufte's alternatives. I'm not a financial expert, and so don't need the extra-detailed stock graphs, and I'm not a meteorologist so a weather map is equally useless to me.

In both cases, adding detail meant a rather less clear result.
There is no need to read this article. These are clearly the words of a madman: "No matter who you are, no matter how much you run, your odds of getting hurt are the same."
I think you are correct, but your scenario is a good example of something else: Prototyping and "planning to throw one away" (Fred Brooks / The Mythical Man Month).

Having written one lousy implementation in X months does not mean that the good implementation, when starting over, will take X more months.

I have never seen a functional specification reaching more than 50% accuracy on details (most are not even close). When implementing you always discover more about the problem.

What stops you from starting over tends to be that the customers have integrated with your system according to published specs, or large roll-outs have been made already.
How to break the diggBar
Handcrafted CSS + HTML Grid Calendar 2009
First look: Ubuntu 9.04 stays the course
> A downside to one vote per IP is that AOL and some organizations place their outgoing web traffic behind one or a small pool of IP addresses. So these users wouldn't have been able to vote.

That would not have been such a big problem. But be sure to play 'dead man' and maintain the illusion that every vote counts.

Eg here on Hacker News after you click on the vote-arrows Javascript manipulates the counts accordingly, but did you ever check whether your vote has had any effect on the "true" counts in the server? (Of course at Hackers News it has, because PG is not evil.)

Even more devious would be accepting the unwelcome votes, but also reversing each one of them after a random time has passed. This way the attackers get the see illusion, that their attacks succeed, but are fought back (or drown out in counter-votes from real people) only a few hours later.
A simple forced login with email verification would have ended all of this nonsense. Throw recaptcha for good measure.
He's basing that statement on a study performed on a number of runners which tried to identify factors that would make someone likely to have an injury over a year, and the only one that was statistically significant was price of running shoe.

Certainly one study doesn't provide a definitive answer, but decrying the article because he is inconsistent with common sense, which is he is explicitly saying is wrong, seems a bit unfair.
What I meant by integrity was to have the results be more or less representative of the actual beliefs of an average site visitor.

I'm guessing some kind of statistical method for determining which votes don't fit the profile of a site's visitors combined with actively weeding out obvious instances of mass voting could make the results at least appear more accurate.

Sure there's no actual validity or rigor to online poll results, but the point is more to have results that at least appear plausible.
The striking similarity between Google Checkout and PayPal fees
Perhaps I'm just uninitiated, but I found these slides to be cryptic in isolation...I gave up about half-way through.
Or, in the case of someone who asked me that exact question recently, what they really want is for you to provide them with code for free.
It's a good thing they have youtube videos of the presentation itself right underneath then.....
Guido didn't even know about ephemeral and persistent data structures (see early comments at [1]). At least not by that name.

But that's not a problem. Python, Perl etc have caught on, while Haskell has still a long way to go.

[1] http://neopythonic.blogspot.com/2009/04/tail-recursion-elimi...
Fred Wilson on Why Face to Face Meetings are Important
HN Is this forum Software available?
Hi, I'm actually looking for the software that is used for this forum/bulletin board. I believe I saw a link once but I can't find anymore. I believe that this forum was coded especially for HN but also available for download. Please correct me if I’m wrong. Thanks Colin.
My anecdote:

I run with a pair of very old flat shoes, with no cushioning or bounce in them what so ever. Then one day I decide to try a pair of fancy expensive sneakers.

It was amazing, I was running A LOT faster with no extra effort! And then the next day my knees were in a lot of pain.

A few days later I put the new shoes on again to go for a run, and I kept thinking about how much faster I ran, it must have been the bounce. So I start hopping with the shoes, but they don't bounce, they dampen!

That intrigued me, and I started playing around to make sure the shoes were dampeners, and they were. But then they should have made me slower!

The only explanation I have is they fooled my brain into pounding the pavement a lot harder, hence the knee pain.

Now I'm back to my old crappy shoes, no pain with them.
I think you are correct, but your scenario is a good example of something else: Prototyping and "planning to throw one away" (Fred Brooks / The Mythical Man Month).

Of course, but one is not always implementing a totally new system that justifies "throwing one away". Often one is implementing something whose design is well-known enough that one should expect to be able to do it right the first time.

Having written one lousy implementation in X months does not mean that the good implementation, when starting over, will take X more months.

Sure, but it still takes Y more totally unnecessary months, even if Y is less than X.
"Sir Michael Marmot, of University College London, and his intellectual successors have shown repeatedly that people at the bottom of social hierarchies experience much more stress in their daily lives than those at the top—and suffer the consequences in their health. Even quite young children are socially sensitive beings and aware of such things."

Growing up is important. But early stress does have long-term consequences.
Ask HN: Twitter applications
Is there any directory of twitter based applications? I've a product that I'd like to build and launch. Just wanted to make sure its not available right now.
Any pointers would be helpful.
Any problems should disappear wearing his size 16 running shoes. Of course so would movement faster than 1mph.
There's nothing new about all-new
Bugmenot ftw!
In other words, read _Getting Real_
For people that really grasp a subject seemingly without effort, do you think they have some inner dialogue that is explaining it to an "invisble crowd"?

I'm just curious how a Feynman-like person digests new information.
Stanford's CS Ed library (particularly Nick Parlante's linked list and binary tree problem sets) is a fantastic resource for understanding the C language, it is the way i learned it.

http://cslibrary.stanford.edu/
> This is the world that I know. I write about it.

Except you didn't limit yourself to that. You wrote about the world that everyone experiences, and essentially told a bunch of other people that they are wrong about their own experiences.

> Are you saying that a young, bright 18-year-old shouldn't write at all because he knows that most of what he says is wrong?

I'm saying that anyone, regardless of age or intelligence, should try to avoid generalizing from their almost certainly narrow experience.

Also, the tone of your comment has certain elements of the martyr mentality that you have criticized in your essay and in these comments.
I come from the opposite end of the spectrum. Only recently have I begone to worry about implementation in the real world.

Have you had a look at http://users.bigpond.net.au/d.keenan/Lambda/index.htm ? It give an introduction into the more general theory of combinatorial logic instead of just focusing on the y-combinator.
plinkplonk nailed it!!!

In Infosys, they make people slog for 12hrs a day + extra work hours per day if the project isn't completed by time. People complain of tight schedules that are almost impossible and no time to learn new tech.

Also the 6-month maternity leave for women has been reduced to 3 months now. A friend's wife who recently gave birth to a child, was told a strict "no", even when she said she would take the 3-month maternity leave and work at home for the another 3-months after which she would get back to her normal work schedule. (she then quit her job).

So where does Narayan Murthy's easy-work-schedule for women, "we support women empowerment" mean? He recently wrote a guest column on how Infosys supports women and told abt all the facilities they weren't even providing on paper.

Also another funny thing, just a couple weeks ago, I read an interview by Nandan Nilekani in which he said that Infosys won't be laying of any of their workforce (article headlined in the newspaper's business page). 3 days later they layoff 2600 and it's in a small column in the newspaper's business page.

People should rather look for some stuff from people like Guy Kawasaki, Sam Altman or whoever's done it. I often listen/read abt people who do it for their first time and talk abt their experience and how they did it. Each have their own way of doing it and the business is different and it's fun to know how the other guy did it.

[full disclosure: I'm from Bangalore too. And also have a couple of relatives and a lot of friends who work at Infosys]

P.S: I respect Murthy for what he's done/achieved, but not for what he talks (all the common stuff and total bullshit).
Anyone care to post a summary of what the guy says?
Coming soon: A new, smarter Google News?
It's a term I made up. It's actually part of a much bigger, more interesting subject: individual-society "ology". Where the individual comes into contact with the rest of the people around them. (Where psychology covers individual-individual, and sociology covers society-society relations.) In other words, when you lie on the leather sofa, you would be asked, "So how are the people down the street whose name you don't know?" The people we pass on the street play a huge role in our lives.

You see, everyone chooses a strategy around their teens or even into their twenties to say why they are valuable, why they have a right to exist. A woman might choose: sexy, smart, beautiful, motherly, etc. And that becomes their identity. So attacking that (call a smart person "stupid" and they'll light up) is attacking their entire identity, what they've chosen as their right to exist. Have you seen a university professor in a tweed jacket? There you go.

The framesets I mentioned are tied to that identity and defended with that same "raison d'etre" fierceness. Information that violates the frameset, violates the identity strategy. It's like you have all your money in a particular stock and someone is saying something negative about the company. The more stake you have in that company, and the more fear you have of it crashing, the more unwilling you will be to be rational about what others may say.

Following the analogy, it might seem that diversifying is the answer: you're smart, but also into extreme sports and healthy, etc. That's not really the answer, though. The trick is to get your money out of the stock market; you have to care as little as possible what people think. Sound easy? It's one of the hardest things you can possibly do.
When I started running, I bought myself a pair of Dinamo trainers (very simplistic trainers of old Soviet design)(http://www.fsidinamo.org/details.php?id=16) by the advice of an old runner. By the same advice I 'modded' them by putting a piece of porous resin inside, under the heel.

I use them for running, 5 km daily, all year round; and also for hiking. I get ironic grins when I mention that I run in them, because these are supposedly definitely obsolete and uncool, but I don't care.

I don't have any problems. What am I doing wrong?
He describes the opposite of "trying to be everything for everyone", namely finding your niche (where nobody can yank you out) by constant iteration of product. The point to keep in mind: you will loose customers during the process and you will win new ones. The important thing is to make sure the new customers are a better fit.
Well, too bad your ancient wisdom hasn't taught you the lesson of "when you have nothing to say then it is better to remain silent", yet.

So, thanks for contributing ... nothing.
I think we're abusing the title "Domain Specific Language." I'm only familiar with BitC and Sing# on that list, but I call those systems programming languages. Granted, one could consider systems programming the domain, but since systems programming is so ubiquitous in computing and for a long time that was the only kind of programming, I think it's inaccurate to call those DSLs.

Anyway, with the exception of Oberon, the others are still research projects. I don't think a research language is appropriate for implementing the Linux kernel.

I do hope that in the future, something as important as the Linux kernel is implemented with a modern systems programming language - it would indicate progress - but Linux is an immediate need.
I was just starting some state-machine code in Clojure last night, thought about how to best do it functionally (recur doesn't let you cross function boundaries), and said out loud "I'll use a trampoline!"

If that happens again, I can tell the person I confused not to feel badly, because even Guido van Rossum didn't know about trampolines until recently.
I thought that was the point of the essay. We're all old (and hopefully mature enough) now to accept that maybe it wasn't completely the jock's (or whomever's) fault that the nerds were unpopular.

An outside perspective is almost always useful in figuring things out. I found this essay hit home. I was definitely in the nerd group, and if I had read this in high school, it would've helped.
Bone, a Masterpiece of Elastic Strength
This title says that funding is for secure operating system research. Contents seems like its for making minix better. I am very skeptical about operating system that fixes its bugs. It may become one more multics project. Though micro kernel looks really good in theory, neither minix nor hurd have taken off like linux or FreeBSD
I'm actually working on something that will allow people to write these for whatever programming language. And by working, I mean it's in my bank of things to do.
Open the link and scroll to below the videos.
This seems like exactly the sort of response this essay doesn't like. It immediately points out flaws without regard to the message as a whole.

Finding flaws is valuable if you're doing a startup or figuring out a good design, but if you're in any sort of social situation, it will instantly turn people off to you 100%.
http://www.squidoo.com/twitterapps seems to be a pretty good list
IPhone HTTP-to-Apple-Notification-API Sign up
Isn't the time for measurement usually after the code has been mostly written? Not prematurely optimizing means getting to the measurement point as soon as you can, then using actual profiling numbers to focus your attention on what needs to be changed.
Please elaborate. Don't just insult.
cum docemus, discimus
Most likely it's a hackintoshed Dell Mini 9... I wouldn't call this "news", or "worthwhile" either.

In fact, the article agrees that "it's almost certainly nothing of consequence". So why is it top of HN?

I have laid a rectangular piece of cloth bearing a nation's colours on a bronze pole atop this article.
Doing a lot trumps knowing a lot, even when you make mistakes. It's amazing what GVR has accomplishled despite (apparently) being ignorant of things other language designers know about.
Most (not all) of the responses here seem to absolutely confirm this essay's main points.

The posters here generally are taking some kind of offense to this, and feel the need to shoot it full of holes. In the meantime, this behavior is only reinforcing the point to anyone who happens to not be a programmer.

It's actually quite striking.
Yes, Apple may be creating another first-of-its-kind: an expensive netbook.
Ok, if the exams are a farce, please construct an objective test that is fair, objective, and determines whether or not our banks are solvent. Surely as hackers if we object to the test structures we can come up with a better algorithm rather than just claiming the function is broken.