The Rise of DevOps - <AUTHOR> http://somic.org/2010/03/02/the-rise-of-devops/

<comment><USER2> Finding more and more on projects that, old fashioned admins are less useful and you need developers to script server installations and automate the infrastructure. Whole new area its quite exciting.

</comment><comment><USER3> Brooks called this role the "toolsmith", the only difference is that now the toolsmith creates things that are used in the production environment and may be full-on products in their own right.

<comment><USER4> I'd have a minor quibble with that -- as someone who's done both application/product development and "dev ops": there's a difference when you write software that _you yourself_ are the end-user of and when you write software for others to use/operate. That was the biggest challenge (initially) for me when I transitioned to "software engineering".

I've found that for infrastructure projects (especially open source ones, which may not always have dedicated QA resources available to them) it's a great idea to do "adversarial" testing/documentation: someone _other than_ the developer must be able to follow the documentation and use the software in an environment other than the developer's desktop.

<comment><USER5> True, but just because it starts as a personal project doesn't mean it has to stay that way. For example, z/OS's TERSE (a compression utility) was once someone's personal project, but is now shipped with the operating system. I'm sure there are many such examples. That said, these personal projects are no longer treated as such, and have gone through Test, and et cetera before being included in the system release.

<comment><USER4> That's true. Brooks mentions this as the "program-system" and/or "program- product"/"system-system product" boundaries (I may have the terms confused, I don't have the book in front of me).

There's probably a range of software development: 0\. "Script" (not necessarily something written in a scripting language, merely a short program written in an ad-hoc manner). 1\. Program (could well be in a scripting language) 2\. Project 3\. Possibly a system (composed of multiple programs and/or projects) 4\. Product 6\. Company

</comment></comment></comment></comment><comment><USER6> I can feel the shift from ops to devops happening and can see it everywhere. More managed hosting solutions are coming out, you can upload your code to the cloud and it just works. While this is great for devs, its a bit tough on us ops. While classic LAMP stacks wont be phased out anytime soon we do have to change with the times, that is by no means a bad thing. I find myself learning more and more ruby code as I want to shift into that devops category.

Welcome change, change with it.

</comment><comment><USER4> "Devops is on the rise primarily due to realization that there is a big gap between developing end-user systems and bare-bones systems administration"

That's the key take away here! I've held such a role in ~10,000+ node environment. I've since moved on to development, but I've been trying to drive this point to start-ups for years, but apparently most still think that:

1) Operations means installing an OS on a machine, doing backups (and may be occasionally checking how many threads are running in the application server)

2) As we no longer have to admin bare iron, start-ups do not need operations.

The hiring is done accordingly: the idea is to contract- out/outsource/reluctantly hire one or two "IT-type" admins whose goal is merely to (in a reactive fashion) respond to outages as they happen and (manually) provision servers and networking gear.

Nothing could be more wrong. With the move to commodity and virtualized commodity hardware, running operating systems that are geared (originally) towards developers rather than sys admins (e.g., Linux vs. Solaris or FreeBSD -- this isn't a stab at the latter two, it's rather a comment to how _much more_ admin-friendly theses OSes are) the assumption should be that unless there's "lights out"-style automation in place, outages are going to be the norm rather than exception.

<comment><USER7> I'm a bit confused about your last sentence. Are you saying that the dev OSes will cause more outages, but we can automated that they won't be major?

The first thought that popped into my head while reading this article was how ZFS snapshots would work for versioning system deployments. Though I'm sure that's snapshots at a lower level than most people would actually use.

<comment><USER4> > I'm a bit confused about your last sentence. Are you saying that the dev > OSes will cause more outages, but we can automated that they won't be major?

I am saying that the "dev OSes" (really, I just meant Linux), if not automated, are difficult to manage. However, in a "worse is better" sense that means there's wealth of operations tools available for them (e.g., puppet, chef, bcfg2). Linux administrators are extremely used to working with these tools and developing their own.

At present web-scale (i.e., no longer a few Ultra-2s for front-end and an E10K for database) if there's no automation, outages are going to happen as result of routine failures (e.g., database master -- or Hadoop namenode -- goes down, there's no automation to fail it over).

ZFS snapshots are awesome (I've had a chance to deploy a project to a Solaris environment with ZFS -- and snapshots meant much less worries about data loss). Unfortunately, the only choices for ZFS are FreeBSD and Solaris (I wouldn't try ZFS-Fuse). However, FreeBSD provides no easy way to do _many_ things automatically that are possible in Linux (e.g., no fully un-attended installation, although that's less of a problem with virtualization). Solaris has issues of its own and unfortunately, presently, the biggest issue isn't even technical.</comment></comment></comment>


Best Home Wireless Routers for Spring 2015 - <AUTHOR> http://www.domolith.com/2015/02/best-home-wireless-routers-for-spring-2015/

<comment><AUTHOR> I know new routers like the D-Link AC5300 DIR-895L/R are forthcoming with faster processors and more streams, but I wanted to take a look at the home wireless router market as it stands today and size up what I think are the best routers for specific uses with an eye towards firmware capabilities and ability to track network usage by-device over time.

Nearly all vendors fail on this, but TP-LINK provides it, ASUS comes close, and ASUS with DD-WRT and YAMon provides it really well for the R7000.

I'm interested to see if there are any devices I'm missing. A nice MIMO 802.11ac device with firmware capability similar to the Pepwave Surf SOHO would be great.</comment>


Activity Streams - <AUTHOR> http://blog.gnip.com/activity-streams/ <comment><USER2> At $200/mo just to start, it seems awfully cost prohibitive to experiment with Gnip's services to make an informed decision as to their usefulness. This is why Amazon goes with pay-for-usage, to encourage experimentation, because its so damn cheap.

<comment><USER3> i work for gnip and i hear your point. for now, if you want to try it, you can provision a full gnip appliance from gnip's site for a free 3 day trial (that we'll happily extend for you if you want more time).</comment></comment>


Antipiracy Case Sends Shivers Through Some Legitimate Storage Sites - <AUTHOR> http://www.nytimes.com/2012/01/21/technology/antipiracy-case-sends-shivers-through-some-legitimate-storage-sites.html

<comment><USER2> This will be so interesting to watch. If MU can pull this case to their site the MPAA wont be able to go after another site without changing the law in the US.

MU can afford the best lawyers in the country they have money and are able to compete on this level. In the last cases mostly kids got sued but not this time. And to be honest i cant believe kim and co were not prepared for this they know what kind of business they are running.

Definitely worth to watch how this goes down a lot will change in every direction based on the outcome.

edit: Robert Bennett going to defend them. [http://www.wjla.com/articles/2012/01/robert-bennett-to- repre...](http://www.wjla.com/articles/2012/01/robert-bennett-to-represent- megaupload-71675.html)

</comment><comment><USER3> I don't think the feds have a problem with storage; it is more the sharing part.

<comment><USER4> You can share with Dropbox and S3 as well, though.

<comment><USER5> The various crimes that MegaUpload is accused of involve intent. The legitimate sites probably lack the necessary criminal intent.

The stories of the founders of Dropbox and S3, for instance, check out. There's nothing in their backgrounds that indicates they would be likely to get into the business in order to make money illegally.

Contrast that with Kim Dotcom, founder of MegaUpload, who founded MegaUpload in 2005 when his probation for his embezzlement conviction ended. Prior to that, he was convicted and fined for insider trading. Before that, he was convicted of computer fraud and handling stolen goods.</comment></comment></comment>


Microsoft Edge preview builds for macOS - <AUTHOR> https://blogs.windows.com/msedgedev/2019/05/20/microsoft-edge-macos-canary-preview/#DkPlZhgCR3PLqbTC.97 <comment><USER2> Discussed a bit yesterday: [https://news.ycombinator.com/item?id=19963291](https://news.ycombinator.com/item?id=19963291)

</comment><comment><USER3> It's just their Chromium shell, and not using their own rendering engine. (In case anyone was wondering if this was about EdgeHTML being ported.)

<comment><USER4> EdgeHTML isn't getting ported. It's dead. [https://en.wikipedia.org/wiki/EdgeHTML](https://en.wikipedia.org/wiki/EdgeHTML)

</comment></comment><comment><USER5> I'm really interested to find out how they're approaching privacy. If they take a strong stance, this might be a good alternative to chrome for those sites that support nothing else.

<comment><USER6> Why not just use Brave then?

<comment><USER7> I personally ditched them due to them pushing BAT to heavily on those that don't want to participate and Sync being broken randomly.

</comment></comment></comment><comment><USER8> Question about MS strategy: why would someone use this over Chromium or Firefox?

<comment><USER9> Well speaking for me personally, Firefox runs terribly on my Macbook and it would be nice to have an alternative to Chrome.

<comment><USER10> this is not my experience, firefox quantum has been always faster and reliable than Chrome on MBP.

<comment><USER9> Do you have a newer MBP? I'm running Sierra on a 2013 MBP. I suspect part of my experience is due to Firefox relying more on the GPU than Chrome, and the GPU in this laptop sucks. I haven't experimented with turning off hardware acceleration in FF though.

<comment><USER10> yes, late 2017 MBP - ff Quantum does not use GPU on my MBP (when being on battery as well - pretty same performance) - that said, I dont use FF for any graphics heavy workloads - just normal stuff (jira, a few cloud consoles, gerrit etc)

</comment></comment></comment></comment></comment><comment><USER11> How come that every single Microsoft application for MacOS requires an installation? It makes me suspicious that they're gunking things up unnecessarily.

<comment><USER12> see [https://news.ycombinator.com/item?id=19967190](https://news.ycombinator.com/item?id=19967190)

<comment><USER13> Microsoft's added value right there.

</comment></comment></comment><comment><USER14> Let's say Microsoft finds a way to gain a large market share with Edge. Couldn't they cause significant damage to Google if they enabled ad blocking by default? 90% of Google revenue is still ad revenue. Say they got 50% market share. If all of the sudden 50% of internet users started blocking ads, wouldn't that be a pretty bad thing for Google? Like put them out of business overnight kind of bad? While not hurting Microsoft at all?

I wonder if Google saw this vulnerability years ago and so they decided to build Chrome to protect themselves.

</comment><comment><USER15> Finally, IE come back to Mac, since IE5 in Mac OS 9.

<comment><USER16> IE was the default browser in original Mac OS X as well. Safari didn't ship until 10.2 I think.

<comment><USER5> 10.3 or 10.4, IIRC.

<comment><USER16> Looks like we're both half right: Safari shipped as the default on 10.3, but Safari 1.0 was made available for 10.2 as a separate download before that.

</comment></comment></comment></comment><comment><USER17> A delightful browser on a delightful UI. Truly we are blessed.

</comment><comment><USER18> I installed it an noticed they have their own App Store.

</comment><comment><USER19> As someone who develops a web app with medical content, this can't come out soon enough. We'll finally be able to get our windows 7 loving clients off of IE11.

<comment><USER20> You can drop support for Windows 7 in January, same as Microsoft. Unfortunately, IE11 is a component of Windows 8.1, which will be supported until 2023.

</comment></comment><comment><USER21> Why do I get the feeling this will be used by developers to say they tested Edge when they _really_ didn't?

<comment><USER22> A mix of cynicism and experience, I would say.</comment></comment>


Kevin Rose: We Made Lots of Hiring Mistakes at Digg - <AUTHOR> http://siliconfilter.com/kevin-rose-at-leweb-i-made-a-lot-of-mistakes-at-digg/

<comment><USER2> Bit of a non-article really. One paragraph on bad hires. It doesn't say why PHP stopped being the problem. It doesn't really say why existing programmers couldn't transition to another language. It doesn't say what Rose would do differently a second time around.

On the surface it looks like a lack of strategy lead to the company hiring too many PHP developers. Of course, it could also be the developers were CHEAP and couldn't transition to another language. It could also be a lack of leadership didn't realise programmers could transition between languages or individuals were not reassigned to focus on another language so little got done.

With so little content all you have is speculation so who knows what was going on.

<comment><USER3> _On the surface it looks like a lack of strategy lead to the company hiring too many PHP developers._

Bingo. It's the only logical explanation. I've yet to meet a decent PHP Developer who isn't willing or capable to turn their hand to a new technology. There _must_ be more to it than Rose simply not exploring the idea of adding to the teams existing set of skills by letting those Dev's try new things.

<comment><USER4> I've actually met quite a few developers who aren't willing to try new technologies, and those who identified themselves as "PHP developers" were very overrepresented in the set.

We tend to severely underestimate the number of people who just want to do their job with the skills they already have with little desire to try new solutions to problems they already know how to solve. There are a surprising number of developers like this that leave the office at quitting time and not pick up a computer again until the next morning.

<comment><USER5> I agree that there are many developers like that, who don't jump at picking up new technologies, but I don't think those are the type of developers a startup like Digg would hire or attract.

More often, I think companies struggle to pick up a new technology than developers. When developers pick up something new, they usually dabble and start small, but Digg wasn't in the place where it could dabble and start small. When a company needs to pick up a new technology, they aren't doing it to dabble so much as fill a solid need.

They needed expertise in other places, so they needed to hire people with those skills already rather than wait for existing devs to get them and stumble along the way.

<comment><USER6> I think if you looked at the resumes of the developers involved, it would be obvious that Kevin is making shit up.

</comment></comment></comment></comment></comment><comment><USER7> "According to Rose, "there is a temptation that you want to throw as many developers as possible at a problem." As Digg was built on top of PHP, the company would hire too many developers that specialized in this language. Then, however, Rose noted, "you end up with lots of PHP developers, but at some point, PHP isn't a problem anymore and you are stuck with all of those developers." At that point, said Rose, you end up having to hire a lot of developers that can do other things and don't know what to do with the old developers." \</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-

OK - so don't _hire employees_ , but contract with contractors. Seems a pretty simple problem, yet few companies I talk to want to go down that route.

"We're looking for someone who's in it for the long haul" or "we value loyalty" are some reasons I've heard from companies that won't consider contractors.

In some situations, that's probably fine. In many other cases - fast tech- driven startup-type stuff - contracting probably makes more sense for precisely this reason. The company's needs can change quickly, and having a lot of staff that don't know X but only Y is a competitive problem.

"But smart people can learn X too!" Well, yes, to a point, but probably not as well as the people at your competition may already know it. And who says all those smart people really _want_ to learn X? If you're really switching from Y to X, some Y devs may resent that, because Y can handle the workload too. They may not put all the effort in to learning X, because they see it as a fad, or a dangerous pivot that is doomed to failure, etc.

"Smart people can learn new tech X too!" is condescendingly treating devs as interchangeable parts while damning with some praise ("but they're smart!")

"If your developers are either incapable of pivoting to a new language or flat out refuse to, then they are terrible developers."

You've just done 3 years of Rails development, fighting all those version bugs, pulling all the late nighters, getting every rock solid and scaling out to the moon. Yay! Launched, everything's great, and you're rocking it. Then your board of directors signs a deal with MS for Bing tie-in, and MS invests some money in your company, but you have to pivot to ASP.NET/C#. In 3 months.

Do you refuse? YOU TERRIBLE DEVELOPER!

What's that? You'd rather keep doing Rails, so much so that you'll quit your job and move somewhere else to get a chance to keep working on Rails projects? That describes _most_ of the Rails devs I know, and I wouldn't say they're "terribly developers" at all. Well, a couple aren't great... :)

<comment><USER8> I've had a couple of experiences where a startup hired contractors initially and then brought in staff as things ramped up. Though the contractors are indeed often great developers, they rarely have an insight into the business because they are not involved in the industry and since they will be on to the next gig after yours, they don't have any real need to become an expert. For that reason and also because contractors are writing to fulfill contractual obligations - they tend to write _exactly_ to spec, which can sometimes produce an application that isn't very good. Because actual programers assigned to our project would revolve in and out it led to inconsistency and jumbles of technologies that causes major headaches for the next phases of development. There tends to be a feeling among the staff developers that the contractors don't care anything about maintainability because they never have to deal with that aspect. They are long gone to the next gig and it's not their problem so they just want to get things working as quickly as possible.

Building a startup is a time when you are finding your way and you really need people who are interested in the details of your industry. People who will look at a spec and notice things missing, or improvement to be made.

I do think that hiring contract programmers can be good and I do so myself. But I limit their involvement to smaller sub-projects that can be written to spec and easily plugged into our app. I've done that with visual components, things that require specialized knowledge of an open source framework or really complex math algorithms, etc. It has worked very well in those cases.

<comment><USER7> Perhaps I'm more of a 'consultant' than 'contractor', but I tend to do as much as I can to learn and understand the company's business when I do work for them. Some companies appreciate that and help me dive deep in to the business and industry, and others don't.

"Contractors" are not the be-all and end-all, but in the context of the original article - Digg hired too many people - it's an obvious no-brainer in hindsight to say some of those _hires_ should have been _contractors_ and the relationship revisited after 6 or 12 months.

<comment><USER8> I would hazard to say that you are probably one of the more thoughtful consultants who are good to have around. I actually consulted as well for several years. Since I have also worked on staff I tried to be very conscientious about not leaving messes for the full-time devs.

Anybody who has written software knows that it is never really "done." And as a consultant you get forced into a mentality of meeting your spec requirement so you can get paid. To do otherwise you risk working on one project forever and never actually meeting your contractual requirements. It's just the nature of the business. If you understand this as a client then you can make it work to your advantage, but if not you can wind up with a huge mess.

</comment></comment></comment></comment><comment><USER6> The sheer arrogance is amazing.

So since leaving digg I've heard the following phrase from many competent software dev managers - any good software engineer can learn a new language - but to Kevin - those same software engineers can't learn anything new, while he, of course, can easily learn from his mistakes.

Just to be clear - those engineers, dismissed as "PHP devs" have numerous degrees, decades of experience, and at least one published book. Kevin dropped out of a PC repair school that he likes to refer to as a "CS program."

Anyway he seems to be doing his best to expose his lack of competence.

<comment><USER9> He's doing what is known as failing upwards. This is what happens to people in the tech-celebrity/VC circle.

I expect he has learnt a lot - how to sell, how to shake hands, etc.

<comment><USER10> Kevin learned how to walk away with millions even if your startup is, on net, a failure.

^^ that's a key fucking learning

edit: just to be clear, I don't begrudge him anything. Kevin negotiated the best deal for himself that he could and that's what everyone should be doing. I hope the employees got taken care of as well, but it is what it is. Being an employee at a startup, and I'm on my third, is gambling.

<comment><USER9> Yup. Wish I could see past my own tech-ego and play the game to that end.

</comment></comment></comment></comment><comment><USER11> To count programmers by their sole programming language proficiency suggests he was paying bottom dollar, rather than hiring hackers.

<comment><USER12> true

</comment></comment><comment><USER13> Short version: Rose, like so many non-technical founders, had no idea what developers actually do and how to hire and manage them.

It's not exactly a unique story, in fact it's not limited to start-ups, it's pretty endemic in the whole IT-business.

<comment><USER14> Is Rose really "non-technical"? Maybe I was just duped by TechTV/G4 and some of that other stuff, but he sounded like he'd done at least some coding in the past. Is this incorrect? He doesn't seem naive enough to call a "non-technical founder". Maybe a "non-expert founder"?

<comment><USER15> yes, he is, or at least was when he started. I read that he hired some freelancer in Canada to build the initial Digg site rather than having worked on it himself.

<comment><USER16> <http://news.ycombinator.com/user?id=ojbyrne>

<comment><USER15> thank you for the link, so why I am getting down-voted for this?

</comment></comment></comment></comment></comment><comment><USER17> I think if you hire a smart person that knows PHP inside out and your requirements change, then you should not have a problem - in theory. Every good developer/hacker should be able to learn something new in a short amount of time. So it really seems that they hired not so smart people or they simply fired them too fast.

</comment><comment><USER18> Makes no mention of how the quality of Digg's content fell head-first down a staircase. All the rock star developers in the world can't fix bad editorial decisions.

<comment><USER19> Given that Digg's content was (at least in theory) community driven, there seems to be some sort of chicken/egg issue here.

The article is poor summary of the interview, which I saw replayed TWiTs live stream. While the quotes are accurate, the interview wasn't really about Digg

<comment><USER20> I think the presentation of content drove away a lot of users. Many didn't like their new interface. Personally, I left before that because I was tired of the "power diggers" that controlled what everyone saw. It didn't feel community driven any longer.

</comment></comment></comment><comment><USER21> The two things he mentions as his biggest mistakes are both symptoms of the same thing: hiring outside your comparative advantage. He hired too many developers for a product that's comparative advantage is in what content is (and is not) shown, and what people say about the content, instead of hiring enough community managers (hence the unruly community problem). Digg and HN aren't differentiated by the features of the website, they're differentiated by the content and community.

Hire inside your comparative advantage. Contract/vendor everything else.

<comment><USER22> As someone who has worked as a community manager frequently, I will say that startups always underfund and underhire in this area. They always want to hire the best engineers, but when it comes to community managers they generally don't want to hire more than 1-2, and aren't willing to pay for the best.

In an engineering heavy culture, community management is sometimes incorrectly viewed as something 'anyone could do'.

<comment><USER23> Out of curiosity, how do you hire/find the _best_ community managers?

I know what an accomplished developer's resume looks like and how to vet it... I have no idea how to vet a community manager effectively.

Tips/Suggestions?

NOTE: A successful community manager would have the right personality, good sense of fairness, good communication skills, etc... a handful of skills that are hard to assess quickly. That is why I ask.

<comment><USER22> I'm a bit stumped actually as to how to advise. Let me think about it.

I generally feel that a great community manager has a wide base of skills, is incredibly social (has a large network), knows how to deal with trolls and also has a fairly decent tech background.

The questions should be around how big of communities they have managed, what they do to grow them, how they deal with problems (big problems, like a billing fiasco) and how well they know social media.

That being said, most "social media experts" make me want to vomit a bit and if someone professes themselves as such, maybe they aren't the right person for you.

They are harder to assess, as there aren't as solid of skills. No github acct (although if they have one, thats awesome)

<comment><USER23> David, good tips; especially the "Do they have a big network" - I hadn't thought to really dig through a twitter, facebook or G+ account to get a feel for someone.

</comment></comment></comment></comment></comment><comment><USER24> How would you explain reddit's success, compared to digg? Reddit was basically developed by 2 people and has never had more than 3 devs behind it.

<comment><USER25> I wrote about this, actually: [http://alexisohanian.com/how-reddit-became- reddit-the-smalle...](http://alexisohanian.com/how-reddit-became-reddit-the- smallest-biggest)

spoiler: It's not just because of the logo

<comment><USER26> I think it's all about style. The user-run subreddits, the spartan UI, the information density packed into a seemingly-simple thread view. Love it.

</comment></comment></comment><comment><USER27> If your developers are either incapable of pivoting to a new language or flat out refuse to, then they are terrible developers.

Regardless, Digg v4 was clearly the problem. I still haven't seen him outright admit that the fact that at launch Digg v4 was basically a blowjob to Mashable, Wired, and other "content" sites and a big middle finger to the average user.

If he could honestly own up to the fact it would demonstrate a real understanding of what caused everyone to flee.

<comment><USER28> The principle mistake I see was also hiring _so_ many people. Didn't Digg at one time have >40 people? What in god's name were all these people doing?

"According to Rose, "there is a temptation that you want to throw as many developers as possible at a problem." As Digg was built on top of PHP, the company would hire too many developers that specialized in this language. Then, however, Rose noted, "you end up with lots of PHP developers, but at some point, PHP isn't a problem anymore and you are stuck with all of those developers." At that point, said Rose, you end up having to hire a lot of developers that can do other things and don't know what to do with the old developers."

PHP wasn't the problem, stables full of idle, cash burning developers was the problem.

Normally it's hard to do an apples to apples comparison, but having reddit around, and running for a hell of a long time with less than half a dozen people, really allows one to actually do that comparison in a pretty solid way.

I'd even argue that even though reddit has only recently surpassed digg in terms of users and page views and all that, it far surpassed digg in terms of content quantity _long_ before it. Yet was still managed with a micro-sized staff.

Of course v4 was a huge pile, but at about 8-10x the burn rate of reddit, you almost have to do crazy things to make it work.

It's like the _Mythical Man-Month_ was never written.

<comment><USER29> According to this article, in 2009 they had around 75 employees. I wonder what they were all doing?

[http://allthingsd.com/20090122/digg-to-cut-10-percent-of- emp...](http://allthingsd.com/20090122/digg-to-cut-10-percent-of-employees- says-it-will-try-to-be-profitable-in-2009-the-entire-blog-post/)

<comment><USER6> Selling ads.

</comment></comment></comment></comment><comment><USER30> Kevin wasn't around enough to know what was going on with the company. We probably saw him 1-2 days a month at the office and that was because he needed a place to park his Porsche 911.

</comment><comment><USER31> When people talk about hiring web developers, it always seems like there is such a strong emphasis on them knowing one and only one language. Like Kevin Rose said: "you end up with lots of PHP developers, but at some point, PHP isn't a problem anymore and you are stuck with all of those developers."

Was PHP the only language these people knew? And they were incapable of learning anything else? I don't get it. I don't call myself a "C++ developer" even though I use C++ every day at work. I know several languages, and I am confident that if I wanted to start learning a new language tomorrow, I could get up to speed on it and its relevant libraries fairly quickly.

Were these so-called "PHP developers" completely incapable of learning Python or Ruby or some other language? I don't understand how you can be a software developer and only ever use one language in your life. But for some reason this seems to be common when I read articles about web development.

</comment><comment><USER20> Every few months a story like this from Kevin Rose pops up where he tries to explain what went wrong. Nothing's changed, he's still blaming the hiring process and the developers.

On the other hand, I would love to hear the story of why Digg failed from one of these developers.

<comment><USER30> We have enough to write a book about it. There is definitely more to it than what is said by Kevin.

</comment></comment><comment><USER32> Grass is green, sky is blue. Rose was a kid - we all enjoy seeing entrepreneurial success and hopefully he finds that with Milk. Though it again sounds like he's merely surrounded by a bunch of developers and little creative...

</comment><comment><USER33> Thats the problem with someone that has not done development/engineering leading and development/engineering team they have a simplistic view of the problem or only understand it superficially.

</comment><comment><USER34> He couldn't fire them?

I've always thought his blaming the digg developers was pretty classless. He was in a leadership position, he needed to lead.

</comment><comment><USER35> His biggest mistake is doesn't understand what is a developer. I have never seen a developer ONLY do PHP.

</comment><comment><USER36> my problem with digg didnt have to do with technology, it had to do with my perception of rating links as fake

</comment><comment><USER37> Funny how the developers get blamed for when the company fails, but never credited for companywide success. Frankly, im sick and tired of it and im going to do absolutely nothing about it.

</comment><comment><USER38> I just love how he's blaming web developers for managerial mistakes.

</comment><comment><USER39> OLD NEWS

(if you watched any interviews with KR, you knew this years ago)

</comment><comment><USER40> Don't hire 20 developers of a single language. Got it.</comment>


India's richest man Mukesh Ambani moves into £630m home - <AUTHOR> http://www.telegraph.co.uk/news/worldnews/asia/india/8063385/Indias-richest-man-Mukesh-Ambani-moves-into-630m-home.html

<comment><AUTHOR> If only it weren't so extraordinarily ugly.</comment>


Show HN: vim-airline - <AUTHOR> https://github.com/bling/vim-airline

<comment><USER2> The delay in leaving insert mode used to drive me nuts in vim-powerline. I posted an issue and the author pointed me to this helpful Vim config snippet as a workaround (original link gone as the vim-powerline issue tracker has been removed, so reposting as a gist): [https://gist.github.com/brendonrapp/5944296](https://gist.github.com/brendonrapp/5944296)

I imagine the delay that the README for this project is referring to might be the same thing, so hopefully it can be alleviated with this same trick.

EDIT: Looks like the official Powerline docs share this little trick now: [https://powerline.readthedocs.org/en/latest/tipstricks.html](https://powerline.readthedocs.org/en/latest/tipstricks.html)

<comment><USER3> Oh brilliant, I didn't even realize it was powerline that was giving me this issue. They should probably consider making this trick more prominent.

</comment></comment><comment><USER4> I happen to really like this. I used a few lines in vimrc to make mine a little more practical for me:

      "" airline settings
      " remove separators
      let g:airline_left_sep=''
      let g:airline_right_sep=''
      " remove unused modes
      let g:airline_enable_fugitive=0
      let g:airline_enable_syntastic=0
      " set second section to filename
      let g:airline_section_b="%f"
      " empty third and fourth sections
      let g:airline_section_c=""
      let g:airline_section_x=""
      " put filetype in fifth section
      let g:airline_section_y="%Y"

curious to see how other people have theirs configured.

my full vim config is on github [1].

[1]: [https://github.com/daturkel/vim-config](https://github.com/daturkel/vim- config)

</comment><comment><USER5> > the old version still works well, but since it's deprecated new features > won't get added

While it's deprecated, the author is actively working on this: [https://github.com/Lokaltog/powerline](https://github.com/Lokaltog/powerline), which works well and has even more functionality.

</comment><comment><USER6> I've spent hours trying to get powerline to work with the patched fonts on OSX and Macvim without any results. This is lightweight, simple and just worked out of the box. Also the light theme is amazing. THANK YOU!

<comment><USER7> You can use Powerline without a patched font. Set the separator accordingly it won't use fancy symbols.

</comment></comment><comment><USER8> Is there a nice status line plugin that isn't full of color / visual noise? This would be by far the loudest and most animated part of my vim screen. I've tried powerline too and found it little but a distraction.

I basically don't need to know which mode I'm in, either - if I somehow forget, or come back to vim after a while, I can just hit escape to reset its state.

<comment><USER4> What are you looking for in a status line plugin then? You can customize it a lot in your vimrc without a plugin.

</comment></comment><comment><USER9> This is slick. Anyone with more vim-fu than me have a good way to add mixed tabs/spaces warnings to airline?

<comment><USER10> You can accomplish something similar with listchars and list:

      set list
      set listchars=tab:»·,trail:·

It will not give you a file-wide warning but it will make tabs stand out (along with trailing whitespace).

Not much help if you actually want tabs, granted.

<comment><USER9> Oddly enough I added listchars data to my vimrc today without even thinking it would be helpful for detecting mixed. This ought to be good enough for now, thanks!

</comment></comment></comment><comment><USER11> I like this a lot, and it's particularly relevant to me since I occasionally find myself running an older version of vim. Therefore I always like seeing plugins written in pure vimscript.

</comment><comment><USER12> How long was the flight?

Also: thanks for publishing this!

<comment><AUTHOR> 8 hour flight, written over international waters!

</comment></comment><comment><USER12> He also has some cool blog vim-related posts: [http://bling.github.io/](http://bling.github.io/)

</comment><comment><USER7> Sadly this is incredibly slow on my netbook. Takes ages to return to normal mode. Back to powerline, or maybe vanilla.

<comment><AUTHOR> hi. is this the same problem that `set ttimeoutlen=10` addresses or something else?

</comment></comment><comment><USER13> Yeah, I have been using this for a few days, and it is very nice.

</comment><comment><USER14> Very cool. Much easier to get working than powerline, imho.

</comment><comment><USER15> Will it install with pathogen?

Looks great btw!

<comment><USER8> Check out vundle as an alternative to pathogen. I haven't looked back.

<comment><USER16> I also recommend Vundle [1]. It can install any plugin that can be installed with Pathogen.

[1] [https://github.com/gmarik/vundle](https://github.com/gmarik/vundle)

</comment></comment></comment><comment><USER17> Great job, I love it!</comment>


Why You're Biased About Being Biased - <AUTHOR> http://nautil.us/blog/why-youre-biased-about-being-biased

<comment><USER3> I'm frequently puzzled at the apparent lack of curiosity of the scientists that conduct these experiments (or perhaps the bias of journalists who write these articles). Surely there have to be some outliers who are able to overcome some biases that come naturally to most of us.

What is interesting is not only that _the majority of human beings act within certain patterns_, but that _some individuals are able to overcome these patters_. What makes it so? Do they have something in common? Can we learn anything from them?

I don't want to nitpick the experiments themselves, it is wonderful that science is being done and that these biases are pointed out. But they seem to paint a very dim perspective on humanity. If I recall correctly around 30% of the participants in the Milgram experiment refused the instructions to shock the actor to the maximum voltage, yet very little seems to be written about them.

<comment><USER4> > _What is interesting is not only that _the majority of human beings act > within certain patterns_, but that _some individuals are able to overcome > these patters_. What makes it so? Do they have something in common? Can we > learn anything from them?_

My impression from reading some of Keith Stanovich's work ([http://www.keithstanovich.com/Site/Research_on_Reasoning.htm...](http://www.keithstanovich.com/Site/Research_on_Reasoning.html) \- Sorry, not my area, so I'm not so well-/widely-read) is that this isn't really a correct explanation for what's going on. My understanding is that everyone (absent some kind of brain damage) is capable of rational thought that is done separately from all these heuristics and biases, but that rational thought is an expensive, hard process requiring focus and effort, and most people would naturally and intuitively try to avoid it. So the result of the heuristics and biases studies is like an enumeration of these biases - <USER2> description of how thinking processes commonly fail in predictable ways when not being overridden by more careful rational thought.

> _But they seem to paint a very dim perspective on humanity._

Yes, it's depressing, but on the bright side much of this is from not trying to think very hard. If you explicitly instruct people to pay attention and reason carefully, many of the biases disappear. To the extent that the heuristics and biases literature _describes_ the less-conscious thinking processes, I think the most reasonable interpretation is that humanity really is just that dim.

> _yet very little seems to be written about them._

People seem to have different thresholds for overriding their intuitive thinking processes with a more rational, algorithmic, reflective process. But that may well be innate to them, some people are more rationally-oriented than others. I'm not too sure what there is "to learn from them".

To be honest, I find the myside bias and cultural cognition, which intrude on deliberate rational thought, interfering with it, much more depressing than any of the heuristics that can be overridden just by careful thinking.

<comment><USER5> > People seem to have different thresholds for overriding their intuitive > thinking processes with a more rational, algorithmic, reflective process. > But that may well be innate to them, some people are more rationally- > oriented than others. I'm not too sure what there is "to learn from them".

It may even be that the people doing the extra analysis are the irrational ones. The time required to get the right answer can cost more than the value of the right answer: [https://xkcd.com/1445/](https://xkcd.com/1445/)

<comment><USER4> " _Evolution wants you to be as stupid as you can get away with_ " \- I don't remember who, but I read it somewhere.

</comment></comment></comment></comment><comment><USER6> If any one is interested in learning about biases further, I strongly recommend Daniel Kahneman's "Thinking, Fast and Slow". It changed the way I view the world in a lot of ways, and made me a lot more skeptical about my beliefs and intuitions than I already was, which I think is healthy.

<comment><USER7> [http://youarenotsosmart.com/](http://youarenotsosmart.com/) ,book and podcast, is also pretty great

<comment><USER8> Ugh, off-topic rant: those podcasts seem really interesting, i with that they would make transcripts available!

</comment></comment></comment><comment><USER9> What about this kind of bias: every experimental result can be attributed to some kind of bias. And bias is a hot topic, especially given the ascendence of progressive politics in academia and beyond. So there is a strong motivation for experimenters to explain any experimental result in terms of bias, rather than other reasons.

<comment><USER10> You seem quite biased about the bias toward bias.

<comment><USER9> Why do I seem biased to you? I don't think it's useful to conflate bias and having a strong opinion, even if strong opinions often result from bias.</comment></comment></comment>


Dating an amateur hacker – Your worst office romance was never this bad - <AUTHOR> https://qz.com/1782446/your-worst-office-romance-was-never-this-bad/ <comment><USER2> The main problem here is how the "justice" system can be manipulated to put someone in jail with simple faked screenshots or spoofed SMS messages. I'd expect them to get call & text records from the cell carriers _before_ putting anyone in jail, but clearly that's too much to ask.

The main question is whether whoever decided to put an innocent person in jail without properly checking the evidence is going to be punished.</comment>


My Ramadan Companion - <AUTHOR> https://ramadan.withgoogle.com/#/

<comment><USER2> Pretty cool, but I only got one item showing (a video about how to make samosas)... so not sure if its still ready?</comment>


I Love Go; I Hate Go - <AUTHOR> http://dtrace.org/blogs/ahl/2016/08/02/i-love-go-i-hate-go/ <comment><USER2> The most frustrating thing for me, by far, is that Go won't let you import unused packages. When you are commenting stuff out to debug a program, or adding debug statements and removing them later, it constantly requires you to go back to the top of the file and comment out the unused libraries, only to uncomment them later when you've solved your problem.

The fact that there is not a compiler flag to disable this behavior, and that the core team is opposed to adding such a flag ([https://golang.org/doc/faq#unused_variables_and_imports](https://golang.org/doc/faq#unused_variables_and_imports)), is simply ridiculous and makes programming in Go a real pain in the ass.

I can't think of any other language that does this.

<comment><USER3> I used to feel this way. It was my top complaint about the language. But it, and, more importantly, the use requirement for variables, has saved me from bugs repeatedly; I more and more notice the bugs it's protecting me from as I keep coding in the language. I am rapidly coming to the conclusion that this was very, very much the right call.

I get the sense that most Go programmers use "goimports" to work around the annoyance. I have my Emacs configured to use it automatically. I never even think about imports anymore.

<comment><USER4> > I get the sense that most Go programmers use "goimports" to work around the > annoyance. I have my Emacs configured to use it automatically. I never even > think about imports anymore.

You haven't yet encountered clashing names?

[https://golang.org/pkg/crypto/rand/](https://golang.org/pkg/crypto/rand/)

[https://golang.org/pkg/math/rand/](https://golang.org/pkg/math/rand/)

Or?

[https://golang.org/pkg/text/template/](https://golang.org/pkg/text/template/)

[https://golang.org/pkg/html/template/](https://golang.org/pkg/html/template/)

goimports is wonderful, but some care is needed to make sure it has added the one you intended to add.

NB: Only an issue when new imports are added, not an issue if the correct package is already referenced.

<comment><USER5> I have been using it since I switched to VSCode about 4 months ago and thus far, knock on wood, it's always found the one I intend. I however do think it considers what public members/methods you are calling.

<comment><USER4> "considers"?

It just finds a match and goes with it, and that does cause issue. Both of the above have potential security implications.

Filippo suggests preferring crypto/rand over math/rand as a softfix in this twitter conversation: [https://twitter.com/filosottile/status/752210041709719552](https://twitter.com/filosottile/status/752210041709719552)

I'd probably prefer html/template over text/template as it's better to have someone ask why their output was HTML escaped than to have someone render HTML in plain text without explicitly wanting to do so.

</comment></comment></comment></comment></comment><comment><USER6> Oh. Go love-hate relationship post. My turn. So I really like channels and coroutines built into language and used everywhere: it makes some patterns compose nicely and language very productive.

But just as in the article - some of Golang choices are opinionated and IMO just stupid. Lack of assertions is one: Sure programmers are prone to ignoring errors, but Go is not helping at all. Just bans assertions and provides no improvements. No `try!`&`Result` like Rust, not even warning by default if you ignored returned error (IIRC, go lint or go vet checks it) . So what's the point?

How do you decrement an atomic in Go?

AddUint32(&x, ^uint32(c-1))

That's how. Easy to read, and self-explaining. [https://golang.org/pkg/sync/atomic/](https://golang.org/pkg/sync/atomic/) . I mean... come on.

Unused errors being an error is super annoying, and changing variable capitalization everywhere, because you want to change symbol visibility is another daily frustration source.

Oh, and all my contacts with the community were very unpleasant (maybe it's just me, or bad luck). Any questions ended with some form of "you must do it one true way, otherwise you're stupid". Eg. once I was looking for a way to terminate unit test in case of error, instead of writing `if err != nil { t.Errorf(...) }` over and over again after every line, as in test, every error is just terminating condition. In Rust I would just `.unwrap()` or `.expect()`, which would fail the test, report backtrace, etc if anything unexpected went wrong. All the help that I got was just snarky comments for being lazy.

I will continue to use Go in some projects, as it gets the job done, performance is OK, has some userbase, and ecosystem is quite vital, but overall, it seems to me that it's rooted in same form of stubborn crudeness that has no good reason in XXI century, ignoring years of research and good ideas. For anything more demanding, or fun I would always go with Rust.

<comment><USER7> > ignoring years of research and good ideas

And people are falling over themselves to use Go in places that seem inappropriate. Most of Go's strengths shine in a large team of mediocre developers: Low build times, low abstraction, quick ramp-up, etc. So why do startups choose Go? You're just shooting yourself in the foot. Use OCaml, use C++, use Clojure, hell, use Swift or Rust, just use something that at least pretends to care about expressiveness and abstraction. I actively avoid working for shops that use Go heavily, it's an indicator of cargo-culting.

<comment><USER8> You don't know what you are talking about. Have you seen any Swift backend used in production? Would you use C++ for a web API? Go was developed because C++ is a horibble language and I'm glad it didn't adopt the expressiveness and abstraction from C++.

<comment><USER9> > _You don 't know what you are talking about. Have you seen any Swift backend > used in production?_

He said "hell, use Swift" \-- which didn't imply that he's considering it the first or best recourse.

That said:

1) There's far more Swift in production (on iOS devices as native apps, not as backend, but still production code) than Go.

2) Merely 4-5 years ago nobody had seen Go in backend (web/server) production either. Or at least very few.

3) There's already some support for server side Swift: [http://perfect.org/](http://perfect.org/)

4) And more: IBM uses Swift for apps AND server side, and has open sourced a Swift web framework/server: [https://github.com/ibm- swift/kitura](https://github.com/ibm-swift/kitura)

> _Would you use C++ for a web API?_

If I needed the crude speed yes, and in fact lots of web APIs delegate to C++ behind the scenes (e.g. for task queues), whereas some are in C++ directly.

In fact Facebook itself used to transpile PHP to C++ and run that (through their HipHop project).

> _Go was developed because C++ is a horrible language_

Go was developed because some old C/UNIX hackers didn't much like C++/Java and wanted to do their own thing, bringing some Plan 9 flavor on.

C++, warts and all, has proven itself time and again.

Most of the things we depend on and use, from the browser you're using, to JITS and compilers (LLVM for one, V8), to the Windows OS, nearly all major GUI programs (all major DAWs, NLEs, Photoshop, 3D programs, KDEetc), to 99% of AAA games, to Google's search engine core are written in C++.

And C++11/C++14 standards have made it a much better, even new, language. The automatic C++ dislike is cargo cult from people who usually don't use it and just repeat old wives tales.

<comment><USER8> >He said "hell, use Swift" \-- which didn't imply that he's considering it the first or best recourse.

I've got that but it was too late... the comment was already posted. I've up- voted his response.

The rest of your points are invalid. Development is not only about a http server(which I'm sure is subpar compared with Go). You will burry your time and energy in making basic things work. As developer that's great because you can use your experience on your "next" project but as a start-up you are very likely to fail. There may be some IBM developers that played around with the language but I'm sure IBM has no swift powered service in production. Swift is still a language in flux with many changes pending in the next 2 -3 versions. Big corporations don't really like to invest in unstable environments. Maybe in 3-4 years from now Swift will be able to compete with Go but today there is really no reason to use Swift over Go for a backend service.

> Go was developed because some old C/UNIX hackers didn't much like C++/Java > and wanted to do their own thing

I must say it again: C++ is a horrible language. It may perform well and it may be widely spread but that doesn't change much as far as its design is concerned. C++ competes mostly on its reach not on its merits. Hopefully that will change as new platforms emerge(i.e Rust).

> In fact Facebook itself used to transpile PHP to C++ and run that (through > their HipHop project).

Yeah, that's a pretty picture for what C++ is really good for. I rest my case.

Edit: I would also say "experienced hackers" instead of "old hackers". The C++ or Swift hackers are not younger anyway.

<comment><USER9> > _The rest of your points are invalid. Development is not only about a http > server(which I 'm sure is subpar compared with Go). You will burry your time > and energy in making basic things work._

The same could be said, and was said for Go compared to Java C#, etc just a few years ago. And it probably can still be said, as older languages have much more stable, richer ecosystems, support, tooling, and use bases.

> _I must say it again: C++ is a horrible language. It may perform well and it > may be widely spread but that doesn 't change much as far as its design is > concerned. C++ competes mostly on its reach not on its merits. Hopefully > that will change as new platforms emerge(i.e Rust)._

Well, it gets a lot of things right. Compatibility with C. Great performance. Enough abstractions to be usable. Enough batteries built-in compared to C. Great ecosystem and tooling, first class vendor support, etc. A language is not just its syntax -- not even just its semantics.

<comment><USER8> >>The same could be said, and was said for Go compared to Java C#, etc just a few years ago. And it probably can still be said, as older languages have much more stable, richer ecosystems, support, tooling, and use bases.

I don't say that you should never use C++. Sometimes it's a necessary evil but that doesn't make it a great/pleasant choice(at least for me).

>> Great ecosystem and tooling

I think it could be considered GREAT 20 years ago but now it is miserable compared with the new languages. For example it has no kind of distribution model(i.e package manager). Cross platform compiling is no fun... C++ parsing is no fun either so you could say that its syntax is quite important if you were to develop new tools.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> > Contrast this with Rust whose errors read like mind-bindingly inscrutable > tax forms.

It was "lol what?" for me. Rust's compiler error messages are very informative and sometimes contains tips what to change in your code to make it work (not just general words, but code you can use right now, with your variables/functions etc.).

Borrow checker explains step-by-step where ownership starts, where it ends and where you are trying to use it.

Panicking messages - another story, but it's not compiler's error messages, it's runtime. In example of code Adam using as proof, author is using 'panic' and 'unwrap' \- reasons to don't expect gentle behavior.

If you can't write code in idiomatic way, try to catch your panics and give more descriptive runtime error message in your code - other users of language shouldn't pay for it.

<comment><USER11> This was where I stopped reading. The author clearly hasn't worked with Rust. Not only are the messages very descriptive, but you have an extended explaination for each error in the form of:

        rustc --explain EXXX

Which pulls up a long form explaination, and code samples of what is happening/why it is happening/how to fix it.

The blog explaining the author's disdain for Rust mostly just seems to whining about the borrow checker.

<comment><USER12> > The author clearly hasn't worked with Rust.

The author links to a previous post on the subject, from mid-2015, so they clearly have at least tried Rust in the past.

And while many Rust messages are OK, one should be careful not to confuse _familiarity_ with Rust's error messages[0] with Rust's error messages being _good_ (being inherently informative and good).

Here's a clearer example (fixed since): [http://dbeck.github.io/My-First- Steps-In-Rust/](http://dbeck.github.io/My-First-Steps-In-Rust/) note two issues:

* the error message is _busy as all hell_ which is a common issue in Rust, before you've built the habit and learned how they're structured Rust error messages often look daunting. By comparison Elm makes much more extensive use of spacing and tries to avoid repeating the same information (e.g. file names) over and over.

* the suggestion it provides is just plain wrong, it suggests implementing Debug for T, but T is always a standard number which already implement Debug, what's missing is a trait bound. To a beginner that was _not_ a helpful suggestion as it would only send them on a wild goose chase (of trying to implement Debug on either T or i32/f32, and good luck with those).

> The blog explaining the author's disdain for Rust mostly just seems to > whining about the borrow checker.

So? Just like monads in haskell, the borrow checker is _hard_ until it "clicks" (and then it fundamentally shifts your understanding and it becomes hard to understand _not_ getting it).

[0] and experience/understanding for the various possible sources of the most common ones, but that you can build for any compiler, even G++'s pages of template expansion garbage from the early aughts

<comment><USER10> So are you talking about error messages or about complexity of borrow-checker? Because I can agree about borrow-checker, but not about error messages (although there is a lot of noise, yes).

<comment><USER12> > So are you talking about error messages or about complexity of borrow- > checker?

Er… both? In separate sections of the comment?

> Because I can [not agree] about error messages

I've provided a clear example of an issue, are you denying objective reality or are you asserting that providing incorrect suggestions leading beginners in entirely the wrong direction is fine?

<comment><USER10> So you are trying to add some negative moment about borrow-checker, when my comment is not about borrow-checker, but you need something negative. Cheap trick.

<comment><USER12> > So you are trying to add some negative moment about borrow-checker, when my > comment is not about borrow-checker, but you need something negative. Cheap > trick.

Now what the hell are you talking about?

I didn't reply to your comment I replied to valarauca1, they're the one who mentioned the borrow checker, if you're unhappy about that whine to them don't include me in your pity party.

<comment><USER10> Are you drunk? You are responding to the branch my comment started, comment was about error messages and your response contain words:

"And while many Rust messages are OK, one should be careful not to confuse familiarity with Rust's error messages[0] with Rust's error messages being good (being inherently informative and good)."

So you will still try to pretend we are not talking about error messages here?

<comment><USER12> > Are you drunk?

I'd appreciate you not insulting me, as well as you starting to make sense.

> You are responding to the branch my comment started

I was not, however, replying to your comment. As I already told you I was replying to valarauca1's comment, which is why my own comment was threaded below and in reply to it, and quoted it.

> So you will still try to pretend we are not talking about error messages > here?

I'll repeat my previous query in a new context and with slightly more alarm: what the hell are you talking about?

I never "tried to pretend"[0] we were not talking about error messages, my answer[1] to your original query[2] specifically noted the opposite.

[0] and would again appreciate not being insulted

[1] [https://news.ycombinator.com/item?id=12209010](https://news.ycombinator.com/item?id=12209010)

[2] [https://news.ycombinator.com/item?id=12208873](https://news.ycombinator.com/item?id=12208873)

<comment><USER10> My question is not more offensive than your "what the hell you are talking about". I regret I don't have "ignore" button for talks like this.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I like Go quite a lot. Mainly I am a Lisp programmer, so I am not looking for the next most high level programming language. I am looking for a language which gets things done, where Lisp doesn't quite fit. For jobs, which traditionally would have been done in C. Programs that run fast and have a reasonable complexity. It brings back the virtues of the Wirth computer language family back into modern times, as with strict type checking and the module system. On top of that it adds memory safetey due to the presence of GC.

Go it easy to learn, as its a moderately sized language, but it has just enough abstractions, that your programs are not held back by the lack of those, without opening the traps too "powerful" languages bring with themselves, namely complexety.

On top of all, the whole infrastructure is very well thought out and a pleasure to use. A very fast compiler which produces static executables, a good module system without header files, a rich standard library, many things. There are quite a few quirks, especially for the beginner, but the more I gain insight, the more I agree with the choices made - with some I don't, but the agree to disagree ratio is surprisingly high. And most of them don't get into the way of writing good programs, which is what counts.

<comment><USER14> This post is yet another reinforcement of my assertion that the people who like Go only like it because they have no idea what has happened in programming languages for the last few decades. Case in point:

> It brings back the virtues of the Wirth computer language family back into > modern times, as with strict type checking and the module system.

Strict type checking? Have you used _any other languages besides C_? Go's type system is a joke.

Like literally, it's a joke. If you get a bunch of people who know about types languages in a room discussing types, "What about Go?" is guaranteed to get a laugh.

<comment><USER15> Maybe if by "people who know about types languages" you mean "Haskell snobs"

<comment><USER16> But also ML, Scala, C++, C#, Java, TypeScript, Hack, Dart, Swift, Objective C (as of late), Visual Basic... and COBOL snobs.

<comment><USER15> I was referring more to the "joke" part of this. Just because a type system offers slightly more safety doesn't make it better. I'm primarily a Java developer, and I would prefer Go's type system over Java's the vast majority of the time. It does a much better job at staying out of the way.

<comment><USER16> That may be true, but the joke part comes when you actually want to develop new abstractions that are type-safe.

For example you cant write a thread-safe map container in Go without sacrificing type safety (i.e. one that would not crash the program when there are concurrent writes to the map).

The standard library doesn't offer one either.

This means you end up copy pasting the lock related code for every map you want to make thread safe. You have to remember to declare and initialise its lock, to use that lock every time you access it, and to remember to unlock it.

Now for some things, this cost isn't too bad. For others, it makes the language a joke.

As a result, Go is a toy, or at least, a non-general-purpose language. If the problem you're solving fits its limited set of built-in abstractions, its great. Otherwise, its a disaster.

In my experience, well written programs evolve over time to gain new carefully chosen abstractions that cleanly implement shared underlying concepts of the problem domain. These abstractions often require the use of generics.

When this happens in a Go project, however, you're out of luck. Even worse, developing primarily in Go means distorting your thinking to fit its limits.

This is more or less true in any language, and its not a binary thing. Languages are all over the place on the ladder of abstraction (with lisps being close to the top, Go near the bottom).

p.s. Java also suffers because it added generics too late: by the time they were added there was already a clear picture painted of "idiomatic Java". To make matters worse lambdas were also added way too late, and the verbosity of type declarations is still staggeringly high. However, modern Java is a much better language than Go.

</comment></comment></comment></comment></comment></comment><comment><USER17> GOEXPERIMENT=framepointer will be the default in 1.7, due out in a few days (see [https://golang.org/issue/15840](https://golang.org/issue/15840)), so using tools like perf (and presumably dtrace) will be somewhat improved out of the box.

Edit: and the author mentions that at the end of the post. That's what I get for commenting before I've read the whole thing.

</comment><comment><USER18> I'm a little confused by the author's belief Go needs to be more pragmatic. All the points made in the "I Love Go" section (gofmt, the toolchain, interfaces) display strong qualities of pragmatism to me. The article literally describe interfaces as 'no-nonsense and pragmatic'. And, even if they do not personally like the opinionated nature, it is a prime example of solving questions in a practical way.

No language can be everything to everyone. One thing that encourages me to keep writing Go is the team has done a very good job at communicating their intentions for the language.

It's very clear to me when to write Go and when not to. That's a sign of strength to me, as it shows the language has the confidence to tell you "perhaps I'm not the best choice for this particular problem".

<comment><USER19> >It's very clear to me when to write Go and when not to.

Would you care to elaborate on this? :)

<comment><USER18> My main two use cases so far have been services and command line tools where it's not worth taking the effort to manage memory. The former I would have previously written in Java or C# (yeah, tie me to the cross right now language hipsters, I don't care, I already said I'm a pragmatist), and the latter in Ruby or Python.

I actually enjoyed going from dynamic to static typing for command line tools, the compiler saves me a lot of time tracking down bone-headed errors, which are typos in variables 95% of the time.

</comment></comment></comment><comment><USER20> My favorite little annoyance with Go is the way the := operator behaves with multiple assignment. It declares a new variable if there is no variable of that name in the current scope. But it refuses to do that if there are struct fields involved.

      var t int
      t, err := someFunc() // that's fine

but this doesn't compile:

      var s struct{ x int }
      s.x, err := someFunc() // doesn't compile

<comment><USER21> I've run into that as well, but I've since come to favor avoiding that pattern entirely as a code smell.

In your example, you end up modifying the struct value x, even if there was an error. Maybe there are cases where that is the correct behavior, but even then I would advocate for explicitly setting the struct value after handling the error, to make it very clear that it was your intention to do so, rather than doing it be accident.

</comment></comment><comment><USER22> _Weak opinions are what turn languages into unreadable mishmashes of overlapping mechanism._

Go's opinions were, for me, especially helpful while learning the language.

</comment><comment><USER23> I don't know, I found debugging with IntelliJ's Go plugin intuitive and well- working. Pretty sure it uses Delve under the hood.

I think strong opinions are helping Go not being "yet another language". So that's good. Like most things, it isn't for everyone.

</comment><comment><USER24> I have great hopes for D since Andrei Alexandrescu joined to work on it.

When you see all those new system languages, (go, rust, swift), D was there before them, and did not pretend to be a new cool thing with good ideas, it just tries to be a nicer C++ to work with.

I don't need to do things the right way, I just need a language that is usable and doesn't try to do the job for me.

</comment><comment><USER25> Cached version in case of 503: [http://webcache.googleusercontent.com/search?q=cache:VcehlYQ...](http://webcache.googleusercontent.com/search?q=cache:VcehlYQXduwJ:dtrace.org/blogs/ahl/2016/08/02/i-love- go-i-hate-go/+&cd=1&hl=en&ct=clnk&gl=de)

<comment> iso-8859-1 archive.is: [https://archive.is/BdvtP](https://archive.is/BdvtP)

</comment></comment><comment><USER26> My take on Go: [http://nomad.so/2015/03/why-gos-design-is-a-disservice-to- in...](http://nomad.so/2015/03/why-gos-design-is-a-disservice-to-intelligent- programmers/)

I still use it but I also have a love, hate relationship with it.

</comment><comment><USER27> Here's a way to love go, write a language in it [https://github.com/grubby/grubby](https://github.com/grubby/grubby)

<comment><USER28> whatevs...

<comment><USER29> Yeah what were/are Xerox PARC, ETHZ, Microsoft, Apple, Google thinking in their language departments!

<comment><USER30> What interpreters did these orgs write in GCed languages?

<comment><USER29> A few examples from Oracle/Sun using the Graal VM engine, written in Java:

[https://github.com/graalvm](https://github.com/graalvm)

From Microsoft:

[http://ironpython.net/](http://ironpython.net/)

[http://ironruby.net/](http://ironruby.net/)

[https://msdn.microsoft.com/en- us/library/dd233052%28v=vs.110...](https://msdn.microsoft.com/en- us/library/dd233052%28v=vs.110%29.aspx)

[https://msdn.microsoft.com/powershell](https://msdn.microsoft.com/powershell)

Xerox PARC used Cedar for the software implemented on Xerox 1132 (Dorado) and Xerox 1108 (Dandelion) systems, including interpreters delivered on the system:

[http://dl.acm.org/citation.cfm?id=17919.806844](http://dl.acm.org/citation.cfm?id=17919.806844)

<comment><USER30> These are just experiments on the margins. In each case, the flagship languages are not implemented on top of GC'd runtimes or interpreters. Apple's Objective-C and Swift runtimes are both C++. Microsoft's C# CoreCLR is C++. Google's V8 and Dart have runtimes written in C++. Oracle's HotSpot is C++. Go's core runtime is in a Go-minus-GC subset.

It didn't have to be this way - Swift could have been written atop the JVM, v8 could have been implemented via Boehm, etc. For whatever reason, when it counts, the stuff under the hood doesn't use garbage collection.

<comment><USER29> The question was "What interpreters did these orgs write in GCed languages?".

It doesn't matter where those interpreters are being used, the fact is that they exist.

> Microsoft's C# CoreCLR is C++.

Yes, but they have moved their compilers to C# with the Rosylin project with MDIL and .NET Native moving more code to C# side.

Also check the Phoenix compiler framework, a LLVM like project from MSR using C#.

> Go's core runtime is in a Go-minus-GC subset.

Of course, there needs to exist a Genesis for the GC, but once it is there, 99% of the remaining infrastructure makes use of it.

If you take Nashorn engine running on Jikes, it is an 100% Java stack running a JavaScript interpreter.

> For whatever reason, when it counts, the stuff under the hood doesn't use > garbage collection.

Most of the time it is just building on top of whatever already exists instead of starting from scratch.

Taking Swift as an example bootstraping the language would increase the burden designing it, as they are still far from fully stable design.

If they would throw away in man years invested into the LLVM, which happens to be written in C++, it would take ages before pure Swift compilers would ever manage to catch up.

However these shortcuts open the door for those not savvy in compiler design to use as ammunition against secure languages.

<comment><USER30> > Yes, but they have moved their compilers to C#

A compiler is a different matter. GCed languages are very compelling for static compilers. Even gcc uses GC internally.

The claim is that GCed languages make for poor interpreters - and also poor JIT compilers and runtimes.

> If you take Nashorn engine running on Jikes, it is an 100% Java stack > running a JavaScript interpreter

Nashorn gets participation points, but it's not competitive with any of the major JS engines, all of which have C++ runtimes.

> Taking Swift as an example bootstraping the language would increase the > burden designing it, as they are still far from fully stable design. If they > would throw away in man years invested into the LLVM, which happens to be > written in C++,

This still confuses the compiler with the runtime. The Swift compiler is indeed written in C++ using LLVM, but it could have easily been written in a GCed language without affecting much of anything.

But the runtime is separate, and it also happens to be written in C++. It's possible to imagine the Swift runtime written in a GCed language, but that is not what Apple chose to do.

<comment><USER29> > The claim is that GCed languages make for poor interpreters - and also poor > JIT compilers and runtimes.

Have you ever spent time with Graal, Truffle, PyPy?

30 years ago I used to take the flak for arguing about C++'s suitability for writing programming language tools in comp.compilers instead of C.

Yet here we are praising C++ virtues over other languages for writing interpreters and JITs.

One thing I learned in all those years reading compiler related papers, is that many times the main issues are actually human and not technical.

The majority just want to have something running, and take the shortcut of using whatever works to achieve their goals, instead of taking the effort that might bring the technology forward but would delay getting everything to work.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> I think a persons opinion on Go really depends on where you're coming from and what tooling they are used to. As a PHP/Node/Ruby dev I find Go does everything PHP/Node/Ruby does, faster, and more reliably due to static typing. Often more verbosely though.

I've simply never wanted for the things he asks as I've never had them. It's all in the expectations is my point.

<comment><USER14> It's telling that the most sophisticated type system you've dealt with is Ruby, though. I think that if you spent some time working in OCaml/Nim/Rust/D/C# you'd learn a lot which would cause you to be a lot less impressed with Go.

</comment></comment><comment><USER31> FWIW this is the project that pulled me down this golang rabbit hole: [https://news.ycombinator.com/item?id=12211754](https://news.ycombinator.com/item?id=12211754)

</comment><comment><USER32> Those are really small annoyances compared to everything else in Go. I don't mind Go being opinionated, everything is like that anyway and it's kind of nice in some ways. But don't mistake opinionatedness with misdesigned poor quality libraries and experimental ideas.

Take net package for example, it's not opinionated, it's just completely broken and misdesigned. There is so much mess with even the most basic things, like timeouts and cancellations [1][2] that it's almost impossible not to fuck up somewhere.

This is because the whole net library is synchronous and pushed onto experimental ideas of goroutines and channels. Instead of having an actual event loop underneath with timers, signals and everything and use asynchronous writers and readers they just poll fds and wake goroutines when fds are ready, forcing themselves to deal with typical multithreaded concurrency hell.

[1] [https://blog.cloudflare.com/the-complete-guide-to-golang- net...](https://blog.cloudflare.com/the-complete-guide-to-golang-net-http- timeouts/) [2] [https://github.com/golang/go/issues/16100](https://github.com/golang/go/issues/16100)

</comment><comment><USER33> Honest question: How does a post with just 4 points and posted 11 minutes ago get to be on the front page? Even amazing it is number 2 right now.

<comment><USER34> As Tomte and jdoliner pointed out, 4 points in 11 minutes would get you on the front page at any time, let alone a slow time like this one. As for why the post would get rapid votes, that's easy: moth-to-flame subject matter.

It's not great to post comments like this taking a thread so badly off topic, let alone jumping to conclusions that the admins are manipulating what is obviously (once you're familiar with it) baseline HN behavior. Love-hate-Go posts are a drug here; and so are all things Rust, which is why those stories are currently #1 and #2. If we did anything to posts like that it would be to downweight them, but I'm tired, and a good pro-and-con language vent seems like a fairly innocuous thing for HN to do overnight (with apologies for our Pacific-timezone-centricity), so have at it.

<comment><USER35> That seems like a dangerous system, though. Just a few coordinated upvotes can get a post to the front page. And if it's so easy, you'll almost certainly have people/companies abusing that to promote their content.

<comment><USER34> Sure, but this problem has been around for years, and HN has developed many mechanisms to deal with it. Some are obvious—if a post gets to the front page without community interest, it will quickly attract flags, and probably a lot of ornery comments too—and many more run silently beneath the surface. I think the proof is in the pudding: we don't see a lot of this. Anybody getting away with it regularly is probably being so devilishly clever as to deserve their ill-gotten gains.

</comment></comment></comment></comment><comment><USER36> I agree and disagree with the post title.</comment>


NASA launches $35,000 bounty for improved asteroid detection algorithms - <AUTHOR> http://www.nasa.gov/press/2014/march/be-an-asteroid-hunter-in-nasas-first-asteroid-grand-challenge-contest-series/ <comment><USER2> I'm happy to see NASA continuing its tradition of reaching beyond traditional communities to work on hard problems (e.g., its prior Glove challenge). Used correctly, these competitions hold the promise to help engage the public, source novel innovations, and save the government money (plus be fun!).

 _BUT_ , as somebody who recently participated in a DoD-sponsored contest that was rife with improprieties, bias, and incompetence (the government effectively threw away the rule book in making the reward), please be careful in reviewing the rules and verifying that the administrators of this are accountable. Regardless of if the amount at stake is $50K or $1M, bureaucrats have an astonishing capacity for rationalizing whatever outcome they choose or stumble into.

</comment><comment><USER3> A related video, showing orbits of asteroids discovered over time: [https://www.youtube.com/watch?v=xJsUDcSc6hE](https://www.youtube.com/watch?v=xJsUDcSc6hE)

It starts with about 10k asteroids. By the end there's 10k being added every month.

<comment><USER4> How in the world do you differentiate between so many asteroids?

</comment></comment><comment><USER5> "... This approach will discover new asteroids and improve our model of the solar system. It also opens opportunities for interesting algorithmic challenges, and the chance for a normal person to discover an asteroid.

"As a programmer, I'm particularly interested in how we'll improve algorithms to spot asteroids. I am sure that there are conventional ML techniques and even simpler image processing approaches that are not being sufficiently exploited." [1]

That's Ian Webster talking about Asterank [2], which might be relevant background here since this NASA project is in partnership with Planetary Resources, which acquired Asterank.

1\. [http://www.ianww.com/blog/2013/11/26/asterank-discover- revie...](http://www.ianww.com/blog/2013/11/26/asterank-discover- reviews-100000th-image/)

2\. [http://www.asterank.com/discover](http://www.asterank.com/discover)

</comment><comment><USER6> Maybe I'm just a bit too cynical (negative?), but I find it rather sad that, lets say to improve a movie recommendation algorithm we have a $1M bounty (Netflix price), while to improve an algorithm to detect the possible destruction of earth we have a bounty of $35K.

<comment><USER7> Nasa needs it own kickstarter-ish website.

</comment></comment><comment><USER8> Just use dinosaurs...

Algorithm or technique? The press release is quite vague (I did not check through the links). Are we talking laser, infrared, visible spectrum, or fruity pebbles algos? What if a pure black object is occluding known stars? What if there is some ice on the same black object? Is the algo meant to be run directly on a satellite (Hubble, Kepler, etc.) or from a terrestrial observatory?

Break it into knowns, then unknowns. <USER8>
<comment><USER9> > competitors can create an account on the contest series website and _learn > more_ about the rules and different phases of the contest series by going > to: [http://bit.ly/AsteroidHunters](http://bit.ly/AsteroidHunters)

</comment></comment><comment><USER10> > the agency seeks to enhance its ongoing work in the identification and > characterization of near-Earth objects for further scientific investigation. > This work includes locating potentially hazardous asteroids and identifying > those viable for redirection to a stable lunar orbit for future exploration > by astronauts.

The asteroid redirection idea sounds really awesome and incredibly complicated. Is it what NASA plans to do in case we have one heading straight at us? Do we have to blow up those that can't be redirected? What exactly does "viable for redirection" mean?

<comment><USER11> There is a long Wikipedia article about the topic:

[https://en.wikipedia.org/wiki/Asteroid_deflection_strategies](https://en.wikipedia.org/wiki/Asteroid_deflection_strategies)

</comment></comment><comment><USER12> well here's a way of detecting asteroids: [http://www.atari.com/arcade/asteroids](http://www.atari.com/arcade/asteroids) can I get the $35k? :-p</comment>


The Fracking Revolution Has Been 'A Disaster' for Drillers, Investors - <AUTHOR> https://www.desmogblog.com/2019/06/23/former-shale-gas-ceo-says-shale-revolution-has-been-disaster-drillers-investors <comment><USER2> I'm confused. Isn't this sort of how free markets are supposed to work? Prices of some good in a competitive market should sink to the marginal cost of production. If a firm makes super bad decisions about how much to produce or what price consumers will pay for that good, they're supposed to go out of business, leaving behind smarter, scrappier firms.

It seems like this article is hinting around forming a cartel or doing some regulatory capture to ensure that all investors get some money, and all drillers stay in business. I mean, it never comes out and says that, but almost.</comment>


Train your brain to deconvolve blurry images instead of using reading glasses - <AUTHOR> http://glassesoff.com/ <comment><USER2> This reminds me of the phenomena where individuals with mild-moderate acquired hearing loss often don't realize they're somewhat impaired, until they take a hearing test. The brain is very adept at piecing together incomplete/inaccurate information and contextual clues into a cohesive message.

<comment><USER3> I just ended up having permanent hearing loss that I was unaware of until a hearing test. Here is one thing that I learned that surprised me.

I thought that hearing loss was experienced like someone turned down a volume knob. That's not how it works. People experience hearing loss only on certain frequencies. If someone is experiencing hearing loss at high frequencies, they might have trouble hearing only certain sounds like "s" sounds when someone speaks. This leads them to believe that everyone is just mumbling. Because they sound loud, they're just not clear.

</comment></comment><comment><USER4> Aaron Swartz used to do this:

\- [http://www.aaronsw.com/weblog/001083](http://www.aaronsw.com/weblog/001083)

\- [http://www.aaronsw.com/weblog/000432](http://www.aaronsw.com/weblog/000432)

<comment><USER5> This is really cool! One important distinction to be made is that Glassesoff claims to cure presbyopia (the thing that makes you wear reading glasses) while Aaron probably had myopia (nearsightedness).

Also, I'm not certain that looking at Gabor patches can translate to fixing myopia.

</comment></comment><comment><USER6> Apparently has something to do with this: [http://www.cogsci.nl/blog/miscellaneous/226-can-you-brain- tr...](http://www.cogsci.nl/blog/miscellaneous/226-can-you-brain-train-your- way-to-perfect-eyesight)

</comment><comment><USER7> I've been experimenting with this chart that claims good results in reversing presbyopia: [http://www.robert- silverman.net/presbeninst.htm](http://www.robert- silverman.net/presbeninst.htm) I've only tried it a few times, but there were temporary noticeable results. Unfortunately there are no quick fixes for my floaters that have gotten worse over the years.

</comment><comment><USER8> Does this have any reputable research attached to it?

<comment><USER5> Yes, did you click on the "Our Science" link?

Also, it was covered by NYTimes, which talks about the research as well [https://www.nytimes.com/2017/03/27/upshot/training-your- brai...](https://www.nytimes.com/2017/03/27/upshot/training-your-brain-so- that-you-dont-need-reading-glasses.html)

<comment><USER9> That article claims "a number of studies support" while citing one study at first, then two more. The first study is solely authored by Uri Polat. The other two also include him as an author. In addition to the fact that the article reads like a submarine, I'm curious what if any link Dr. Polat has to the product in question.

Oh wait... [https://www.crunchbase.com/person/uri- polat](https://www.crunchbase.com/person/uri-polat)

<comment><USER5> That's a great catch, I didn't notice that while reading the papers. Here's one that cites Polat's papers, but doesn't seem directly influenced by GlassesOff: [https://www.sciencedirect.com/science/article/pii/S004269891...](https://www.sciencedirect.com/science/article/pii/S0042698913002770)

</comment></comment></comment></comment><comment><USER10> My optometrist told me about this 30 years ago. He called it learning to "interpret the blur." He also encouraging people to use glasses as little as possible so that the eye muscles don't get lazy. It may not eliminate myopia, but it can slow it down, especially in the milder cases.

</comment><comment><USER11> I made a little playground "game" for training with gabor patches if someone would like to try, if it will improve your sight.

(hide the menu)

[https://kjaku.github.io/eye/index.html](https://kjaku.github.io/eye/index.html)

</comment><comment><USER12> I just discovered the other day that I had unknowingly achieved this. Used to dealing with a phone display, I was reading a book which was blurry but I wanted to read faster, so I just did and was surprised to be able to comprehend everything.

</comment><comment><USER13> Given the eyestrain I get when reading without reading glasses (when wearing contacts) and without contacts, no.

I get enough headaches without adding to them by intentionally not using purpose-made tools.

</comment><comment><USER14> Does this work for near sighted ness?

</comment><comment><USER15> I haven't tried the glasses-off product yet, past their demonstration pages, but I did practice this technique for a while based on the recommendations of a friend who similarly discovered it.

The "trick" as I see it is to become comfortable enough with the appearance of blurry text, and be relaxed enough so your eyes aren't constantly trying to focus, and straining the muscles. Once your eyes relax, it's amazing how well a person who's already a proficient reader can get enough information out of blurry text to read at normal speeds. In fact after a while, my brain kicks in and I'd swear that the text is sharp, even though if I pay too much attention it will appear blurry again as I realize my mind is playing tricks on me.

</comment><comment><USER9> The only supporting studies on this method are authored by URI Polat, the Chief Science Officer of GlassesOff.

[https://www.crunchbase.com/person/uri- polat](https://www.crunchbase.com/person/uri-polat)

Apply grains of salt liberally.</comment>


Vector Math with C++0x - <AUTHOR> http://prideout.net/blog/?p=30

<comment><USER2> Most compilers are already doing rvalue optimization of some sort, so the fact that he didn't find any speed benefit from using rvalues explicitly doesn't surprise me.</comment>


Cashier arrested for using photographic memory to steal 1300 credit cards' info - <AUTHOR> https://www.cnn.com/2019/09/10/asia/japan-memory-credit-card-intl-hnk-scli/index.html <comment><USER2> It's about $2 per card, and not that much money in total. Also, I'm obviously unsure of the person's situation, but you'd think there's be some well-paid jobs available to people with photographic memories. For example, a design firm may pay him to vet new logos, to see if they're similar to others. Would be nice if there was a happy ending to this one, the guy doesn't seem like a criminal mastermind.</comment>


Ask HN: What does this stuff in my HN about mean? - <AUTHOR>

showdead:	 noprocrast:	 maxvisit:	 minaway:	 delay:
Just wondering, not really a help file.
Also my HN account is 1910 days old. Wow. :D <comment><USER2> Clicking "FAQ" below gets you to [http://ycombinator.com/newsfaq.html](http://ycombinator.com/newsfaq.html)

It ends with

 _" In my profile, what does showdead do?

If you turn it on, you'll see all the submissions and comments that have been killed by the editors. They're mostly spam and duplicates.

Who are the editors?

About 30 YC alumni. They can kill stories and edit the titles, and in extreme cases (e.g. spamming or deliberate trolling) ban users.

In my profile, what is noprocrast?

It's a way to help you prevent yourself from spending too much time on News.YC. If you turn it on you'll only be allowed to visit the site for maxvisit minutes at a time, with gaps of minaway minutes in between. The defaults are 20 and 180, which would let you view the site for 20 minutes at a time, and then not allow you back in for 3 hours. You can override noprocrast if you want, in which case your visit clock starts over at zero."_

That leaves 'delay', and introduces the question how that override works.

</comment><comment><USER3> Also remember that your "email" field is visible only to admins. If you want people to see your email, you have to also put it in the "about" field.

</comment><comment><USER4> delay is to defer publishing your comments for x minutes

noprocrast[inate] is an option to have self-banning on/off, if noprocrast is yes:

\- maxvisit is how many minutes you can visit for

\- minaway is the minimum amount of time you can't come back for after a visit</comment>


Quantum Honeybees (1997) - <AUTHOR> http://discovermagazine.com/1997/nov/quantumhoneybees1263 <comment><USER2> Since this was in 97, I looked for more recent research on that topic and couldn't find anything.

Previous discussion on HN: [https://news.ycombinator.com/item?id=2042139](https://news.ycombinator.com/item?id=2042139)

This comment on Quora offers some ideas why there hasn't been much followup: [https://www.quora.com/What-is-the-current-state-of- research-...](https://www.quora.com/What-is-the-current-state-of-research-on- Barbara-Shipmans-findings-regarding-Quantum-Mechanics-and-the-Honey-Bee- waggle-dance)</comment>


The Developer's Guide to Design, Part 3 | 21times - <AUTHOR> http://www.21times.org/archives/the-developers-guide-to-design-part-3/ <comment><USER2> I was hoping for some basics/tutorials TBH :¬)</comment>


Internet Software Services (Gates Email) - <AUTHOR> http://www.paulgraham.com/gatesemail.html <comment><USER2> Business in its crystal purity: he talks about leading the industry by innovating for just one reason: to make more money and to help "partners" do the same. Like if it were the only thing left on Earth to do for the rest of your life. And the fact that Microsoft actually does innovate, it does drive the industry and never surrenders no matter what, is frustrating. It sounds like a real proof that all that matters is money.</comment>


Restored Forests Breathe Life into Efforts Against Climate Change - <AUTHOR> http://www.nytimes.com/2014/12/24/science/earth/restored-forests-are-making-inroads-against-climate-change-.html?ref=science

<comment><USER2> It is not recommended to post articles which are behind a paywall... please post a direct link if possible!</comment>