skysight-inc/HackerNews huggingface dataset:
The reason why people choose to go with languages like Ruby is because the trade-off on speed is worth it.

Web front-ends scale very easily. You can just add more web heads and load balance between them. Databases are much harder to scale since you need to keep data consistency and can't just throw more boxes at the problem.

So, you don't need to be computationally efficient. However, you do need to develop fast. You need to be able to create features before your competition. You need to be able to make your system more reliable and bug-free than your competition. And that's where Ruby (and similar languages) helps you.

Sure, you and Linus have a point that selection of language can keep out the riff-raff (Linus Torvalds having a huge rant against C++ simply because of the programming community), but it also means that you're missing out on the good parts of the community. Ruby programmers tend to put a lot of thought into user experience. While you've ranted against testing, I don't think any IT manager would agree with you there. Testing substantially improves one's ability to create new features because you can easily spot anywhere you've broken something. And that leads to better quality applications too.

There's a difference between speed and scaling and if something scales fine, that's ok. Look at it this way, array indexing in a slower way to go through an array in C than incrementing a pointer. And if you had a lot of code you could go through and change all instances. However, it wouldn't be worth your time. Such an improvement wouldn't net you any real benefit while you'd be neglecting improving your product.

Your product is what matters.
Rather, write in python, profile it, and replace all CPU-intensive functions by C code in a custom python module. Best of both worlds.
Why Extreme Programming Fails
I must be missing something. This sounds like a press release, plus an apology for unspecified problems HN has had, with a site none of the commenters have heard of.

It's certainly great to hear about a site having higher quality posts. But I'd rather hear about that when someone says "Hey! Check out this high-quality post!" rather than hearing someone announce that in the future, there will be good posts. Show, don't tell.
If you're going to the trouble of compiling something, why the fuck are you serving web pages?
How I Write Code
The Consolations of Pessimism
Of course, these color interpretations vary across cultures:

http://webdesign.about.com/od/colorcharts/l/bl_colorculture....
Well, you are both kindof taking the extreme view.

If you build your app such that the webservers can act independently, then by using various methods of load balancing you can just throw hardware at the problem.

However, this just usually leaves the database as the single point of contention among all webservers. There are various ways to reduce load on the database server by some constant factor (memcache, query caching), but in the end database load will be roughly linear with site load (requests/time). You can't just add SQL-based DB servers and get linear speedup like (properly thought out) webservers.

If you think your site will get so big so fast you won't have time to hire engineers to figure out the scaling problems before they become unmanageable (for example, facebook got huge, but it took a few years, so they had time to raise money and adapt their stuff, although they were pretty slow for a long time), then use appengine datastore or simpledb or some other db that promises to scale really well (this is a really hard problem, which is why there aren't a lot of open source things that do this. Note: couchedb can't scale writes, so I don't count it).

My personal thinking is that one big properly designed database can get you pretty far, and database clustering can get you far enough. If you find it pleasant, putting your app in appengine would make you pay the price of scalability a little at a time starting right away, instead of letting you push it off (but with a huge performance wall that you won't be able to get over without basically redesigning much of your apps internals).
Pete Peterson on Giving Away $1 Billion
It's amusing because I don't write like this at all. Instead, I sit in front of my computer and refactor until I'm satisfied with the result.
I thought it was undefined to put block elements in inline elements? You can't put a block element in an inline element but you can put a block element B2 in a block element B1 and then apply display:inline to the B1 element and not get undefined semantics?
Aside from the fact it's an obvious troll...

I had that basic idea when web app frameworks starting becoming popular. So I implemented a web framework which took a 'description' of the app written in perl, and generated C++ which compiled into a single exe file which served the app with a built in http server. Small bits of business logic were written in C++, but basically it was done by the perl. All templates, internationalisation, everything, compiled down to a few database queries, string concatenations and the odd if statement.

I then build a couple of production sites in this, one on my own, and another with a few other developers.

Conclusions from this:

1) It's really really fast and efficient, and the single exe model for deployment is lovely.

2) It's a pain to implement such a framework, and a pain to use it.

3) I'm never using perl again.

4) Life's too short for this kind of game.

The code is here: http://www.boxbackup.org/trac/ticket/6
I hear ya but to be fair, you missed a number of the homepage post titles there.

I realise HN is very entrepreneur/developer orientated but I've seen plenty of stuff from other tech orientated sites that are discussed heavily on here.

Some examples of our content which I think you would be interested in:

1) "News site sued for the way Google summarised one of its pages : http://thenextweb.com/2009/06/02/firstdutch-news-site-sued-g...

2) "Who watches the watchers? The BBC gives it a go" http://thenextweb.com/2009/06/01/watches-watchers-bbc/

3) "Jeffrey Veen brings us typekit, a store for embedded web fonts" http://thenextweb.com/2009/06/01/jeffrey-veen-brings-typekit...

4) "Help build a global ‘Sound Map’ with this Google Maps/mobile mashup" http://thenextweb.com/2009/05/30/build-global-sound-map-goog...

5) "Connecting to the Internet with a 1964 Modem" http://thenextweb.com/2009/05/29/connecting-internet-1964-mo...
They demoed it live on stage. They didn't just play this video for everyone in the audience...
There are already a few options for a MVC web framework in compiled code. I'm working on ASP.NET MVC now. It's compiled, but development does not feel like that because of JIT compilation. Also, it will run in Mono on Linux if I want.
fair, but i didn't pick those out because i'm neutral on them. not particularly driven to read them, or have read them elsewhere.

edit: i'm kind of interested in #4 and #5, but those are not on the front page. like i said -- i only looked at the articles on the front page.
Google Tracking 88% Of Domains In Study
Kind of. Similar syntax and design patterns, but I don't think you can directly compile a Cocoa application to Cappucino, or vice versa.
Ask HN: Whats the coolest thing you've seen/done with Arduino?
I think im not "getting" Arduino or Arduino-like platforms possibilities. Please share whatever you've seen or done with it.
News site sued for the way Google summarised one of its pages (updated)
wow, really - a press release? I've been thinking about writing it for a while but have never planned or prepared anything for it. I wrote this in about 10 minutes without any pre-written notes.

About why some of the commenters haven't heard of us, I can't really speak for them - but we're the biggest tech blog in Europe now (based on number of visitors) and growing fast

Regarding the "hey check out this quality post", that thought crossed my mind but frankly I thought it might appear spam like so decided not to.

ps.Did you know we follow each other on Twitter (http://twitter.com/zee)? I'm pretty sure you've heard of us because about 50% of my shares are from TheNextWeb
I am thinking of Google infrastructure has a BIG advantage now, last time I checked all youtube IP lists, it's about 1.6MB, I can't image how effective a firewall could block all of these IP's.

Currently Google's services could be accessed with simple technics, just modify your browsers PAC (proxy auto config) to this http://gfwtf.googlecode.com/svn/gfwtf.pac

And just curious: does anyone happens to know an Akamai node within China that could deliver contents over GFW?
On the upside, it means web developers have another way to slack off: "But we can't work, the project is compiling!" As if web devs needed another way to burn our time.
I think the key word there is probably "product"; there's certainly been some great demos that have come out of MSR. A thought that comes to mind is that this could be the ideal product for those demonstrators: the concept has been proven successful by Nintendo, and they can apply their research to take it to the next level.
Where is the second camera? To gleen 3 dimensional data from a single 2 dimensional image is hard, and requires intense algorithms. Two cameras makes it easier but still hard.

I would love nothing more if they would publish this and or open it up to community development.
I liked the comment on the submitted source about intercaste marriages. It seems that there isn't any unified "Hinduism" until there is social equality and social interaction among the various castes.
Alltop: News Aggregation Made Easy
I love Asp.net MVC :)
http://hacknmod.com/hack/top-40-arduino-projects-of-the-web/
I think this was the previous HN account of his site. http://news.ycombinator.com/user?id=thenextweb

Best of Luck man, I hope you come out with good content.
No kidding... the Internet was original conceived of being made up of purpose specific protocols. FTP for file transfer, NNTP for chat boards, IRC for real-time chat and so on. It was only with the hacked (over)use of NAT and wide spread deployment of lazily configured (read: over-paranoid) firewalls that this original vision was sidetracked through the HTTP pinhole (and is also hamstringing deployment of IPv6 to boot!)
Well, strictly speaking scalability means scaling both up and down. "Scripting languages" may fail on the former, and C certainly fails on the latter.
Los Angeles Personal Assistant | Purveyors of Time
Purveyors of Time is a premier concierge service in Los Angeles. We offer the highest quality concierge, personal assisting, and errand-running services.
cheers mate, much appreciated
Not to be pedantic, but there's no way that you're going to make anything 100% secure, even if you host it internally. I do agree with your point though and can understand some companies wanting to keep all of their code in-house though.
gimmicky
I agree that compiled statically typed code is more robust than scripts, but I'd choose a safer language like C# or Java over C.
I'm a fan of generalities, they make communicating easy, but they come with responsibilities.

I set my expectation for piece of writing based on the format. I know I won't get the full details of an issue reading someone's essay; I expect the gist. It's implicit in the format.

But my responsibility is to read in between the lines and fill in the necessary details when obvious. If someone says, "Men just care about sex", I know they don't really mean it black and white.

On the other hand, I expect more from a scientific journal. But if I really want to know something, I'll experiment personally. And even that has pitfalls.
"I have always been impressed with hinduism."

Care to elaborate? I honestly don't know enough to have an informed opinion.
It's true that you cannot convert someone into Hinduism but that's only because there's no concept of a ceremony or some such thing after which you become a Hindu. If you believe you're a Hindu, then you're a Hindu. There's no religious/governing authority which overlooks the conversion. Some temples (especially the really old, famous ones) in India allow only Hindus to enter the inner premises of the temple. So it might be tricky to prove that you're a Hindu if you're not Indian-looking :)

As someone who was raised as a Hindu in India, I can tell you that Hinduism is way too complex, confusing and deep to grok. If someone asked me to summarize Hinduism in a few sentences, I could never do it. Also as the article says the religion survived through thousands of years in spite of so much change happening within India (India was invaded several times by foreigners) largely because Hinduism has adapted itself over time. Hinduism has evolved to appeal to different kinds of people & their needs - you could go from something as simple (and probably silly if you don't believe in it) as idol worship, animal sacrifices, elaborate rituals, etc to something like `yoga` where you're trying to unite your mind and body through physical exercises, and to even higher `meta` things like meditation, realizing one's self. There's loads of Sanskrit literature on all these things if you want to actually explore. Buddhism sprang from Hinduism at one point because Gautama Buddha who was born as a Hindu prince wasn't satisfied with the then existing form of Hinduism.

Unfortunately an average Hindu family in India doesn't delve beyond the usual temple visits, rituals on auspicious days on the Hindu calendar, and celebrating festivals lavishly. Hinduism is one of those things I would like to explore deeper but just haven't found the time or the right person to teach me which is largely because I'm chasing that dream career and all the comforts in life :)
How do they test this technology? Where do they get the people to test on? How large was the test group? How about group diversity? (Children, elderly, pregnant women, people suffering from epilepsy, heart disease, etc)? Have the test results been validated by a third party? Ah, the list goes on and on.
To me, C makes a lot of sense for software that doesn't change all the time. The point in the article about being an engineer is valid.

However, most website projects are business-driven, which means that you are constantly changing and refactoring stuff as misunderstandings get cleared up, design flaws emerge, business models change, minds change, etc etc.

Business software projects are not just engineering, and if you treat them as such you will endure pain.

The analogy with a house is odd - if a house was purely an engineering problem, then they would probably all be built out of precast concrete or something, not "wood and steel". Aesthetics, tastes, budgets, and tradition all have an impact, and nearly every house is unique, so you use the "best tool for the job" - the one that is the easiest to customize on-site.
I think you're probably not being serious, but just in case.. you probably aren't going to be getting 4 minutes of maintenance transmissions from a plane that's been blown into pieces ;-)
What's so clever about it though? I thought it an obvious approach, and not very useful.
This happened to me. What pushed me over the edge was finding out a couple of days before a huge multivariable calculus exam (the first of my finals) that my girlfriend of 3 years was cheating on me. I ended up dropping out of university altogether because I burned out, flunked some exams and was too embarrassed and had too much false pride to ask for help (or admit I needed some). I thought I was okay but I frankly stopped caring about school, and I went from receiving letters of recognition from department heads to literally failing courses.

One day I'd like to go back and finish off what I started, but probably not at that school. I'm a bit peeved that I was just a number, and not one professor or TA ever called me out on my sudden change of behaviour to see if I needed help. Ultimately my education was my responsibility, but my change in behaviour was so abrupt that you couldn't help but notice.

But the burnout took me on an alternate path that has been full of its own adventures, ups, and downs. I'm a lot more resilient now. I hit rock bottom mentally, physically, and intellectually. This gave me some perspective and insight into some aspects of myself that I needed to change and improve.

It also served to teach me a primary lesson that I'd later learn repeatedly while running my own business: don't be afraid to ask for help. In fact, for a lot of us entrepreneurial-minded folks, admitting we can't do everything on our own is enough of a hurdle to jump over, but it must be done to succeed.
However, considering the maintenance transmissions were spread over 4 minutes, I'd suspect the plane didn't entirely breakup within a shorter period of time.. although this doesn't rule out that a bomb or breakup was the straw that broke the camel's back - just that it probably wasn't the sole cause.
The usual performance bottleneck in a website is the database, which is usually written in either C or C++ anyway. Other parts of a web application are less likely to cause performance issues, and can usually be scaled horizontally by adding more servers.
this was either written by someone with no experience in C, or a C uber expert.
I'm guessing that it's USB or Bluetooth, like existing hardware for the system. Windows Vista actually has drivers for the Xbox 360 controllers out of the box. This may end up being surprisingly hackable.
> As for developer availability - good luck to him finding good C programmers

Are you saying it's difficult in general to find good C devs? Because it would seem that's the case for C++, but not for C.
Ignoring the fact that no one has heard of this "Million bucks a prime" program, if P = NP, then the government doesn't need primes, as prime-factoring-based crypto is dead.
probably clean it constantly :-/
The lack of a web browser is indeed a glaring hole in the system capabilities, but the optical drive noise is a bit of a red herring these days with the ability to install games to disk. It runs silently when you do that.
No, CSS is not "perfectly fine for what it was designed for", even if we disregard that it sucks at layout. It's only better than what came before it. It's been over a decade, and we don't even have good layout features or named constants. Of course, CSS's inadequacy is only compounded by the persistent standards noncompliance of certain major web browsers. But call a spade a spade; CSS ain't that great. If it were, we'd all leave tables for tabular data.
"I predict in the future all the good web engineers will be moving to compiled languages, and all the academic idiots programming social networking applications, ajax widget home pages, and projects to better improve our democracy will be staying behind coding in the latest and greatest slow language, going to circle jerk conferences to hear some scumbag just oozing hubris from every pore tell them to get in shape and learn to fly a kite."

+1 for "academic idiots"

+1 for "improve our democracy"

+1 for "circle jerk conferences"

+2 for "scumbag just oozing hubris"

I just hope his c isn't as poetic as his prose.
I don't think the guy is troll. I think he simply doesn't know better. This is a classic case of micro-optimization. While he should look at the bigger picture. It is all about global architecture.
The twitter shitter of course!

http://hacklab.to/archives/the-hacklab-toilet-now-on-twitter...
> Most cases of the pure function being harder to think about than the impure equivalent are a result of either demanding impure semantics from a pure function(pure functions aren't always the best choice for implementation)

So much for the claim that purity is always easier to understand....

>> And, because pure functions have no state, many pure functions have to drag along state through their parameters that they don't need/use but that their callees need/use.

> I don't understand this argument. Calling another function on data from their parameters is the way functions need/use their parameters.

Callees provide a service. I don't care how they provide said service, but if they're "stateful", functional programming exposes that.

> However, as I am one of those functional programming advocates, I think that you would be helping yourself by solving problems purely when impure semantics are not a necessary requirement of the problem(I would also expect that fewer problems than you might think require impurity).

Read up the thread. I'm a believer, and I'm telling you that the way that fp folk advocate is counter-productive. (Telling people that they shouldn't reject fp because some future language might be useful for their problem is especially dumb.)

> C was developed by quite brilliant people, but there were many issues they did not solve.

C wasn't developed by folks who were trying to introduce a new type of programming language. C was, in some sense, an afterthought for them because their argument was about systems building, not programming languages. Also, it was a different world then - C didn't really have competitors.

While FP can be a fantastic way of programming, FP advocates are mindbogglingly ignorant of people and programming in the real. (Perhaps the ability to write small programs for some non-trivial problems is an obstacle to understanding.)

But, feel free to ignore me.
Ruby vs C misses out the middle ground of SBCL, Java, Scala, Haskell.
His point is valid, but the bottom line is that hardware resources are far cheaper than human resources today. Yes, many of us know C, but a lot of us would rather use the abstractions provided by scripting languages.
At least he's planning on putting his money where his mouth is. If he creates this framework, more power to him!
My Startup : HotIndianStartups
Sweet merciful lord. Is this guy channelling Zed Shaw or what?

Apart from all the hand-waving and generalizations, this guy doesn't sound like he's ever really a webapp under serious load.

I'm not a Ruby guy, so I don't know how things fly with that, but I've never once had a problem with a webapp being slow because of the language it was written in. Bad database queries, unnecessary assets being loaded, definitely. But CPU-bound limitations caused purely because of the cost of interpretation of a scripting language? Not so much...
I always tell my Indians: Write all comments and code with an eye to them getting read in two years by a man you've never met who does not speak your language, has never heard of this project before, and needs to fix the bug that brought down the server in less than 2 hours or the boss will have his hindquarters. Because that is EXACTLY who will be reading this next.

Compliance with this direction is... sporadic.

/ implement first business logic */
public void process() {
...
}
I don't see how it's possible to make a good framework in C. It lacks the necessary abstractions. It lacks even basic vital things like namespaces. Why on earth would someone attempt this in C rather than C++?

You could come pretty close to simply rewriting a scripting framework in C++. I don't know what you can get done in C. It will be so dependent on programmer conventions it will be hideous.

People actually have made some damn good C++ frameworks. See asio. What are the C ones? Any complex C system devolves into a mess of macros, casts, and naming conventions.
But as your web application database grows more complex and larger, how do you intend to make them keep up with the 2k req/sec load?
It didn't read at all like a press release, by the way.
There are some low-price 3d cameras. Possibly, it works more like a laser depth scanner.
Tomboy gains websync
http://live.gnome.org/Snowy