skysight-inc/HackerNews huggingface dataset:
Yes it is. Here's a quote from the article:

"How does Wikipedia fare as a medical reference? Its collaborative, user-generated philosophy generally means that errors are caught and corrected quickly. Several studies, including one examining health information, another probing articles on surgery, and one focusing on drugs, found the online encyclopedia to be almost entirely free of factual errors."
I know it's doable in the other direction (http://www.ikvm.net/).

My assumption is that there's no real incentive to create such a beast though. Most people who like C# don't care enough about the JVM to want to deal with that kind of effort.
Michael taught both the SICP and the Software Design and Implementation classes at an ivy league school for several years. I’m fairly certain that he knows what he’s talking about.

I’ll admit that the post was a little ranty. It was quickly reworked from an internal email conversation, and it’s not intended to be a taken as if it came from a conference proceeding.

With that in mind, do you deny that C/C++ “sacrifice correctness, safety, robustness, testability, and maintainability in favor of… ‘performance’”?
It's genius! Instead of slapping advertising on, you build a news site. Hmm wait a minute, how does the news site make money again?
Here's an idea, a social networking site for startups founders and people that want to be involve with.
Indeed, large swathes of the Internet are written in C.

Large swathes of the internet have also had buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow after buffer overflow... for decades.

At some point you have to stop blaming "lazy" programmers and start pointing fingers at the language that let the same bug through thousands upon thousands of times; a bug whose term almost has no meaning in other languages. How do you "buffer overflow" Java or O'Caml? (It isn't quite impossible, necessarily, but it's multiple orders of magnitude less likely.)

A safe variant of C wouldn't have been that hard to create, but the culture wouldn't permit it. So... I also point fingers at the culture that has valued performance over correctness... not just highly, not just valued performance highly along with correctness, but has valued performance over correctness.

Anyway, the whole "the internet is written in C" is a very weak argument in C's favor; it certainly fit a culture and can't be argued to be totally impractical, but a lot of the sharp edges aren't actually necessary, even with performance as a primary goal, and those sharp edges have claimed far too many victims. I totally respect the original authors, but it should have been incrementally improved into something much safer, instead of freezing in its 1970s level of development.
Artificial Intelligence Bots Speaking To Each other [video]
Maybe you should take the tweed out then eh ?

On a more serious note, the storage capacity of the brain is vast, the lowest estimates run in the hundreds of terabytes.

Your remark raises an interesting question though, how big the variation is between brains in storage capacity.
Remember Mycin? Great expert system to support doctors. Never really used because people where afraid about ethical and legal issues.

While this is not the same, how long before someone gets hurt because some article was not totally correct or something similar? Someone decides to blame Wikipedia or something like that and puff, all other doctors stop using it for fear of being put in a similar situation.

I, for one support the use of additional information from sources like Wikipedia. Anyone remember that girl who self-diagnosed herself when all the doctors before couldn't figure out what was wrong with her? It shows that decent information that's peer reviewed constantly and with high availability can be a great asset.

Let's hope people star trusting technology more in situations like this.
For most apps, such as a calculator or a 3D game, vandalism is not a very big problem because:

- there is no sensitive data to steal

- there is low motivation to vandalize (whereas some wikipedia articles are highly controversial)

- it requires more effort to vandalize an application (the code is not saved if there is a syntax error) than to vandalize a Wikipedia article.

- the sandbox in which the applications run ensures that the user's computer is not accessible from the application.

However, for applications that manipulate personal data, there is indeed a challenge. At present, sensitive portions of the OS require moderators approval in order to be modified. We are also working to implement code access security systems to address this issue. But for the time being, we indeed recommend not entering personal or sensitive information.
Barabási: Scale-Free Networks, A Decade and Beyond
> I'd prefer my libraries be rock solid secure even if I lose some (or even a lot of) performance for it.

Then don't use C.

People don't seem to understand that C is just a step up from Assembly Language. There are no "types" in the sense that they exist in higher level languages. And thus, there are no ways to check those types (unless you want to write a type checking system yourself). Lets not forget that most modern programming languages with type checking and "rock solid secure" libraries were, in fact, written in C.
> The funny thing is that most languages that people use that criticize 'C' are usually at the core levels written in C.

The difference is that the people using these higher level languages only depend on a single set of maintainers who need to get the primitives right once instead of every random coder needing to manage buffers, garbage collecting unused memory, threading, and a host of other landmines on each and every project.
A quick lesson: if you're doing something where unshredding will get you in prison or shot, pay the extra $$ for a cross-cut shredder.
Anyone care to guess at what he means by a strong and expressive type system?
It always makes me scratch my head when people who complain about Microsoft's anticompetitive practices, proprietary lock-in, and so on then jump ship to ... Apple.
Google is just a backing mechanism from which we can page-fault into memory. If we have to do it repeatedly, it'll end up in long-term memory, but that long-term working set of memory will be different for everybody, so the value of trying to teach it in school is somewhat lessened.

That's apart from school's other purposes, such as light introductions to topics you otherwise might not look into, and state-controlled cultural and political indoctrination.

In essence, Google / the web has added another layer to the human cache hierarchy, in between long-term memory and the written word (traditionally on paper and incoveniently non-colocated).
Correct specs:

* No keyboard
* No way to stand the screen up
* No way to protect the screen in a bag
* Costs more than a laptop
> The funny thing is that most languages that people use that criticize 'C' are usually at the core levels written in C.

The JVM and MS CLR are largely in C++.
17 Babson College Startups & Entrepreneurs
That, and not every program runs on ever-faster hardware.
Thanks. :) It's been a long road, hope to get a paper out in the next ~6 months or so. Shoot me an email (address on my home page) if you ever want to be in touch outside of HN.
My approach to new features in PHP is very pragmatic, after having been bitten a couple of times I wait for two major releases before using a new feature. The ones that survive the intermediary release are usually here to stay.

PHP is a great language in concept but I really wished the powers that be would have a little more sense of orthogonality in what they build.

Anybody that designs a language should have a look at the 68K series assembler, it's so compact and predictable. They did a real good job there. And the PHP designers did a lousy one.

Scope and namespaces in PHP are amongst the weirdest I've ever encountered in a language.
Developing for more than one OS is a lot more work. All startups are stretched for resources and have to use them where they get most "bang for the buck". I would say that developing for one platform first, and choosing the one with the most installs, is the prudent and obvious choice.

Unless you'r core audience is HN of course :-)
Ask HN: How do you setup test clustering/RAID in single computer?
Pls advice.
I strongly dispute the idea that memorizing facts not useful to oneself is useful "exercise" for memorizing facts that one finds useful.

I, for one, did relatively poorly in secondary school not least because I was primarily learning about computing and programming, in my spare time, when I "should" have been doing homework. Most of school time spent "learning facts" was a * * waste of time * *.
PG: I'd really be interested to hear metrics of who's running which browsers on which operating systems when they come to Hacker News.
Please provide even a single deluded fantasy in which the price/performance ratio for a particular piece of hardware or component in the hardware stack will not continue to trend in the direction of more bang for the buck.
This article in particular crystallized a thought I've had about this site, and sites like this in general. I would love to see a wiki-editable block attached to each submission that tries to describe, in as few words as possible, what information the article contributes.

Think of it as compression, where a basic knowledge of computing is assumed. More interesting articles would have a lower compression ratio, which might be a fun thing to filter on. This article might go down to, "C is generally unsafe, and you probably aren't skilled enough to make it safe, so don't use it". Or maybe, "I needed to write something for my company blog, so I found a recent security hole and added some vaguely related platitudes".
Can I flag this for being stupid? OK I am instead going to use it as a teaching moment.

Remember hacker news disease? The symptom of having a strong opinion on topics you really shouldn't be having an opinion on? OK so if you find yourself even remotely agreeing with the Aquatic Ape theory, do yourself a favor and research the counter evidence, it's easy to find and obvious enough to convince yourself.

It's just a shame that non-stupid ideas have to share TED with this. This and that rambling talk about the dangers of robots (OMG roombas!) are so far the worst things I've seen at TED.

Lets just hope that TED doesn't devolve from here.
Apple: Secrecy Does Not Scale
My guess is that C# supports stuff that has no direct and fast implementation on the JVM. IIRC C# has unsigned primitive types, stack allocated objects etc. which JVM doesn't have.
I meant the good kind of lazy, so yeah, I wasn't really trying to insult you.

Also, the idea that "some" people still do C therefore memory management isn't obsolete for most people is clearly flawed.

As flawed as the absolute claim, "Cloud Computing Makes Servers Obsolete". Not only is it objectively false (servers are necessary for cloud computing, duh), but it makes no attempt to quantify by saying for whom they've become obsolete.

I admit to not reading the article (based on the ridiculous title), but if it claims that cloud computing makes skills in setting up dedicated hardware from OS up and then engaging in smart capacity planning and proper deployment schemes so as to make horizontal (or vertical) scaling as painless as possible without the advantages provided by virtualization less necessary in today's computing landscape, then...

I agree wholeheartedly!
What I like about using Wikipedia for "important" stuff is that it contains references to so many things. If you're concerned that someone is misinterpreting a medical paper, well, go follow the reference before you do anything important. Wikipedia doesn't ask for blind trust; if you give it such trust, the fault lies with the truster, not Wikipedia.

This doesn't solve every problem (missing references, bad references, entire missing concepts), but, well, those are givens for any reference source, or any written work, really.
OK, who else used google to look up "doyen"? :-)
I still don't see why the single : would not have worked?
It seems like whenever you give web users collaboration tools (with proper security/vandalism protection), they often exceed most expectations of what they can accomplish. If someone told you about Wikipedia before it went online, could you have guessed it would grow to be the resource it is today?

Granted, most of the people who use Wikipedia aren't article editors, but that's okay, and I could see most Wiki-OS users being there to just use the apps, with a minority of devoted developers. Personally, I think this is a really cool idea
> A safe variant of C wouldn't have been that hard to create, but the culture wouldn't permit it.

C is a non-language. It's a tool used to give developers complete control of the hardware. It's just one step up from Assembler (to make the developers job a little bit easier).

Adding type checking, buffer overflow mitigation, or any other extraneous domain-specific feature is completely outside scope of the language. If you need those features, write a language, dialect, or compiler extension which supports them.
I think those 'random coders' would grow up quite rapidly if they had to learn how to program for real.

It's the high level language cruft that is a prime source of all the endless layering of glue on top of other glue that we're stuck with.

Less scripting, more binaries.

I cringe every time I install some minor system level package and I have to include perl, awk, php and python or some other combination of stuff.
I just want to say one word to you: VMware.
These days I tend to think of Java as the new assembler; I need to read/understand it, occasionally write it, but I do most of my work in clojure and python, (or scala, whatever your preference)
My preference would have been a switch which would enable things like boundschecks on arrays.
So in other words, actually be a designer rather than a programmer parading around as one? Masquerading under the "cloak of usability" is no substitute for actually being creative. It is, however, a framework for bureaucratic meddling and covering your ass for a lack of talent.
Hmm...try Intellij Idea and I think you might get over VS. Eclipse is a bit clumsy but really powerful.
VS is basically a text editor with intellisense.
The trouble is that I often don't know what a "useful fact" is even after I've learned it. I certainly don't expect to be able to figure that out before I've learned it!

A segment I once saw on Reading Rainbow (airdate: 1986) recently changed my life. Trivial factoid for 2 decades, then boom, useful data point. Nobody could have predicted the set of experiences I'd have that would create a context in which this was useful.

When my dad was in college, a classmate of his complained that he'd never need something taught in a particular course. The professor's response was "The only way to be sure of that is to take the course!" (If you still think it was worthless on your deathbed, I'll give you a refund...)

If you can figure out a priori what's going to be important without knowing it, I'd like to see your stock portfolio. :-)
Farmer saves $200,000 with poo power
Ada's
Better yet, go to an airport. Every time I go to the airport, any airport, I see a higher percentage of Apple logos staring back at me than I did the previous visit. It's kind of amazing. It wasn't that long ago that you almost never saw any Apple laptops. Now they're everywhere.
I don't know if this counts as "deluded", but how about: resource exhaustion of raw materials required in hardware manufacture.

See, for example: http://blogs.wsj.com/informedreader/2007/05/25/a-metal-scare... which talks primarily about LCD displays (we're fast running out of Gallium/Hafnium/Indium), but points out that copper is likely to get significantly more expensive throughout this century.

That's going to increase the price/performance ratio of practically everything.
This is sure to revolutionize all communications done at 460 degrees below zero Fahrenheit!
The Mini-Retirement Misconception
A problem: Apple targets the high, expensive-end of computing, while PCs, when they were introduced, ate away at the low end of computing.

Apple cannot reproduce the same success of the PC in a similar fashion with the same kind of strategy, because skimming off the top of the value chain doesn't naturally scale, as most people aren't income-insensitive, and Apple's brand cachet depends on being classy, not cheap.

In reality, it's web apps that are the "inferior" thing that is killing desktop software, which in turn reduces platform stickiness and frees the high end of the market to move to Apple. That's where MS is worried, and why they invest so much in .NET, Silverlight, etc.
Because it's hard.
The meaning of that 50% is fairly elusive, since the research is not accessible to us. I'm guessing it's the result of asking something like "Have you ever looked up any medical information on wikipedia?"; but they might just as easily have omitted the 'medical' from the question.
So your point is it's impossible to get toughness, battery life, light weight, unibody and multi-touch into one PC. Cool, got it.
Frankly my iPhone service has been substantially better than the Treo 650p I had before. Reception anywhere I go is full-signal, even in the elevators in my building.
Same, minus the ex- part. I live in an apartment with Cows and wish I had enough motivation and free time after my workweek (and school during the fall and spring) to throw together some android apps or some of my startup ideas. In my spare time I geek out about typography, music, and compilers.. or just sleep in.
Funnily enough the proliferation of those scripting languages has made it easier to get a picture of what's going on if you do get rooted by the consequences of running a flakey C app. In the old days the md5 binary would be broken and you were pretty much screwed if the other guy was good. But these days you can hammer out manual md5 algorithms and do other stuff using perl, python, and anything else at your disposal - things that are deployed by default on contemporary unix distributions. Better still, if you've got a book on unix systems calls you can absolutely fly through troubleshooting techniques that weren't practical before. (Sure the bad guys could just delete your VMs, but then that is a clear sign that the system has had it - and that signal is useful in and of itself - one of the difficult things in a situation like that is making a call on how far gone your system is so you can set short-term priorities in the lead up to rebuilding everything)
The danger would be 4chan, etc, changing info that has potentially life-threatening implications.
Use the right tool for the job. C is the right tool for some jobs; if you jam it into a place where it doesn't belong, you probably don't have a deep enough understanding of it to use it safely.

There are two groups you find misusing something. Those that really know what they are doing, have weighed the risks/rewards, and have decided that misusing the tool to get the job done is worth the associated risk. Then you have people who don't know what they are doing. They are going to have problems, but don't blame the tool.
Yeah, seriously. How do they make money? Selling the news back to other sites?
Mathematics is not any more difficult than any other subject. Everything takes practice to be good at it.

I'll take a stab at guessing why mathematics is VIEWED as difficult. It's the abstract portion of it that many people tend to think about when you bring up the term "mathematics".

Many people have no difficulty with mathematics when it comes to adding up dollar bills and coins to pay for something. It's only when you remove mathematics from the real world that people start to get flustered. Basically, mathematics at this point is not difficult, but merely foreign. Think about something you find difficult. Is is really difficult, or it is just foreign to you?
No it isn't. There are lots of very successful programs that only run on one platform and make money.

If you as a timestrained startup start developing for multiple platforms before you've got the resources to do so on the other hand then you have a problem.

It's all about resources and business.
I have to point out that anyone who spends time on the web knew about that video before CNN linked to it.

Reddit, Digg, Twitter itself....
I’m pretty sure he’d point to Haskell as the best example.
Time Machine and Mail: a match made in hell
Nifty Text Editor: Gedit + Vim Plugin
There was a TED talk about this which was very insightful. I was unable to find it, anyone remember what I'm talking about? He talked a lot about Flickr in particular.
We did. (OK, I was contracting which isn't a corporate job in the first place. But I gave up a lot of potential income to do YC.)

I second those who are saying that simply filling out the application (and especially, making the video - boiling your startup down to 1 minute is HARD) will be really rewarding.

I would recommend that you and your co-founders make a pact: if you get in to Y Combinator, you will do Y Combinator, full-time, 100% all the way. If anyone can't agree to that, then you shouldn't apply. Or maybe find a new co-founder.
Having started using the new namespaces as well as some of the other new features (late static binding FTW), I completely agree with the author.

I too got caught up in the hype when the whole namespace debacle first hit, but after using them in a sizable project I have no gripes whatsoever.

Also, the character choice isn't really bad at all. And before those with non-english keyboards start griping, I'm currently consulting in Stockholm and as far as the Swedish keyboard goes, you guys have much bigger fish to fry (it's even hard to type a semi-colon).
... on Gossip Girl.
Secrets Of The Mind - Nova [video]
Thank you for your input, I appreciate it !
The New Failwhale: Twitter Homepage
You and I must use different definitions for “side effects or stuff hidden from view” if you think those are things you avoid by programming in C.
better titles: "i had a bad vacation", "my mini-retirement misconception"

i appreciate this person's thoughts, they're very insightful. but to try and use his individual situation and experiences to represent the set of all mini-retirements is fallacious.
RPG III, Fortran, Cobol, assembler, VB, VBA, ASP.

And no, I am not kidding or making this up.
Hi, culture! There you are!

Anyhow, I seriously object to calling "buffer overflow mitigation" a "domain specific feature" since there's hardly a domain that hasn't been hammered by it being missing.

Furthermore, obviously the C that is not C is not the true C. I'm not trying to play semantics. My point is that "not the true C" should have been written decades ago and completely replaced C swiftly. There's an old saying about how you can make any program run quickly if there's no requirement for it to be correct. I don't care how small your processor is or how special your embeddedness makes you; ample evidence says that letting input data segfault your or worse, get executed as code, is a real and pressing problem, vs. the almost-always hypothetical problems of a little bit of overhead when dealing with buffers (to do it properly, no less). Start with correct code.

By the way, as I use this word "correct" I'm feeling a bit like an academic wonk, but bear in mind that I'm not talking "provable" or anything. I'm talking about making tens of thousands of critical security bugs over the past several decades go away, with programmers actually spending less time on bugs, too. It's not exactly a hypothetical consideration.
Why is this better than CushyCMS - which allows you to tag a div - give FTP info, then edit the content from the backend of CushyCMS - which can be whitelabeled ... you could then sell this whitelabeled cms to your clients - as a monthly fee...