skysight-inc/HackerNews huggingface dataset:
This is why I think upvoting on the HN front page is not a good idea. People upvote before they even read the article (if they read it at all).

I just opened the comments to see yours and know there is no need to read the article and to upvote the story.

Edit: asked PG about this: https://news.ycombinator.com/item?id=6199254 Maybe other people have good suggestions as well.
Newton: The Greatest Flop of All Time
"For anything macro-scale this timeline is basically zero." People don't get this.
The big issue I have with Wicket is that it seems more suitable for the web we had 5 years ago than the web we have today. These days we have static html/css/js that accesses data through a json api. Wicket is really not a good platform for this.

If you like the Java ecosystem and really want some top notch tooling, I'd recommend the following:

JAX-RS for the JSON API (eg Jersey )
Atmosphere for data push and updates (pubsub, websocket)
GWT for the frontend html/css/js (good integration with
Jersey via RestyGWT)
http://www.pyinstaller.org/
That's right, and I think that was the point of the author:

> I may put a few words in a comment to explain why the code is doing what it's doing. If I find comments answering 'what' or 'how', I take that as an indicator that the code is not written well enough.
10 years of Blaster: a retrospective
"My code is so good it doesn't need comments!" says the first.

"What the hell was this guy thinking?!" says the second.
I wholly agree that code comments can be greatly reduced by better code, most notably with code that has well-named variables and methods as well as through reduced complexity through refactoring.

However, I think the way the OP title is phrased, "Don't Comment" makes too strong of a statement against comments, when I think the better, albeit softer statement would be: "Write Better Code and Fewer Comments"

The main argument against commenting period is that comments are inherently not part of the workflow/compilation process, so it takes an extra level of cognitive awareness and maintenance to make sure they stay up to date with the specs. Other than that (very big) hitch, there's nothing inherently wrong with comments...except that in practice, a huge number of them indicate a code smell, as well as being a maintenance liability.

This may have been outside of the OP's scope, but I think it's worth mentioning that well-written and copious tests can also serve the function of comments...unlike comments, they do break when the code they document is changed, and so thus they're easier to maintain in that you can't go forward without fixing them (which introduces its own maintenance chore, and so on and so on).
I used to argue that well-written code needed no documentation, but I read various articles about documentation anyway.

The takeaway was this: Even if my code is clear, neither I nor anyone else should have to read through a function in order to understand what it does. Reading a comment should be enough to use it.
Canonical will win even if Ubuntu Edge doesn't make its $32 million
Or they will simply change or modify the code and leave the comment? Now the comment doesn't help, it's actually detrimental.
Any chance that is open source or at least you'd be willing to post a bit of a tutorial on your setup, on getting that up with node, nginx and redis? Maybe you're using containers?

Nice job!
What is OP talking about? People like Djikstra have been advocating this since the 1970s.
As a newbie on Rails (I'm designer, don't kill me) i have to agree with point 1. After some couple of days practicing migrations and generators, it doesn't become a problem.
Sudotrap - css toolkit built on top of html5 boilerplate
> Good artists copy, great artists steal. Pablo Picasso

To the devs, congratulations on a truly stunning OS, I think I will be swapping out my Linux Mint install very soon.
Since all commits are stored in a directory, './lolcommits', and it's triggered when you make a commit, it seems like it would be straightforward to create a post commit hook that adds the new image to git-annex, especially as the filename is the commit's hash. Alternatively, you could simply use the assistant to watch the directory and sync it for you. So there's no need for built-in git-annex integration, though it would make it nicer.
I would love a sort of annotate-gem built in. As well if you change the model with a migration, the comments on the model would be updated would be nice.
But some people won't read the comments. Or the article.
Artificial Lighting and the Blue Light Hazard
Thanks for commenting! I think DB support is great. I'm especially jealous of postgres, which like you mention, has native UUID types. UUID-OSSP is especially great: http://www.postgresql.org/docs/devel/static/uuid-ossp.html

Postgres handles all the gunk for you in terms of efficient storage and display, AND you can cluster by a different field than the UUID one.

For those of us not unfortunate enough to be using a DB that has such niceties, things are different :)

As for performance I think this will always depend on your what your queries look like. For random reads or for reads when your dataset is not larger than RAM, you won't see any degradation because of caching. But if you need to make tons of range queries on a dataset that doesn't fit in RAM (or even worse, the index doesn't fit in RAM), things can get a bit crazy.

I wish I had time to also do a benchmark supporting this, but I've hit this issue before. Other people also seem to have hit it here:

http://stackoverflow.com/questions/2365132/uuid-performance-... (comments and answers)

or here:

https://news.ycombinator.com/item?id=5310662

or here:

http://www.mysqlperformanceblog.com/2007/03/13/to-uuid-or-no...

So, it really depends on your use case, I guess. Hope this helps!
-1'd for no reason other than you disagree, rather than me trolling? Pretty pathetic.
Am I the only one who finds that a bit silly? Perhaps the next step will be that we won't be allowed to look at other people on the street anymore, because we would gather too much information. What if I want to open a shop and count the pedestrians walking by at a potential location, will police swoop in to throw me in jail?

I wouldn't be surprised if every smartphone with WLAN also "tracks" other people on the street - if it keeps a list of WLANs it recently encountered.

Offering HotSpots would become troublesome, too.

And what about the mobile networks, they already track the location of every one of us? Should only big companies be allowed to collect data?
Flicker Free Monitor Database
great post! bad kerning :(
And this is how we end up with comments that documents what the code used to do ten revisions ago.
On the contrary, an approximation of some code I've written:

function do_search($query) {
if($database->type == "mysql") {
return __do_search_stupidly_because_mysql_is_shit($query);
}
else {
return __do_search_sensibly($query);
}
}
I have a feeling your numbers are just nice and round and unrealistic as well. If I knew that my genes were going to result in something worth hundreds of millions of dollars for some pharma corp, I would want a lot more than $1000.
Tutorial on Creating a CSS3 Timeline
BlackBerry Z30 Leaked - Video
Hi guys! I wonder if you could give me a feedback about this project I started. That would be great!

Thanks! :)
Ask PG: will disabling upvotes on the front page reduce hype stories?
Lately there is a discussion going on @ HN about the quality of high rated stories.
To me it seems people just upvote articles by reading the title alone instead of reading the linked article.

Will disabling the upvote button on the front page cause people to read the article first, or read the comments first and make a better decision about there upvoteabilities?
Sometimes you don't want to write the code "well enough" either, e.g. if you're reifying a standard algorithm I think it's a better idea to directly transcribe the original paper if possible, and stick as close to it as possible (including the usually dreadful naming conventions).

And in that case I usually add the paper's pseudocode above the corresponding transcription as well to make the mapping even clearer.
Twilio Phone Call Automation
Dataflow is our pre-alpha graph editor. There is a little bit of glue that connects it to NoFlo, and we're designing it to be easy to connect to other contexts. Jump in if you have suggestions: https://github.com/meemoo/dataflow/issues
Judging from the Google group, it doesn't seem to be very active but not dead at all. The main difference with Game Closure seems to be that parts of it are native code and must be compiled and deployed to the phone, which makes it particulary interesting for speed requirements.
Why does US legal system rely so much on "due process of law"? I think it nearly ignores the spirit of law. That's why US government managed to grow surveillance for so long. It just followed the process for as much as it could manage.
Well I just learned people are paying a ton of money for .io domains.
Changes That Stick - Beta version. Life tracking / goal setting.
NY regulator issues subpoenas to firms tied to Bitcoin: WSJ
Pierce's TAPL, also, and Harper's Practical Foundations. There's also some things i've seen about how scala does it, but I'll have to dig for them

http://www.cs.cmu.edu/~rwh/plbook/book.pdf
Perhaps testable comments?
>How is that any different from Haskell?

With haskell, the compiler verified tons of possible errors to guarantee against them. With smalltalk, you verified those tons of possible errors yourself. People make mistakes.
For a better demo of this, download Golly and open Wireworld/primes.mc. Start it playing and hit + a few times to increase the speed.
http://golly.sourceforge.net/

Golly has other cellular automata computers too, in the JvN folder.
So a comment could explain why MySQL is shit, what versions, whether it applies to MariaDB, whether there's an open defect, how your algorithm is different, etc. Presumably whoever wrote this code learned some of that metadata, so it's helpful to keep a record of it.
Yup, Remember this is how every web standard came into being, it was not a standard at some point, By definition it needs 2 interoperable implementations.

Some of these are already long on their way to being interoperable standards (getUserMedia), some of them may never be standardised, but that is the aim.
That's not an indicator of comments being the problem, that's an indicator of someone that can't be bothered to update documentation.
i coded this for use on the Keon (FFOS geek phone) and demo-ed it at the local JS meetup http://replycam.com/m/ (also on github https://github.com/franzenzenhofer/masel) will extend it someday do also encode/decode SMS messages ... but as i will never probably come around to it, just steal the idea, fork the project (it's zlib license, as soon as i come around to write a readme)
Messaging as a programming model
However, you do need to plan for the eventuality of failure.

If you're in your 20s (early 20s?) maybe not so much, but for me (early 30s) it's not so easy.

I really want to work on my own company (and I have just started a new side project which I hope to bootstrap, the last 2 washed out early), but I have to pay the bills in the meantime.
I admire your dedication to ensuring all code is serious and no superfluous fun is permitted.

Have no fear, you can actually use lolcommits as a management tool in order to audit your workplace and make sure everyone is appropriately miserable. Anyone caught smiling or laughing while committing can then be fired for not being serious enough while coding.
Scientists create “impossible material”—dubbed Upsalite—by accident
What sporting events require you to show government issued ID?
Yep! In essence, this is not too different. I think the main difference is that ObjectIDs are 96 bytes vs simpleflake / snowflake's 64, which fit into standard DB types better. (Don't have to muck around with BINARY and such).
I think more than 50% of the headlines on HN are misleading and sensationalist. Nobody would want to most the puff pieces here if they had honest titles.
Already discussed with 400+ comments: https://news.ycombinator.com/item?id=6186730
Please include .in domain
Behavioral Targeting for Publishers
Could you give some concrete examples?
North Korea's new smartphone
CGPGrey's The (Secret) City of London (Part [1]: History, Part [2]: Government)

[1] http://www.youtube.com/watch?v=LrObZ_HZZUc

[2] http://www.youtube.com/watch?v=z1ROpIKZe-c
That's a process/standards issue, not a problem with comments!

If a team is so poor that they don't properly document what they do I suspect that the comments is the last thing to worry about :)
In general yes, but you're on the most solid ground if you just state no reason for firing, or something generic like wanting to align staffing with business needs.

If you actually give a reason but it appears to the court to be a malicious or vindictive one, in some states it can run afoul of the implied requirement, read into all economic relationships, of good faith and fair dealing. I'm not sure if it would apply here (probably not), but it's been applied in the past when a manager appeared to be doing things like timing a layoff to deliberately cause maximal harm to the employee, or a company had an unwritten policy of firing people before benefits vested in order to make sure the promised benefits never materialized.
Currently, apart from the GitHub pages, there isn't anything.
Man, I'm sad I won't get to fly in a Concorde (or any supersonic by the looks of it) - 3 hours London to New York sounds pretty awesome...
Ha! The gentleman who never paid me because he was full of excuses, once bemoaned a client not paying him. And he posted this to his Facebook profile. The irony was not lost on me.
I'm a proponent of self documenting code (method names, variable names, immutable variables etc) but this only helps document the WHAT and sometimes HOW but seldom the most useful WHY or WHY NOT or what I have tried before this and what didn't work so I changed it.
I find it good practice to comment code for that other guy that is me-in-two-months. I just rediscovered some semi-old code and boy am I happy about the comments.
Can sombody tell me why this uses the photos as background images for divs? It seems to me like this gallery could also use img tags (which is semantic, crawlable, yadda..)
For my inbox:

Turn-offs:

- obviously sent to many others
- obviously boilerplate
- buzzwordy
- uses the word "coffee"
- no apparent direction or desired outcome
- previously insulted me on-line

Turn-ons:

- already know them
- already respect them
- referred by someone I know or respect
- mentions something I said or wrote
- kind words without sounding contrived
- mentions something I'm irresistably curious about
and most importantly:
- builds or expands upon something I said, wrote, or am passionate about
Do note that the changes described in the paper to allow green threads in the millions won't hit GHC until version 7.8.1 is released.
Wouldn't an explosion in a tunnel two metres wide be likely to destroy the tunnel? In that case, it'd be more akin to destroying a motorway/bridge. Road's going to be out of action for a while.
"Don't comment bad code -- rewrite it." -- The Elements Of Programming Style by Brian Kernighan and P.J. Plauger. 1974.

Until your code is as good as Kernighan's you probably want to comment what you intended to do.
KISS!!

comments describe why.
code describes what.
> That's a process/standards issue

Same with shit code and non-self-documenting code no?
How Uber Went from Just Another Startup to a Big #*$&ing Deal
I think they have stated quite publicly and explicitly: The company is for sale.
Speaking from experience of a) working in a team and b) maintaining legacy code: Your code, no matter how good, will not instantly make sense to someone else.

Comments are essential. Writing good comments is as skilled a task as writing the code.

(as an aside; the most important comment is WHO. Because knowing who wrote/modified a block of code is ridiculously useful for all sorts of obvious reasons)
Advanced Sass list functions
Why CoRate is the Future of Content Curation (via crowdsourcing)?
It's important to recognize that any method open to public votes can be played. When you see two or three posts with the same origin suddenly and inexplicably rise to the top of the rankings for some reason other than their obvious worth, you see the role played by gaming the system -- and that's a common occurrence.

> Will disabling the upvote button on the front page cause people to read the article first, or read the comments first and make a better decision about there [sic] upvoteabilities?

s/there/their/

That would essentially disable voting. I think they call that a draconian solution.
It's very interesting. Something like this is really required. How ever, if this is a private project then people may not have absolute trust on it. If it is open source, independent verification is possible which will improve user trust. Also when malicious unnamed agents come after you through legal channels, you can drop the service like lavabit but some one else can setup an independent server and do a direct import of user data from your servers with user permission.
Also, IntelliJ Community Edition is OSS and free. Available on GitHub as well as downloadable from our site. So not sure what you would need in terms of making the product free. We also have quite a few community programs where we provide licenses, and OSS projects can qualify for free licenses to ANY of our products.
FWIW, I like what Mozilla is trying to do with Firefox OS, and I think you did a good job of describing the merits of this platform in one of your other comments. I even pre-ordered a Geeksphone Peak+ a few minutes ago.

But I think the macho language of fighting (e.g. "kick your ass"), which glorifies retaliation over calm, logical discussion, needs to die, particularly on a forum like this.
This is an OS on a phone, not an app on a phone or desktop. Since their audience is specifically people buying the phones and the app makers are targeting only those people, there are no other implementations to worry about.

FirefoxOS is the standard for these devices at this point, and whatever they do is then standard.
I use comments where nescessary but what I really wish the IDE's/editors had was the ability to hide all comments (not just fold but completely hide), I don't need to see the comment now as I'm writing the code and the model is in my head but I will want to see them in 3 months.
As far as I know the game is made in Haxe with openfl, so let's hope that author will make a Linux version, as far as I know it's not difficult.
I need help with Coverage.py
Reading between the lines of various NSA statements, it seems like they interpret the relevant sections of the Patriot Act and FISA Amendments Act to only apply to "collected" data, and "collected" data they consider only that which a person looks at and stores. Apparently, they think that the restrictions imposed on them don't apply to automated machine reading of data, or any data that might possibly (51% or more) have a foreign source or destination.

Since they define the criteria for what is "interesting", it gives them the ability to inspect essentially all of the data they collect, and there is at present no real check on the loosening of what constitutes "interesting" over time.
a very good project to improve your css skills! You will for sure get a nice all around experience!

Only thing that struck me hard were the colours on the header... really... strong... maybe to much!
Best Practices for Scientific Computing
http://arxiv.org/abs/1210.0530
Its true one should FAVOUR self documenting code. Going to the absolute and never commenting your code is obviously stupid, there will always be cases when more context and information on "Why" is needed.
Ruby vs Python
"don't comment your code", as dogma, without thinking, it's just stupid.

What sometimes happens, when you work on the same code base for month and you know it inside out, it's that you get some knowledge for granted. So you shift your mental needs (and the need to comment it out) from the "how the hell do I do this" from "why the hell do I need to do this" (there can be some crazy business rules, or some infrastructure limitations or whatever).

The problem is, the knowledge of the code base is not easily transmissible from people to people.
So it's still useful to leave some comment, specially on some "non intuitive" steps.
svn / hg / git ... blame ? :D
Can you try using a canvas and drawing the images yourself instead of with divs? Or, see if threejs has any way of implementing what you want. They have some demos with huge numbers of elements and 60fps.
This is great! If only Hipchat would allow for image uploads... would love to send the image to hipchat with the push notification message
Show HN: user curated python resources
user curated listing of python resources
It is hard not to mention series of articles [0] on the same topic by Christopher 'vjeux' Chedeau [1] in this context.

[1] http://blog.vjeux.com/?s=%22Image+Layout+Algorithm%22
[0] https://news.ycombinator.com/user?id=vjeux
Another coachup dev here: how have others' experiences with Twilio been?

We actually moved off Tropo because Twilio seemed to be better documented and we were having SMS deliverability issues with Tropo.

Anyone used Twilio for SMS? That's next up on our Twilio integration.
Yes, I was thinking the same thing. Your title suggestion is more accurate, but would probably draw less clicks.

I prefer it when a title is bland, but the content is so astoundingly good. These are little surprises and they still find their way to the front page.
If you have to write who wrote a piece of code in a comment, you must not be using a decent version control system with a blame command. Which is a problem you should probably fix way before talking about comment styles.
Yeah, but I think his example of good code was pretty confusing. I still think it's a good idea to section off your code into smaller modules - each module should complete one 'step' of the process (whatever that means for your particular program) - and each module should have a short comment at the begging of the section explaining what it's inputs/outputs are or generally why it's there. Some comments for exceptionally tricky stuff isn't a bad idea, but like other people said they are often ignored and might get out of sync with the code that's actually there.

But I still think some comments are better than absolutely no comments...
Erwin Schrodinger:Google's Cat Doodle honors physicist & his legacy's many lives
Bay Area Car Traffic Plotted between SFO and Redwood City
Just because we don't know the likelihoods doesn't mean they are equally as likely. Don't confuse quantity of information (little) with quality or content of information.
It looks really great!
The browser will attempt to retrieve a favicon.ico file from the root of the url.

http://kojika17.com/favicon.ico
"My code is so good it doesn't need comments" is usually untrue. Don't fall for it.

If you can name an API or framework that you use that has near-zero comments... And benefits from that, I'd like to know. I can name plenty that are a pleasure to use because of clear, replete documentation.

If you're thinking your code is different from an API, you're right - it's worse. An API is designed for consumption, whereas your code is buried. It might not get look at by another human for months... or years.

Who will be looking at that piece of code next? You? Ok. Be your own worst enemy. More than likely it's someone else looking. And why? Maybe because it doesn't work like it should, or conditions have changed, or it needs to be extended.

Bad documentation can be just as bad as bad code, but "don't comment your code" is a road to madness.