skysight-inc/HackerNews huggingface dataset:
Natural languages and programming languages are two very different things. The choice of natural language usually doesn't make a huge difference to the length and quality of a sentence. Conversely, the choice of programming language can make a very big difference.
Fantastic points! Request for a bunch more, written up.

http://www.sinatrarb.com/ at least does it with one file (but it's not HTML, which I agree is a lower on-ramp).

User comments on docs is brilliant. Flash does this, but moderated, with a long delay (weeks!). So, a reddit/digg/HN/SO voting scheme would fix this. But I agree, that just plain comment - unvoted, unmoderated - would still be a net win.

Javadocs is assisted by strong typing. A huge win is hyperlinks for return types and arguments, so you can quickly trace through. A doc-only type-system convention for python would help here. There's also that extreme approach in Haskell of looking up functions entirely by their type signatures.

"Let it crash" is cool, but makes sense only for servers, I think. It's moving away from a general purpose language to a specific application. But it's an important one, so why not? I mention this just because it's a bit mind-twisting.

EDIT doctest was new to me, and that's fantastic too. http://docs.python.org/library/doctest.html Years ago, I had the idea of writing unit tests automatically, by capturing the output of a manual test session, and then using it directly as an automated test: so that you get it 100% for free, since you do the work anyway. I didn't realize that python's REPL makes this trivial (uh... so lisp has probably been doing this for 30 years...); and pasting it in the code itself is another cool improvement. It still has the problem of unit tests, of freezing the API; but if you change it, you'll want to test it again anyway. Hey, if you refactor the code, you can probably refactor the REPL session at the same time.

As I said: fantastic, request for a bunch more.
When you're in the audience and he's keynoting, it doesn't feel like "Hee hee, lazy programmers are good programmers." It feels like "This is stupid and by extension, so are you, and why am I even talking to you about this?"

I don't think he's a happy person, either.
I was one of the few who voted it up. It's a well written article with good comments.
Please tell me exactly where the line is between bashing and criticism and then get the entire world to agree with it.

I agree with you that there's a lot of bad criticism out there, but you draw a distinction where none exists and overall your critique of criticism was did nothing to address fundamental issues.

pg's disagreement hierarchy posted on here every couple of seconds is a much more thorough call towards constructive criticism and actually provides workable and useful advice. Here you're just going off and saying "wouldn't it be nice if we didn't have evil X in the world?"

Sure, it would be nice if it was more civil. Did you want to actually make any real suggestions on how to bring that about? Going off and criticizing all criticism and rambling on about how we should all just focus on the positive attributes of all the languages we discuss is just downright lazy and populist.
Did you read the FQA I linked?

That type of thing does actually matter, allows people to avoid, or think twice about using certain language features and imparts a vast amount of wisdom to anyone wondering about some of the dark sides of C++'s design. C++ made some very interesting headway in terms of language design and we can all learn from the areas where things didn't work out quite as intended.

Since some people (maybe not you) actually make new languages and rely on this type of discuss to help them create better languages in the future, it's absolutely vital that such criticism continues.

Can you imagine a world where we were all stuck with COBOL, ALGOL and ADA because no one bothered to write any criticism outlining the areas where these languages weren't sufficient? Are you really claiming that everything from http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EW... to http://www.pbm.com/~lindahl/real.programmers.html is all useless nonsense that helps no one?
Mona Chopra in Bra and panties, bikini, 2 piece Wallpapers
Creating a programming language isn't hard. It's not rocket science. It's just a mechanism for us to express ideas and to execute machine language on a CPU.

Good programmers can decide for themselves what to use, what is ugly, what is crap.

Just like a poet steers clear of ambiguous 'bug prone' words.
There's a McDonalds that uses these:
http://www.waymarking.com/waymarks/WMM82_Pneumatic_Air_Drive...
Boxee: juodoji tavo filmų dėžė
better still, stop binding yourself to a language - there are no Python programmers, or Java programmers - there are programmers that use the respective language (at that time).

That kind of blunts any personal attack. There are however communities, so I guess that is what people could attack, for better or worse. But its not personal.
Creating a programming language isn't hard. Creating a good programming language continues to be a large challenge that benefits from learning where other languages failed.

I'm not frankly even sure what you're arguing anymore. You're way out there if you think that language design is all completely irrelevant to anyone.

And frankly, as a programmer, I value my colleague's opinions on different languages so I don't have to go running off to investigate every new harebrained language myself.
I can't upvote this enough. Learned some real sad lessons this past year.

Le sigh....
Reddit.com: Реддит-кнопки
Thanks. I hadn't heard that criticism of canvas before and I found it valuable.

(I have seen it used for games though, I believe, so I think perhaps you're likely to see the features you want available sooner or later.)
Is $50k/year that much in Berkeley?

Personally, I wish the government would do away with the biggest Ponzi scheme of all time, a.k.a Social Security, and simply have some required retirement contribution (401k is still ok after the crash, no?), but until they do, what do you think this guy should be getting for his retirement? Surely you aren't of the opinion that one should trade the majority of their young waking life for money to have a decent standard of living, and then the moment they are finally freed from having to "earn" a living they immediately must ratchet back their standard of living to poverty levels?
Presumably the people in your company aren't unpaid volunteers.
I think the assumption that all writing is or should be an attempt to change someone's mind is misplaced. Despite the contortions to equate it to high art or some form of self-actualization, programming is mostly work and work, along with its rewards, involves a fair amount of frustration. Writing and reading about those experiences can be quite interesting and informative and the spleen vented also serves as good reminder not to take oneself (and one's tools) excessively seriously. Tastes vary but I know I'd rather read, say, a chapter in the Unix Haters Handbook than yet another wide-eyed post about the inimitable ecstasy of being within 12 feet of a Rails app.
3D Porn - The catalyst for 3D adoption?
> Unix Haters Handbook

I'm going to have to look that one up.

You have to be thoroughly familiar with something in order to properly hate it.
> Just to pick on one point: what conceivable moral logic leads one to choose democratic representation based on the financial health of their existing government?

Wasn't the idea to give each state to senators so that populous states do not encroach on less populous states?

If California gets many senators, they will surely vote to get federal money to fix their deficit.
Is creating new programming languages a worthwhile thing though? Are we as programmers restricted unreasonably by programming languages?

I don't think we are. Perhaps some feel so if they don't have enough programming experience and aptitude.
Scaling Haskell : progress on adding epoll to GHC's I/O manager
You can have VMs in your iPhone apps, you just can't let users load in external code. Everybody repeats the 'no VMs or interpreters in iPhone apps' line, but it's just not true.
> I apologize for my lack of writing skills and apparent

> deficiencies in my thinking faculties, since you leave out

> specifics I'll have to assume that you meant all of it.

That was me being less than civil and less than constructive, I actually had edited my comments just before you posted this response. My apologies.

> but I'm allowed to speak my mind.

Oh, absolutely, but I'm also allowed to point out that nothing you said will advance the state of dialog forward and is little more than bemoaning that sometimes individuals go overboard from helpful criticism to unhelpful criticism. Just complaining that criticism exists really doesn't help anyone.

Arguing for less of it, by the way, doesn't help anyone either. Arguing for better criticism is valid in my mind, but I don't feel like you did that here. And if you had, I would also have appreciated seeing you actually lay out a cogent and reasonable argument on what you felt was better criticism and how to achieve it.

In my mind we'd be much better served here with an article entitled "How to criticize a language right" or something along those lines.

> The suggestion was to analyze those languages that we

> apparently despise and to find their 'good bits' so we

> can implement those in other languages.

Ah, this is not an unreasonable suggestion, but I took what you wrote to mean that you thought people should stop ever being negative about languages and only ever focus on the positives and to me that's just not right. I think any approach that advocates better criticism that doesn't allow someone to just be critical if they desire is flawed.

Sure, when one can be balanced and review both the ups and downs of a language, that's nice. But I think it must remain perfectly valid for someone to simply focus on the areas they see as needing improvement. Especially in the cases where that person feels that the areas where the language is good have already been covered, are already evident or have been covered by people better equipped to cover them. (Unfortunately not everyone is equipped to point out both good sides and downsides to everything. Sometimes a specific person's view will yield interesting insight on the downsides of a language without yielding anything but relatively uninteresting insights about its upsides.)
Perhaps if you'd read more criticism of existing languages you'd be able to more clearly see the needs for new languages to address certain issues and new technology challenges.

I think many programmers would have told you they didn't feel unreasonably restricted by COBOL, ALGOL, ADA or FORTRAN as well, but I sure am glad different people felt annoyed enough with those languages to write some new ones.
This essay from Rasmus is interesting:
http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC...

In a way php is a framework.
The Era of Black Boxes
> In my mind we'd be much better served here with an article entitled "How to criticize a language right" or something along those lines.

If you write it I'll read it.

On another note, I see from your self-censoring that you know the difference between bashing and criticism very well, witness the difference in your first and second versions of your original comment ;)
Ethics matter.
I think I'd like to file a hug report...
Expecting High Stock Price
This is a really exciting feature of Rails 3, having Rails as a key library is a great step forward.

I was writing a small sinatra app recently, and really wanted some active record functionality (serialization and validation), this would make this process trivial from now on.
Reporter breaks an 'unbreakable' mobile phone at CES
I agree with your (Jacques's) larger point, but I think this is a bit of a mountain out of a molehill especially this bit - "It's just a good old hanging party in disguise." Really? .

Every community in the world has fierce discussions about the comparative merits and demerits of the various tools used.

I know martial artists who have fierce debates about which martial art styles are "best" while agreeing that it is the fighter not the style that is ultimately important.

I disagree with this bit of your argument too.

"Real Programmers (TM) can do their work in any environment, they will have their preferences but for the most part they'll be language agnostic because they have learned over the years that the tool is less important than he or she that wields it."

The best programmers I know are not language agnostic at all. They have marked language preferences to the point where they will go out of the way to work with the "best" languages they know. The tool is less important than the wielder, sure but the best wielders try very hard to use the best tools, which is hardly "agnostic".

If this were true, PG could have written HN in PHP. PHP is perfectly adequate for the functionality of HN. The best programmers go for their preferred tools (to the point of buildig new ones if necessary) rather than "agnostically" select whatever will do the job. I suspect COBOL would "suffice" for most business apps, for e.g. and perl for most web apps. If one thinks all langauges are "equal" ins some abstract sense, why bother inventing new ones.

Now if you are saying that one shouldn't actively going about criticizing/putting down other people (as distinct from the languages/tools/ etc they use), than I agree. I hope we never come to a politically correct era where all of us mumble pious homilies about how all languages are Turing Equivalent etc.

All that said, I think your frame of "features from other languages that i would like in my favorite language" is brilliant. Good thinking.
It's the name of the regular column Paul Carr writes for TC. I find its misuse of the NSFW tag more annoying than cute.
10 Web Browsers You Probably Haven’t Heard Of
* That is sort of a female counterpart to the pickup artists guide and is about how to land a man who will commit.*

It is not really, since "game" is not about relationships. The female equivalent of "game" is a push-up bra and control pants. Does it work? Absolutely. Will it get you what you want? Ultimately, probably not.
> I disagree with this bit of your argument though.

Good, let's see if we can both learn something :)

> The best programmers I know are not language agnostic at all.

I agree with that, it is just that they will be capable of doing the job in any language, it is their preference to do it in the one that they think is suited best for the job.

> They have marked language preferences to the point where they will go out of the way to work with the "best" languages they know.

Absolutely.

> The tool is less important than the wielder, sure but the best wielders try very hard to use the best tools, which is hardly "agnostic".

Ok, point taken. What I meant with agnostic is that it is a point of personal preference, not dogmatic. I'm not sure which word fits better there than agnostic.

> f this were true, PG could have written HN in PHP. PHP is perfectly adequate for the functionality of HN.

Who knows, it might even be better suited than arc :)

(side note, HN seems to be crashing an awful lot lately, in spite of reduced length of the lists for the new, home and submissions pages).
Point is, if they hadn't created new languages, we'd still have all we have today. It'd just be in those languages.

Some people will always whine and moan about any language, but in every case there's a work around for any dislike they have. If they're a good programmer they'll be able to work out a solution. It's like a builder moaning that he can't always build on perfectly flat stable ground.

What 'new technology challenges' do you mean? The fact that suddenly in the last few months we've been able to switch to 'realtime' web! Which is a marvelous technological achievement never before seen in computing?

It's all buzz words and bs.
This is exactly the type of mentality we employ when trying to hire folks for the FarmVille team. We tell our recruiters to put job descriptions out for "Software Engineers" versus "Flash Developers" and "PHP Developers".

For us, it's rare to find someone with both PHP and Flash experience. Heck, most of the senior devs have less than 2 years experience using both at the same time. So, instead, we look for really smart programmers with solid software engineering fundamentals since we figure that it's much easier to teach a smart person a new language than try to teach someone core CS concepts.

We've seen this work fairly well with several new hires. The language is, like you said, just a medium and changes depending on the project. The real challenge comes from understanding how to architect code in a way that's flexible/scalable/maintainable.
2 months? really? You should probably be subsidizing the rent for anyone willing to only live somewhere 2 months. That's barely time to unpack.
> If not technical then what, philosophical?

Aesthetic. User-experiential. However you want to put it. The thing that makes Facebook different from MySpace, text messages different from push email, isn't technical, it's all in how users think about what they're doing.

> There is no "public, status-seeking" mindset to web based email that is missing with desktop email.

There is a public, status-seeking mindset inherent in using email—that's why it works so well on the web. It's actually kind of useless to make it a desktop application; it's just a historical accident that it was first incarnated through the desktop metaphor at all.

> Why should the developer care at all about these?

The point is to hide the fact that the user is using a website, because the user has certain connotations about web sites that he or she doesn't have about desktop applications, even if those desktop applications happen to render HTML over HTTP under the hood. The user should be able to download a desktop application and not know that there's a web application sitting at a URL somewhere that it's just accessing and displaying.

For a perfect example of this, look at the iTunes Music Store. It's all HTML—but would it feel the same if you accessed it as a website, rather than through iTunes? People trust iTunes with their credit card information more readily than they trust a website. People are more willing to click a "Buy" button in a desktop app than a website. There are usability studies that prove both of these things. Again, it's about how the user thinks about your service—and by using Fluid or Prism on the developer's side to package your service as a desktop app, you can change how the user thinks about your service, without having to change how your service works internally.
Discount auto insurance
US Insurance Online - Get the best Auto Insurance Discounts online here.
XSS war: a powerful Java HTML sanitizer
"What I meant with agnostic is that it is a point of personal preference, not dogmatic."

I wonder if even this is true though. Very strong personal preferences for one tool or language over another can look like dogma to outsiders. What makes something "dogma" is ignorant adoption of a view point or preference and then blindly parroting it and actively demonizing people who choose other tools.

The best programmers (the subset we are talking about) don't blindly adopt (or maintain) their preference for a specific language out of ignorance. Linus Torvalds, for example, has a very strong anti C++ bias [1]. That doesn't make him not part of the set of "best programmers".

Again I agree with your larger point of going around bashing other people because they have different tastes from yours being an unproductive exercise.

"I would hate to program in PHP (or even, I think PHP sucks as a programming language because of reasons x y z) and would much prefer to use Python (or arc or whatever) " is very different from "People who use PHP are idiots and should be burned at the stake".

[1] http://thread.gmane.org/gmane.comp.version-control.git/57643...
You really don't think there's been any progress in programming languages in the last 30 years?

I think there has, and I think there will continue to be progress. The area that seems most likely and is getting the most attention right now is concurrency, an area that many existing mainstays handle fairly poorly. We may not need a whole new language to address these deficiencies, but certainly different language design concepts, principles and frameworks may need to be incorporated into future versions of languages to provide their continued usage in the new manycore environment we seem to be kicking and screaming our way into.

Certainly I can and have written multithreaded code in C, C++ and many existing languages, yet I can see the value in exploring ways to make that easier.

Can't you?
[ Deleted comment mentions that they are slowly fading ]

Very slowly, and starting from a commanding advantage, if what's available in most stores here in Italy is anything to go by. I recall that Austrian stores were similar: sure there's an iPhone or two, but there are tons of Nokias everywhere. But they are in a bit of a decline and don't seem to really have a clear direction for what to do about it.
More Troops to Afghanistan
Carpet cleaning service | Profesional carpet cleaning
The carpet cleaning method we use is hot water extraction, also known as steam cleaning. We use only Eco-Friendly cleaning products, which are safe for pets.
It looks like your design can be made from flat pieces of material slotted together. If this is the case laser cutting is ideal for this kind of production scale. Most big cities will have laser cutters you can rent time on. You can also upload a design to sites like www.ponoko.com which handle manufacturing and distribution and give you a portion of each sale.
i doubt that any "unbreakable" phone will resist being banged to a sharp edge for the near future...
The original parser was written by Lerdorf (source: your wikipedia link).

But I don't think any of them have anything to be proud of: http://www.steike.com/code/php-must-die/
When Did Specialized Hardware Become a Dirty Word?
With all the horror stories around I'd say they're simply not a professional choice as a Merchant Account. Simple as that. They do a lot of other stuff very well.
If someone's moving to SF and wants somewhere temporary while they find somewhere more permanent, this might be just the job.
I typically upvote articles to "save" them for future reference. It doesn't in any way mean I "agree" with the point of view, just that I think either the article or the discussion attached to it is something I might want to revisit for some reason.
Big news! FUCK CVS.
chomsky adulation within the academic community is a huge pet peeve of mine. the man is a hypocrite. he makes wide ranging commentary on fields he has no background in.
judge for yourself:

http://news.ycombinator.com/item?id=1042208
Historically, they are interchangeable. Insure has come to mean primarily insurance, particularly in the UK, though the first definition given in the OED is still "to make a person sure of a thing" (marked obsolete), but I still see insure with that meaning regularly from Americans.

I like this quote:

http://www.wsu.edu/~brians/errors/assure.html

"Other authorities, however, consider “ensure” and “insure” interchangeable. To please conservatives, make the distinction."

Looks like the Grammar Nazis have won, when we're giving writing advice intended purely to avoid their wrath.

OED ref, though I don't think that's a public link if you're not on a campus with a licence:

http://dictionary.oed.com/cgi/entry/50118480?single=1&qu...
Ask HN: Free DNS hosting?
Since EditDNS decided to change to pay-only, and EveryDNS got bought by DynDNS, I'm stuck finding a DNS service to use for my meager 2 domains, has anyone got any suggestions for free DNS hosting?