skysight-inc/HackerNews huggingface dataset:
So many comments already... Well, that's to be expected.

I agree with OP wholeheartedly, but I think he misses one obvious thing and that is the fact that commenting code is hard. Very, very hard, laborious and easy to get wrong. It hard even for people who are used to writing prose, like heavy bloggers for example. It's made even harder if you don't write in your native language, and "even harder" here means "almost impossible for many".

Unlike many programmers I enjoy writing, which should be visible to anyone who sees my comments here. I have quite a lot of background in writing various texts, from short stories to essays. Yet I find commenting - or rather - writing good comments in code very difficult. I think I can do this, I got praised for the comments at one time or another, mainly for their clarity (instead of sheer volume) which makes me extremely proud, but the fact is that I spend almost as much time on commenting the code as on writing it... Sometimes I write comments up front along with tests, to clarify my thoughts, sometimes I write them after coding something, but that does not change the difficulty at all.

I think the art of commenting code - and it is an art, no doubt about it - is comparable with debugging. As we all know, debugging something is twice as hard as coding it, so - by definition - if you code something to be as clever as you can you won't be able to debug it. Nor comment it properly.

And many of comments such as "I'm against commenting code" stems from this, I think - in many cases we're forced (in school, mostly) to code near the limit of our ability and then we're forced to comment; of course those comments are crap, but that's what we see for a very long time. Then we get used to it, we kind of expect comments to suck, and we think that they are a waste of time.

Not so. They are just very, very hard to master and there are very few people who would even try to teach about them. We can say whatever we want, but it won't change anything. We need to find those who really can write good comments and make them teach others...

After all this I have to admit that I doubt it's possible. Don Knuth tried with his "literate programming" idea and failed miserably. Among 25 programmers at my current work just one even knew the term, but didn't know any specifics, while all of them know who Knuth was. I don't mean to say it's hopeless... But it certainly seems like that to me.
It uses lxml, so yes it is fast.
If you do the normal, please do not comment your code. If you did the strange, please explain it briefly, but maintainably.

If something is broken, link to something outside the code (aka, vendor bug).
We (I work for Rackspace) announced a DC there recently and private cloud OpenStack solutions: http://www.rackspace.com/blog/rackspace-comes-to-australiaan...

Should we consider public cloud?
If you look this way ^ we're discussing this.
They are opening their DC in Sydney in Q1 next year. Cloud servers wont be there at launch but will come "in the months to follow".

I'm looking forward to that too.
If you use Youtube enough to be wanting to pay 1-5/month then they could make more than that by displaying ads to you. Freemium+Ad models are sometimes more profitable than subscription based models and in some cases you may find a mix of both (eg: Hulu Plus).
You should ideally channel all character/encoding handling through one channel which can be tested and validated once. If there's a chance that every single page and widget may behave differently with regards to encodings, you have a bigger problem. You want to nail encodings once, then concentrate on other problems.

Having said that, more tests are hardly ever bad. Only if you start obsessing about and testing the same thing over and over I'd start to worry about some root causes.
Discussion from yesterday: http://news.ycombinator.com/item?id=4767698
I don't know anyone who would justify $120+ to get rid of ads. I don't think people see them as THAT huge of an inconvenience.
We Need Holly Petraeus
1) I'm currently in Istanbul, Turkey, and Turkish is still a work in progress, so getting offsite storage would be a bit of a challenge. When I am back in the states, I find that the best way to forget to backup is to place said backup miles away. For the last decade, my existence has been a bit nomadic, and setting up a safety deposit box has never been in my top to-do list..

And I did have a "local cloud" in the 90s. :) I find it a positive development that I don't have to do it today. I work enough that I would rather trade money for babysitting a box, checking for security updates, fighting incompatibilities with the scripts when an interface changes, and the other administrivia minutia.

I mean, for a personal uses, it probably won't come to haunt you that you're using an old piece of software with a security bug. But at this point, I have no problem paying for the privilege of thinking about other things.
You're probably right to worry about losing the ease of employment and high salary as only a minority of the jobs require very high levels of skill.

The real reason for the high salaries is because there aren't very many developers. However, from what I can see, there are machinations underway which will correct a lot of the supply problems over the next couple of decades. Many governments are pushing for primary school computer science education, and we have hacker schools and startups like codeacademy springing up everywhere. The money and success is going to attract the general public[0][1] many of which are finding it very difficult to get jobs, and they will come despite the perceived geekyness of the profession ultimately causing a cultural shift[2] before everything stabilises. Sort of like a mini gold rush.

That's my two pence anyway... :)

[0] http://www.thesocialnetwork-movie.com/

[1] http://www.bravotv.com/start-ups-silicon-valley/season-1/abo...

[2] I suspect we will eventually lose high average salaries but gain higher status as development becomes a more socially acceptable job.
Hmm, where are the porn companies ?
Ziff Davis Acquired By eFax Parent J2 Global For $167M
About a hundred years ago you could've asked the same questions of the car industry.

I'm not a fan of RIM, but the iPhone might just be today's Ford Model T.
I'd say it's all about focusing on principles over rules, or at least being aware that the rules you apply are based on underlying principles. We tend to focus on rules, and apply those in both big and small decisions. Trying to be aware of what's behind those rules can make it easier to deviate, to improvise. Sometimes you still 'push it', but you're often more likely to realize that this thing you're 'pushing for' is a rule, not a principle, and that there are other ways to achieve the goal without blindly staring at one outcome.

I could give 'day-to-day' examples, but maybe that's not even necessary.
From your developer friendly license:

Including a large portion of the icons in your product could potentially harm IcoMoon's sales. An additional permission must be granted for such use cases.

When I buy a license to use fonts or graphics, I expect that I'll be permitted to use all of the assets licensed to me. I suppose there is room for licenses that grant me permission to use up to a specified number of assets, but if that is your intention I really do think you should be specific about it. That statement makes me worry that I'm going to trip some arbitrary, invisible limit and get dinged for it after I've already shipped. It also makes me think that it won't be enforced unilaterally, and that factors other than purely "number of assets included" will be considered for enforcement.
As a JavaScript developer who loves JS, I really hope not!

Its a great and fun language but it has far too many flaws. Updates to the language specs aren't coming fast enough.
Hey Permit. This is a really good point. Looking at PyQuery's source code [0], it really does nothing in terms of parsing other than calling lxml's fromstring function and then works with the result of that when evaluating queries. So it would probably be a tad slower than pure lxml since it also does other bits (like checking for URLs and then fetching them for you) but from looking at the source code, I'd think that the overhead is minimal.

[0] https://github.com/dsc/pyquery/blob/master/pyquery/pyquery.p...
Really? Because BA 38 shows to me why software has a long way to go before it can replace pilots.

So you want to detect a fail to spool? OK you need to put a sensor on the engine to detect speed. And one on the throttle to detect position. Maybe there is another way to detect fail to spool but this is what we're going with because linear and rotational sensors are pretty common and well sorted.

Now you need to make sure that those sensors are 100% correct before factoring it into your code. So you add another of each sensor. But what if one of those sensors is out of calibration or broken? You need another one to vote for majority. Ok so now you've got 3 sensors on both the throttle and engine shaft.

Nothing really crazy here and pretty common.

Now you've got to build the software to model the engine. Jet engines have a delay in spool times that depends on air speed, how fast you feed in the throttle, how fast the engine is already turning, and other factors I have no clue about.

Now that you've got the model setup you have to add in some hysteresis to keep things nominal and to deal with glitches in readings due to iPods and cosmic radiation and vibration.

And then you have to remodel the whole thing depending on which engine is fitted (there are 3 available for the 777 plus variations). And then you've got to test it.

Now that you've tested that you are able to detect a fail to spool situation you have to generate the model of what to do in various flight modes. And that depends on how much thrust was lost, air speed, altitude, attitude, rate of decent, wing configuration, weight, landing gear configuration, etc.

And then you have to test the flight model. And then you have to update the operational handbook to inform the pilot of what to do if the above fails to work. You also have to amend the inspection and maintenance books to inform the A&P how to test and verify the sensors. You also have to modify the flight recorder to record the sensor positions and software behavior. And you have to modify the sat recording and playback software to handle the new data.

You have to do all of the above because if the fail to spool code activates on a normal approach it can very easily lead to a stall and kill 200+ people. You want to be 99.99999% sure your code is correct.

You've now spent millions of dollars and years of development to replace something a pilot can detect in 3 seconds by simply listening and feeling to what the plane is doing. AND you have created a liability if a bug crops up.
It's a task distribution infrastructure. Useful for teams!

You should also link to the PDF that explains a little more: http://simon.says.do/assets/documents/simonsays.pdf
> ...divorced, utterly alienated their partner in the process...

You mean this had nothing to do with the quality of their relationship? Otherwise, I agree with you.
85th level Orc Rogue wins election
3673 companies in the US raised VC money in 2011:

http://techcrunch.com/2012/01/19/vc-investing-soars-22-perce...

997 of these where Internet companies.
I'm actually not sure that's true. For me going with the flow does dull life, but it increases inner conflict and pain. Because the 'flow' is often much more based on perceived rules and on social or societal pressure.

I think 'going with the flow' can go further than just on a life scale. In my case it means making decisions that often shake things up and seem a bit silly and counter-productive. I make these decisions because usually they work out and at least keep things interesting. But within these paths of conflict/difficulty I go with the flow. Not necessarily as an all-encompassing approach to life.
It's a rendering engine and JS engine per process, I guess. Those tend to consume memory (as overhead apart from the actual stuff needed for the page), for example.
Unless you're using Windows :(

The docs got my hopes high, but they fail to mention sh isn't supported on Windows -- I saw that by looking at its source on GitHub. I'll take a look at pbs, but this kinda bummed me out.
Surely the first step would have been to send a bait-ridden fingerprinted email to everyone and wait for it to be leaked? (When the article says "all", it means the small portion of Cisco underneath him.)
Every process consumes additional kernel resources for things like memory mappings, data structures for parent/child relationships, etc. There is also likely to be per-process overhead for libraries that allocate and manage global data structures. For example, the HTML parser likely has some global data structures that can be reused between threads but don't get shared between processes.
THE MARMALADE Identity: how high speed shots are made
I've already gotten rid of the Metro start menu[1] (this is a dual screen desktop), and I've been very pleased with the results. Windows 8 is unsurprisingly superior at working out of the box with drivers, which I've enjoyed. I can't say it's worth that much of an upgrade though. I certainly wouldn't go out of my way to buy it.

[1] = http://classicshell.sourceforge.net/
That a language is usable on the server and client is cause for it to be the "future of programming"? What an unbelievably outlandishly over simplification of everything that is part of this implication.
Doesn't HN still usually applaud initiative for "so I built it". In this case it's not vapourware and it's a step forward, in an area where there's few options and a continuing need.

I agree this could just be a PR/storytelling issue.
Should we all quietly ponder the same thing? Wait until someone posts something overly verbose, loaded with needless citations?

Who are you to define user experience anyways.
Actually, I think the interesting story behind the corp-speak is that this is now an internal vendetta with corporate sponsorship.
It's hard to make the cognitive leap from coffeescript to javascript, while also trying to grok the actual subject at hand.

It doesn't make much sense for tutorials to be written in coffeescript unless they are specifically coffeescript tutorials
Since I don't know your situation, I obviously cannot give proper informed advice. But one option is to quit and/or to move.

I've felt depressed (distinct from episodes of 'proper' depression) very often in my life. It often too much longer to get out of this because I was looking for a fix, while the fix often resulted from just doing something different, sometimes even seemingly stupid. But it always worked. Breaking patterns.
Where's the FUD? The tone of the article is fairly strictly factual. The only deviation from facts is where he says that it's bizarre to encounter this, which is an opinion, but still completely reasonable. IMO it is bizarre.
Internet Explorer 10 for Windows 7 preview coming tomorrow
"The assumption here is that it's easier to write comments well."

And this assumption is clearly wrong. Just wanted to underline this.

"It's quality, and quality takes time."

...and skill!

"because writing clear comments is hard work"
"But commenting your code well is a challenge. It's not easy, and should not be seen as trivial."
"Well written comments take longer as well."

So true. I'm glad there's someone beside me who thinks that.

I cannot agree with you more. I didn't pay attention to giant ego of OP and I'm not qualified to measure how bad his English is (mine is certainly worse), but now that I think about it you're right - I still do believe that the author meant no harm, but the tone that he used won't help his message get across at all. :(
I'm only surprised to not see any of Kenneth Reitz' work on this list, e.g. Requests. In fact in that vein is rauth, an OAuth client lib built on top of Requests (https://github.com/litl/rauth). Full disclosure: I'm the author of rauth. :)
I agree but they might not be able to afford to make something revolutionary.

I mean if they even want to ship any units at all right now they either need to pick Android or WP8. Now from rumour Microsoft are literally paying manufacturers (as opposed to Google who just give it away).

I think RIM are just trying to stay alive right now, they can consider their competitive edge later.
Adding Mac Computers and Other Devices to Your Windows Network
I think you must differentiate between his tiny onepager and the official site. I guess they'll know better.
Are Linkbaitish Titles the Future of Journalism?
There is nothing wrong in general with stopping leaks.

However, his email in particular, bearing in mind it wasn't sent to the leaker alone but to all (mostly innocent) staff, comes of as almost threatening (granted not in a life threatening way, but a job and happiness way). I'm sure it won't help morale at Cisco. He may think that it will only worry anyone thinking of making a leak, but innocent staff will worry too feeling threatened in case they accidentally let something slip to a loved one or such. Such tactics are necessary in, e.g. the CIA, where "loose lips sink ships" (i.e. lives are in danger), but are not appropriate in a civil commercial enterprise like Cisco.

In my mind, he would have been better served sending a polite, professional reminder of the rules and the penalties for breaking them.

He may even have been better served trying to fix the problems that caused the "embarrassing" situation to occur in the first place (the price gouging of public institutions) and cause discontent among his staff.

At the end of the day, the leak of the email kinda shows it isn't deterring the leaker(s).
Web Views and RubyMotion
Re-Engineering the Tax Code
> I gave up on Opera for Firefox after a year

And went to use what? IE? Or did you try Opera/FF just recently when Chrome became usable?
I'm just explaining one motivation for wanting to be "pure". Node could certainly do something like what Erlang does. Erlang has, in the past, also gone the 'pure' route. IIRC, they had their own slow/limited regexp implementation, for instance, so that it'd run in the VM and not block.
Right now I have 101 tabs running, and only 6 cores in my CPU. Do you know how much context switching costs in terms of performance? Do you know what the overhead would be if I were using Chrome?

So spare me, please. When general purpose computing moves to GPUs then we'll revisit the idea of "one tab per process". Until then, out of "Chrome, many tabs, performance", pick any two, drop the other.
Massive Open Online Courses in the Developing World
I'm running Windows 8 on a three year old machine (which wasn't even top of the line when I bought it) and it's incredibly smooth. The secret, a $100 SSD.
Singly (Foundry Group) and CloudMine team up
Whenever I see a headline such as "is x the future of z", the answer is almost always "not exclusively".
I agree, I'll specify the number. Do you think 400 would be good/enough? My only intention is to make it fair for both sides. I doubt any project would need more than 400 icons. Unless its purpose is to distribute icons!
Can every tech mag article that ends with a question mark be answered with 'No'?
> Then everything is literally true again.

And yet completely fake.
How's the Trinity desktop coming along? Would it be plausible for one of the BSDs to integrate that more closely?
Google ad revenue surpasses all of print media
How to Run Opa Applications on Heroku
This is only true if I'm living in either a median-priced city (which Edinburgh is not) or a low-priced home in a more expensive city (which, frankly, are not nice).

I could certainly take the time off, if I was willing to share a flat with other people rather than owning my own home - but dividing my wages in half would make my mortgage completely unaffordable - and the kind of mortgage I could afford would then have me living miles away from work and commuting long distances. Or living in horribly deprived areas.

Your statement assumes that the median wage produces a reasonable standard of living for everyone, no matter where in the country they live, and that's simply not true.
I <3 you OP. So much right now. I didn't even know i needed these until I read this post and now I know and I'm so happy.

I know matplotlib comes with Python(x,y) but that's a pretty awesome one too.
I haven't looked into how Game Center "turn based games" work until now. It looks like you can cheat this way at any game with the concept of legal and illegal moves.
I like to be careful with forall statements but in this very case, yes.
I do this, and I'm a senior dev. I find it an absolute God-send when I come back to the code months or years afterwards.

I am much, much faster at parsing and reading English than I am at code. When I'm coming back to some code for maintenance work, I am not normally trying to understand code deeply, I am usually trying to get a quick overview of it, and then locate a specific thing it's doing, to parse it more deeply.

Comments like this allow a skim read for locating what you're after, and - as you identified - normally come in as I'm detailing the process, which means, doubleplusgood, you also get to see what I was thinking as I was writing the original code.

> One's code should be written in such a way as to inform a programmer maintaining the code to its purpose and utility

Almost. But you forgot "as quickly as possible".

> But it also means that comments should only be used when you're going against convention or doing something hack-ish on purpose.

I suggest that with experience, especially experience of being the curmudgeonly old senior dev on very mixed ability teams, with codebases sometimes a decade old, where the code is occasionally insane, you will start to be thankful of all clues the code can possible offer up as to why people do what they do.
"A comment, on the other hand, cannot be trusted."

Badly written comment cannot be trusted. Good comment will be changed much less frequently than code or tests and it will stay relevant and precise.

It's not impossible to write such comments... Just insanely difficult.
Thinking continuously rather discretely
If it had a simple log of everything is blocked and you were a technical person aware of it being on the network then it would be easy to troubleshoot such situations.
News titles exaggerate. They just mean that Javascript is growing in popularity.
No Follow Links Are Still Valuable
Bring Time Tracking Into Your Application
Just saw this released, looks like a great way to do an integration. Has anyone given it a try yet? I'm a recently converted dev (1 year in the making) and Harvest has been a tool I've been relying on a lot this year.
As someone pointed out when this story hit slashdot, I think if anything this letter means that the guilty party has relatively little to worry about. If they had any idea at all who did it, I don't think they would be sending letters like that.
Getting started with Ember is a lot harder than your comment admits. I tried Ember recently and there was still a lot of stuff that was broken including the data model. That would make building a non-trivial app hard.
That sounds like a personal problem. Your brain can't possibly handle anywhere near the amount of information 101 tabs provides at once, there's no reason to do that.
I find this hard to believe. Compare http://www.theoildrum.com/node/9584
Indeed. What we need is a yet to be created firm with the engineering ethos of Trolltech attacking the problem that Apple is right now.
Maybe it'll keep him out of the way of those getting work done.
All it took was $4 gas.

All the Saudis have to do is drop their price to the point where gas is $2.50 again and suddenly all the US companies go under in 12 months.

But think how much we'll save by having less than 10k troops in the middle-east someday.